A (Microsoft) Code Name a Day: Harmonica

Today's Microsoft code name of the day: Harmonica Best guess on what it is: A P2P data synchronization service that could be key to Microsoft's cloud-computing vision

I'm resuming my Microsoft Code Name a Day series that I started in December 2006. The goal: To provide the back story, each day in August, on one of Microsoft's myriad code names. Some of these code names might be familiar to Microsoft watchers; others (hopefully) will be brand-new.

Microsoft code names offer some great clues about the Redmondians’ development priorities, not to mention a better understanding of which future Microsoft products fit together, from a strategy standpoint. And not every product group is moving to boring, numbered codenames (like Windows 7 and Office 14).

Without further ado, let the codename games begin.

Microsoft code name of the day: Harmonica

Microsoft code name of the day: Harmonica

Best guess on what it is: A P2P data synchronization service that could be key to Microsoft's cloud-computing vision

Meaning/context of the code name: This is one of those codenames of which I really cannot figure the origin. My guess? Perhaps it's a play on the "harmony" that Harmonica is supposed to bring to Microsoft's services?

Back story: Harmonica is a codename I first got wind of a year ago. The way it was described to me was it was some kind of "multi-master mesh" that will underlie everything from the Zune to small-business services. It supposedly is what will allow users to synchronice their photos, email, documents, music and video across applications.

Other interesting pieces of the Harmonica puzzle: There supposedly will be a Harmonica toolkit to enable third-party software and services to tap into Harmonica and build on top of it. And there also may be consumer-facing Harmonica implementations, such as file-sync utilities.

I'm wondering if Harmonica has anythng to do with Microsoft Synchronization Services for ADO.Net, which is available for download from Microsoft's Downloads site. The company's explanation of this offering:

"Microsoft Synchronization Services for ADO.NET provides the ability to synchronize data from disparate sources over two-tier, N-tier, and service-based architectures. Rather than simply replicating a database and its schema, the Synchronization Services application programming interface (API) provides a set of components to synchronize data between data services and a local store. Applications are increasingly used on mobile clients, such as laptops and devices, that do not have a consistent or reliable network connection to a central server. It is crucial for these applications to work against a local copy of data on the client. Equally important is the need to synchronize the local copy of the data with a central server when a network connection is available. The Synchronization Services API, which is modeled after the ADO.NET data access APIs, gives you an intuitive way to synchronize data. It makes building applications for occasionally connected environments a logical extension of building applications where you can count on a consistent network connection."

Additional info: In case this all sounds like pure vaporware, supposedly Windows Live Favorites synchronization already builds atop Harmonica.

Got a Microsoft code name you’ve been wondering about? Send it my way and I’ll do my best to track down some leads on what it might be.

And if you want to keep track of the full month's worth of Microsoft code names I end up posting, bookmark this "Microsoft Codenames" page. You can also check out this video-whiteboard I did recently on Microsoft codenames.