Wave was a great idea that was completely misunderstood. Unfortunately, it also seemed to have been misunderstood by the people who designed it.
Wave was supposed to be a collaborative replacement for email built on the then-exciting XMPP protocol. It was marketed poorly, misunderstood, and eventually shitcanned because Google had no idea what to do with it.
The web client wasn't good enough, too. It would start lagging at ~200 posts which wasn't that many in an active multi-threaded discussion between three-four people.
What was exciting about the XMPP protocol itself? Were people back then just excited to be in the presence of vast amounts of XML?
I mean, that'd explain a lot.
I felt like Wave very closely approached something useful in this space, but almost anything in communications is interesting when you have another person to talk to, and very little is interesting without one. That makes it very hard to judge if the platform is helping or not.
The hype was that XML was solving the problem of knowing how data was structured. So you could send someone a message, and if you wanted to include a vector image you'd just embed an SVG. If you wanted to send equations you'd just embed MathML. If you wanted to send a Warhammer army list, you'd embed that XML.
The messaging system wouldn't have to individually add support for these things - it would just use XML schema to validate anything that got passed through. Data could come with XSLT to explain how to display it (i.e. your warhammer army list would come with a transform that told wave how to turn it into XHTML for display) - but the source data was still available in machine-readable form, with a canonical schema defined by a URL - we could have a single canonical format for everything, even things like addresses, and then rather than defining their own address type, any more complex data format that needed to include an address would just say "embed the address element defined at this schema".
It would work in the other direction too. Rather than fetching a wikipedia page, say, or a blog post, and getting a bunch of unstructured HTML, you'd get the article source in XML format, and an XSLT that said how to display that as the web page. There'd be no need for separate "web API" endpoints to fetch data in structured form, because every web page would simply be that structured data, plus a transform to render it as XHTML.
It was a glorious dream, and one that resonates even now. To my eyes the main - perhaps only - reason it failed is that XSLT turns out to be a horrible language to write and even more horrible to read, to the extent that even for transforming XML-like documents - literally the sole design purpose of XSLT - I'd prefer to use a general-purpose programming language, or even, shudder, Javascript. And people did.
Well XMPP is still an exciting protocol - you can pretty much transport anything over it, with federation built in automatically. Basically, if you were using XMPP on anyone's server (even one you stood up) you could talk to any other XMPP user. Google stood up Google Talk and became the largest userbase of XMPP. Facebook also uses XMPP, but they blocked off server 2 server connections. Eventually, Google (recently) replaced their Talk with Hangouts and will be closing off their XMPP service.
Anyways, Wave using XMPP isn't very exciting, but the the thing that was exciting about Wave was that it was supposed to be this system that organizations could install and run internally - plus they could share their waves with other organizations that also were running wave servers. Alas, Google stood up one beta server which got overloaded and they never released enough code in a form suitable for anyone to stand up on their own.
Apache got a copy of what code was released in 2010 and it's taken 4 years for someone to get it to an easily deployable state.
I remember a lot of bloggers such as Steve Gillmor writing about XMPP nearly everyday on Techcrunch Enterprise around 2009. He said it was going to change everything about corporate software. I repeatedly pointed out to him how ridiculous that was (it was just XML, managers don't care about XML, etc) and to which he replied I had my 'head in the sand'.
It was favored among the tech-hyperbole people who turn concepts like 'cloud computing' into meaningless phrases. But that faded away pretty fast.
Unfortunately Google decided to abandoned one of the actual good use-cases for it when the dropped XMPP support from Hangouts (by default), which still upsets me.
> What was exciting about the XMPP protocol itself? Were people back then just excited to be in the presence of vast amounts of XML?
It may sound hard to believe, but yes that was part of it. XML's popularity in the year 2000 was similar to JSON's popularity today.
Even more importantly, though, XMPP provides structured datagram exchange between entities using email-style (user@domain) addressing. This notion is still exciting today.
There was no IM standard at the time. Every provider had their own standard and most of the IM software was not open sourced. Jabber changed the playing field.
Changed it how? Google has since tossed XMPP integration for their whole closed platform Hangouts thing, MSN's old halfway-API-able thing has been integrated into Skype, which is entirely closed, I believe. AIM and YIM are all but dead, at this point.
That was the intent based on the original unveiling.
Unfortunately, Wave was never given a chance to replace anything since it was a stillborn project that barely exited the launch phase.
If anything, we all learned that invite only soft launches on something that is expected to replace a service that is ubiquitous is not a very good idea. Early invitees got in, panned it, and by the time it went live, everyone already had a preconceived notion as to what Wave wasn't.
Wave was supposed to be a collaborative replacement for email built on the then-exciting XMPP protocol. It was marketed poorly, misunderstood, and eventually shitcanned because Google had no idea what to do with it.