[standards-jig] JNG Ramblings.

Matthias Wimmer m at tthias.net
Fri Aug 9 14:45:51 UTC 2002


Hi Thomas!

Thomas Muldowney wrote:

>It's hard for me to like it one way or the other without doing some code
>to see what's actually easier, but I still want to hear comments from
>both sides.  Mike's post is well laid out, and thoughtful, but this
>isn't helpful.  Could you expound a bit more?
>  
>
One of the reasons why I don't like a binary Jabber protocol has already 
been mentioned by others: We loose the possibility to test a component 
with telnet - and I also do this very often. But that's not the real 
reason why I don't like it.

Some people here promote a binary protocol because they think this would 
be easier for developpers. But I completely disagree with that:
- It's much easier to debug a non-binary protocol. Not just because you 
can telnet, it's also that that you can easily tcpdump the network 
traffic and see what has been exchanged. If there has been send wrong 
data you see it at the first look - wrong bits, wrong packet length 
numbers and all that things are much harder so recognize in a dump.
- A binary protocol has less redundancy, this means it's less tollerant 
on errors and it's less robust.
- "Packet sizes" in binary protocols are always limited as size fields 
have limited size, this limits the extensibility.
- In non-binary protocols there are more ways to extend the protocol 
when new features are added.
- When programmers deal with binary protocols they tend to use fixed 
size buffers ... this causes buffer overflows. My impression is that 
binary protocols are more often vulnerable.
- Programmers have to deal with endianness, this can be a really hard 
work in some languages especially if you want to write portable code.

Two other comments:
- The protocols that have success are the simple protocols: SMTP, NNTP, 
SNMP, HTTP, POP3, IMAP, ... all of them are protocols you could even 
implement without much hacking and reading the specs.
- If we want to support virtual channels we don't have to invent a new 
protocol for that: There is already BEEP and others that can be used for 
this.

Jabber this generation is an existing working protocol. There are many 
things that can be improved, especially it would be a very good thing if 
the protocol core and the IM application would be separated. But 
changing the protocol that radical means that we have a totally new 
protocol and we have to support two different protocols.

Tot kijk
    Matthias

-- 
Fon: +49-700 77007770		http://matthias-wimmer.de/
Fax: +49-89 312 88654		jabber://mawis@charente.de





More information about the Standards mailing list