Google Wave is not the answer, XMPP is!

Written on 1:00:00 PM by S. Potter

Since yesterday afternoon (my time) all over the Twittersphere (and blogosphere) I kept hearing a ton of great reviews of the Google Wave API/protocol and how it will revolutionize communication and collaboration on the web. This morning I watched the Google Wave demonstration from yesterday and I have to say I am completely underwhelmed considering everyone else's reactions were ridiculously positive and had nothing measured or thoughtful to say about it. You can find my initial reaction of it, "Google Wave is just a simple XMPP extnesion", on my tumblelog. As someone that has had to write XMPP extensions for clients and my own internal apps, servers, API interfaces (mostly distributed monitoring of services, but a few more for media processing) I am saddened that anyone would think the current Google Wave protocol (which is just an XMPP extension) is extraordinarily ground breaking. There have been a number of existing extensions that tried to do VERY VERY similar things already and specific features of Google Wave were already exactly defined. What made the demonstration of Google Wave yesterday appear so impressive were the applications: the wave client and the web embedding. The responsiveness of the web application really made it stand out, NOT the underlying Google Wave protocol/API. For those who have never really gotten their hands dirty with XMPP in any real technical way, I expected they would not really know what it already provided in XMPP. Many "geeks" hyping up Google Wave seemed to think XMPP only supported instant messaging. That just happened to be the most popular and apparent XMPP extension, which many people call Jabber. XMPP itself is a lot more far reaching than just an instant messaging protocol and the fact that Google Wave was based on top of XMPP should tell you how flexible it is. Yes that is right, Google may not have really made a big deal about it (why would they if they can get extra credit when it isn't due), but Google Wave is just an XMPP extension and compared to other extensions I have had to interface with, not a particularly complicated one. Sure the applications that Google demonstrated as part of the Google Wave presentation were nifty for personal communication, but are they really ground breaking, multipurpose, or ubiquitous? No, it is only as ground breaking, multipurpose and ubiquitous as it's applications make it. Let us all now return to earth for a moment and praise Google for the things they do really well like web applications, but let us not pretend that Google is the mover and shaker in terms of the visionary of future underlying protocols. They still advocate developing HTTP applications for the future. HyperText Transfer Protocol (HTTP) is virtually on every digital device made by man today, but does it really lend itself to providing the distributed service oriented architecture we should be striving for and the protocol of the future? REST is not about the HTTP protocol. RESTful APIs can be creating in a number of ways and through a lot of different protocols. My take is (from a technical level) XMPP ought to be the protocol of the future, NOT XMPP on just the back-end and then adding tons of bloatware in between the client and the service just so that we can create an API or UI on top of an antiquated protocol (HTTP) that has seen better days. Anyone want to create a truly modular XMPP "browser" for the new "web" with me? Email me at susanpotter dot net if you want to join the future. UPDATE: Please subscribe to the "Join the Future" Google Group if you want to get involved in the XMPP browser project.

Related Links

If you enjoyed this post Subscribe to our feed


  1. David Banes |

    Echoed by me here...

  2. David Banes |

    I agree, similar thoughts here,

  3. S. Potter |

    @David: I posted one of your comments since they were repeated. I moderate comments to my blog just because of 2-3 blog posts that receive a LOT of spam and hate comments. Sorry for the confusion.

  4. Doug Hockin |

    You might want to include a link to
    XMPP for those of us (like me) who aren't familiar with it. -- Doug

  5. S. Potter |

    @Doug great idea. I just added a related links section at the bottom of the post.

  6. Dipu B |

    "There have been a number of existing extensions that tried to do VERY VERY similar things already and specific features of Google Wave were already exactly defined."

    Hi Susan, I agree with you, but I think this will become hype, only because it is something which is created and brought to the main stream under Google's umbrella, just like AJAX existed long before it became hyped because of gmail etc.

    On one hand it may be a bad thing that google has so much influence on "deciding" what is a nice and decent protocol, on the other hand people with less creativity in finding these kind of solution get a hook they can use.

    My feeling about this is still a bit dualistic though.

  7. rasputnik |

    XMPP is a great protocol but it's not something end users are going to care 2 hoots about, frankly. The reason everyone equates Jabber with XMPP is because it's the most popular application of XMPP.

    In my opinion Google have been quite supportive of XMPP (both here and in the Google Talk app) and the interest they generate must be a good thing, surely?

    Calling HTTP a protocol that's had it's day is mind-boggling, however :) I think you underestimate the importance of a good UI.

  8. S. Potter |

    @rasputnik Respectfully I do not think you understand the point of my blog post at all.

    How do end-users care about the HTTP protocol? They don't. It is only because we have a web browser that communicates via HTTP that end-users use HTTP implicitly (not explicitly). My suggestion is to make a XMPP browser that puts a UI on top of XMPP and make it pluggable. HTTP as a protocol is not anywhere near as pluggable as XMPP.

    I suggest you are missing the point significantly.

    Also I did not suggest that Google did not support XMPP in anyway, merely that too much hype had surrounded Google Wave, when in reality it was simply a really great web application with nice UI, not a ground breaking XMPP protocol extension.

    I do not under estimate the importance of a good UI, that is precisely the reason that I think a XMPP browser is very necessary if we are going to get off of a protocol that is too overloaded (HTTP - do you deny that?) and hacked to death currently.

    I suggest you think much bigger picture because you are confusing a number of things together.

    Have you heard of Opera Unite? It might be done via HTTP, but my personal vision would be do have these distributed services working over XMPP with a browser that creates a nice UI for the XMPP extensions that the end-user is interested in using. The end-user would never using XMPP directly unless they were a developer or tester, much the same way only web developers and HTTP-based API (e.g. REST) developers are really the only ones that use the HTTP explicitly.

  9. S. Potter |

    @rasputnik I also wanted to address a comment you made quite out of context considering what I did say in my post:

    "Calling HTTP a protocol that's had it's day is mind-boggling, however :) I think you underestimate the importance of a good UI." -- rasputnik

    I _actually_ said:
    "HTTP is virtually on every digital device made by man today, but does it really lend itself to providing the distributed service oriented architecture we should be striving for and the protocol of the future?"

    If you honestly think that HTTP as a protocol is the supreme protocol to base all distributed service oriented architecture on going forward, all the power to you. I personally do not think it is sufficient and only necessary as long as there aren't browsers that provide good UIs for other more technically superior protocols (like XMPP) that support our peer-to-peer and distributed models of communication more naturally than HTTP.

    If your argument is simply that HTTP is everywhere and has a nice UI, then I 100% agree, which is why I think it is necessary to create an XMPP browser, which is back to my very point.

    Google obviously agrees that XMPP models our modes of distributed communication more naturally than HTTP otherwise they wouldn't have used XMPP on the back end. My suggestion is to just cut out the middle bloated layer of HTTP and have UIs speaking XMPP instead of HTTP. Google could have pushed this idea, instead they are still promoting a protocol that doesn't meet our needs and prolonging the pain. Someone like Google could have been visionary about this to make a change, but they didn't.

    Perhaps you understand my point and personal vision now? It is a very big vision and I only partially expect it to work. After all, technically suboptimal solutions get chosen by the mainstream all the time, but I don't want to continue to facilitate if I could "do the right thing".

    If you still disagree, then by all means disagree and leave a comment I would be interested to hear your objections to what I actually said. I just wanted to clarify because it was obvious from your comments that you did not understand where I was going.


  10. rasputnik |

    Hi Susan

    first of all, if I've come across as inflammatory that really wasn't my intent, sorry about that.

    The 'had it's day' reference was a response to your statement that HTTP was an antiqated protocol that's seen better days.

    I fully agree it's an overloaded protocol (and as you say, users don't care about protocols at all).

    But you're right that the browser is what matters, and for better or worse that means http/html for 99% of users.

    I don't disagree that XMPP would be well served by a good UI, I just don't see one anywhere. On the other hand, there are things like the Strophe project that provide reasonably clean ways to support XMPP in existing (web) browsers.

    That may seem like a messier solution than a fresh start, but unless you have several lifetimes to bring to bear on the task, it may be the more pragmatic option :)

    I read your article as wondering why everyone was excited about Wave. My answer was supposed to be that HTTP/HTML has much greater developer support than XMPP. I may well have misunderstood your point, if so sorry.

    My take on Wave was it's a showcase for HTML5 more than anything else. There are some aspects of it where XMPP makes sense, but Google (arguably more than any other) are a Web company. Their focus is naturally going to be on HTML/HTTP and the masses of developers working in that medium.

    Hope that clarifies my viewpoint a bit.

    PS: I find Opera Unite just as baffling as you :

  11. chusty |

    I do not agree.

    google wave only a simple extension of XMPP ?

    thinking in such way you can also say that XMPP is a simple extension of XML

    and XML is a simple extension / clone of S-Expressions

    It's those simple, but awesome 'tweaks' that we're doing on the top of something - that makes the world go round...

    I can't wait to see / and implement 'simple extensions' to google wave.

    I won't have to bother about versioning/collaboration features and similar stuff.

  12. Jeffrey Salazar |


    I totally agree. When I saw Google Wave I was totally excited by it. When I got my sandbox account, within minutes I was underwhelmed. I had dreams of building apps using Google Wave. Heading down that path, I came across XMPP and began learning what I could.

    The more I have learned about XMPP the more surprised I have been of the extent to which the Google Wave team downplay XMPP, the extent to which they appear to be reinventing much of which has already been tackled by XMPP, and how misguided the unique and inventive aspects of Google Wave seem to be.

    I'm now focusing more on how XMPP will help me. I am hoping my that my estimation that Google Wave is more hype than substance and will find itself appropriately marginalized is corrent.


Post a Comment