I was lucky a week ago with Apple approving my first “reference” app to the app store. I thought I’d share the architecture and some specific design choices I applied for this app.
App itself serves for booking a taxi. There are quite few apps doing this on the app market, though I believe this one should expand on options beyond just simple google based directory.
Here goes a high level and quite simplified diagram:
Today, I only want to touch on API’s used and set a basis for future entries.
In order to find taxi companies when I don’t have a match in on-device db I used google local search api. I recommend to play with a playground page first: http://code.google.com/apis/ajax/playground/. Example of a sample request and response can be found here: http://code.google.com/p/toolsdotnet/wiki/GoogleApi.
Then for a situation when gps accuracy may be low, or you want taxi to pick you up at the bar where you are for example, I decided to integrate foursquare. So you can see the list of places “near” you and pick the right one as your pickup address. This API is named a “venues search” in Foursquare, and I aggregated some info I used here: http://code.google.com/p/toolsdotnet/wiki/Foursquare.
This is it for today. If you are curious, and reading this article fresh :), then app should be still free here: http://itunes.apple.com/app/taxican/id440230968?ls=1&mt=8, with supporting web site: http://www.taxican.com. Still work in progress, excuse the mess :)… If you like the thing, you can give it your facebook like on the web site, as …
…, on the power of social media. Friend of mine told me today the customer didn’t consider his app/business worth consideration/solid because it didn’t have even 1k likes on a facebook! Ouuuch!