Online and Offline Mobile Applications 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.


  • Michael L Perry

    23 Recordings
    Software is math. Every class is a theorem. The compiler is the proof. And unit tests check our work. Michael wrote The Art of Immutable Architecture, a book on applying mathematics to building distributed systems. Learn more at Michael has recorded Pluralsight courses on Distributed Systems, XAML Patterns, and Cryptography, in addition to Provable Code. Formerly a Microsoft MVP for seven years, he maintains the spoon-bending Assisticant and Jinaga open-source libraries. You can find his videos about distributed systems at And he helps his clients at Improving benefit from the power of software mathematics.

Recorded At:

Recorded on:

Apr 27, 2013

More Info: