Over the last few months we have made some drastic under-the-hood changes to rome2rio that probably won’t be noticed by most our users, but are important developments for our business.
Until recently, rome2rio has relied upon technology provided by the Google Maps API for three things:
- Geocoding: converting a user’s textual input such as oxford, vegas or nyc to a precise latitude / longitude location.
- Driving and walking routes: calculating the travel path, journey time and distance of driving and walking legs in rome2rio’s results.
- Map rendering: displaying search results rendered on the world map
We have now developed our own solutions for geocoding, and driving and walking directions.
We have built a geocoder pretty much from the ground up using Lucene (an open source search engine platform) and several open source data sources. After several months of development and refinement we are happy with the end product, which can handle a variety of search queries ranging from city and town names, countries and regions to landmarks, attractions and hotels. It can even handle a wide range of misspellings, colloquial names and synonyms.
Our new geocoder is also smart enough to realize that when you search for routes from Glasgow to Perth, you’re probably referring to the Perth in Scotland; but when searching from Sydney to Perth you’re probably referring to Perth in Australia.
For driving and walking directions, we now employ an open source solution based on Open Street Maps data. We continue to use Google Maps for displaying results, but use our own map rendering approach for saved trips (to see this, try creating and sharing a multi-hop trip).
So why the move away from Google Maps API? Google’s technology works remarkably well, but was limited us in a few ways.
First, we were unable to include data from Google in our API for partners due to license restrictions. Now, we are able to provide the same complete rome2rio search results that our users experience on www.rome2rio.com, including geocoding and driving/walking routes, to our API partners.
Second, we are now able to generate complete search results without any external calls to Google, which opens up a range of possibilities for Search Engine Optimization (SEO).
Finally, searches on rome2rio are now even faster since they don’t rely on extra calls to the Google API for geocoding, driving and walking routes.
Rome2rio is not the only technology company to recently move away from relying upon Google’s mapping technology. Apple recently announced its new iOS 6 will not employ Google Maps, and Amazon has recently made a similar decision for the Kindle Fire. We’ve similarly employed a very Marxist approach, choosing to take greater control of the “means of production” used to deliver Rome2rio’s unique multi-modal search results.
As always, we’re keen to hear user feedback regarding the quality of our new geocoder and driving/walking results; email us at feedback (at) rome2rio.com.