Netflix instant streaming is both one of the best and the worst products to be developed in the recent years. Best, because its helped make sitting at home for eight hours on a Saturday, binge watching the latest “water cooler TV” almost feel productive. And I LOVE being productive (especially while sitting motionless and eating cookies by the sleeve)!
The worst, because Netflix isn’t smart enough (yet) to understand my mood and my general indecisiveness with “easy” decisions, I suffer from analysis paralysis when deciding what to watch.
Should I watch something silly? Let me spend 20 minutes searching through a seemingly endless selection of mediocre movies I have never heard of eventually to settle on an episode of Arrested Development I’ve already seen 14 times. Do I want something serious and thought provoking? Yes, I’ve been meaning to watch that documentary about seriousness of the widening economic gap forever. Today is the day it’s finally going to happen!
5 minutes later: Good lord. I don’t think I’m mentally prepared for this. I’m going to come back to this at another time. Back to the drawing board. … 20 minutes later…
Behind the scenes, Netflix is truly remarkable on a technical side and a product side because of how they have elegantly incorporated artificial intelligence/machine learning into their userexperience to both add value for the user and increase overall engagement. They have reached the holy grail of product design success: Netflix is truly a product I don’t want to live without.
What is AI and Machine Learning?
Since its inception in 1956, artificial intelligence (AI) research has had two important but distinct research goals: first, to learn more about how the human brain works by developing architecture that closely mimics human brain processes (or at least results in the same outputs as the human brain). Second, to develop dynamic computer algorithms that are able to change their reactions and outputs in response to different input situations — algorithms that are able to learn.
While the former remains integral to important work in cognitive science and cognitive neuroscience, the latter goal, seemingly magical to an outsider, is what we can use to improve user experience. These machine learning algorithms have become ubiquitous in web and software design partially because of their effect on a product’s user experience
To start with a simple example, imagine that are reading your favorite news site, perhaps The New York Times, maybe The Onion? Doesn’t matter. But that site shows a different ad every time you visit. One way to implement this would be to write an extremely simple bit of code that loads a dataset of possible ads and then displays each ad in order or else selects an ad at random on every visit.
But, what if, instead of coding the site to display the same ad for every user, you could develop an algorithm that would take as input a user’s past browsing history on the site, or even the kind of content that the user has selected to show up on the site—and then use that input to calculate and display an ad that’s been selected as “relevant”?
Granted, these “adaptive content” kinds of algorithms are imperfect, and they start out with user experience results that aren’t much better than random or cyclical ad generation: for example (take note, Facebook!), the fact that you’ve indicated to the site that you’re a woman doesn’t mean that you’re interested in a dieting ad; similarly, looking through your friends’ wedding pictures doesn’t mean you want to buy a wedding dress. However, remember that we’re talking about machine learning: your responses to the ads presented (clicking on the ad, not clicking on the ad, or choosing to replace the ad with another, if that’s an option provided) are fed back into the algorithm.
All this information about you, the user—your interests, your likes and dislikes, the ads you click on versus those that ruffle your feathers — become data points that are fed into the algorithm. The more information about you that the algorithm has access to, the more it “learns” about you; until eventually (the hope is), you’ll only see ad content that interests you and that you’re more likely to click on.
Netflix, in my opinion, is a far more complex and interesting use of machine learning by using these algorithms to both suggest movies that you may like based on your past watching and rating history; its algorithms can also suggest what rating you’re expected to give each movie.
In 2009, Netflix held a contest and would award $1 million to whoever could substantially improve the accuracy of predictions about how much someone is going to enjoy a movie based on their movie preferences. The winning team, BellKor’s Pragmatic Chaos, improved the accuracy of their algorithm after noticing patterns in user’s behavior. When users rated several movies at the same time, they were usually rating older movies. Also, users rated movies seen a long time ago in a different way than ones they had seen more recently. In the end, we call came out winners. BellKor’s Pragmatic Chaos got a nice chunk of change and us users got some better movies to add to our queue.
Safari’s startup page shows a visual array of the sites you most often visit, making web browsing easier (if you want to visit one of those selected sites, of course). Note that these types of algorithms tend to be more successful than adaptive ad content discussed above: one reason for this is that they have access to more information (and more relevant information) about the user; another is that these algorithms receive and can work with both passive and active user interaction.
You don’t just have a choice of clicking on an ad or not: you can rate and recommend movies on Netflix, you can change the algorithm’s projected rating, etc.; you can manually remove certain sites from your Safari start page or choose to “pin” others so that they’re never replaced.
Another reason these sorts of algorithms are more successful is that they use unsupervised learning (sometimes in addition to supervised learning). First, to see what supervised learning alone looks like, let’s go back to the ad-selection algorithm. This algorithm has a limited starting data set (your past history on the site/the information you included in your profile/etc.) that it gets “trained” on; and it’s also programmed with particular responses to future user reactions to ads. For (a simple and not entirely accurate) example, clicking on an ad might tell the program to add one point to that ad’s value and half a point to the value of other ads deemed “similar”; not clicking on an ad might have no effect or cause that ad to lose half a point; removing an ad (if given the option) might reduce the ad’s point value (and the point value of similar ads), or even remove that ad from the possible display set altogether, etc.
The point of this example is to show that supervised learning algorithms start with a limited data set, are trained on that data set, and are programmed how to react to future user actions—and that’s it. There isn’t a lot of room for growth or further learning.
Unsupervised learning, on the other hand, allows algorithms to analyze patterns in user behavior. It can be more difficult to develop an unsupervised learning algorithm, and a lot of trial and error goes into the data analysis; but when developed, an effective unsupervised learning algorithm can more accurately “understand” a user’s past choices and thus more accurately predict that user’s future choices.
Machine Learning’s Role in User Experience
So why is all this important for UX design, again? Well, think back to Netflix: it’s much more enjoyable to use when you know that you’ll probably like the movies recommended; you don’t have to search for hours through every genre hoping that you’ll find something good. And sure, Netflix sometimes recommends a movie that you don’t like — but all you have to do is give that movie a low rating and the algorithm will accommodate the change.
When developing a software program, you want your users’ experience to be kind of like using Netflix: they should easily be able to find the part of the program that they want without wading through lots of irrelevant information (for example). With the right machine learning algorithms built into your software, it’s easier to provide your customers with this type of enjoyable, user-friendly experience.