I was speaking with Florian, one of the board members of XSF, and showed him my pattern about HTTP-based filetransfer in IM clients, just as done by Beejive or Meebo.
As far as I remember, the filetransfer argument - namely: it doesn't work in XMPP with 5 parallel standards - was settled down by requiring everyone to implement the most complex one: Jingle File Transfer.
It's like saying we don't need filetransfer to be implemented at all.
Jingle is a such complex protocol, that most of the client developers won't even try to implement it. It's just huge. Even Google didn't really succeed with their own implementation (remember the Cricket:: namespace??) and we don't speak about server-side requirements yet.
The XMPP community is constantly ignoring the fact that we're living in - albeit perhaps the end of - the web age. XML was proven to be inefficient, no matter how you compress it, it's just isn't par with JSON or other formats. Pull parsing technique requires special parsers to be written for XMPP, meaning loss of reuse (although they give the stanzas to normal parsers afterwards), Nokia didn't take XMPP in its production phones for efficiency reasons and all the social networks - facebook, hyves, meebo, gmail - implement their own client2httpd solution instead of the inefficient BOSH.
You can joke about it, but the reality is: XMPP is likely to be superseeded sooner or later.
Subscribe to:
Post Comments (Atom)

5 comments:
Every technology is likely to be superseded sooner or later. It's just a matter of time.
Hi. I've been interested in XMPP, but never read the jingle file transfer spec.
I skimmed through it just now, and... is it really that complicated? I mean I see the big blobs of XML in the examples, but effectively what it's doing is:
1. ClientA sends a list of transfer mechanisms it supports to ClientB.
2. ClientB chooses one, and lets ClientA know.
3. ClientA indicates all is well.
4. The transfer happens.
I guess I don't see the complexity. The main complex part seems to be multiple transfer mechanisms being allowed. That doesn't seem like something you can avoid, as there simply are multiple mechanisms, some of which work for some client setups, while others for others.
I asked around, and apparently Pidgin, Gajim and other clients have jingle file transfer working in dev branches. Google are also using Jingle as it happens :)
XMPP vs. JSON is a great flamewar worthy topic. I'd love to discuss it if you wish :P
I quite like JSON. I actually attempted to write a XMPP XML<->JSON transformation. The thing which makes that hard is the lack of anything like namespaces in JSON. When you try to allow third parties to extend the protocol in arbitrary ways, and have those extensions inter-operate, the JSON gets uglier than the original XML.
JSON works perfectly when you don't allow arbitrary extensions by third parties, which is why it works nicely in systems fully controlled by a single party.
INteresting point of view, I guess that with technology you can never rest, it is always evolving.
viagra online
This is a very good idea in order to do better transfers, mow I can do all transfers referred to top pills to my clients faster.
Another interesting work you have done in here, I was really impressed the ideas you have. PMP Washington DC
Post a Comment