The biggest news out of the Microsoft TechEd Developers conference that kicked off on November 5 is the official announcement of Microsoft's offline/online sync platform.
The actual Community Technology Preview (CTP) 1 bits are somewhat dull. As one developer I know said: "It's ADO.NET Sync Services plus FAT/NTFS file sync, Ray Ozzie's Simple Sharing Extensions (SSE) for peer-to-peer sync of RSS/Atom feeds, and some arm-waving about 'custom data synchronization.'"
Here are a few tidbits about the sync framework that I did find interesting, however.
- The sync framework didn't emerge out of nowhere. There've been rumors about its existence for more than a year, when it was first known as "Harmonica." (Microsoft recently changed the codename to "Ibiza.")
- The sync team sits inside Microsoft's SQL Server group and includes some of the folks who worked on the ill-fated WinFS (Windows File Storage) project at Microsoft. But to say that the sync framework is an outgrowth of WinFS or incorporates WinFS bits would not be accurate, according to Philip Vaughn, the Group Program Manager for the Microsoft Sync Framework.
- The sync framework is designed to solve two major problems: To help developers build offline-capable versions of online apps (along the lines of the Outlook-Exchange combination) and to enable developers to build applications that are datastore- and protocol-agnostic, according to Vaughn.
- There are three major components to the sync framework: Data stores (starting with SQL Server 2008 and the SQL Server Compact Edition on the client side); providers (from Microsoft and other, as-yet-to-be-determined third parties) that will handle connections to relational databases, file systems and the aforementioned Simple Sharing Extensions for publishing/subscribing to data; and the sync runtime.
- The sync framework is NOT a competitor to Google Gears, which is a browser plug-in that provides offline access to Web pages. It is more of an outgrowth of Microsoft's ADO.Net tecnology than anything else.
- Microsoft is planning a phased rollout of the sync framework. Some of the client-side change-tracking elements will show up in Visual Studio 2008. Server-side change tracking will be part of SQL Server 2008. Microsoft also will make the framework available as a separate download for interested developers. It sounds like there will be more pieces and updates coming in the post-VS 2008/SQL Server 2008 timeframe, as well. No info available on how/when those elements will be pushed out.
- There will be some kind of connection between "Astoria," Microsoft's technology that allows applications to expose data as a service, and the sync framework. Specifically, you could technically expose data for consumption by the framework with Astoria. Microsoft sounds like it's prepping some more Astoria-specific announcements and declined to provide further details about this.
Microsoft's goal with the sync framework is to allow developers to create apps that can syncrhonize across devices, services and applications, regardless of the "endpoints," officials said. I'm wondering when we'll see the first Sync-Framework-enabled apps -- from Microsoft and/or others.