[Foundation] Position paper

Joe Hildebrand 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 [1]Jabber, Inc.

   Mail: jhildebrand at jabber.com
   JID:  hildjj at jabber.com, hildjj at jabber.org

Work history
   Well, my entire CV is [2]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
     * [3]Jabber-Net:  a set of open-source C# libraries to access Jabber
       from  [4].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
     * [5]Exodus:  your  favorite  windows  client.   I  work  with Peter
       Millard  to  add  features, wonder about the future, and generally
     * [6]IETF:  I  was  one  of  the presenters at the recent Birds of a
       Feather (BOF) [7]session.  I've been working with our people (Jer,
       StPeter,  Tony,  etc.), our customers, and [8]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.
     * [9]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".
     * [10]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.
     * [11]JEPS:
          + [12]25  (HTTP  Polling).   Yes,  we're  fixing  the  security
            problem.  An updated JEP will be out soon.
          + [13]30  (Disco).  We  need  to  get  this  nailed soon.  It's
            stacking up as a pre-req for too many other JEPs.
          + [14]33   (Headers).  Working  prototype  implementation  now.
            Waiting on disco for next rev.
          + Small contributions to several others.

Current topics

          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.

   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.

          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
     * Extensible
     * General-purpose
     * Don't overlap
     * Relevant

   If  we  can  develop  this suite of protocols, the JSF can be deemed a

Campaign Promises

    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
       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.


   1. http://www.jabber.com/
   2. http://www.cursive.net/joe_resume.html
   3. http://www.cursive.net/jabber-net/
   4. http://www.microsoft.com/net/
   5. http://exodus.sourceforge.net/
   6. http://www.ietf.org/
   7. http://www.jabber.org/ietf/bof-minutes.txt
   8. http://earl.strain.at/space/Marshall+Rose
   9. http://www.jabber.com/
  10. http://marbles.jabberstudio.org/
  11. http://www.jabber.org/jeps
  12. http://www.jabber.org/jeps/jep-0025.html
  13. http://www.jabber.org/jeps/jep-0030.html
  14. http://www.jabber.org/jeps/jep-0033.html

Joe Hildebrand
Chief Architect
Jabber, Inc. 

More information about the Members mailing list