USABILITY FOR A WEB APPLICATION
What is Usability for a Web Application?
You rarely get the chance to develop a GUI from scratch, but it's a very rewarding experience to deliver a useful and usable application that your customers actually enjoy working with.I think every developer cares about usability, but there is a difference between caring about and actually creating a usable application. Since my time at Sun working with some great HCI engineers there, I've gained a deeper appreciation of the design and development process.Here are my thoughts on usability, starting with general principles and working towards the aspects that relate specifically to web applications.In a nutshell, usability is the quality of an application:that meets a useful subset of the goals of userswhere common and frequently used functions can be learned quickly and more advanced functions can be learned incrementally, with no or minimal training and only brief uses of documentationthat has a coherence and a self-consistency, and ideally a consistency with other applications that the user may be familiar withthat primarily uses terms that the user is familiar with, in the way that they use them; especially it avoids using terms from another domain (particularly software or technology, unless the application is related to those domains)General principles include:avoid information overload - present the minimal amount of information the user needs to perform a task; information includes menu items, toolbar buttons, labelled items in a dialog, etc.provide readily understood structure - use whitespace, borders or colours to define visual boundaries between different groups of related informationavoid distracting aspects or elements - consistent use of colors, font types and sizes, border or decorative elements and visual structure are all ways to aid the user to rapidly navigate and apprehend informationBest analysis and design practices for a UI include:use multiple techniques for gathering requirements, especially:issuing standard document templates to elicit common information and to raise a few thought-provoking questionsreading documents prepared by the customer or from the business domainstructured interviews and both single- and multi-role brainstorming sessions with different types of user or customervisiting and observing the customer at their workplace.use inexpensive prototypes to give and get feedback from the customer - it is better if the prototype doesn't look too much like a real application so that attention is focussed on the major issues of supporting the required tasks and delivering the required information, not on nit-picking about fonts, colours and layout (which is a far easier mode of feedback that often overlooks deeper issues)So far we've looked at analysis and design aspects. Now lets look at...General Best Practices for Software Development
Thursday, November 13, 2008
Subscribe to:
Posts (Atom)