The evolution of mobile applications

The idea of a screen filled with icons for launching applications, smartphones are obliged to the "classic" desktop desktop. But despite the long path that smartphones have traveled in recent years, the concept of icons that are links to certain independent applications has not undergone any changes. Maybe it's time to reconsider this approach?
The ways we consume content using mobile devices - laptops, smartphones, tablets, wearable gadgets - are changing significantly. The idea of a separate application is becoming less and less significant; instead, the concept of the application as a tool for publishing content, with notifications also containing content and allowing for some actions to be brought to the forefront. Most likely, this will lead to a change in the approach to the design of applications and product strategies of developers.
No desktops clogged with icons
Such a loud statement requires explanation. So, the idea of a bunch of icons on the screen linking to individual applications that need to be opened for use is becoming more and more senseless. Instead, it’s now more logical to move on to the principle of applications running in the background and delivering content to a central aggregator. This may be something akin to the modern notification center (panel), or Google Now, or it may be something completely different.
The main design scheme should be the use of cards. In this case, it is not a simple visual way of interacting with the content of the application. I call a card a container for content coming from an application. At first glance, the difference is not too big, but in fact it is not. To understand this, we discuss two points.
one)Systems development, not end products . Most developers today do not create any final solutions. This approach, which was previously dominant, is rapidly disappearing today. In the context of a gigantic ecosystem of mobile devices with all kinds of combinations of screen sizes and resolutions, it is necessary to break the content into small components in order to be able to display it on so many different gadgets. For example, Facebook is neither a website nor an application. This is a whole system of module objects (people, photos, videos, comments, brands, etc.), assembled according to different schemes for displaying in news feeds and on the screens of various devices. Facebook is a classic example of a system of objects and their relationships, and not a set of dynamic pages or application screens.
2)Recent changes to the notification system of the two main mobile OS . With the release of Android KitKat and iOS 8, notifications are no longer just pointers sending to other places. Now notifications launch specific applications, that is, they transfer to the final product, the destination.
But that's not all. Now in Android, certain actions can be performed directly in notifications. Sometimes this user is thrown into the application, but often still its launch is not required.

In the next version of Android, developers went even further by dividing notifications into separate cards.

As you can see, we quickly came from notifications-pointers to containers (cards) with content on which you can perform various actions.
The next step is obvious: the appearance of an increasing number of cards that fully implement all the necessary functionality and independence (isolation) of work processes inside each card. Posting a comment on the social network, buying in an online store, checking the departure time of an airplane, sending interesting news to a friend, adding a reminder to the calendar, booking a table in a restaurant, commenting on the results of your training, paying your bill, and so on and so forth.
Applications as Services
This concept will require decomposing the application into small modules that include content and actions. Such modules are not associated with the container of the application itself, and can be displayed on any device. As the content changes, the modules are simply reassembled, centrally aggregated or pushed to client devices.
Content can be reformatted to optimize for the situation or to facilitate certain user actions. For example, a friend sent me a text message, but at that moment I'm driving, so a smartphone or watch just reads the message on its own. After that I slander the answer to the virtual assistant, which translates it into text and sends it to my friend.
It is very likely that the primary interface for interacting with applications alone will not be an application. As I mentioned at the beginning, applications will become, first and foremost, a publication tool. So the main way to interact with applications will be a notification layer, or an aggregated stream of cards that do not require the launch of the application itself.
In the conditions of complete dominance of notifications as a way to receive and send content, you do not need to run the whole "old-fashioned" application. Let's take the same Facebook: why launch its application assembled from modules when it will be possible to receive and write messages using notification cards at the OS level? It is possible that screens with application icons in a few years will turn into a duplicate version of the UI, as there is now both a desktop and a tiled screen in Windows 8.
The concept design of the "card system"
Probably, all these arguments will seem to many to be too divorced from reality. I do not exclude that it is difficult for someone to understand what is being discussed, so let me illustrate my point.
Imagine a vertically oriented stream of cards, personalized and sorted by topic, content, date, or some other criterion.

Cards can come from any sources that interest you or to which you have given permission. The quantity will not be limited in any way. In part, it looks like Google Now on steroids, or a modern notification center. But at the same time, cards not only report something, but also provide an opportunity to carry out all kinds of actions right inside them. Say, write a message to the social network, like, share, save, etc. And all right in the tape, without opening any website or application.
Add another degree of freedom so that you can flip cards in the horizontal direction. For example, viewing different content from any one source.

Naturally, this can be implemented on all types of gadgets.

Go ahead. It will be possible to implement a hierarchy system, that is, make parent and daughter cards, as in the illustration below. Something similar, by the way, already exists on Twitter.

Similar attempts can be observed in the Chinese Baidu and WeChat applications: there small applications are packaged inside the main ones and appear only with certain user actions. For example, in Baidu Maps you can find a hotel and book a room.
But this is far from the most interesting. More importantly, embedding cards (child cards into parent cards) also means that you don’t need to install the application at all in order to use the content from the child card. It will be enough to have an application on the device that corresponds to the parent card. And again, this idea is already being implemented on Twitter, their cards support Stripe payments within themselves. Imagine that this concept will be implemented everywhere, then the developers will receive a new powerful distribution channel.
Here's another idea: what if the cards come from other things or devices ? For example, does a coffee machine offer you to pay for this purchase? Or will the hotel send an invoice for Wi-Fi access or additional services?
The website branching mechanism deserves a separate consideration. Let's say some major news resource distributes cards with its content to many other sites (not for free, of course). Why, then, does this resource have its own website?
I do not want to say that there will be “one continuous television”, that we will stop using the “classic” applications that need to be launched. In any case, tasks that require just such interaction with the software will be preserved. For example, to combine content to perform various specific or complex tasks.
Machine learning to the masses
As the user pays attention to one card and ignores the other, the system will learn and try to show exactly the content that may be of interest to the user. Moreover, it is not only about news resources and social networks, all kinds of applications can also be sources of content. As a result, this can lead to a rethinking of competition for user attention. Fight for the interest of people will start products that do the same job , and not products from the same category . The prerequisites for this can be observed today: in the notification center of your smartphone, all sorts of notifications can also be said to compete for your attention.
Developers are likely to come across the fact that their products suddenly found completely unexpected competitors. Let's say Twitter will, in fact, compete more not with other social networks, but with entertainment applications that a priori do not require the user to devote a lot of time to them. That is, Twitter can compete with news resources and casual games.
Three critical questions
Despite the large number of prerequisites for the future described by me, there are many questions on the agenda. For myself, I single out three, for which I can not yet give an answer.
1) Will the card model be implemented at the level of:
• applications (like the evolution of Google Now)
• notifications (like the evolution of the modern notification center)
• or the operating system?
2) Will the cards be presented as one common stream, or will it be multiple streams? Let's say a stream of cards related to my friends, a news stream, a work stream, etc.
3) Will this model be implemented in a universal format, or will we encounter our own versions from developers of operating systems? Or even open cross-platform systems (like the Internet), similar to those developed today by Wildcard and Citia ?
New Services and Products
End users can get a lot of benefits from the transition to the "card system". This approach will solve the problem of catastrophic growth in the amount of information we consume. But for this you will need to control the number of cards themselves, learn how to sort them, manage the tape (or tapes). But it will be much simpler and easier to control the information flow than within the framework of a modern ecosystem focused on “classic” applications.
Linking individual cards will allow you to concentrate only on important information and the necessary actions to work with it. Without being distracted by all kinds of sections, links, banners, etc.
Developers, in turn, will find it much easier to disseminate information about their products. Instead of relying on advertising in application stores, it will be possible to embed cards with relevant content in user feeds, including in the form of daughter cards. Moreover, they can contain both information about the application and its functionality.
Five key findings
1) The future of the web lies with cards, and developers must design systems, not end products. Moreover, the ideas of cards and systems are already being put into practice.
2) Responsive design is a good thing, but you need to move on. Content should correctly display on an incredible number of devices and in equally diverse situations. This will require a transition to new design principles.
3) The careful study of notifications and the actions performed within them will become increasingly important in software development. This side of user interaction will need to be given more attention.
4) Think about where you can integrate your product. Over time, this will become an important part of the product strategy, the number of APIs and Webhook will increase many times, as well as the role of services like Zapier and IFTTT. Integration will allow you to do what you yourself could hardly have done. In particular, it will give you access to a much wider audience.
5) Do not limit yourself to just one class of devices, always try to keep abreast of the latest trends in the field of smartphones, tablets and wearable gadgets. After all, new trends can come from where you did not wait.
I must say that the idea of cards is developing in YotaPhone. At the same time, it is deprived of the main drawback, due to which almost all wearable devices are born dead, since on wearable devices, when receiving a card, it is necessary to bring the basic user case to the end on the mobile device. It turns out that on wearable devices in the basic scenario they require more time (and are distracted by unnecessary pushes with unnecessary informing), and do not solve user tasks saving time.
Here's what Luke Wroblewski says about this: http://www.lukew.com/ff/entry.asp?1943