2004/08/26

File transfer & XMPP

An interesting thread got started on volity-devel on how to do file transfer using disco & HTTP. [update: see this post for a correction] Right now, Gradient file transfer is basically an ugly hack, with a transposition of the HTTP paradigm ontop of XMPP, which leads to scaling problems.

There's a couple of influences on my direction here.

Firstly, surfing via XMPP is never gonna happen in a big way - HTTP is too entrenched - so the obvious step is to enable Gradient-style extensions to webapps by including a JID/disco node ID etc. in a meta tag or namespaced head child.

This means I should either squeeze a Gradient into an applet, in which case any web-page could become a gradient-page, or fiddle with the internals of Mozilla, using the XPCOM XMPP client or something like that to construct a second Gradient client in the client-side Mozilla environment, i.e. using either the XP C++ dialect or ECMAScript. This would dificult, to put it mildly.

Secondly, disco is quite obviously the right way to do view/game-specific feature discovery & [meta]data publishing in Volity, and in a broader environment has a variety of uses, which I will enumerate briefly when I finish this post tomorrow.