I can’t remember when exactly it started but for some time now, Gmail has a feature referred to as Smart Reply in which the mail client would suggest simple, automatic replies based on the contents of said e-mail. Say you have an e-mail from a colleague asking to have a meeting with you in Monday, Gmail would suggest you replies such as “Sure, Monday’s great!” or “Sorry, I can’t do Monday. Can we reschedule?” It’s a bit creepy at first and I’ve personally never used this but Gmail is far from being the only service that takes advantage of this anticipatory design.
The gist behind the philosophy of anticipatory design is rather simple. It’s the kind of design philosophy that tries to predict what the users want without the users spelling them out directly. Anticipatory design doesn’t do this by playing tarot cards or peering into crystal balls but by making use of data. This might sound like gobbledygook but anticipatory design is now widely used all over in the field of web development.
The thinking behind anticipatory design
Have you ever heard of the trolley problem? It’s this popular thought experiment in ethics where a trolley is barreling towards a group of five people being tied down on the track. Beside you however, is a switch that will redirect the trolley to a track where there’s only one person tied down instead of five. The question is, assuming that all of the people in this thought experiment are complete strangers to you, would you flip the switch to redirect the trolley?
You could simply play the numbers game and conclude that one death is less bad than five deaths but what you have to know is that flipping the switch makes you directly responsible for that one death compared to if you simply let things be. All this is just an extremely roundabout way for me to say that sometimes, making choices can be such a burden on your mind. It could be because of the implications like the trolley problem or simply because there’s just too many options available, things that anticipatory design aims to solve.
Streamlining and simplifying the choices you have to make
Let’s say you’re planning a trip and you’re now in the process of hammering down the logistics. You’ve already locked down the dates and the destination so really, the decision boils down to the details of how you’re going to get there and where you’re going to stay. It sounds simple enough but each of these two decisions can have a number of little additional variables involved that can make the decision-making process both exponentially harder and longer depending on the type of person you are.
Would you prefer a window seat or an aisle seat and would you prefer sitting at the front of the plane or at the back of the plane? As for the flight, what time of departure/arrival would you prefer and do you have any preferred airlines? That’s just for the plane, having to decide on the accommodation would normally involve considerably more variables. If it’s your first time planning a trip, having to go through these motions is understandable but if this is for the umpteenth time, wouldn’t it be nice to have a system that already has your preference in mind and suggest you things based on that recommendation?
Anticipatory design uses this data to provide you with suggestions based either on your previous history or saved preferences. This way instead of having to deal with 50 different choices with 40 of them being of no interest to you, you’d be automatically offered a curated list of choices that is relevant to you. The final decision still rests with you but with anticipatory design, you don’t have to manually go through dozens of irrelevant options before arriving at the one you’ve been looking for.
Anticipatory design in practice
Anticipatory design in web development mainly relies on two things; a user-centered approach and data, lots and lots of data. Personalization is the goal of anticipatory design and since each and every one of us has our own tastes and quirks, each website has to be able to accommodate these characteristics and the only way we could do that is by collecting data on each user. And this data is obtained by either mining our history or through a survey at the beginning.
Streaming services such as Spotify and YouTube tailor their recommendations based on each user’s watching/listening history. Spotify and Apple Music also goes the extra mile by also giving out questionnaire for new users to get a rough idea of what they like. Google Now and Google News give you story recommendations based on your search history. These are just a few examples of anticipatory design but there’s a lot more where they came from and some are so subtle that they can be easily missed.
Considerations when using anticipatory design
It’s powerful and it can be especially useful for people with issues of indecisiveness but anticipatory design can be restrictive which is why businesses should allow users to opt-out of the system if they want to. YouTube for example has this nasty habit of automatically playing another video after the one you’re currently seeing is finished unless you’ve explicitly told them not to. Sometimes, a user too would like the option of trying out things they haven’t experienced, something that anticipatory design might not be able to anticipate.
With the above issue in mind, it’s advisable for businesses to allow users the option of using a manual search with the help of a filter. One other thing I’d like to mention is the enable users to directly provide feedback to the system. For example, if I was looking for something on Amazon with the intention of using that something as a gift, I’d very much like it if Amazon won’t recommend me similar items in the future and adding an option to do exactly that should allow you the opportunity to provide users with a better service while making things more pleasant for the users.