HCI — Designing usable software applications and web sites

The course is about designing usable software applications and web sites. An otherwise well-designed computer system can fail drastically because of a poorly designed interface. Handing responsibility for this to specialist interface designers is one solution but it is expensive. Furthermore, if the system is designed separately from its interface there are bound to be problems. System developers must therefore understand HCI principles and techniques themselves. This Human Computer Interaction course covers all the knowledge needed for great user interface design. You will learn how to design and evaluate the interfaces and usability of applications and websites. You will also be able to codify and share your company's collective UI knowledge in the form of patterns.

Duration: 3 days

target audience

The Human Computer Interaction course is intended for software developers and their managers, business analysts, testers and interface designers.

  • Why user interface design is important
  • Consequences of poor design
  • Styles of interaction
  • Graphical interfaces
  • What different about the web?
  • Principles of cognitive psychology
    • Long term and activated memory
    • Transfer effects, priming, interference and rehearsal
    • Idempotence and symmetry
    • Closure
  • Simplicity
  • Aesthetics
  • Metaphor
  • Feedback
  • Exploiting closure
  • Modes
  • Equal opportunity
  • Preemptive modes
  • Colour and vision
  • Turning the theory into principles
  • Task-centred versus user-centred approaches
  • Understanding requirements
  • Objects and use cases
  • Rudimentary UML
  • Modelling businesses and requirements
  • What are patterns?
  • Using pattern languages to guide design
  • Special considerations for web sites
  • Some web usability patterns
    • Classifying sites
    • Frames, anchors and old browsers
    • Site maps
    • Search
    • Sense of location and progress
    • Navigation patterns
    • Workflow issues
  • Workshop: building pattern sequences for applications
  • Selecting the hardware
  • Process
    • time boxes
    • iteration
    • agility
    • gradual stiffening pattern
    • using priorities to manage the project
  • Storyboards
  • Use cases revisited
  • Testing
    • usability
    • automation
    • get-it? pattern
    • retest when content updated
    • testing on a budget
  • Equipment needed
  • The importance of standards
  • GUI Standards and style guides
  • The Microsoft style guide
  • The MVC pattern
  • Internationalization
  • Relevant legislation
  • Disabilities - types of
  • Example - coding flashing effects
  • When not to follow the standard (e.g. use of Enter)
  • Sound
  • MS features for accessibility
  • Course review

Please note, when taught at your site, this course is customizable. Modules can be adapted, removed, added from other courses, or even created.

course instructor

The course is designed and usually taught by usability expert Ian Graham, so that students can benefit directly from his extensive experience and knowledge. In addition to full course materials, each student will receive a personal copy of Ian's book A Pattern Language for Web Usability.

print     printer-friendly version