Wednesday, September 05, 2007

User experience is key to software design - You can't have one without the other!

I read an FTP Online article this morning on how important it is to focus on customer experience in web design.

While I agree entirely that a postive user experience is key to widespread uptake (read success) of a software product in general and more specifically a web site, I am hesitating to send this on to other developers I know, as I think, to in-experienced developers in particular, it could read a bit like a licence to write bad code, as long the UI is clean and easy to use.

I think this article points out on of the key factors of a successful software product, but makes it sound a bit like it's the only factor.

I've seen slick eye candy software before, that is complete crap under the hood, and while it does bring in small successes, it NEVER succeeds to a level it should, because it lacks so many of the other "ilities" - maintainability, scalability, etc. These are the unseen, almost intangible qualities - intangible at first, but painful down the track, mostly painful to the end users, who don't even realise where their pain is coming from. The pretty, fun to use program we bought a few months back, is really's just not working.

I read once where a good chef can successfully prepare any of his/her signature dishes, missing one or two peripheral ingredients (any in varying states of intoxication). Building good software systems probably also has peripheral ingredients, perhaps on-site users, perhaps detailed design documents, perhaps a DBA and detailed data modellling processes, who knows, perhaps even automated builds and unit testing? I don't believe "consideration of user experience" is a peripheral ingredient by any stretch of the imagination, but it is definetly not the only core ingredient either.

After all, which is the most important wing on an aeroplane?

So I say be careful when adopting the "user experience is everything" approach to building systems - it is right up there with one of the 3 or key ingredients to a successful system