Wednesday, June 10, 2009

Wave to ME!

Every once in a while a product comes out that makes me say "Dang! I wish I had thought of that!" This is the story of one such product. I was alerted by a friend who works for google to watch the wave developer preview. Sadly, I have a job and it's an hour and a half. So far I have been through about 1/2 of it and I am impressed. I should probably wait until I've seen the whole thing but who knows how long that will take?

The presentation goes on about wave's uses, things like instant updates to text, media, and searches, inline responses, editing simultaneously, privacy options, embedding on a web page. Here's a great highlight page about the features.

While all these features are cool, none of them is radically different from things that have been done before. Updating a chat session character by character just requires more bandwidth. editing simultaneously is handled by any number of version control/merge products, etc.

However, the fact that they can do all these things in one document is exciting, because to me it points to new ways of handling the data. Note I said document, not chat session. A "wave" really is a document editing system, that's also usable for chat. In fact, a wave is really a databse, when it comes down to it.

The content is mixed media, but it is organized and indexed in many ways simultaneously. First off, there is the presentation structure, which is a tree of media. The media itself is cool. During the demo they freely mix images and text (no mention so far of video or sound, but that's gotta be in the works). Even cooler is the mixture of languages, including non right-left languages.

So each "leaf" has a location in the tree that represents the document. The tree structure is self generating from the way the content is created, which is kind of cool. However, the leaves are also organized linearly as a history by creation/modification time. That allows the "playback" features, and also allows the simultaneous editing and merging.

But wait, there's more. The tree has hierarchical access security. I'm not sure how that works. Typically you can give a document security by encryption or by physical access. I presume the wave uses physical access restrictions, which means the master wave lives on a server. Either way, cool.

But wait, there's more. The search feature also works instantly - if one party searches for a term, results are added and removed as another user types the word or deletes it. Again very cool. I presume this leverages off of the fact that a small number of leaves is being modified at any given time, and the leaves are indexed by modification time already, in order to support playback and merging.

So to me, the coolest part is not what they did (which is impressive looking) but how they wrote things in a way that makes it all possible, in one package, in real time. It's very interesting, very clever, very dynamic, and I think is truly the basis for a possible paradigm shift in collaborative software.


Post a Comment