Collaborative Windows Phone Apps with Correspondence

Phones are personal devices, so users expect their data to be local. But they are also collaborative devices, so users expect them to talk to each other. An occasionally connected Windows Phone application is the best of both worlds. It stores personal data locally for instant access. And it synchronizes with remote services for collaboration.

Correspondence is an open source library specifically designed to make it easy to build occasionally connected applications. When you design your data model using its DSL, it generates both a local database and a network protocol. Then it gives you an object model to code against that seamlessly bridges the two worlds.

Not only will I demonstrate a collaborative Windows Phone application, but I’ll teach you how to write one. You start with the data model, written in a Domain Specific Language called Factual. Then you expose that model through a View Model layer. Data bind your View Model to the UI, and your application is complete.

When the user makes a change, it is both stored to the local database and published to the server. Changes made by other users are automatically pushed to the phone. Through the magic of data binding, the user is instantly notified of the change.

Presented at:

  • DevLink Chattanooga - 8/17/2011
  • Dallas TechFest - 8/12/2011