I went to a lecture by David Platt on the subject of "Why software sucks", which discusses what is wrong with software today (hint: it's mostly designed by programmers) and how we can improve it. From listening to a previous ARcast with him I already knew he is a very entertaining speaker, and he proved me right (in fact, I kept thinking I could bring my wife to one of his lectures and she would have enjoyed it as well).
David began his presentation with a screenshot from the Better Business Bureau in the US, listing complaints by industry, and the amazing thing about it – people dislike software more than they dislike used-cars salemen!
The main idea of the presentation (backup up with all sorts of amuzing anakdots):
People don't buy software for the sake of the software itself – they buy software to get something done. They are not interested in using the software, they want to have used it.
Programmers tend to design software for people like them, while most users are very different.
Platt's solution resolved around 5 keypoints:
Add a virgin to the team – add someone to the team with zero knowledge about the inner workings of your software.
Break convention if needed – don't behave in a certain way just because all every application behaves the same way.
Do not let edge cases complicate the main stream – extra features aimed at edge cases complicate your software and make it counter productive.
Instrument (Carefully) – Try to gather information about the way users use your software without harrassing them.
Question each decision – ask if each decision is taking your project closer to the result or further away from it.
The lecture itself was followed with a Q&A session, in which I asked him a question (which landed me a signed copy of his book – thank again, David!) – if programmers are so bad at designing UI, why not bring in a specialist to do it? His response (after correcting me for saying "Graphics designer" instead of "User interface designer") was it's actually a good idea, since most of the industry is already headed for specialization in various subjects.
I found another podcast on ITConversions network, and here are two short videos from the presentation: