Tim Hastings - NonHostile (because there's no need)

Weblog and collection of geeky articles.

  Home :: Who? :: Contact :: Links :: Subscribe subscribe
Its One Small Step for Baby...You've Come a Long Way, Baby!Our House is Overrun with Animals!!


Below is my list of Valuable Nuggets Learnt, Web Links, and Recommended Reading. Enjoy.

Valuable Nuggets Learnt
These are my lessons learnt extracted from books, web sites and experience. Feel free to disagree with them, ignore them, try them or use them. They work for me, Your Mileage May Vary (YMMV).
  • Be humble: Remember that software serves the user. It should make their life easier. It should not cause the user grief. It should not be a pain in the arse. If users are stressed out by your software then you are making their life worse. Do you believe in karma?
  • Less is more: (most of the time) Reducing the number of input controls and buttons to a minimum is A Good Thing. For example, have you used search forms with fields for each piece of data? These exhaust your mind - and you soon lose the will to live. Instead, use a single search box and use these to search for values in all your fields, or, make a decision based on the style of input which fields should be searched.
  • Be bold - make decisions on behalf of the user: The user is a very busy person, and does not need to bothered with trivial detail. When designing something to make their life easier, you must become an expert in what they are trying to do and provide them with something 'fit for purpose'. The majority of users are not experts and will happily settle for defaults. They should never be pestered with technical details that the developer should have resolved.
  • Usability testing: A common theme across all usability sources is the championing of 'usability tests' where users are asked to use a piece of software to accomplish a task and are observed. Having tried this myself, I agree, it is invaluable. You get amazing insights into how users are thinking, and how misleading simple things can be. You get to see what is intuitive to a user, e.g. your interface may suggest that they can drag and drop.
  • Incrementalism: Completely replacing one user interface with another will often swap one set of usability problems with another, and will disorientate users in the process. Small incremental improvements made regularly can be tested and tweaked. If you insist on a complete rewrite then this nuggest may help: Never underestimate how much work went into the original - it usually does a lot more than you think!
  • Don't blame the user: User Error - please replace user and try again. If a user cannot accomplish a task using the interface you have designed, it is not their fault. Admit that your interface might not be perfect. Watch how the user tried to use it, you will gain new insights and the improvements you need to make will be obvious!
  • Don't argue the point with the user: Whilst conducting a usability test, your objective is not to train the user or to convince them that the software should work this way. Your objective is to see if it is usable to someone with Fresh Eyes. If a handful of people stumble on particular features, this needs to change. Make a note of it. Congratulations your tests were worth while.
  • Software should never make the user feel stupid: Many users are not experts or max-geeks who live technology. In fact, most are infrequent users who are not familiar with many everyday functions such as copying files. I know of one gentleman who spent an afternoon terrified of arrest because his computer had performed 'an illegal operation'.
  • Don't allow fatal mistakes: Big Red Self-Destruct buttons were made to be pressed. Users live in a world where they can experiment and undo (I cannot stress the importance of 'and undo'). A great rule to consider is that it should take the same amount of effort to delete something as it took to create it in the first place. If something really bad has happened, be big about it, could your software have helped prevent it?
  • Error messages should be helpful: I am often stunned at how unhelpful some error messages are. 'File not found' just does not cut it, what file were you looking for? Perhaps I know where the file is and can put it where you want it.
  • Remember settings: Overtime, your application's user interface should optimise itself to the way the user wants to use it. If a user frequently uses your applications they should not have to configure it every time they come to use it. Save their settings (and make sure you reload them).
The choice of bullet points for the above list is in tribute to my HCI lectures which were bullet-point-tastic.

Web Links
These are my regular reads, well worth a visit, if not for their content, just to appreciate :-)
Recommended Books
Below is a small selection of books I rate on the subject:

Don't Make Me Think, Steve Krug Don't Make Me Think!, Steve Krug
An absolutely excellent book focussed on the usability of web sites. It is simple, clean and well written and discusses the defacto requirements of modern web sites. One really interesting topic covered is how your eyes scan pages looking for what your brain wants.
Site-Seeing, Luke Wroblewski Site-Seeing, Luke Wroblewski
Another book with a web focus. This books takes an evaluative look at big sites and their evolution over time. The author discusses the successes and mistakes made by their designers and makes his own redesigns of sites discussing the thinking behind his improvements.
User Interface Design for Programmers, Joel Spolsky User Interface Design for Programmers, Joel Spolsky
This is more geared towards Windows applications, but serves as a good introductory book into usability. It teaches lots of lessons that are applicable to any application development.


© Copyright 2005 Tim Hastings (all rights reserved)



Development, Tuesday, October 11, 2005 05:05

Timeline Navigation for Development posts
Software Development 101 - How to fix a bug (made 55 weeks later)
My Top 11 Usability Tips Gleaned From All Over (this post, made Tuesday, October 11, 2005 05:05)