Microsoft Corp. is working on a new RSS extension that Ray Ozzie is referring to as the “RSS of synchronization”—a way to synchronize the mishmash of competing calendars and contact list software and services to set up a “mesh” model that lets friends, family and co-workers bidirectionally update each others calendars and schedules.
Ozzie, Microsofts chief technology officer and the creator of Lotus Notes, wrote in a blog entry that the new extension is now being called SSE (Simple Sharing Extensions).
SSE is out in draft spec and has been numbered 0.9 to reflect Microsofts confidence in its usability, given the amount of prototyping the company has done thus far on it, plus the fact that RSS guru Dave Winer has had input into the spec, Ozzie wrote.
However, SSE is “certainly not a 1.0”, he wrote, warning against building production-level code on it at this point.
Ozzie wrote that various groups at Microsoft have begun to develop prototypes to “see what we can learn” and to ensure the spec is sturdy enough for the tasks at hand. Microsoft has no news regarding what products will support the spec, when they might do so or for what purpose, “but people are experimenting with it and are intrigued,” he wrote.
The genesis of the spec harks back to when Ozzie first began working at Microsoft. Shortly after his arrival, Ozzie began to brainstorm about creating a “meshed world” with the people behind Microsofts collaboration products, including Exchange, Outlook, MSN, Windows Mobile, Messenger and Communicator.
“As an industry, we have simply not designed our calendaring and directory software and services for this mesh model,” Ozzie wrote. “The Web sites, services and servers we build seem to all want to be the owner and publisher; its really inconsistent with the model that made e-mail so successful, and the loosely coupled nature of the Web.”
As it now stands, people who need to work together must have at least limited insight into others calendars and schedules. But sharing partial information from confidential calendars in itself has posed significant challenges, Ozzie wrote in his blog.
“The most challenging calendars we deal with are those that are shared, such as the family calendar my wife and I jointly maintain, or the calendars we share with outside groups—such as the meeting calendars of volunteer organizations,” Ozzie wrote.
What makes it tough is the mishmash of e-mail and calendaring systems involved: a disparate mix of corporate, noncorporate, Web-based and client-based systems, he wrote. Each user wants to edit a calendar in his or her own PIM application of choice, not within a calendaring system on a Web site.
The same goes for contact lists, Ozzie wrote. In his own time-management situation, the people involved have a mix of private, shared and public address books or contact lists to manage.
“At work I deal with contacts in my enterprise directory as well as my own private contact list,” he wrote. “But I share two completely different contact lists with my wife—one that is our home Rolodex with plumbers, doctors and the like, and one that is our family Rolodex with friends and family. And I know she has other contact lists she shares privately with members of groups shes working with.”
Ozzie and his collaborators envision this “meshed world” as one wherein each of Microsofts and others collaboration products could both manage objects and synchronize each others changes.
“We thought about how we might prototype such a thing as rapidly as possible—to get the underpinnings of data synchronization working so that we could spend time working on the user experience aspects of the problem—a much better place to spend time than doing plumbing,” he wrote.
Using RSS (Really Simple Syndication) on its own wasnt an option, since the technology is unidirectional—i.e., its all about pushing information out, as with newsfeeds, as opposed to accepting changes in return.
But, Ozzie wrote, RSS simplicity is compelling. That got Ozzie to thinking about simplicity in general, which brought him back to Notes, which had “just about the simplest possible replication mechanism imaginable,” he wrote.
“After all, we built it at Iris in 1985 for use on a 6MHz 286-based IBM PC/AT with incredibly slow-seeking 20MB drives,” he wrote. “We were struggling with LIM EMS trying to make effective use of more than 1MB of memory. Everything about the design was about implementation simplicity and efficiency.”
Thus, Ozzie wrote, if simple is the goal, it would make sense to adapt the Notes replication algorithm to this need for a mesh model of calendaring and sharing contact lists.
“Notes notefiles could be analogous to RSS feeds; and Notes notes could be analogous to RSS items; and Notes items could be analogous to XML elements,” he wrote.
“Notefiles replicate by using a very simple mechanism based on GUID assignment, with clocks and tie-breakers to detect and deterministically propagate modifications,” Ozzie wrote. “Something like this could easily be represented in XML. Notefiles replicate with one another in a decentralized, masterless manner; feeds could be cross-subscribed in a similar manner. Theres no magic to it once you know specifically what youre trying to accomplish, but it certainly helped to have an existence proof.”
Thus Ozzie and his collaborators created the SSE extension to RSS in a matter of weeks. Ozzie, with a prototype in hand, early on met with Winer. At their first meeting, Winer spotted the extensions potential to solve another problem: that of replicating changes among OPML lists or outlines being managed within different services or by different people.
Winer challenged the Microsoft group to tweak SSE to see if it could be applied to OPML. As it turned out, SSE only required minor changes, thus creating a new form of decentralized collaborative outlining.