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.
I'm not sure what people would expect Microsoft's Chief Software Architect to say - "Gosh, Google sure has cleaned our clock with this one!"? For that matter, If it were an interview with the lead of Google's Wave team, would you expect them to talk about how Microsoft's approach was superior?
But I do feel compelled to point out that, until very recently, Microsoft's entire "web" approach was very anti-web. So much of what they did amounted to basically reducing the web/internet to a delivery vehicle for Windows-bound software. We ran into this a few years back - our university bought into a Windows-based "e-learning system". Problem was, this "e-learning" amounted to downloading some ActiveX-driven applications onto your desktop. I (and probably others) complained to the powers-that-be about this, and their response amounted to "we realized this after-the fact, and yes we basically got snookered".
#DeleteChrome
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.
"...which bit sounded praisey?"
None of it, I distinctly heard him say "paisley".
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 just want to run a standalone web forum, then Google Wave may not offer much more than a ajax php forum. And if you just want email, then SMTP+IMAP/POP is surely good enough.
The power of Google Wave comes from the unification of various communication and collaboration paradigms, it's federated nature, it's extensibility and it's open-standard and web-centric approach. In the old model if I want to participate in a forum I'll have to register on the web, go back to my outlook to get the verification email, and then go back to web. I'll also have to subscribe to email alerts for new posts, then go back to the web to reply. All these context switching is totally unnecessary and can be frustrating when you have say 10 different web forums, 5 social networks, 3 photo sharing sites, and 2 IM networks and 1 blog. And there is no practical way to for me to search and browse through my entire communication history in one place.
When Gmail first launched, they did not support POP3 or IMAP. (no other web provider did either, for that matter) Today, they do.
Because this will be an open protocol (GWFP on XMPP), somebody will eventually develop a client protocol, or (preferably) extend the federated protocol to the client level. If it's any good, Google will eventually implement it. Right now, Google is stuck on Web 2.0 and HTML 5. (and cloud computing?) I think they can be broken free from that, it just takes some presure on a case-by-case basis.
I won't join Slashcott. OTOH, If Beta goes live, I just won't be back until it's fixed. Sorry Dice.
The thing that gets me is, Lotus Notes was basically doing the same thing as Google Wave years ago. Distributed persistent documents. A brilliant idea, flawed in execution (and the fact that it wasn't open source so you only had one company to get it from, so it got locked into its own ghetto).
Wave is another attempt at the concept, hopefully learning a few things and doing it simpler, but... surely Roy Ozzie of all people should see the similarities.
You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
I remember hearing a while back that searching for Linux with the MS search engine produced thousands of results while searching the same term on Google produced tens of millions of hits.
If you put linux into the search box in Bing (without pressing anything), it suggests things like "microsoft linux", "linux vista".
I expect this was because the Bing spider hadn't crawled as much of the Web as Googlebot has. Google have had years to accumulate the search data, but if MS have had to trow out their old MSN search database and build a new one, they are going to take a while to get up to speed. Indeed, I get 1,180,000,000 results for "Windows" in Google, but only 372,000,000 in Bing, and before any suggests this is because MS are filtering the results to hide unfavorable sites, this happens with completely neutral search terms like "fish" or "cat", with Google giving at least twice as many results as Bing for most searches I tried. In this regard, it would seem that the Linux community has noting to complain about.
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"
Live Mesh is supposed to sync everything. Desktops, phones, TVs, and cloud services included. It seems to be part of a strategy that includes .NET/Silverlight.
[yay, buzzwords]
So in Microsoft's perfect world:
The problem with this whole thing, and IMO a huge barrier to adoption, is that I don't want Microsoft to control everything I do on my computer. I want to be able to run my own code, on my own server.