A constant challenge that my colleagues and I encounter when designing Foursquare is quite simple in nature but complex in its solution. The simple yet always-pressing issue of “what should we do?” leads to a world of unknowns that are almost immeasurable.
Every unique user wants something different; no two are the same. This means that if we are to truly build a revolutionary product combining local search with social understanding, we have a lot of things to consider.
The sheer volume of use cases can seem like a monster that can’t be defeated. We choose instead to grab each use case and attack it head on. For this article I’ll focus on two of our use cases and demonstrate some of the thinking that went behind the design and ultimately into the product that millions of users love and enjoy daily.
Use Case One: It’s Wednesday afternoon and I’m hungry
It seems simple enough: we’d want to show some good places to check out for lunch. Now we use social justifications to know about what might be best suited for you. For this example, I’m going to list a few fake people to help illustrate how we pull this off.
It’s Wednesday at 12:30 in downtown Manhattan. Good starting point; we know New York like the back of our hands. The user (let’s call him Connor) has 78 friends on Foursquare, and out of those friends, let’s say 40 of them have spent some time in New York City, some more than others. Alright, looking good so far — now what do we do with this? We start to look at places that Connor has told us he likes, looking back at previous check-ins and places he has rated on Foursquare. Now we look to Connor’s social graph of those 40 friends, and we see what places align with his tastes. For instance, he may be big on ramen, and so may a few of his friends, so now it’s time for some behind-the-scenes math. We begin to align what ramen restaurants resonate well with his social graph and also have a good rating. The ratings can vary dramatically from how popular it is to a slew of other variables. Keep in mind that all of this is being served up without an explicit search for “ramen.” We just know enough about Connor to make an informed suggestion and then continue to monitor his behavior and improve these recommendations for him as he and his friend graph continue to grow. Connor has been to Momofuku, but he’s very close to Ippudo, which a couple of his friends have been to, and three even rated very highly. I think we have a winner.
Now for the fun part: the design of giving this information to Connor. As soon as Connor pops open Foursquare on his phone, he is shown a lovely map showing where his friends are and a few places worth checking out nearby. Just a few pixels down the screen he is presented with the result of this calculation that we performed for him. The design is visually simple; it’s just an icon that corresponds with a pin on the map above. The copy reads just as simply: “Lunch recommendations for SoHo: Ippudo is a great ramen place nearby.” There are a slew of other ways we could surface this recommendation based on Connor’s social graph, but let’s leave it to this example for now. The true power of the design is in our utilization of the data and our understanding of this specific user. The visual design is meant to serve more as way-finding signage, to be there when he needs it and easy to bypass when he doesn’t. It’s the experience that matters the most. Now it’s time for him to go get his noodle on.
Use Case Two: I’m traveling and I want pizza
Wise decision — pizza is always a good choice. For this scenario I’m going to use myself as the user, because I love pizza, and I do spend my fair share of time bouncing from place to place. Also, I’m obviously a pretty big user of Foursquare.
Above is a rough vizualization of some the cities I have been to in the past three years. I’ve gotten pizza in most of them. Now I know damn well that I want pizza, so the biggest feature for me is an auto-completing search. Our software knows me and my affinity for a good slice of pie. So when I get to a new city, I’m greated with a polite, “Hello and welcome to ____, here’s what going on nearby.” That’s all well and good, but I just got off an airplane, and I want some cheese and bread in my stomach as soon as possible. My quest is still a variation of exploration, since I am in unfamiliar territory, but I know exactly what I’m after. I need guidance to a goal I already have defined instead of recommendations for things to do.
Version 6.0 of Foursquare saw us move Explore from behind the curtain of a tabbed navigation to the front action in the top navigation bar. So a quick tap in and I’m taken to a search compose view that adapts quickly as I use it and provides quick shortcuts for the most common queries, like food or nightlife. I usually never need to type in more than a “p” before I’m being guided to the best pizza places in that city. Much like Connor, my social graph is used, my previous experiences with pizza known. I tend to favor more mom-and-pop pizza places over the usual spots (can you blame me?), so I’m guided to what places are best suited for my tastes.
I recently did this exact thing on a cross-country drive and found one of my co-worker’s old pizza spots in Columbus, Ohio — a city I had never been to before — and soon I was taking a bite of the food my-coworker had grown up eating. That feeling of knowing the connection that I made with that friend was incredible. I immediately told him about my spot when I checked in, and we were both pretty stoked — he at not having had that pizza in some time and that Foursquare guided me to his old high-school hangout. (It was pretty solid so if you’re in the Columbus area, check it out.)
Those are just two quick use cases out of thousands. All of our design thoughts are focused on the people using the screen and how we can help them get the most out of the places they are currently inhabiting. If you guys have any suggestions on improvements that you would want to see out of Foursquare, please do not hesitate to tweet directly at me @anthny. I’m always up for hearing how people are using our software and ways that they think we can make it even better. Of course, words of encouragement and stories of how our software has made your life easier won’t be met with sadness.
It is very much worth noting that I am by no means the only person helping to design Foursquare. I am part of a team of incredibly talented people that humble me daily. If you’re interested in knowing more about the great people I work alongside every day, I made this handy list.
Go forward and explore.