[jdev] Jabber Certification Program

Stephen Pendleton spendleton at movsoftware.com
Thu Jun 17 17:24:27 CDT 2004

I can offer some insight into one certification process: 
I have been through the Microsoft Mobile certification for our Smartphone
and PocketPC client, and I know this process required a large infrastructure
behind it. In that case, there is a third party company doing the
certification which consisted of testing that the interface features of the
software met Microsoft's Mobile Software guidelines. If a new version of
your software is released you had to get it recertified. The benefit of
"winning" certification means that the software will get exposure on
Microsoft's online mobile catalog of software (very valuable exposure). The
other benefit is getting to advertise the product with a "Designed for
Windows Mobile" logo. 

You can see the similarity here between that program and the one you are
proposing. One reason the Microsoft process is successful is because they
had a third party company willing to build the infrastructure to provide the
testing service. Of course, the third party company didn't do this for free
- the fee for compliance testing was $1,400 per product version (reasonable
as cert programs go). I suspect Microsoft also subsidized the process as

I know this is going to be unpopular, but it may be wise to consider such a
fee-based compliance testing process.

-----Original Message-----
From: jdev-bounces at jabber.org [mailto:jdev-bounces at jabber.org] On Behalf Of
Rachel Blackman
Sent: Thursday, June 17, 2004 4:48 PM
To: jdev at jabber.org
Subject: [jdev] Jabber Certification Program

So, Jabber has been around for a while now.  It's a great architecture, 
we've all drunk the Kool-Aid as it were... but I've recently found a 
lot of frustration in one area, and I know from discussion in the jdev 
chatroom that I am far from the only one.

The thing is, there are all these very cool Jabber featuresets out 
there, but lots of them are not necessarily supported.  Nor (other than 
peer pressure) is there much incentive for people to implement certain 
things.  I can look at Jabber and go 'wow, pubsub is a cool backend 
system, Stream Initiation will let me do a lot of really cool things 
down the line' and be excited, but your average IM user (for instance, 
my mother or father) will look at Jabber and go 'why can't I set a nice 
little picture like under MSN?  And why can't I use bold in my 
messages?' and so on.  Jabber is, architecturally, probably the most 
advanced IM protocol out there, and it's a godsend to developers... but 
to end-users, it doesn't really replace the AIM featureset or whatever.

XHTML-IM has been a JEP for a rather long time, and few clients 
implement it (and moreover, some of them implement it in a nonstandard 
and wacky way!), and it's a fairly basic feature many IM end users look 
for.  And there's no real incentive (other than peer pressure, as I 
said) for a client author to implement XHTML, so it ends up getting 
pushed further and further down TODO lists and suchnot.

So there was discussion in the chatroom today about a compliance and 
certification program, with varying levels of certification and 
differing requirements for the levels.  Only certified clients would be 
on jabber.org's client list, certified clients would get the right to 
use a little 'certified' banner on their websites and in their 
documentation or whatever, and it would ensure featuresets /do/ get 
implemented for end-users.

I am writing up a quick proposal about how to do this.  If enough folks 
like it (and there's not too much ensuing flamethrower usage in my 
direction), I will write it up in JEP format and submit it.


Each certification would have a year attached to it.  For instance, 
'Jabber Basic Certified 2004' for a banner on a site.  A certification 
only lasts until the end of a calendar year, and then you have to 
re-apply for certification; having a certification for a given year is 
not a guarantee you will have it next year.  Certifications can have 
required features, and recommended features (i.e. 'MUST' and 'SHOULD').

The certification requirements for a calendar year would be set by a 
Jabber Certification Board, presumably appointed by the Council.  The 
requirements for a given year would be decided on in July of the 
previous year, giving individuals six months to implement the features 
(and apply for certification ahead of time).  For instance, if this 
program were in effect, next month the Certification Board would have 
to issue the certification requirements for 2005, giving all the 
developers time to implement the features and apply for certification 
before the end of 2004 (and thus the expiration of their existing 

To be certified, you would need to get a copy of the software in 
question to the Board to use, and they'd run it against some kind of 
validation suite.  Presumably they'd have a process for testing, either 
certain automated things they could point to or a script for 
hand-testing it all.  You could apply for more than one certification.

A couple examples of certification types are shown below.  These are 
NOT actual proposals, just examples of what a certification list might 
be.  You'd actually want much longer and more detailed certification 
criteria, of course.

Jabber Client Minimal
   - suitable for mobile or embedded clients
   - required   : roster management
   - required   : jid-to-jid chatting
   - recommended: groupchat-1.0

Jabber Client Intermediate
   - Suitable as a 'generic' client
   - required   : all of Jabber Client Minimal
   - required   : file transfer
   - required   : disco
   - required   : caps
   - recommended: XHTML-IM
   - recommended: avatars

Jabber Client Extended
   - Glitzier clients
   - required   : all of Jabber Client Intermediate
   - required   : xdata
   - required   : MU-C
   - recommended: pubsub

...and so on.  There would be certifications for servers, and you could 
even add usability guidelines as recommended things to the Client 
specifications, and so on.

Any thoughts?


jdev mailing list
jdev at jabber.org

More information about the JDev mailing list