XWave: A tribute to Google Wave team
Wave is not dead and it lives at ProcessOne.
Google Wave is a strange beast. Demo was acclaimed in may 2009 at Google I/O, with people very excited by the annoucement of the Wave project. At this time, it was clear for anyone with project management that the ambition of the project was a five year target.
The launch phase wanted to immediately target the end-user, while the platform should have been a platform for developers, to build an ecosystem. That’s what the Wave team had in mind and on that level the Wave platform was quite a success. ProcessOne was in the Wave area sandbox at Google I/O 2010, and several companies were presenting interesting products. The ecosystem was being built. The developers were enthousiastic and the potential was there. One or two more years should have been sufficient to bring that to a true platform and ecosystem.
This technical video of Wave in the enterprise is convincing for developers:
When you have to work with many customers and partners with different bug trackers, I guess you can see the potential of a trully federated bug tracking system for example.
A fiasco?
Launched in fanfare, Google was however disappointed by the end result after just one year. Given the discrepency between the scope of the ambition and the expectation put by Google, this is where the fiasco lies. Google should have either not launched Wave at all or not kill it after just one year.
The fiasco lies as well in the way Google handled the end of Google Wave. Having brought partners in that development, they just announcement in the middle of the summer that the initiative was stopped. They made no contact with partners nor gave them any opportunity at this time to gather to organise the future of Wave.
Wave did a few things wrong. One of them is the fact that the initiative did not from the begining include federation with mail. This is something possible to design however. From the end-user point of view it has been a fatal flaw, giving one more inbox to check, when it could have been the killer feature.
The Google Team did many things right however. The choice of the XMPP protocol for federation was just their best idea. XMPP is now the universal protocol for federation. The vibrant XMPP community had this part right and Instant Messaging on top of XMPP is a success showing that tens of different implementations running on thousands of domains can work together.
What is the situation with Wave now?
The Wave in a Box initiative has moved to Apache incubator and to be frank, things are getting wrong. What is plain wrong? The team now behind the protocol, I am not sure who they are, is killing the best vision of the protocol to build another HTTP based hack, like PubSubHubbub. PubSubHubbub is ugly, for example a notification does not include nor cannot include the payload, because the source cannot be trusted: the server receiving the notification has to connect back to the originating server to make sure he really sent the notification.
Federation is the best and killer feature of XMPP. There is not a single protocol that can compete with this one to build federated distributed system.
You have XMPP pubsub. The protocol has its own flaw (we are working on improvements) but it is no comparaison to Pubsubhubbub hack. HTTP is good for a class of protocol, but when you need sessions, when you need user ID, when you need internet-wide addressability, and when you need federation, it is simply not designed for this task (I plan to explain soon why HTTP misuse is responsible for today’s online privacy concerns).
Many projects fail because they do not take the existing solution on federation into account. Diaspora have build a nice web interface but ignored XMPP federation and even protocol design. Diaspora-X / Diaspora-X2 is doing better at it, because they plugged it to XMPP. That’s the reason our social initiative is focusing on OneSocialWeb, because they have the federation right.
So, now the Wave protocol / Wave in a Box team is heading the way or trying to simulate session / connection and federation on top of HTTP. They are simply trying to fix the wrong part of Wave. Sure, they will be something quick because that’s the force of HTTP, but it will be deeply broken, and will need to be patched and add dirty hacks over time.
XWave = XMPP + Wave
We at ProcessOne are still commited to Wave, but Wave as originally designed by the Google Wave team. As we do not agree to were the Wave protocol is going now, we will stick to the original Wave ambition. We will call it XWave protocol as in XMPP Wave and as a tribute to Google Wave team vision. WaveOne server by ProcessOne, presented at Google I/O 2010, will thus be the reference implementation. As we are free from relaxing Wave compliance given the recent turn they are taking, we will keep on our work in building a dual headed protocol for Wave store using both original Wave protocol and XMPP pubsub.
You can expect new products and services based on it to be release this year.
Wave is not dead and its vision will live in XWave: Wave + XMPP vision. There is time when I know we must choose long term goal over rapid short term benefit.
Meet us at Sea Beyond event on the future of collaboration in Paris on the 3rd of february 2011.