I realized today that I’ve used Groove and most people haven’t, so it’s worth talking about what makes Groove cool and why the technology might have interested Microsoft. First of all, it’s worth explaining exactly what Groove is — a platform upon which you can deploy applications. When you start the Groove application, it loads up all of the workspaces that you’ve subscribed to, and each of those workspaces contains one or more applications. You can join a workspace when someone who participates in it invites you. At that point, you download the workspace from the person who invited you (or maybe all of the members who are online).
The applications all run in the Groove environment. Groove provides its own toolkit to write these applications, and they’re not Windows applications or Web applications, they’re distinctly Groove applications. They have discussion boards, project management applications, calendars, file libraries, and bunches of other things. There’s also a messaging component built in that’s sort of like instant messaging.
Groove’s magic is that it handles keeping the data in sync among all the members of the workspace without relying on any kind of centralized server. When I add a new file to the file library, everyone else who’s online gets it not long after. When I log on after turning off my computer overnight, Groove automatically connects to the other people who are online and synchronizes my workspace with theirs. Again, the impressive thing here is that this is all handled among peers — no server is involved. It’s also secure, all of the traffic is encrypted.
So I can’t help but imagine what it would be like if the magical layer were a Windows service, and you could access it using a component of the .NET framework. Then you could write Windows applications in the way that Windows developers already do, and you could perhaps simply give them the capability of participating in these secure, peer to peer networks. I think there’s a place for this outside the realm of Microsoft’s existing collaboration offerings. It’s functionality that’s completely unique to Groove, and is the only thing that will do for some applications.