What’s Wrong with Mobile Recommendations?

The most exciting mobile apps right now are the location-based ones. They aim to connect us to each other in a way that the web never will: graying the borders between virtual and physical interaction.  And it’s become a hotly contested arena: Foursquare (who announced that they have hit 10 million users), Gowalla, Google Places/Hotpot, Facebook Places.. everyone wants to know where you are.

One of the nice things about these systems is that there are plenty of reasons why you may be interested in using them. In fact, at an upcoming ACM RecSys workshop that I’m organizing, we’ve invited Janne Lindqvist to talk to us about his research about exactly why people check-in through these services (see a pdf of recent ACM CHI paper here). If you are a user of these systems yourself, you know that there are strong elements of social signalling, connecting with friends, playing games and competition going on (I even held the mayorship of UCL’s Computer Science department on foursquare for a while); as a researcher, you may be interested to know about how these check-ins reflect the geo-spatial structure of our cities (pdf).

One of the key technologies that fits directly into all of these platforms is a recommender system. Some kind of way for our mobile phones to take all the data we are giving them and not only connect us to each other, but help us discover places around us (if you think this is scary instead of exciting, read what I have to say about that). Google Hotpot (blog with video post) and Foursquare (detailed blog post) are already breaking ground in this area. However, I still think that none of the mobile recommender systems are getting it quite right. Why not? Here’s an unordered list of unsolved problems that I’ve encountered. Can you think of any more?

  1. The Radius of Recommendation. Most systems seem to be filtering results based on how far away they are from you (in some cases, this is a setting that you can manually tune). Let’s assume that you are not going to play with this parameter and leave it set at 2km. When you are looking for live music, there is a band playing 1.9km which will be recommended, but your favorite band, which is playing 2.1km away, will be filtered out. In other words, distance (seems to) matter until preference is high. Similarly, distance-filtering means that I can’t look for tomorrow’s lunch recommendations while I’m at home, since I won’t be near home when I eat lunch. Should these systems also take into account your regular travel habits?
  2. The Elusive Concept of Context. Figuring out what people are looking to do is difficult. To that end, none of the current mobile systems fit the true model of a recommender system (as a set of “query-less results”); they still need people to say what they are looking for. Is the time of day (and historical habits) not being leveraged enough?
  3. The Ontology of Location. I just checked the Explore tab on Foursquare. Near UCL, there are three trending train stations: Euston, St. Pancras, and King’s Cross. In this case, the social signalling aspect of these systems (I’m here!”) is bleeding into the recommendations (“Where should I go?”).
  4. Discovery vs. Re-finding (“you’ve been here”). There are some cases where re-finding great places is awesome (see this tool). There are other cases where it borders on banal and obvious. Are these systems reasoning on users’ familiarity with the locations they frequent?
  5. Venues vs. Events. Venues are the stage for events. I often will not want to go somewhere unless there is something special happening there. However, check-ins and ratings reflect what is happening now, and not what I can plan for. How can these systems discover what is relevant and interesting before it happens?
  6. Venues vs. Friends. Similarly to above, a venue that is trending will not be as appealing as the one where my best friend is having a pint. Unless it’s trending for such a good reason that I’ll be convinced to drag my friend away from his pint.
  7. Data Noise. Near my flat, I once saw a recommendation for another person’s bed. Nuff said.
  8. Collecting Data. There is a battle going on as to what the right way to collect data is. Should it be binary/check-in only? As above, this taints our data with social-signalling noise. Should it be on a 5* scale? For many venues that does not make sense. Should it be passive/GPS only? Then we won’t know where people actually are (not to mention the privacy concerns). Should it be based on prompts (“check in at?”)? That quickly becomes annoying.
  9. Online vs. Mobile Information Needs. It looks like Google is leveraging my search history when it recommends places. This does make sense (somewhat): I will often google a place before I go there. But my online information needs often do not match what I need when I’m on the go. For example, I will soon be going to San Diego for ACM KDD 2011. When I checked my Places recommendations, they ask me to rate the San Diego airport. Along those lines, if you are familiar with my research, you won’t be surprised to hear that I’ve sometimes seen London tube stations there as well. The relevance of places that I search for online doesn’t seem to match places that I would like to discover when I’m out in the real world.

Recommender systems are very much at home online, where everything is a few clicks away. It seems that the best techniques for mobile recommendation will not be simply lifted from the web; they will be able to balance between distance and preference, understand context, in order to help uncover the gems that my city is hiding. Exciting!


2 thoughts on “What’s Wrong with Mobile Recommendations?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s