[jdev] Jabber Web integration and killer apps (was Jabbers Killer App (was: TSoOC-b) / Proposal : Community site)

Ian Sollars ian.sollars at gmx.net
Fri Sep 3 09:51:53 CDT 2004

In the search for a killer app, I'm of the same mind as Bart van
Bragt - I think the answer lies in web integration. As far as I can
see, the best way of moving forward would be a Mozilla/Firefox
XPCOM/XUL-based XMPP client that is web-capable, and (naturally) lets
you talk with the users of YIM, MSN etc.

I think it's been said that transports are not the killer app that
will make users go "Wow, I must have this!", but they are a *very*
important part of the Jabber system, because they mitigate proprietary
IM network effects.

The features that users will ask for would be conference browsing,
whiteboarding, and chatting with other surfers, like in Nick Vidal's
email. Lluna (http://www.lluna.de/) is pretty much there.

The other method by which the web and XMPP can complement each other
is using XMPP as a transport for updating or modifying existing HTML,
or other types of XML. As far as I know, the projects that have done
this so far outside of XHTML-IM are The Coccinella
<http://hem.fyristorg.com/matben/>, which does SVG whiteboarding (how
is explained at <http://www.jabber.org/~stpeter/SVG-XMPP.txt>), Volity
<http://www.volity.org/> which uses HTTP to transport SVG, and XMPP
for things like game moves, and my own project, Gradient

Markup over XMPP is nothing special by itself, but it does allow you
to do some interesting things that you can't do very easily, if at
all, using normal HTTP - my usual examples here being bi-directional
and P2P RPC, and performing live updates to already loaded documents,
via pubsub broadcast or presence.

Applying these capabilities to existing document formats (the main one
here being HTML) gives you the power to do things like broadcast
updates to discussion threads, update page components independently of
one another, or send form data without leaving the page you sent it

These examples are just assuming that one server acts as a central
authority, and don't touch on the possibilities of inter-document
communication, or the security implications thereof.

These XMPP-based capabilites would be broad enough that they could be
used to do things nobody right now would think of doing inside of a
web-page. Wiring a DOM directly to an XMPP network using JavaScript
essentially makes the document a node on a centralised P2P network
instead of just a client scripting environment.

Jabber in Mozilla would be a very cool place to start from, and there
are several projects working on this. One is the recently-renamed
JabberZilla. The other JabXPCOM, and there's also JIM, but I can't
download that from JabberStudio right now.

A theoretical killer app for Jabber would be an XPI that adds MUC, IM,
whiteboarding & conference browsing to normal websites, while
transforming websites with the right behind-the-scenes magic from
sequential static-ish page loads into a dynamically updated,
all-singing, all-dancing, etc. etc. etc. "experience".

When I next have the time to devote to a side-project, I plan to
update Gradient to use all the right JEPS (4, 20, 30, 60, maybe 128) -
and once that's done and working, try and implement a similar system
in Mozilla, for HTML instead of SVG. It might be a bit easier to show
what I'm talking about once this done - which I estimate will be some
time next year, if at all :-)



More information about the JDev mailing list