Blogs

Gary's Blog

Google – The Next Wave

     

One of the trends to catch my eye this week is Google Wave; the personal communication and collaboration tool, was announced at the Google I/O conference, which ran from May 27 –28 this year.

Wave is an open source platform (built entirely using Google Web toolkit) and showcases what can be done in the browser. The entire platform is an HTML5 application, with the exception of adding attachments to a Wave, for this alone you need Google Gears. The platform has been under development for the last two year at Google and is brought to you by the same team that built Google Maps. Google Wave has an API, which will allow you to embed Wave in your own web pages (your blog for example) or create extensions to the platform. As I said, Wave is open source and there is a published protocol so that anyone can create their own Wave system.

So, how does it work? Well take email for example, which was invented 40 years ago and was modelled on a well understood messaging protocol; snail mail. Messages were sent to one or more people and each recipient would reply, or not, as need be. Now, imagine if we were to invent email today with all the experience we have with bulletin boards and wikis etc. there is no doubt that it would look quite different. Wave is Google’s idea of what email would look like if it were invented (by them) today. Instead of a number of reply –> response pairs, which is the current email model, Wave sees the entire conversation as a single conversation object (living on a server) that can be opened and edited by anyone added to the Wave. This metaphor allows a participant in the Wave to instruct the server to insert his reply inline, including his avatar, so that it is clear who is saying what. Once there has been any number of such edits, and if it is required, the “finished” document can be extracted from one Wave into a new Wave for wider circulation. But what happens if you are added to the Wave late and you want to see how the present state of the document was reached? Well for that there is the playback function which allows you to see how the document evolved, from it’s inception, to it’s present state – one edit at a time. Google are planning to add a set of power tools to this functionality that will allow you to only playback edits from a single participant etc. Of course, there is also an option to make your edits visible to only a subset of the participants.

Powerful though this undoubtedly is, the real collaborative power comes from Wave’s ability to be embedded in other web pages such as blogs; this opens the blog up to the full power of Wave. Now when your readers comment on a posting they get added as a participant of that Wave. You can reply to them from your web page, or from the Wave client (a browser application). From your client you can add others to the Wave, who can contribute without ever going to your web page, as any replies made by them are visible anywhere that Wave is visible, including your web page. As other readers comment on these replies, so they are added to the Wave as participants and join the conversation. After some time, it maybe be that no one is updating the Wave from your web site, but are instead using the Wave client to continue the conversation, but the beauty of Wave means that the full conversation is still visible on your page.

The API is not limited to embedding Wave in other web pages though, it also allows you to create extensions to Wave. The team realised how important developers were to the success of Wave so they wanted to make sure that the extension model was robust. To do this they wrote a lot of the functionality of Wave in that very extension model so that their (and your) extensions would live as first class citizens of the Wave platform. One such extension is the spell checker; the Wave spell checker not only checks the spelling of words (as you’d expect) but is context sensitive, being able to correctly detect not only misspellings but the incorrect use of a correctly spelt word that sounds the same; e.g. through and threw, been and bean, won and one, etc.

There is no doubt in my mind that Google Wave is going to be a great boon to those of us in the evangelism world who use collaborative tools day in, day out, and I can’t wait for it to ship later this year.

Published Jun 01 2009, 07:55 PM by Gary Short (DevExpress)
Filed under: ,
Technorati tags: Evangelism, Community
Bookmark and Share

Comments

 

Max Kosenko said:

More interesting is that the protocol is extension of XMPP. So it may really change lots of things IMO including email.

June 1, 2009 4:34 PM
 

Ying LI said:

Why don't DevExpress offer a package for Google? You may think Google is a platform.

This is definitely a good product concept:).

Think it seriously.

June 1, 2009 10:24 PM
 

Gary Short (DevExpress) said:

@Ying Li Offering a "package" for Google is not immediately on our radar; the reason for this is fairly simple. The platform Google targets is the browser, and it's primary tool for doing this is the Google Web Toolkit. The GWT is a tool whereby engineers write code in Java and then the HTML/Javascript/CSS is generated for you. The issue for us, in writing controls in this area, is twofold, firstly we don't have a great many Java developers and secondly, there is not a great history of third party controls for the Java platform.

June 2, 2009 4:47 AM
 

RickMoynihan said:

Hey Gary... It's good to see you've taken an interest in Google Wave.  I like you am incredibly enthused by it's potential; though your post which provides a great functional description of what wave offers doesn't really do wave justice.

It's my opinion that Wave is a truly revolutionary technology...  With an impact of the same order of magnitude as the web itself.  Make no mistake wave is the most massively disruptive technology we have seen in a long time and will fundamentally change the web.

Firstly some misconceptions.

1) Wave is a Java technology in the same way that HTTP or SMTP (Email) are... i.e. it's just a series of specifications and protocols, that happen to have a Java implementation.  Google already provide python API's for wave, and there is already at least one Ruby port of at least one of these API's.  

In theory you could write a .Net implementation of the whole wave stack, from the TCP sockets, to the XMPP XML stanza's, to the operational transformation algorithms to the client, server, robot or gui.  You could even start a business hosting waves, in the same way a web host might sell you the right to host HTML, PHP and wordpress.

2) My understanding is that Wave doesn't target the browser directly...    This isn't to say that the implementation Google demonstrated didn't (it clearly did), but if you read the specs at http://www.waveprotocol.org/ you'll see there is no mention of HTTP.  It'd perhaps be more correct to say that it targets the instant messaging protocol, XMPP.  

This aspect is a little confusing, and I'm still trying to get my head around it...  If you watch the video though, you'll see that the ACME client/server they showed wasn't a web-app.

2.1) This also means that the wave platform isn't a HTML 5 application.... rather their implementation is.

Embedding waves in web-pages is cool, and very useful... but relatively speaking not that interesting.  What's way more interesting is what Max said.  Wave is threading a realtime presence, data and messaging system into the web, allowing people and services to interactively collaborate in realtime with people, websites and anything/everything else.

Anyway... I comment because I like you am personally and professionally very interested in communications technologies...  And I strongly believe wave is what we've all been looking for to replace e-mail, web-based forums and social networking sites.  

As I and others genuinely believe wave is going to be a massively disruptive technology we are trying to organise a meeting to discuss wave in Dundee.  If you're interested then you should join our "Wave 101" group here: groups.google.co.uk/.../dundee-google-wave-101 where we hope to announce this soon.

June 2, 2009 7:53 PM
 

Ahmet said:

if spellcheck extension is also open source, devexpress can use it to improve XtraSpellChecker's functionality (or devexpress' competitors can use it to improve their spellcheck components :)

June 3, 2009 8:38 AM
 

Rob said:

Good to see that you are watching also the google camp and not only microsoft. What about a devexpress javascript controls/framework ? Something like extjs (www.extjs.com)?

Are there any plans for that ?

June 3, 2009 6:57 PM
 

Gary Short (DevExpress) said:

Hello Rob, at present we have no plans for such a product. Of course JQuery has such a large market share (and it's free) that for us to bring such a framework to market would probably not be profitable. Sorry.

June 4, 2009 10:17 AM
 

Rick Moynihan said:

@Ahmet though the spellcheck bot is open source, it relies on Google server side smarts... i.e. it's just a client to a spellcheck service.

To be honest the spellchecking service isn't actually that smart, and is trivially implementable...  It's almost certainly not significantly more than a few thousand lines of code.  

What's revolutionary/clever about the spellchecker is that it's built on top of webscale statistical data that google have gleaned from every page they have indexed on the web.

It's almost certain that this spellchecker was built using Google's massive ngram corpus which they released to the public in 2006 (though I suspect they're using a more recent version).  googleresearch.blogspot.com/.../all-our-n-gram-are-belong-to-you.html

Sadly this corpus spanning 6 DVD's makes it a little impractical to deploy outside of the cloud.

June 4, 2009 5:43 PM
 

Rob said:

Yes, you are probably right. But extjs is not free for commercial use and is far superior to JQuery in the UI controls department, so maybe there is some money to be made, I'm not sure though.

June 4, 2009 5:44 PM
 

Gary's Blog said:

Back in June I wrote a blog post about Google Wave the new collaborative platform from Google. Well,

August 10, 2009 9:02 AM
More from DevExpress
Live Chat
Have a pre-sales question?
Need assistance with your evaluation?
We are here to help.
Chat is one of the many ways you can contact members of the DevExpress Team. We are available Monday-Friday between 8:30am and 5:00pm Pacific Time.
If you need additional product information, require pre-sales assistance, or want help with your order, write to us at info@devexpress.com or call us at
+1 (818) 844-3383.