[jdev] Jabber Certification Program
Rachel Blackman
rcb at ceruleanstudios.com
Thu Jun 17 15:48:10 CDT 2004
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.
** PROPOSED JABBER CERTIFICATION PROGRAM **
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
certification).
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?
--Rachel
More information about the JDev
mailing list