Share via


Looking Forward - Offline Capable Applications Using SilverLight and Sync Framework

Right from the first release of Microsoft Sync Framework, one of the most common requests we have received is for the ability to take SilverLight applications offline, meaning that users can continue to access their applications and data regardless of connectivity to the backend web application. Using this architecture, developers can build much richer applications and also take advantage of the local machine resources to provide fast data access. In addition, the ability to easily deploy SilverLight applications either within a browser of within an out-of-browser application makes this platform a very popular choice when building rich internet applications.

In the past there were a few issues that we had when trying to enable this functionality, but now with the latest release of SilverLight, much of what we require to provide offline capabilities is available. At this year’s Professional Developer Conference (PDC), Mark Scurrell introduced everyone to this set of capabilities in his session: "Using the Microsoft Sync Framework to Connect Apps to the Cloud" (overview starts at 44:40 minutes into session). Using the PDC conference session web site he showed how we built a rich SilverLight application that allows a user to take the sessions data offline into isolated storage, and while the user is offline they can continue to view sessions, add sessions to their calendar, rate attended sessions and then, once back online, the application automatically takes the changes and uploads them to the main agenda web site (demo starts at 48:00 minutes into session). The screenshot to the left shows an example of what this application looks like.

In order to truly take advantage of SilverLight's cross platform capability we had to come up with a solution where we could still support clients that do not have a Sync Framework runtime. To do this what we did was build the architecture such that all of the core Sync Framework logic resides on the service (in this case a Windows Azure Webrole), and that is where all of the heavy lifting of the synchronization process is executed. From the service we exposed a simple HTTP-based synchronization protocol that the client consumed, allowing any client to participate in synchronization. Currently the best offline store within SilverLight is isolated storage, and as you can see in Mark's demonstration of filtering data, this is sufficient to build a rich and very quick data-access application.

Over the next year you will see more of how we plan to enable this scenario and we will provide additional details on what you can do to get started to build these offline-capable applications using SilverLight.

Liam

Comments

  • Anonymous
    December 17, 2009
    Will you make this sample available for download ?

  • Anonymous
    December 18, 2009
    Hi Mimetis, Right now this sample is still in the prototype stage.  We are planning to provide samples of how to implement this over the next year once our implementation gets ready for customer consumption. Liam

  • Anonymous
    January 10, 2010
    Liam, this is exactly what i want to achieve! plz update us on this as soon as you can!.

  • Anonymous
    January 13, 2010
    Agamennon, That is great to hear.  Feel free to contact me directly (using the "Email" link) because we are always looking for early adopters to work with through the development phase to help validate our features and plans. Liam

  • Anonymous
    February 01, 2010
    The comment has been removed

  • Anonymous
    August 04, 2010
    Using the Sync Framework with Silverlight will solve a major feature enhancement for my customers, can you please update us on the status of this proto-technology.

  • Anonymous
    October 19, 2010
    Is there any video or samle solution avilable for sync framework?

  • Anonymous
    March 23, 2011
    It's not been QUITE a while since this blogpost was written, yet we still haven't heard ANYTHING since about Silverlight support. Was this feature complete dropped?

  • Anonymous
    August 10, 2011
    Can you inform us wheter this feature will be available in the near future ?...

  • Anonymous
    August 10, 2011
    @Morten and @Bart, Silverlight support is in Sync Framework v4 CTP. Unfortunately, CTP 4 was shelved and  the Sync Framework team will release the CTP4 bits as code samples instead. It's supposed to be released this end of August 2011. You may want to check out the CTP forums every now and then to check if it gets released : social.msdn.microsoft.com/.../threads