Hack hard, hack fast.
We have a lot of place data. A lot. We use this data in nearly everything we do, but we wanted to investigate different ways to use it and expose it. So we spent a day exploring what those different ways might be. Below are four proofs of concept we built in that day. All need just a bit more polish before they’re production-ready.
Day Trip Planner
Our initial implementation starts with a list of templates that represent things you might do on a day trip, like “eat breakfast at 8:30am” or “visit a local point of interest at 10am.” Each template defines the search criteria that we use to find matching places to suggest in a specific city. For example, the “breakfast” template might search for places that are open from at least 8am until 10am and are categorized as “diners” or “cafes.”
Given a city, we can then find the “best” places in or around that city which satisfy the search criteria for each activity. We inject a little bit of randomness into that definition of “best”, so we can generate more than one interesting day plan per city. After generating a day plan, it's also possible to replace individual places in the itinerary with new suggestions. Once the user is satisfied with their day plan, they can save it as a trip.
Random Trip Generator
In late 2014, Daniele Quercia gave a TED talk about “happy maps”. Using existing data we have in our database, we took a swing at creating “happy trips” via an algorithm that generates a random trip based on how many waypoints a user wants to visit and how far out of the way a user is willing to travel—think “I’m Feeling Lucky” for roadtrips.
Once origin and destination points have been entered, the trip re-routes to a random collection of points that are within the specified distance. These points are entered in an optimal order based on location, and the set of places are selected by the highest user engagement; we also determine the optimal times to stop for food and gas and select the best place to book a hotel based on the length of the trip.
Discover Routes Containing a Place
We keep tallies of the number of times places are added to trips or saved to users’ saved places and collections. Until now, we’ve kept these numbers for internal use, primarily to gauge popularity. Displaying these numbers on the place pages is a simple feature, but could be very meaningful to users. It adds another metric for users to determine the quality of a place. Including the drop-down of collections and trips in which a place belongs provides social validation and could provide an inlet into discovery we have yet to explore.
Personalization on iOS
Our mobile team wanted to focus on making a feature both personal and unique to a mobile device. Since we know which places you have saved, and your location when you open the map, we were able to create a proof of concept that focuses on giving recommendations tailored exactly to your taste!
As you see in the accompanying video, we added a button to the map that will open a personal recommendations view. When you tap the button, the app will check to see the types of places you save most often and suggest places in the area that seem most up your alley. Or, if you’re planning a trip in and you don’t just want to see the most popular places in your destination, you could move the map to your destination and tap the button to see the best places for you in that area.