Jabber Transports. Do you really want them? *Note: I use the term gateway and transport interchangeably.
A good number of people, including Stowe Boyd, have asked me about the support for transports in Gush. I'll just come out with it and say that I'm personally against support for transports. However, this doesn't mean that Gush won't support them at some point.
Here are my reasons for hesitating:
- First and foremost, Yahoo!, AOL, and MSN all don't want you to do this. What does this mean? Well, they at times block the IPs of servers that they can identify as Jabber gateways. They're pretty easy to spot since a ton of people usually have the same originating IP when connecting to the foreign network. I'm sure you could devise all kinds of clever schemes to out do them, but the fact remains it's a battle, if not a losing battle.
- Second, since Yahoo! and AOL's IM protocols aren't open, interoptability can only be accomplished through reverse engineering. However, there's a scalability limit when relying on reverse engineering. If AOL or Yahoo! happen to change their protocol, which they've done several times, it results in an upgrade over and over again for non-authorized clients/transports. For a large install-base, this in a huge headache.
- Third, the features that are available for use with buddies on other IM systems is always the common denominator. In the case of AOL, Yahoo!, MSN, and Jabber, it's the ability to see others online and to be able to send a plain text message. Anything fancier than that is out of the question. We don't want to do this because it essentially makes Gush appear broken even though the deficiencies are as a result of the transport or the foreign IM system.
- Fourth, transports cripple even Gush to Gush messaging. Imagine you and I both have AOL accounts (I know, it's pretty far out there). We both sign-up with the transport, and since we have each other on our respective Buddy Lists in AIM, you and I will be sending each other messages from one Gush client to another Gush client via the AOL network. This immediately breaks both Split Chat and Announcements because the AOL network has no way of encapsulating the extra information Gush needs in order to make those features possible.
- Fifth, on a practical level, 2Entwine has limited resources. We'd rather focus on getting file sharing, group chat, and a slew of other features out the door instead of worrying about transports. We want to help XMPP push the IM envelope, but introducing legacy systems into the mix only slows us down.
If you still think we should support transports, we'd like to
hear about it :)
Posted by Dudley at
01:56 AM