On CBS MoneyWatch: How much sleep do you really need?
BNET Business Network:
BNET
TechRepublic
ZDNet

September 4th, 2008

The power of standard protocols

Posted by John Carroll @ 9:53 am

Categories: Programming

Tags: IM, Jabber, Protocol, XMPP, Instant Messaging, Internet, Online Communications, John Carroll

I’ve spent the past few months as the primary developer at a very small company. An important technology to this company is Instant Messaging, as it plays an essential part in our approach to unified messaging.

This has meant that I have had to build, in-house, our own implementation of an XMPP / Jabber IM stack. XMPP Is a standardized protocol for IM communications, the full details of which you can find here. I chose it for a number of reasons. First, XMPP / Jabber is one of the few IM protocols where federation - that is, the ability for custom domains to interoperate with other XMPP / Jabber domains - is the standard order of business. That isn’t an essential aspect of XMPP / Jabber, as it is fairly easy to create a closed XMPP network, if you so desired. It was originally developed, however, as a way to escape the “walled garden” approach to Instant Messaging, and those origins have shaped the tendency in the XMPP / Jabber community to be friendly towards messages from other XMPP / Jabber domains.

Second, the XMPP / Jabber community has given a lot of thought to interoperability with the non-XMPP / Jabber networks. That’s important, as for all XMPP’s benefits, most of the IM world still continues to use proprietary IM protocols.

The third reason is more a hindsight justification I would use if I could go back in time, knowing what I know now, and decide again which IM protocol to use as the basis of our IM work. Implementing a standard specification is really a great way to understand everything a particular protocol can do. That has certainly applied to the work I am doing, and my knowledge of XMPP gleaned from my experience of writing libraries that speak the protocol has helped immeasurably in terms of quickly rolling out new features.

I’ve also had a chance to come to grips with the details of other IM protocols. Comparatively speaking, XMPP is an elegant and clean protocol. XMPP is built around the exchange of XML “streams,” a fact that imposes XML’s sense of structure onto endpoints in XMPP communication. Debugging is a lot easier than I’ve experienced with other protocols, as XML is a fairly self-describing syntax (self-describing to developers, not end-users, a point I’ve made to people at past companies who thought it a good idea to tell customers to manually edit XML configuration file, rather than ship an existing graphical editor for the file). The beauty of XMPP makes the protocols used by proprietary IM networks seem downright ugly by comparison, but I think XMPP is a cleaner approach to IM communication than even SIP (though SIP does have a number of advantages, is still quite clean, and is certainly dominant in VOIP).

Bottom line, though, I would have a hard time understanding why anyone, at this late a stage, would opt to build their own IM protocol when standardized variants such as XMPP and SIP exist.

I’m clearly someone who is a fan of companies making money. Companies that fail to make money have a hard time pushing technology forward, and any product strategy needs to enable the company to monetize their products effectively. This might motivate some companies to opt to create a proprietary in-house protocol as a clone of existing standard offerings, as that is a sure-fire means by which to ensure that everyone has to use your products.

Though this is a typical analysis, I think it is very short term thinking. Yes, creating your own protocol builds a certain dependency (not a bad thing, as like I said, making money is good), but it is very hard to build a protocol that is of as high a quality as a standardized variant. Standardized protocols are slow to develop and appear relatively late in the lifespan of a typical technology area. That’s a necessary aspect of the standarization process, as you need to have sufficient undertanding of a problem domain in order to create a sensible standard, and once you have that information, digesting it into something elegant takes time.

Once a standard protocol exist, however (an important point, as early entrants lack such niceties), I think its crazy for new entrants not to use it. Using an in-house protocol that is less technically proficient limits your scope of maneuverability further down the track. I’ve seen it repeatedly at past jobs, and it’s a frequent recipe for the long-term failure of a project.

If a suitable standard exist, smart companies use it. There are many other areas of innovation to which companies can apply themselves that represent a better use of scarce resources than re-inventing the product of years of engineering analysis aimed at creating a technology perfectly suited to a problem domain.

John CarrollJohn Carroll has delivered his opinion on ZDNet since the last millennium. Since May 2008, he is no longer a Microsoft employee. He is currently working at a unified messaging-related startup. See his full profile and disclosure of his industry affiliations.

Email John Carroll

Subscribe to A Developer's View via Email alerts or RSS.

  • Talkback
  • Most Recent of 10 Talkback(s)
IM is free.
You're right that the owner of a bridge would hope to find the right toll to maximize profit. So that a higher toll would reduce volume more than proportionately and a lower toll could not be balance... (Read the rest)
Posted by: Anton Philidor Posted on: 09/08/08 You are currently: a Guest | | Terms of Use
While I'm not an expert in IM protocols...  John L. Ries | 09/04/08
But I think...  John CarrollZDNet Moderator | 09/04/08
So that if a company found a popular new feature...  Anton Philidor | 09/04/08
So what if a company found ...  Yagotta B. Kidding | 09/04/08
In general...  Anton Philidor | 09/05/08
But...  John CarrollZDNet Moderator | 09/04/08
IM by itself has value as a customer list...  Anton Philidor | 09/05/08
Fair enough  John CarrollZDNet Moderator | 09/07/08
IM is free.  Anton Philidor | 09/08/08
Paraphrasing Robert Heinlein  Yagotta B. Kidding | 09/04/08

What do you think?

SponsoredWhite Papers, Webcasts, and Downloads

advertisement

Recent Entries

Top Rated

Archives

ZDNet Blogs

White Papers, Webcasts, and Downloads

  • Smart Tech Expert advice on innovations in healthcare and the green technologies that make it happen. Find out more
  • Smart Business Discussion and advice on management issues that revolve around making your world smarter and more useful. More Smart Advice
  • Smart People The best and worst moves in the management and strategy trenches. Learn More