Apps are everywhere, on smartphones, tablets, TVs, set-top boxes and watches. We also see a rebirth of apps on desktops, where installable applications have been around for some time, of course. Something has changed there, though: a desktop app now has to meet the same expectations as apps on a smartphone, where they are all easy to find, buy, install and use.
It’s not just clever marketing and profitable business models that have made the app idea so successful. There are further reaching reasons: Apps are excellent metaphors for ease of use and extensibility. Since apps on mobile devices are meant to handle tasks effectively and without error in a variety of environments and contexts, designers and engineers have to avoid complex user interfaces. If done right, the app's purpose is clear, the tasks it solves are well understood, and both its menus and user interfaces are free of clutter.
At the same time, systems based on apps can be easily extended. This has long been clear to customers and users: If I show a user a home screen and ask her how such a system can be extended, the response is always ‘by installing another app’. If that is not possible or not easy to do, we’re left disappointed. And an app system with only five apps, each with complex menus and submenus, feels both cumbersome and ‚wrong’: apps are supposed to be small and agile.
The Danger Of Apps In Isolation
Apps have disadvantages, of course. One of them is “app thrashing.” You constantly switch between apps to get the job done. That's both disorienting and annoying, and it often requires many clicks or taps. The flow in which you're effective and focused gets disrupted too often.
An example for this problem is Facebook’s Messenger. Users are forced to install another app just for exchanging messages, even though this was once part of Facebook’s core functionality. The switch between Messenger and the main app feels clumsy. As a result, some users start looking for messaging alternatives—that’s hardly in Facebook’s interest.
Another disadvantage of apps are data silos. A typical app operates on one type of data (such as pages, pictures, contact information and email, for example). If an app needs to refer to data in another app or if two apps intend to work on the same set of data, things get complicated quickly—a lot of players won’t necessarily make a game easier.
Apps can react to such problems by offering more functionality, but this compromises their clear purpose and ease of use. Instead, I'd rather look at apps as bricks, as simple elements which can be easily combined to build bigger structures. If app systems become more like Lego, they can continue to grow strong.
The End Of Apps As We Know Them
What does that mean? Paul Adams describes his vision in an article on “Inside Intercom” blog. He believes that apps will remain the actual target of an interaction in some specific use cases. But more and more, an app’s functionality and its interfaces will actually be used through other apps. That sounds kind of abstract, but the first signs of change can already be observed in current versions of mobile operating systems.
In Android and iOS, apps still serve their main purpose, but also offer their services to other apps. Take a password manager, for example. If I need to log into a site or service in my web browser, all I have to do is open my password manager in place, authenticate myself and choose a login. My credentials are filled in directly, I remain in the app I launched originally. I used to have to switch forth and back between the two apps in order to copy and paste my username and password (a clear case of “thrashing").
Similar mechanisms are available to transfer data from one app to another. Let’s stick with the browser as an example—storing a text of a web page in Instapaper or Evernote is straightforward. I can even pick the notebook and add a tag: I stay in my browser, and I only switch to the Evernote App now, when I want to further edit or annotate the text.
Combining Apps Into Task Chains
As a last example, if you’re running iOS9, you may have noticed those handy text buttons in the status bar, which show up whenever you follow a link in some apps. So if you click on a link in an email, the browser opens and shows the page, and one tap on that button takes you back to your mail app. An app switch still takes place, but it’s more seamless and doesn’t require you to go over a home or "running apps" screen.
A similar, but further reaching example is the dialog shown when I want to send a photo via email or a message. The dialog originates in the messaging app, but appears to be part of the app managing my photos. Again, I can send a photo without ever having to leave the app.
Mechanisms like these help to flexibly combine apps into small task chains. A core intention here is to avoid the disruptions caused by thrashing between apps to keep you in the flow, to keep you focused on your current task.
App Functionality Where Needed, When Needed
But things get really exciting once apps start offering their services everywhere. For some time now already, current mobile operating systems offer interactive notification streams. If I want to respond to a text message, I drag that message down to reveal a text box. I key in my response right away. Similarly, I use a widget in my stream to quickly add a birthday reminder or to log the $10 I spent on lunch today. I don’t have to hunt for the expenses app first.
This evolution of app usage isn’t restricted to mobile OSes. In fact, these app-connecting pattern can also be successfully applied to desktop and web apps relying on an app-based approach. I increasingly use them to break down complex interfaces such as those of multi-step workflows.
Apps Will Continue To Change The UI Universe
Apps won’t disappear, despite their disadvantages. The idea of a small app designed to solve a specific task typically leads to well-defined, well-researched interfaces. If done carefully, such apps provide for a clear, focused, pleasurable user experience.
As apps are changing to also become providers offering their services to other apps, small tidbits of their UI show up in other places as well. We already use some apps within other apps and in notification streams, mostly without realizing it. This new pattern will continue to evolve and has already begun to transform convoluted workflows offered by complex systems into almost pleasurable experiences.