[standards-jig] Core Tool Protocols
iain.shigeoka at messaginglogic.com
Thu Aug 8 16:30:44 UTC 2002
On 8/7/02 9:45 AM, "Adam Theo" <theo at theoretic.com> wrote:
> It seems our ideas are along the same lines after all. What do you think
> of the Core Tools concept as it relates to the current protocol? See
> anything amiss? I'm looking to turn this transition plan into a JEP
> soon, so I'm wanting to get as much feedback as possible.
I like the concept. I also think that it is essential to start with the
Jabber Environments in mind from the start. Not just throw out a full set
of tool protocols (which are essential) but to define them in the context of
Jabber Environments. My thinking is that we need to keep Jabber simple, yet
allow for expansion as needed. The whole "easy things are easy, hard things
are possible" design philosophy.
So I'd like to take half a step back and pose this to you:
Could you organize the tools first into some Jabber environments. In
particular perhaps a bootstrap environment that could be supported with 100%
hard coded behavior in visual basic in a couple hours. Then a super simple
negotiation for the next level (basic basic basic IM). One of the basic IM
options is then a secondary feature negotiation protocol (say disco) which
could then be used to negotiate everything and the kitchen sink.
The thought is that people can get into Jabber and have something working in
a couple hours. And can have IM working in a hard day of coding with any
JNG server in the world. But has the freedom of creating pretty much
anything if you put in significant work (by registering/accessing arbitrary
protocols via disco).
For example, right now, you can't build a decent basic Jabber server because
most of the nice clients (JIM, Exodus) out there insist on doing iq:private
or vcard stuff and hang if they don't get a reply on these two (even though
they're completely optional protocols). That's pretty bad if you ask me.
Not only do you need to implement iq, message, presence, iq:auth, but you
also need to implement these really peripheral protocols like iq:private...
I'm worried that pretty soon you'll have to have disco on a server or client
to do anything (and that seem nontrivial to implement).
More information about the Standards