29
May/09
0

Lightning strikes twice for the Google Maps Team

Okay, so eight to ten years ago, when IM was just starting up and ICQ was the next big thing, I started following the work of an open source project called Jabber whose goal was create an open source instant messaging system. Being open source guys, they didn’t like the idea of being tied to a single company’s system.  They much prefered a federated system, like email, where anyone can run a server, and there is an established protocol for servers talking to each other.  So, that’s how they set their system up.  XML was also a ‘next big idea’ at the time, so they decided to make a DTD for messaging, another for presence and contacts, and have the server, at its core, just by an XML router which routed the appropriate message documents to the appropriate contacts.  Being forward looking guys, they knew this would make the system extensible, and, even at the time, had big ideas about adding DTDs that would support things like real-time white boarding and other collaboration tools.   The Jabber guys established their niche, but the general public had already chosen one the handful of proprietary messaging platforms was happy enough that they saw no reason to leave.

What, you are probably asking, does all of this have to do with the Google Maps Team and lightning?  Well, as good internet citizens, the Jabber guys documented they protocol and went through the hassle of getting it established as an ITEF standard known as an RFC.  This standard was called extensible messaging and presence protocol, or XMPP.  Many organizations have used this standard as the basis of their own messaging platforms.  Among these was Google, who used it as the basis of Gtalk.  Which, finally, bring me back to the Google Maps Team.  After their technology was bought by Google and turned into Google Maps, they decided to work on something new:  a real-time messaging and collaboration platform.  After eighteen months work, the results, called Google Wave, were previewed at this week’s Google IO conference, and the results are astounding.  I won’t attempt to explain it you just need to watch it:

Much as I suspected while watching the video, when I read their published protocol specification at waveprotocol.org, I learned that the whole thing is built on a extensions to XMPP.  At the guts of the Wave are XML DTDs for wave detlas being streamed around, serialized, and sycnronized.   This is going to be huge, and the Maps Team deserves the praise.  But, it all started with the vision of the Jabber folks.

12
Sep/08
0

A new kind of browsing could be headed your way

I had the TWiTLive stream of Bear Hug Camp playing in the background for a great deal of the afternoon.  At first I thought it was going to be a train wreck.  Steve Gilmore as the moderator in the beginning was a poor choice.  I know he was an organizer of the get together, but his opinions are far to strong on the matter to be impartial or even patient with those who might have other opinions.  I think the limited time with the Twitter guys could have been more productively spent than everyone listening to him berate them for taking his track away and hearing how he must get back otherwise the dastardly Republicans will keep the White House.  Does he really think the Twitterverse is that big or important?

Much to my surprise, the conference quickly redeemed itself.  The “Big Thinkers” eventually shut up and let the tech guy start to work out the details.  In addition to the Twitter guys, who couldn’t return after lunch, there were representatives from Google, Seesmic, Microsoft, Facebook, Identispy, and others.  Evan Prodromou, of Identica and Laconica, presented his Open Micro Blogging specification and he and the other began to hash out the details of how these social communities can share their event streams and how aggregators can add value and federation for everyone.

I still think there is an awful lot of reinventing the wheel here.  As one of the participant pointed out on more than one occasion, many things that Evan is trying to formalize, like federation, are already solve with XMPP and the XEPs.  As I’ve stated before, I think it would make much more sense to build the whole infrastructure on XMPP.  The web is really just a presentation interface, and this is really micro messaging, not microblogging.  Imagine, XMPP routers routing messages of various XML schemas to you based on your criteria, your client renders them for you based on XSL transformations that you specify, and if your client can render that schema then it knows how and to whom you can respond if you wish to participate in the conversation. It’s got a long way to go, but there some really potential here to change both the web and messaging.

25
Aug/08
0

More on Microblogging

In yesterday’s post, I mentioned my belief that a big part of the problem that microblogging sites are having with scaling is the result of their design being primarily that of a content management website and not that of a messaging system which, I believe, is the more proper model.  I thought, after listening to last weeks FLOSS Weekly, that Laconica was taking a step toward this approach.  I’ve had some time to browse their website, and, they too are still primarily designed as a website.  I can understand their rational:  They want to scale through federation, so they want people to run individual sites for small communities.  To achieve this, they’ve come up with a design that will run on the lowliest of shared web hosting sites.  Finding a hosting service that allows you to run your own daemons and setting them up is much more complex than installing a PHP website.  It’s too bad.  A lot of what they are building in PHP is already in existing or drafted XMPP Specs.

As long as the sites size remains under, say, a few thousand simulataneous users per server, I think this approach will probably work okay if coded efficiently.  However, I still believe that to scale the true national service size companies like Twitter aspire to be, you need a tiered architecture with the subscriptions and routing handled in the messaging server. That server then feeds real-time track searching engines and the database which feeds the website.

24
Aug/08
1

What Twitter, Pownce, Jaiku, et. al. are missing

Leo Laporte hosted a very interesting round table on TWiTLive after taping this week’s TWiT about the current state of microblogging and the direction it should take in the future.  Leo taped it, and I believe he plans to post it as a podcast.

It was an interesting conversation and one of the things that became evident quickly is that microblogs are different things to different people and that people’s views on what they are evolve overtime.  For many people, they are simply a sindication service of their friends posts.  For others, it’s really an IM system with a public datastream that can be mined in interesting ways.  The former crowd are happy with the current state of things; the latter found that Twitter lost all of its usefulness when the XMPP interface and its track command went away.  I fall in this latter camp, and I think that the current set of closed ecosystems will never be able to scale to google or yahoo size bacause they are designed as database driven websites first, possibly with a messaging system tacked on.

The other thing I found interesting was how much time they spent talking about federation between services.  This is part of the XMPP specification.  It is a problem that has already been solved if everyone will just talk XMPP.  In fact, because any XMPP server is essentially an XML router, it has the capability to support multiple message schemas simulaneously.  This would allow you to, say, route the text message from your Pownce feed to Twitter, as they are compatible, but not pictures, videos, or longer message that are not.

I’m encourage by the direction projects like Laconica are taking.  This are designed as messaging systems first.  Thus, providing that datastreams the can drive the websites, search engines, and special purpose clients that will eventually meet the needs of both camps.  In the end, I hope that somehow an open pipe can be created between these closed systems.  It will result in richer conversations and more complete data mining.