A Purpose-Driven
User Experience


The cognitive burden of managing apps, prioritizing them, and turning purposes into app functionalities has become overwhelming. We are so far from an optimal experience that we tolerate having an insane amount of steps for most of our purposeful interactions with our devices. It has to change. Developers have to put purpose at the heart of the user experience. With the advent of artificial intelligence and of devices powerful enough to use it, it is now a possibility. But it cannot be done iteratively from where we are. It requires a revolution as big as when we moved from the command line to the GUI. Think about how hard it was to take a picture and put it on the internet in 2005 and how easy it is today. Now think about what the next giant leap in usability could be.
A purpose-driven user experience requires a new kind of OS, one that doesn’t break down usage into apps but into purposes. In such a system, you’ll never need to launch and app and then tell it what you want to use it for. Instead, you’ll express a purpose and will be presented with operations that help you accomplish it. The OS and its AI will do the planning, break down the purpose into software tasks, fetch tools and access services you need and manage priorities across time according to your wishes and feedback.
In upcoming posts, I will describe what such an OS could look like, the technical and historical underpinnings of these ideas, and how transformative to society and our lives this approach could be.
Hoping you’ll enjoy the ride and looking forward to your feedback.
First published on Sep 5, 2016
Next: The Future of Context


Apps are tools that help us satisfy our needs and our desires. Yet our operating systems know nothing of our needs and desires. My word processor doesn’t know why I’m opening it; my email client why I’m composing a message; nor my social network service what I’m looking for in the hundreds of posts that could appear in my feed.
The burden of translating needs and desires into apps and operations that those apps can understand falls onto the user. They have to break down their purpose into a plan and each of the steps of this plan has to be an operation that his device can perform. For instance, if they want to organize a lunch with some friends, it can involve dozens of steps in five or more apps (calendar constraints solving, messaging and negotiating, finding local restaurant, matching dietary needs or tastes, reading reviews, booking, sharing directions, using directions or hailing a ride, etc.). This means that they have to think in terms of software operations in order to achieve his purpose — if they are even aware of all the apps and services that could help him.
Developers don’t make machines smarter, they teach users to better think like machines.
This is upside-down. It’s the result of a long evolution that began in the early days of personal computing, when a single application took over the whole computer and was designed to handle as many tasks related to a given domain as possible (databases, spreadsheets, word processing, page layout, etc.) — its feature count bloating from one version to the next. These applications made the user modal: when you were using one, you couldn’t do anything else but think in its terms. Our digital lives have changed and, to pursue this metaphor, users have become digitally multi-threaded, but they now have to handle dozens of those modes (one for each of the apps they could access or switch back to at any given moment) as well as to manage priorities between them. And they have to do this with very little help from their devices apart from making switching between apps more convenient: task lists, notifications, deep links, predictive cards…
Our minds when we try to express our purposes through apps
