Ray Ozzie Calls Google Wave "Anti-Web"
TropicalCoder writes "Ray Ozzie says that Google Wave is 'anti-Web,' by which he seems to mean that it is too complex for its own good. In the video he complains about its complexity in relation to Microsoft's Live Mesh: 'If you have something, that by its very nature is very complex, with many goals... then you need open source to have many instances of it because nobody will be able to do an independent implementation of it.' That's its weakness to Ozzie, apparently — that this complexity that can only be overcome by open source. While he heaps high praise on the Google team that came up with this, he feels that the advantage of Microsoft's approach is that '...by decomposing things to be simpler, you don't need open source.' The Register's author summarizes it like this: 'In a way, this is classic Microsoft meets what is emerging as classic Google. Microsoft gives you an integrated stack but all the moving parts are anchored on a single company's vision. Google frees you to work out the bits yourself, but you must rely on your own smarts or those of your chosen tools.'"
So I was wondering who Ray Ozzie is, and how about that, he's a software architect for Microsoft. Of course he's going to praise Microsoft's software, no? Summery seems a little bias, imo.
The basic problem these days is that you have many people who want to have access to a shared document. The solution that Microsoft was pursuing was good, and attempted to fit the RSS model blogs use to push content. But in the end you still have many copies of documents, and you're always trying to keep changes synced across them. This approach breaks down when you have multiple sources of change... conflict resolution will always jump up to bite you.
Google Wave is a brilliant leapfrog over this problem, at the cost of some complexity. They made engineering choices that so far seem to be very pragmatic and practical... and if you don't like them you could always build your own. They actually distribute the changes to all observers, using OT (Operational Transforms) to keep everything synchronized. As a benefit, you can work on only the changes to a document, instead of having to re-scan the whole thing every time something changes, to attempt to work backwards to figure out the changes.
The ambition of Google's approach is backed up with a brilliant exploration of the solution space, and a very good choice of models, both in terms of the open source approach, in their openness with documentation, etc... and their choice of federation as a first class part of the model.
The latest analogy that I came up with is one of a Jet Engine.... instead of working on one charge of fuel/air at a time (one document)... it operates on a stream of fuel and air.... which allows for higher performance (at the cost of some fuel efficiency).
We don't care as much about the computational cycles as we do all the human time this saves by tracking all the changes, and who made them.
Bravo, Google... you've done it again!
This allows you to share a document and make multiple simultaneous changes, providing a structure to do so all the way up and down... this framework gives you a standard way to do things, that can then be expanded upon in a whole new set of ways.
Yes... this stuff could be done in a web forum... just like you could program everything in assembler... but it's more efficient in many ways to spend a little CPU time to make up for hours of developer time.
This framework will allow others to reach much, much farther and do things you can't even imagine doing via php/javascript.
Where in Google's presentation did they say that implementations had to all be open source? They simply said they'd supply some of their own code and the documentation for the protocols to allow other people to implement their solutions. They never said all the other people had to open source their versions.
That is not the hallmark of simplicity.
Let me quote what Joel On Software wrote about Ozzie and all this "Mesh" thing:
And now Ray Ozzie's big achievement arrives and what is it? (drumroll...) Microsoft Live Mesh. The future of everything. Microsoft is "moving into the cloud."
What's Microsoft Live Mesh?
Hmm, let's see.
"Imagine all your devices--PCs, and soon Macs and mobile phones--working together to give you anywhere access to the information you care about."
Wait a minute. Something smells fishy here. Isn't that exactly what Hailstorm was supposed to be? I smell an architecture astronaut.
And what is this Windows Live Mesh?
It's a way to synchronize files.
Jeez, we've had that forever. When did the first sync web sites start coming out? 1999? There were a million versions. xdrive, mydrive, idrive, youdrive, wealldrive for ice cream. Nobody cared then and nobody cares now, because synchronizing files is just not a killer application. I'm sorry. It seems like it should be. But it's not.
But Windows Live Mesh is not just a way to synchronize files. That's just the sample app. It's a whole goddamned architecture, with an API and developer tools and in insane diagram showing all the nifty layers of acronyms, and it seems like the chief astronauts at Microsoft literally expect this to be their gigantic platform in the sky which will take over when Windows becomes irrelevant on the desktop. And synchronizing files is supposed to be, like, the equivalent of Microsoft Write on Windows 1.0.
It's Groove, rewritten from scratch, one more time. Ray Ozzie just can't stop rewriting this damn app, again and again and again, and taking 5-7 years each time.
And the fact that customers never asked for this feature and none of the earlier versions really took off as huge platforms doesn't stop him.
If you put linux into the search box in Bing (without pressing anything), it suggests things like "microsoft linux", "linux vista".
Oh my what... crazy but true.
It works both ways though, if you put microsoft or vista into the search box it suggests things like "microsoft linux", "vista linux"