[Foundation] Position paper
JHildebrand at jabber.com
Thu Jul 25 17:20:36 CDT 2002
Pretty version here: http://www.cursive.net/jabber/position.html
Who are you?
Joe Hildebrand (hildjj). I'm the Chief Architect at Jabber, Inc.
Mail: jhildebrand at jabber.com
JID: hildjj at jabber.com, hildjj at jabber.org
Well, my entire CV is here, but let me hit some high points.
I've done a lot of work in messaging systems for the department of
defense. That meant doing tagged text parsing before we had XML and
cross-network queuing before we had off-the-shelf queue management
systems. I wrote several queue managers that provided real guaranteed
delivery while trying to be both scalable and have low best-case
latency. Looking back, this seems a lot like a transacted Jabber
system, particularly with regard to the architecture we used.
After that, I moved up the ranks at a medium-sized consulting company
based here in Denver, ending up as Chief Architect. Over that time we
opened offices around the country, and I got to see a lot of different
technologies, vertical markets, languages, databases, and what-not.
Because of this breadth of experience, I now often cross the
technical/business barrier to help the two sides communicate.
About a year ago, I joined Jabber, Inc. full time after having done
some consulting work for them. I liked the team and the product, but
most of all, I was drawn by the idea of Jabber. At Jabber, Inc. I
work to set the technical direction for our server and client
products, help articulate that direction to customers, and work with
the community to ensure that we both implement and promulgate the
appropriate standards. I also do quite a bit of prototyping of new
features and work with our development team to ensure that our
solutions are as elegant, scalable, and easy to extend as possible.
Areas of contribution to Jabber
* Jabber-Net: a set of open-source C# libraries to access Jabber
from .Net. I'm the leader of this project. I'm able to
separate my lack of enthusiasm for Microsoft from my admiration of
the C# language. It's great for
* Exodus: your favorite windows client. I work with Peter
Millard to add features, wonder about the future, and generally
* IETF: I was one of the presenters at the recent Birds of a
Feather (BOF) session. I've been working with our people (Jer,
StPeter, Tony, etc.), our customers, and Marshall Rose to try
to get the Jabber protocol into the IETF on a standards track.
The interesting part will come if the IETF decides to form a
* Jabber, Inc: in addition to the above, I'm the one who gets to
agitate for Jabber, Inc. to implement appropriate JEPs. Call me
the "protocol weasel".
* Marbles: yet another Java library. Did some of the initial
prototyping with DizzyD, and complained until we actually did some
work on it. Hopefully we'll make a more formal announcement about
+ 25 (HTTP Polling). Yes, we're fixing the security
problem. An updated JEP will be out soon.
+ 30 (Disco). We need to get this nailed soon. It's
stacking up as a pre-req for too many other JEPs.
+ 33 (Headers). Working prototype implementation now.
Waiting on disco for next rev.
+ Small contributions to several others.
We really need to get support for one of these into the next
version of our product. As such, this is a really high
priority for me to figure out in the near term. I want to make
sure that the spec we generate here is generic enough, but also
able to be implemented by doing traversal of a running system,
rather than having the data stored statically in a config file.
After working with pgm last night to add the initial support of
this to exodus, I believe even more in the potential for
jabber:x:data to change Jabber the same way that adding forms
to HTML changed the web. This is a big deal, and I'm pushing
for this to be added to all of Jabber Inc.'s client and server
jabber:x:header has a chance to optimize our inter-domain
packet traffic significantly. It can also enable ad-hoc
multi-party chats, provide a method of diagnosing problems, and
align the planets.
I'm working on a grand unification JEP here. It will reuse
JEP-0020 for negotiation of transfer method, encoding,
compression, etc. In addition, it will specify a fall-back
in-band file transfer approach. Yes, I know that in-band is
bad, but it's sometimes the only way that will work. Coupled
with a method for the programatic determination of a more
optimal approach, in-line file transfer is a necessary evil.
I'm also hoping to get to a standards-track HTTP polling JEP.
JEP-0025 needs to have a replacement that is built through
consensus, secure, and as scalable as possible.
We need an answer here. The meeting at the JabberConf in
Munich was a good start, and I'd like us to all continue in
that spirit of cooperation until we come up with something that
works for most people. One of the key features that Jabber,
Inc. really needs, for example, is (optional) persistent
storage of topic data.
It is incumbent upon us as the Jabber community to work with
the IETF if they decide to form a working group to standardize
the core parts of the Jabber protocol. We will need to guide
and mold that process to ensure that what we love about the
Jabber protocol continues uninterrupted. I still think that
there will be a place for the JSF in such a world. I don't
believe that the IETF will necessarily need to standardize
things like pub/sub, white-boarding, and the other protocols
and semantics that travel over the basic protocol.
If the IETF decides to act, there will be a time of upheaval
for the JSF. A time of questions, self-evaluation, and the
formulation of a new, hybrid process for the management of the
protocol. On the positive side, it will be a time of
excitement, increasing ubiquity, and the emergence from our
lack of respect in certain quarters as "not a real standard."
In my ideal medium-term future, I see protocols that are:
* Coordinated together
* Don't overlap
If we can develop this suite of protocols, the JSF can be deemed a
Not being a politician, feel free to keep my feet to the fire on
* I will push for Jabber, Inc to implement approved JEP standards.
* I will agitate for Jabber, Inc to provide JEPs to describe our
* I will participate fully in any IETF activities.
* I will campaign for Jabber, Inc. to implement any approved IETF
standard regarding the Jabber protocol as soon as possible.
More information about the Members