June 7, 2011

Texas Road Side History? There's an App for That!

Have you ever wondered what that historical marker says that you just passed while driving down the road? Well, there’s an app for that, if you live in Texas.

Texas Road Side History was first thought up by my myself and my colleagues as one of four applications our Slalom Consulting Dallas office developed during a one day Windows Phone 7 “lock in”.

One of our goals was to learn how to make use of Microsoft’s SQL Azure and Azure Web roles. Using SQL Azure, we took advantage of the Geography data type and the STDistance function to query for historical markers by proximity. We next exposed a WCF Web service for executing the proximity query. And lastly, generated an OData endpoint using WCF Data Services for all of our basic data access needs which was amazingly simple.

After several iterations of submissions and rejections to the WP7 Marketplace, Texas Road Side History was finally approved. Microsoft’s approval process was very impressive. Each time we received a rejection, it came with a very thorough report with the reasoning and the exact steps needed in order to make the application comply. It is clear that Microsoft is focused not on the quantity of apps in the Marketplace, but on the quality.  We did several rounds with them on what we thought we simple things but directly tied to their desire to have consistency in the applications they accept.  For instance, if your app takes longer than 5 seconds to rehydrate – fail.  If the back button doesn’t go back, in order, to previous pages (or apps) – fail.  If you deadlock someone into a screen (like, requiring a certain setting on start or home page load and if it isn’t set, taking them to settings) – fail.  All very impressive because essentially we got free UX and engineering testing and all easily corrected.

After our “lock-in”, my colleague Trent Foley (who we are crossposting this with) caught the mobile bug and wanted to see what iOS was all about. Dabbling a bit with Objective-C, I quickly turned to MonoTouch – which left me with just iOS APIs to ramp up on. For some of the details on consuming the WCF and OData services, read his previous two posts here and here.

Submission to the Apple App Store via iTunes Connect was a bit less impressive, albeit, faster time to market (4 days after submitting). The iTunes Connect site took a bit of getting used to. Fortunately, the app was approved on first submission; which is also unfortunate in the sense that I can not report on the quality of an App Store rejection report.

We don’t have any plans to complete the app trifecta (Droid) but if there is enough interest, we’ll think about it.

Texas Road Side History has proved to be a well-rounded mobile app for getting our feet wet in the mobility space. Whether you are a history nut or just curious to see what our first mobile app looks like, I hope you’d give it a spin and let us know what you think.

What about future versions?  We’ve got lots in store to take advantage of some of the great new Windows Phone 7.1 APIs, namely a SQL provider for isolated storage which will allow us to do some smart caching.  Apparently, not every square inch of Texas is covered by 3G signal – go figure.  Second, we’ll be using some new notification API enhancements to alert folks when they are approaching a marker.  And finally, we’ll be adding new data sources for additional types of markers and adding additional states – which will likely necessitate a change in the app name 🙂

On the Azure side, one of the features we’ll be working on is the crowd sourcing components.  When you get to a marker on that family vacation, you’ll be able to take a family photo, add comments like ‘The Martin’s were here on 6/1/11’ and also submit corrections or missing marker info, which we hope to pass along to our data providers (in this case, the Texas State Historical Commission).