Google Wave or Google Spreadsheet
ReadWrite web posted an article titled “Google Should Stop Playing Around With Wave and Focus on Spreadsheet” a few days ago.
As the title suggests, the author believes Google is wasting time working on Google Wave and should put their efforts into Google Docs SpreadSheets.
I believe there are a few misconceptions. Google wave is not the Google Wave Client, that is in private beta. That is like saying GMail is Email. Google wave is an open protocol (like SMTP for email, or XMPP for IM) for realtime concurrency control.
On the other hand, ordinary folk create real apps on spreadsheets all day long.
More people use Email, IM and Social Networking. This is the areas Google Wave will be used in.
Real-Time Spreadsheets? That Is So 1980s, Dude!…
Online spreadsheets that anyone can edit concurrently solved the version control problem. Problem solved! Done, finished. Can we move on now?
No, not just yet. Version control is not concurrency control. However, they are often used synonymously. Simplistically, version control, is the saving of changes made to a document, while concurrency control, is the merging of these changes.
Here is an overview of version control systems in use today. Most of today’s version control systems such as used in Subversion, Mercurial and GIT implement a copy-modify-merge for their concurrency control. I’ve already blogged about how concurrency control in today’s version control systems is different from realtime concurrency control.
In the case of Google Docs, including Google Spreadsheets, there is no concurrency control. If you simultaneously edit a document with another user, any save overwrites the previous save. So if your update had not reached the user yet, it would be lost.
Google Wave implements true realtime concurrency control. It does this using Operational Transformation (OT), which is not new, and used by other software. What is new is that Google went ahead and defined a standard protocol for editing documents concurrently.
Most importantly Google built Google Wave on top of XMPP Federation (Open Source Instant messaging), so that anyone can host a Google Wave server by hosting an XMPP server and/or XMPP component, just like hosting an SMTP (Email) server. They also went ahead an made an open source implementation of the Google Wave Server. (I’ll be adding a post on how to build the Google Wave Server on CentOS 5). Already, there are other implementations of Google Wave Servers such as pygowave and yet to be release EJabberd extension (XMPP for client-server also).
This is a very important factor. If Google had not made Google Wave an Open Standard that can be implemented by anyone, they there would be very little hype about Google Wave from developers. I wouldn’t be writing this article. Instead I’d probably be joined by others criticizing Google for creating a monopoly on a new technology. However, Google made the “right choice” and made Google Wave and open standard like the rest of the open internet standards.
Now that we have a better understanding of what Google Wave is, we know that it:
- Is not a software like spreadsheets, it is a protocol
- It offers a basis for real time concurrency control that spreadsheets do not have
- Spreadsheets and similar applications will be built on Google wave in the future
- Better communication and collaboration is a much greater need then better spreadsheets
So you cannot say stop working on Google Wave and work on the Spreadsheets since they are not mutually exclusive. Working on Google wave will bring much needed true realtime collaboration features to spreadsheets. In fact it will bring realtime collaboration to the whole web, allowing the creation of applications that surpasses the uses of the spreadsheet.
Related posts:
- Real-time Concurrency Control and Version Control Almost every software developer has used some sort of source codeĀ version control system. You’re probably familiar with the acronyms GIT,...
- Tsunami warning for Fiji, Twitter vs Local Radio vs Google I was woken up this morning by Vara, yelling into my ear. “There is a Tsunami warning for Fiji, wake...
Amen! I’m getting a bit sick of the ‘pundits’ making pronouncements about Google Wave: most have obviously not watched the original Google I/O presentation that launched Wave. That presentation did an excellent job of showing off the potential surrounding the protocol.
For the most part though, when non-techies ask me about Google Wave, I just tell them “Wait 6 months and ask again” … because it is hard to communicate the potential of the Wave protocol by showing them a single beta client.
Imagine: it’s 1992 and the dope down the hallway is asking “So what’s the deal with HTTP? Why don’t they just put all that stuff on a CD?” … and all you’ve got to show is Lynx.
Wave is a protocol to watch. The Google Wave client is important, but the really clever stuff isn’t going to happen for a while yet. A little like AJAX: in the beginning everyone made a big noise about it … but once the con-men disappeared, the hype died down, and the commentators lost interest … it became a very useful part of life on the web, regardless of whether users knew what to call it or not.
On the positive side, all this brouhaha is helping me cull my list of reliable technology commentators: if they can’t grok the difference between a client and the protocol … makes you wonder what else they get wrong … and if it might be a regular occurrence.