
For most products, the digital UI is like the DMV. It’s designed for everyone, so it works for no one.
A huge percentage of the tasks we perform in software are lots of clicking, moving the mouse, waiting, and typing, simply to perform something which could be described comprehensively in a single english sentence. Let’s call that 60% of software action. Within the remaining 40%, there’s another 60% which has a few more steps and inputs to it, but these steps and inputs do not necessarily map well to existing user paths in the target application’s UI. That is to say, every user has their own context and situation which demands a different UI to satisfy their needs.
Consider what a user does today when he is ready to Uber back to his hotel. It goes something like this:
Lame! How about this instead:
Software: “Ok. Here’s a picture of the car that Uber found for you. Your driver has a 4.8 rating and the content of the reviews are solid. His name is Hasan, and he will be arriving in 4 minutes.”
Nearly all UX sucks. Here’s another one. Let’s say you just remembered that your father in law is coming to town, and you want to make sure the garage is cleaned before then.
Compare that to:
Software: “Ok, it looks like your father in law is coming into town on the 29th, so I’ve created a high priority task in Motion with a deadline on Saturday the 27th and titled it “Clean out the garage.”
Important note: This is not about time savings. People don’t mind spending time on something worthwhile. This is about elegance. Elegance is simply speaking your mind. Telling a competent executive assistant your need and desire in that moment, in the same way that you communicate the rest of your needs and desires: language.
The language of software
There are plenty of instances in which language is a terrible UX, and visuals are needed. For instance, reviewing your calendar for the upcoming week, or checking the status of a project by glancing at a Kanban board. So, there will absolutely be a long tail of use cases for “software UI.” However, I think these are a minority of the cases.
An even smaller minority are the times when a UI cannot be “dreamed up” on the fly by your AI for you to interact with. Perhaps it is more convenient for you to tab through a “New Lead” form in Salesforce than to try to explain it in a sentence, or click a toggle switch instead of saying “I want to turn off email notifications.” But who makes that toggle switch? Who decided whether or not it was worth building? Who decided the specific order of those Salesforce forms, or which ones even needed to be included in this specific experience?
90% of UI for SaaS applications is either unnecessary (can be replaced with sentences), or can be generated on the fly.
Interacting with software should start with the user’s intent, described in English. That’s how we already conceive of the action in our head. “I want X goal accomplished” can vary so much from user to user, but software companies have to design something that works for everyone. The experience of software needs to be brought closer to the user. You should have an AI that is advocating for you all the time, and constantly trying to accomplish your goals, as expressed by you. When it is inelegant to express something in English, your AI bot can craft UX for you which makes it easier to express what you want, or express data which needs to be added to an application.
A marketplace for AI
Another thing that sucks about software is that it can only be applied to the really big problems in your life. We’ve all heard and personally had “app ideas.” The problem with nearly all of these ideas is that they’re solving a problem that is too small. How is it possible that an idea is good, but too small? Because human attention is finite. In order to solve a customer’s problem, you have to advertise to them, then get them to buy, then get them to remember to use your product to solve their problem. All of this costs the user’s attention, which is being competed over by a million other things.
There are already an unbelievable amount of software products in the world, and with the price of software production dropping, there are about to be even more. There are micro-SaaS solutions popping up for every conceivable inefficiency. In fact, there are probably already unique SaaS solutions for 100 aspects of your life that you don’t know about, because it’s too much effort to try to apply their benefits and keep track of them all. People are not sophisticated enough buyers to take advantage of the emerging benefits of ubiquitous and cheap software. There are many things which it is simply obvious for software to do. Previously, if software could improve the lives of some number of people, entrepreneurs could start a company around that and deliver that value. Now, there are a million small ways to deliver value; but there’s not enough attention surface area.
AI has the potential to give attention to more aspects of your life and match you with more beneficial services. AI is a more sophisticated buyer, and user, of software. It can take your general intent, and on the fly purchase 4 micro-software solutions to your problem and use them seamlessly.
To enable this, we need a marketplace for AI. We need somewhere that your AI can go and purchase the solutions to your problems. That might simply mean that it needs an adapter to Salesforce so that it can add a lead for you. Or it might mean that it actually needs to search for and buy a physical product.
The future
I believe the future of software looks like this: you have a “chat bot” which is unique to you. It understands your life and your context. It searches the marketplace of products, APIs, and even other AIs to accomplish your goals. It pays for those services using money that you give it. It ties these products together and uses them elegantly to accomplish your goals and answer your questions.
So, there are two main components:
- An interface for human <> software interaction. This is first and foremost a language interface, but traditional UX can also be created on the fly when needed.
- A marketplace for your personal AI to find the products and services that you need to get what you want.
The marketplace has these components:
- Listing. Developers of products, APIs, and AIs need to be able to list what they are capable of.
- Searching. The AIs that are tied to humans need to be able to find those services on the fly when they are tasked with something.
- Contracts and Payments. AIs need to be able to pay the APIs and AIs for the services they use.
- Reviews. AIs need to be able to rate products and services on how helpful they were in accomplishing their respective users’ goal.
- Communication. Once a service is chosen, your AI needs to actually be able to talk to the service, or to other AIs.
- Compute. Your AI needs a “scratch space” in which to tie together services, do computation on results, and cache data that does not belong in any particular service.
At first, I think the marketplace will primarily contain “adapters” to existing software products. However, I think eventually there will be many products created that are native to the platform. These will start out being the small one-or-two-time use case products. Remember that AI is a sophisticated buyer. It will suddenly make sense to create that micro-SaaS you were thinking about starting on the weekend; a million AIs can understand why what you just created is valuable, and pay you for 10 minutes worth of usage, a few times a year or less.
However, I think eventually we will see larger and larger softwares take place in this paradigm, with less and less proprietary UX. The fact is, everyone knows how a CRM should function. There is nothing secret about Salesforce. We know the schema. We know how the data should be transformed. Salesforce wins because users know its name and now how to operate its UI to their advantage.
But what happens when you don’t care about the software, you’re just telling your assistant that you want to capture a lead? Does it matter where the lead is stored? Owning the UX means you own everything.
Software is dead. Long live Software!