By John Shewchuk, Technical Fellow and the CTO for the Microsoft Developer Platform
A few weeks ago several of us from the U.S. and worldwide DPE teams holed up in Redmond for a few days of coding. Our goal was to prove that there is an easy way to take a Web App and port it over to a mobile experience, and then make it work in both connected and offline scenarios.
Joining us for the hackfest was Accela, an ISV that provides solutions to help municipal, county and state governments streamline their licensing and permitting processes. Roughly seven months ago Accela launched an open data platform called civicdata.com, and we set out to create an app that would let people consume a variety of open datasets — whether in the office, out in the field or off the grid.
In a nutshell, our target scenario was to help real estate agents and prospective buyers access civic planning and permitting data stored on civicdata.com, and provide a platform for making comments about and discussing a particular property.
One of the highlights of this hackfest was seeing members from DPE with expertise in different disciplines working together on the three separate tracks of application platform, data connections and offline scenarios, and then combining their work into a reference architecture that others can benefit from.
The application platform team built the base HTML/CSS/JS app using our data abstraction layer, which plugs into either Azure Mobile Services or Couch DB as the data source. The app runs on Chrome, Internet Explorer, Android, etc., and has offline capability.
Using our own Web App template, we ported the application to the Windows Store, which has been enhanced to enable offline capability for store apps. This team also created an optimized ingestion service for the public reference dataset, incorporating geocoding capability for each listed property using the Bing Location API.
From there, the team created a local cache for storing content from visited Web pages. With this “supercache” in place, users could access the same Web-based content — property data, in this case — in much the same manner but without an Internet connection. It really takes the Web App user experience and extends it across the full breadth of connectivity scenarios.
The hackfest certainly wasn’t without its challenges, and some fit-and-finish work still needs to be done. Just the same, it was truly amazing to watch the process come together, and out of it we are developing a set of tools that will simplify the building of cross-platform solutions. Look for more details on that in the weeks ahead.
John Shewchuk is a Technical Fellow and the CTO for the Microsoft Developer Platform. John leads the team responsible for technical evangelism and development in DPE; his team partners with developers, designers, and IT pros to build next gen applications using Microsoft’s devices and services and they share those experiences with the developer community. John has been with Microsoft for almost 20 years. Most recently John focused on Azure developing key platform services including Windows Azure Active Directory, Service Bus, and SQL services. He has been a key contributor on wide range of technologies including; Visual Studio, .NET, WCF, WIF, IE, and AD. John is an advocate and contributor to open source and Web standards – most recently he drove many of the contributions Microsoft made to OAuth 2. John has BS in Electrical Engineering from Union College and an MS in Computer Science from Brown University. He lives in Redmond with his wife and four children.
Open Data: From Coast to Coast
CivicData.com: Changing the Game on Open Data
Open Data Delivering on Its Promise to Bring Governments and Citizens Together
Democratize Your Data with CivicData.com