Designing Responsive Software Despite Performance Limits

Jeff Johnson
UI Wizards, Inc.
www.uiwizards.com

Reasons for Unresponsive Software

  1. Responsiveness is often equated with performance.
  2. UI designers rarely consider responsiveness during design.
  3. Developers use simple architectures & naive solutions that are easy to program but bad for responsiveness.
  4. User input is often treated like machine input.

Insights that Suggest Solutions

  1. Performance need not restrict responsiveness.
  2. The user interface is a real-time interface.
  3. The system need not respond immediately to everything.
  4. Human users are not computer programs.

Techniques of Responsive Software

1. Timely feedback

2. Parallel problem solution

3. Queue optimization

4. Dynamic time-management

Readings on User-Interface Responsiveness

Compiled by Jeff Johnson, Ph.D.
UI Wizards, Inc.
www.uiwizards.com

Design Guidelines Books That Discuss User-Interface Responsiveness

  1. Bickford, P., Interface Design: The Art of Developing Easy-to-Use Software, 1997, Chestnut Hill, Massachusetts: Academic Press.
  2. Flanders, V., and Willis, M. Web Pages that Suck: Learning Good Design by Looking at Bad Design, 1998, San Francisco: Sybex Inc. [See also: www.WebPagesThatSuck.com.]
  3. Johnson, J., GUI Bloopers: Don'ts and Dos for Software Developers and Web Designers, 2000, Morgan Kaufmann.
  4. Nielsen, J., Designing Excellent Websites: The Practice of Simplicity, 1999, Indianapolis: New Riders Publishing. [See also: www.useit.com.]
  5. Smith, S.L. and Mosier, J.N. "Guidelines for Designing User Interface Software," Technical Report ESD-TR-86-278, 1986, Springfield, VA: National Technical Information Service.

Research on User-Interface Responsiveness

  1. Barber, R. and Lucas, H. "System Response Time, Operator Productivity, and Job Satisfaction", Communications of the ACM, November 1983, 26(11), pages 972-986.
  2. Brady, J.T. "A theory of productivity in the creative process", IEEE Computer Graphics and Applications, May 1986, 6(5), pages 25-34.
  3. Carroll, J. and Rosson, M. "Beyond MIPS: Performance is not Quality", BYTE, 1984, pages 168-172.
  4. Dix, A. "The Myth of the Infinitely Fast Machine", People and Computers III: Proceedings of HCI’87, Cambridge University Press, pages 215-228, www.soc.staffs.ac.uk/~cmtajd/papers/
    hci87.
  5. Duis, D. and Johnson, J., "Improving User-Interface Responsiveness Despite Performance Limitations", Proceedings of IEEE CompCon'90, February 1990, pages 380-386.
  6. Lambert, G. "A Comparative Study of System Response Time on Program Developer Productivity", IBM Systems Journal, 1984, 23(1), pages 407-423.
  7. Miller, R. "Response time in man-computer conversational transactions", Proceedings of IBM Fall Joint Computer Conference, 1968.
  8. Robertson, G., Card, S., Mackinlay, J. "The Cognitive Co-Processor Architecture for Interactive User Interfaces", Proceedings of the ACM Conference on User Interface Software and Technology (UIST’89), November 1989, ACM Press, pages 10-18.
  9. Robertson, G., Card, S., Mackinlay, J. "Information Visualization Using 3D Interactive Animation", Communications of the ACM, April 1993, 36(4), pages 56-71.
  10. Rushinek, A. and Rushinek, S. "What Makes Users Happy?", Communications of the ACM, 1986, 29, pages 584-598.
  11. Shneiderman, B., "Response Time and Display Rate in Human Performance with Computers", ACM Computing Surveys, September 1984, 16(4), pages 265-285.
  12. Thadhani, A. "Interactive User Productivity", IBM Systems Journal, 1981, 20(4), pages 407-423.