Web 2.1: The unified socially networked Web?
Now enter Google Wave. Google’s not exactly renowned for being the most clever company doing Web 2.0 — since their revenue was linked to selling ads and profiles on indexed Web 1.0 content — but they haven’t been doing such a bad job so far. When videos on the net became popular, they launched Google Videos, but then bought the clear market leader: YouTube. And thanks to the changes over the years, and the increased amount of available cloud computing on Google’s grid, YouTube now finally has the same high quality of video display as their competitors (like Blip.tv). They bought Blogger and brought it under its fold, making it one of the most popular blogging tools ever (even though sadly they picked the wrong solution to buy, and is the less feature-rich of all major platforms). When some analysts predicted that soon we would be hosting office applications on the Web instead of installing them on our computers, Google bought Upstartle’s Writely and 2Web Technologies’s spreadsheet solution, and rebranded them as “Google Docs”. When the pre-2.0 social websites started to become popular, they bought orkut. When Facebook’s popularity rose due to the ablity to embed user-created applets, Google released the free and open source OpenSocial framework. And when it was clear that everybody expected the Big Web Brands to have their own messaging system, they created Gtalk — and made it available as a technology running over XMPP (formerly known as “the Jabber protocol”).
The latter two are significant. In most of their product lines, Google has the correct attitude towards the products: make them as open as possible and publish APIs soon; distribute a lot of open source solutions whenever possible; stick with industry standards whenever possible. This trend has increased. So, while there is little you can mashup with Blogger except getting RSS feeds from it (and add a few widgets), OpenSocial is a develop-once, deploy-many-times solution for creating a range of widgets and applets that can be placed on several different social websites. Gtalk is far more radical: not only it’s based on an industry-standard protocol, but Google allows federation — meaning mostly that you can connect your own XMPP-based network to Google’s own, and freely exchange messages between both. What that means is that if you don’t trust Google (because they do index all your messages and keep profiling your data for selling more ads in a way that they can match them better with what you like), you can run your own XMPP-based network and simply request to join Google’s XMPP Federation. A lot of independent companies offering instant messaging have done just that. The requirements these days are even easier to fulfil; Google has really make things easier. And no, you’re not limited to merely using text chat; Google fully supports voice and video calls too, although nobody seems to be willing to use that tremendously powerful capability (not even Apple’s iChat, even though two users using iChat via Gtalk can use voice and video among themselves — but not with other Gtalk users using Google’s software).
So, yes, you can ask yourself why Linden Lab doesn’t simply implement in-world IMs into XMPP, federate with Google, and drop the development of SLim altogether. When such an obvious solution is not implemented, and years of development have been wasted into a crippled, feature-poor, buggy product, there are usually two reasons: one is purely “political” (Linden Lab has “special” agreements with Vivox which might prevent them to integrate with Google’s XMPP Federation); one is far more esoteric: from glimpses of the IM code on the SL client, libopenmetaverse and OpenSimulator, it seems like the IM protocol was once thought to be an “universal messaging system” for all sorts of things — including friendship requests and money transactions! Separating these non-text-chat features from the purely text-based chat options from the rest might be a much harder task than Linden Lab is afford to do. It’s silly nevertheless, but there you go 🙂