Designing a great user experience is all about knowing your users. Approaches like persona creation and user research might be helpful but not always sufficient for this. Users ultimately are people, and people can be extremely diverse.
Take for example, two resumes. Both from people of a similar age, working for similar companies with similar designations. Chances are, you'll still find some differences in both resumes. These differences can be subtle but they do demonstrate that there will always be a set of people (even within a certain user group) expecting the experience to be a little different.
Fulfilling these small expectations is what makes a great UX great. So, how does one fulfill diverse expectations with a single design? The truth is, you can't. The only way to accomplish this is by creating designs that adapt to individual users.
While this might sound all Sci-Fi and futuristic, take a look around and you'll realise it's already here. From the apps on our phones to the shopping sites we visit, almost all of them are slightly personalised for us. All of this is only possible because of machine learning.
In very simple words, machine learning is an approach of building systems that learn with experience. If you're thinking "But machines are machines, they don't experience anything!". Well you're right, they don't, but they do process a lot of data, and this data, for a machine is "experience". So in most cases, machine learning is basically an approach where the system improves its performance over data.
The system can then be programed to check for correlation between "Complaints Registered" and "Last Login Date". Upon processing it is quite likely that there would be some correlation between the two. The system would then detect a trend say all customers who registered 10 complaints or more have not logged in for three months or more.
Thus today if the system detects a customer registering the 10th complaint, it will automatically "know" that he/she is likely to leave the service soon and be programmed to take corrective measures.
Effectively, the system has learned customer patience levels.The system can continue to further improve this prediction by continuing to track real time customer data similarly.
As demonstrated in the above example, machine learning enables the system to understand the user better. It's all about what data needs to be processed, and what kind of correlations to look for. Users provide a lot of data while using application. This data can prove to be very helpful for machines to understand their users and adapt for a better experience.
Broadly user provided data can either be Implicit or Explicit in nature and be used to understand individuals or entire user groups.
The system can then use this data to tweak different elements like UI components, overall layouts, Information Architecture etc to fit the needs of each individual or group.
Machine learning can use the above date to tweak multiple elements of UX to enhance it. Here's some examples that touch upon Information Architecture, Interaction design and Cognitive load.
Machine Learning can be used to make the information architecture far more relevant. It can tweak content based on past user behaviour. This is knows as "Adaptive Content" which has become a very common thing. Almost all content driven sites leverage it today. From YouTube's suggestions to Facebook's feed, all of the content is tailored as per the user's past behaviour.
While almost all content driven sites use some form of Machine Learning, Netflix deserves to be mentioned the most. They have taken a lot of steps to ensure the most relevant content is recommended to it's users. This is done by leveraging machine learning to predict what users would like based on their viewing history. They even came up with the Netflix prize, a competition where the best machine learning algorithm won a million dollars. Another great thing about Netflix is the techblog where they share a lot of information about the technology running behind the scenes.
Google uses a feature called Personalized Search for all it's SERPs (Search engine results page). It basically tracks what kind of results you click on more as compared to others and then enhance future results. As a simple example, after a few searches if a dietitian searches the term "Apple" he is more likely to receive results about the fruit as compared to the company apple that a techie might receive while googling the same term. This article from google explained it in a bit more detail.
I use an android phone and I wonder how many of you noticed this, but as you keep using the keyboard, words you use more frequently are suggested more often. Moreover, the engine is agnostic to language, I tend to type in dual language and the system still suggests the right words.
Starting iOS9, people using the apple maps app, will have auto suggestions available. The app will automatically suggest destinations based on users habits. While some argue there's a logical gap, as they won't need maps on frequently used routes, it does get helpful for people using the app for traffic estimated.
Machine Learning can also do the mental heavy lifting on behalf of the users. Certain actions need users to simply scan through data and find what they are looking for. In such cases, Machine Learning can make smart guesses as to what you might be looking for and then put it right in front for you.
Many of you might have noticed this, but we no longer have to "set" our speed dial. The OS tracks who we call the most and accordingly places those contacts right on top.
Probably inspired from Spam Filtration, Gmail now pre-sorts mails into "Primary", "Social" and "Promotional" boxes. Thus saving you the time to manually scan through subject lines and decide which mails to really focus on.
With Siri for iOS, Cortana for Windows and Google Now for Android, Voice commands are pretty much mainstream. While this area still hasn't reached perfection, it's come quite a long way. The other day my friend turned on google now and said "Ok Google, play patience". I was quite amazed to see the system figured out the four words meant go to the music player, find a song by the name patience and play it.
1. Natural Language Processing : The system tries to understand the natural language spoke by the user.
2. Artificial Intelligence : After understanding the context in which the user spoke, the system tries to figure out what has to be done to complete the task.
Multi touch gestures have been around for a while now, however they are getting smarter with time. Different people have different styles, some are right handed, some left. We don't realise this but it can sometimes get confusing for a system to understand when a user is just tapping and when he's actually swiping. We all know of times when we intended to swipe and the system though of it as a touch. This is changing, all thanks to machine learning. Minuum a smart keyboard uses machine learning to understand user styles when it comes to touch and swipe.
Inspite of all the examples above, we are still in the initial phases of Machine Learning in UX. With a rise of technologies like IoT coupled inexpensive big data and cloud solutions from google and amazon, we can expect a lot more in this area with time.