Who are you?
Joe Hildebrand (hildjj). I'm the Chief Architect at Jabber,
Inc.
Mail: |
jhildebrand@jabber.com |
JID: |
hildjj@jabber.com, hildjj@jabber.org |
Work history
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 cheer-lead.
- 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 working group.
- 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 this soon.
- JEPS:
- 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.
Current topics
- Disco/Browse
- 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.
- X-Data
- 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 products.
- Headers
- 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.
- File Transfer
- 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.
- HTTP transport
- 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.
- Pub/Sub
- 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.
- IETF
- 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."
Vision
In my ideal medium-term future, I see protocols that are:
- Coordinated together
- Extensible
- General-purpose
- Don't overlap
- Relevant
If we can develop this suite of protocols, the JSF can be deemed a success.
Campaign Promises
Not being a politician, feel free to keep my feet to the fire on these:
- I will push for Jabber, Inc to implement approved JEP standards.
- I will agitate for Jabber, Inc to provide JEPs to describe our protocol
activities.
- 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.