XMPP Perfection

XMPP Perfection

I just came across a post titled In search of XMPP perfection while researching some stuff, and it’s a pretty solid set of words that gels with my own feelings about the state of the XMPP network. You should go and read it if you’re interested in the topic of XMPP services, and if you’re following my blog I sincerely hope you are, or you’re going to get really bored.

XMPP isn’t complicated to use, but it could be easier. There follows a list of features which I think all XMPP service providers who are aimed at lay users should implement. Some providers already implement one or more of these features, and some providers implement next to none of them.

The features that Sam goes on to propose as a minimum for public services is a solid list and I’m going to come back and work through that and see what can be done in practical terms about some of those. A lot of it is stuff that I’ve already addressed for ChinWag during the planning phases, but this reminds me that I do need to take a few steps back at some point and actually test the end-user experience in a few situations, preferably by dropping a non-technical user in front of the site and asking them to accomplish a few tasks.

Anyway, I came across the post while researching the degree of support out there for SCRAM-SHA-1 as I was starting to get serious about plans for the back-end user accounts. This brought me back again to the “Plain or hashed?” question that keeps nagging at the back of my mind.

When you’re working in a large system that needs to be interoperable with a huge variety of other servers and clients, sometimes you just have to go with the imperfect solution to keep yourself moving and come back to it later. If I tried to solve every problem before I started anything, I don’t think I’d be getting much done at all.

So I’m now thinking hard about my plans for the desired user registration process for ChinWag, which is going to tie back into all this again as I’m going to need a good common accounts database and password storage is going to end up tying pretty heavily into that. I think I’m going to have to just dive in and commit to something soon, and I think my attempt will end up being imperfect.

I think I’m OK with that. I can always try something else later.