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.

The impetus behind the hackfest was the lack of uptake in Web Apps being built for the modern Web browser, in favor of mobile apps. For all the benefits of mobile apps, there’s still a real need for rich Web Apps — the kind of experience made possible by HTML5 and JavaScript frameworks such as Angular, Couch and Pouch.

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.