By Mark Vilrokx, Oracle Applications User Experience
In the near future, developers are more likely to interact with applications the way that everyday users do.
That means that companies building software, such as Oracle, need to look at the user experience (UX) for developers as well as customer users.
A developer experience (DX) should improve and optimize the way in which developers get their work done. The Oracle Applications User Experience (OAUX) team must observe how developers work, which tools they use and how they use them, and then improve those tools or create new ones.
There is an overlap between UX and DX. In fact, DX can be seen as a subset of UX, where the user happens to be a developer. Many of the techniques used to study and improve UX can be applied to DX.
DX encompasses all aspects of the developer's interaction with development tools and services. "Tools" are what developers use to design, code, build, test, integrate, release, and manage code. "Services" are what developers use to access data and functionality of an application and interact with it. These days, these services are REST APIs, or an application program interface (API) that uses HTTP requests to create, update, and delete data.
Two trends in the software industry are driving the need for an investment in DX: the rise of the cloud and the diminishing importance of the traditional graphical user interface (GUI).
Companies are relinquishing ever more control of their IT infrastructure (Infrastructure as a Service , or IaaS), development platform (Platform as a Service, or PaaS) and software (Software as a Software, or SaaS) to third parties. These service providers are willing to pay third parties for usage. As the service providers move up the stack, the less control they have: IaaS > PaaS > SaaS. This creates some real challenges for Oracle’s customers and partners:
If I cannot access the server farm, how do I add a server?
If I can’t connect to my server, how do I install something?
If I don’t have access to the database, how do I make changes to it?
If I can’t access the code, how do I customize the application?
The solution is to create APIs that provide certain functionality to cloud customers. And, as more customers move to cloud applications, we’ve seen an explosion of easily accessible APIs. This in turn has led to the rise of aggregators and "pure API" companies, such as Twilio and Braintree, which offer APIs and leave the development of traditional GUIs to consumers. They make money by offering metered access to their APIs, just like a utility service. Examples also include emailing, payments, and, more recently, a whole swath of AI-related features such as speech processing, image processing, and even deep learning.
Developers now expect a traditional application to come with APIs that offer the same functionality that is accessible through the GUI. And, just like the users of GUIs, developers want these APIs to be simple and easy to use.
This has also made it much easier to roll out applications to a massive audience – basically, anybody who has an Internet connection – and to do it much more frequently. If you’re releasing new versions of your software several times a day to users, you better make sure that your tools support rapid development and deployment.
The relentless drive for simpler GUIs has culminated in the text app, instant message-like applications such as WeChat and Facebook Messenger. They try to offer the same functionality as traditional applications, but with almost none of the GUI. Instead they use a conversational UI in which you use natural language to ask something and the software (referred to as a bot) will then try to perform that task for you. These bots rely heavily on APIs to do the things you ask them to do.
Furthermore, more and more emerging technology devices in the market are without a GUI. The best known example of this may be the Amazon Echo. This trend will accelerate as the Internet of Things takes off, because most of those "things" – light bulbs, door locks, toasters – also don’t have a GUI. And, just like bots, they rely heavily on APIs.
This makes UX even more important because how users interact with applications is changing. The UX they are familiar with is gone when there is no GUI, so new ones have to be developed by UX teams.
That makes DX more important as well as, because increasingly, the users of such emerging technology are developers. When the Amazon Echo was first released, it couldn't do anything other than play a few songs and tell some pretty bad jokes; it was basically a glorified Bluetooth speaker. However, because Amazon provided APIs that allowed developers to interact with the Amazon Echo and development tools to easily implement new so-called skills, we can now ask Alexa for an Uber, order pizza, or even start a car.
Amazon didn't build any of these applications – they were built by an enthusiastic following of developers. Sales of the Amazon Echo skyrocketed. Amazon enlisted the help of thousands and thousands of developers, free of charge, to improve the sale of their products.
That is why DX, especially in the realm of emerging technology, is important to Oracle’s UX strategy.
For more on DX, read these posts on the OAUX emerging tech team’s blog, TheAppsLab.com: