Guest post: Dan Farber, Between the Lines alumnus and founding editor-in-chief of ZDNet, is editor-in-chief of CNET News.com.
Ray Ozzie has a history of trying to break through software and usability barriers. With Lotus Notes, he and his team spent years creating the underlying client/server collaboration technology to enable synchronization, or replication of e-mail online and offline.
(Credit: Dan Farber)
His second major initiative, Groove Networks, took the synchronization and collaboration concept into the peer-to-peer realm, allowing individual PCs to communicate directly with one another.
Groove Networks was sold to Microsoft in March 2005, and Ozzie began his next major iteration on a much bigger stage, as Microsoft's chief software architect.
Ozzie teased the next evolution of his decades-long exploration of synchronization and collaboration, which he referred to as a "seamless mesh" or "syncromesh" in his Mix 08 keynote in Las Vegas:
Just imagine the possibilities of unified application management across the device mesh, centralized, Web-based deployment of device-based applications. Imagine an app platform that's cognizant of all of your devices. Now, as it so happens, we've had a team at Microsoft working on this specific scenario for some time now, starting with the PC and focused on the question of how we might make life so much easier for individuals if we just brought together all your PCs into a seamless mesh, for users, for developers, using the Web as a hub.
After client/server and peer-to-peer comes the services cloud, small pieces loosely joined in a "mesh."
Microsoft officials aren't saying much about the mesh other than "stay tuned." As noted in this post, Erick Schonfeld of TechCrunch discovered that Microsoft owns the mesh.com URL, but there is no site as yet.
From what I can gather, Ozzie and team are working on the plumbing required to create a seamless mesh that can synchronize content, services and applications across a variety of devices and user scenarios via the Web as a hub.
Ultimately, the "mesh" requires an overhaul of the back end to support utility computing on a grand scale. In addition, applications need to be "refactored," Ozzie said in his keynote. He didn't fully explain the notion of refactoring, but applications need to have a common user interface across different devices and to leverage the unique capabilities of each form factor. In addition, development tools needs to be "refactored" to support the broad variety of usage scenarios and devices without having to rewrite lots of code or use different tools for each target device.
(Credit: Microsoft)At the core of the mesh are data synchronization and sharing engines. With the Web and cloud computing becoming more pervasive, users want to be able to access their data from any device, and for the data to be up-to-date, secure and without duplicate content. That requires an standard synchronization infrastructure between services and applications no matter where they originate.
Ozzie conceived of Simple Sharing Extensions (SSE) in 2005 as the foundation for a decentralized data bus that synchronizes any feed to any device or platform. It has morphed into FeedSynch, a Windows Live service that enables data sharing via RSS and Atom feeds.
FeedSynch is part of Microsoft's Sync Framework, which allows the following capabilities according to Microsoft's documentation.
- Add sync support to new and existing applications, services, and devices
- Enable collaboration and offline capabilities for any application
- Roam and share information from any data store, over any protocol, and over any network configuration
- Leverage sync capabilities exposed in Microsoft technologies to create sync ecosystems
- Extend the architecture to support custom data types including files
(Credit: Roy Williams, Caltech)The "seamless mesh" concept is part of Microsoft's next-generation software platform. Of course, Microsoft cannot abandon it's lucrative client/server software franchises, such as Office or Windows Vista, but Ozzie is taking a practical and measured approach to building bridges that span the client-server and services worlds. Synchronization is a key for working online as well as online in the loosely coupled, collaborative Web.
With Silverlight, the XAML markup language, and multi-programming language support, Microsoft has a cross-platform development environment for creating rich Internet applications. Add in synchronization plumbed from the cloud that invisibly manages devices, applications and services, whether online or offline, and the mesh starts to make sense.
One question for the future is whether Microsoft will make this synchronization layer for the Web--a kind of worldwide mesh--truly open or will it find ways to bind it a little more closely to its own Live environment. I'm betting that Ozzie's Microsoft takes the open road.