Software development

Predictive interfaces make software more intelligent

recommender systems, analytics, user experience

Intelligent software should adapt to the user’s needs. Predictive interfaces anticipate what the user is likely to do next and suggest useful actions. The predictions are based on finding patterns in how the user has previously interacted with the software. Here I will describe three ways in which predictive interfaces can benefit the user.

Less manipulation. Software that can guess what the user wants to do next is able to reduce the number of interaction steps. Software can provide dynamic shortcuts that complete the guessed task in a single step. A familiar example is autocomplete functionality on search engines. Especially on mobile devices, typing is slow and prone to typing errors. The autocompletion list displayed by search engines require one to type fewer characters before selecting a query from the list.

Even rather complicated suggestions can be presented in an understandable format. One possibility is to show suggestions as sentences. A button for sending a link to an interesting web page to a friend could, for example, read “Share with Mary by email”, if the system predicts that to be the most likely sharing action. The underlined parts of the sentence are editable in case the user wants to correct the prediction. Clicking them opens a dialog for changing the person with whom you want to share the content (Mary) or the sharing medium (email). Even if the prediction is not perfect, correcting a suggested action takes less effort than executing the full sequence of actions step-by-step. The author of this blog post counts that sharing a web page with a friend requires 20 steps on his mobile phone. With the previous proposal the number of steps falls down to about two (depending on if there is need to correct the suggested action).

More relevant content. Recommender systems for news, movies and other content will help an user to focus on interesting items. I’m interested in technology news but not in sports news. A typical non-predictive news site forces me to scroll past several uninteresting articles and try to spot the few interesting ones. A good recommender system would show articles about the topics that interest me at the top of the list. Then I’m able to focus on actually reading the news instead of searching for interesting articles.

Facebook shows the stories that are estimated to be interesting at the top of its news feed. A typical Facebook user doesn’t have time to read through all the stories shared with her. A prioritized news feed reduces the possibility that an interesting story gets lost among the mass of mundane status updates.

A predictive interface helps you spot the one alternative that interests you.​​​​
A predictive interface helps you spot the one alternative that interests you.​​​​

Increased chance to find new content. Predictive software can suggest things that the user does not even know exist. When a person is buying a new TV over the Internet, a good recommender system should suggest a compatible cable for hooking up the TV with audio equipment even if the person didn’t know what kind of cables are required or hadn’t even thought that she needed a cable to connect the TV. Spotify can introduce you to interesting new bands you hadn’t heard of before.

A balanced recommender algorithm should aim to some level of diversity in its recommendations. Otherwise the user is in danger of getting caught in a filter bubble.

How does an algorithm know what to suggest?

User intention can often be predicted to a sufficient extent based on patterns observed from usage data. Analytics data on how, when and where an application is used can be collected and analyzed. Useful patterns in the data can be detected with statistical methods.

A simple, yet often useful, prediction is the last value prediction: assume that the user is going to do the same thing she did last time. When the user opens an application, it opens up in the same state as it was the last time it was used. When the user saves a file, the default location is the same directory where the last file was saved to.

The patterns can of course be much more complicated than this. If Netflix notices that people who liked Inception tend to like Twelve Monkeys too, it can recommend Twelve Monkeys to someone who gives a high rating for Inception.

Towards software that understands people

Predictive interfaces can help in complex information processing tasks. Complex tasks often begin with a phase when objectives are vague. The final goals will only emerge after some amount of exploration. A software that is able to model a user’s intentions can guide the exploration by suggesting possible relevant actions to try out.

Ultimately, an ability to predict a user’s intentions contributes to transforming the interaction between a user and a computer system into a kind of a negotiation: the user communicates her needs by vague commands, and the system disambiguates the message based on the context and suggests possible actions that are likely to satisfy the user’s wishes. This theme is discussed in the essay The Anti-Mac Interface.

Further reading