Responsiveness
Encyclopedia
Responsiveness as a concept of computer science
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...

 refers to the specific ability of a functional unit to complete assigned tasks within a given time, but also may incorporate the ability of an artificial intelligence
Artificial intelligence
Artificial intelligence is the intelligence of machines and the branch of computer science that aims to create it. AI textbooks define the field as "the study and design of intelligent agents" where an intelligent agent is a system that perceives its environment and takes actions that maximize its...

 system to understand and carry out its tasks in a timely fashion. It is one of the criteria under the principle of robustness
Robustness (computer science)
In computer science, robustness is the ability of a computer system to cope with errors during execution or the ability of an algorithm to continue to operate despite abnormalities in input, calculations, etc. Formal techniques, such as fuzz testing, are essential to showing robustness since this...

 (from a usability
Usability
Usability is the ease of use and learnability of a human-made object. The object of use can be a software application, website, book, tool, machine, process, or anything a human interacts with. A usability study may be conducted as a primary job function by a usability analyst or as a secondary job...

 principle). The other three are observability, recoverability, and task conformance.

Responsiveness vs Performance

Software which lacks a decent process management, can have poor responsiveness even on a fast machine. On the other hand, even slow hardware can run responsive software.

It is much more important that a system actually spend the available resources in the best way possible. For instance, it makes sense to let the mouse driver run at a very high priority to provide fluid mouse interactions. Long-term operations, such as copying, downloading or transforming big files the most important factor is to provide good user-feedback and not the performance of the operation since it can quite well run in the background, using only spare processor time.

Influential Factors and Testing

There are many factors that can influence the responsiveness of an interaction system, such as poor design, improper input from users, problems with the operation system or the network. It is generally a good practice to have the designer(s) of the system play the role of the user and run diagnostics to determine if it causes any unreasonably long delays.This will allow them to affect any changes that need to be made before the system is introduced to the users worldwide,thus avoiding such
problems earlier on in the systems life-cycle.

Delays

Long delays can be a major cause of user frustration, or can lead the user to believe the system is not functioning, or that a command or input gesture has been ignored. Responsiveness is therefore considered an essential usability
Usability
Usability is the ease of use and learnability of a human-made object. The object of use can be a software application, website, book, tool, machine, process, or anything a human interacts with. A usability study may be conducted as a primary job function by a usability analyst or as a secondary job...

 issue for human-computer-interaction (HCI). The rationale behind the responsiveness principle is that the system should deliver results of an operation to users in a timely and organized manner.

The frustration threshold can be quite different, depending on the situation.

The three steps are 0.1s, 1s, and 10s.

Solutions to Improve Responsiveness

Although numerous other options may exist,the most frequently used and recommended answers to responsiveness issues are:
  • Optimizing the process that delivers the output by eliminating wasteful,unproductive output from the algorithm or method by which the result is produced.
  • A decent process management system, giving highest priority to operations that would otherwise interrupt the user's work flow, such as typing, onscreen buttons, or moving the mouse pointer. Usually there is enough "idle time" in between, for the other operations.
  • Using idle time to prepare for the operations a user might do next.
  • Let the user do something productive while the system is busy - for instance, writing information in a form, reading a manual, etc. For instance, in a tabbed browser, the user can read one page while loading another.
  • Deliver intermediate results, before the operation is finished. For instance, a web page can already be operated before all images are loaded,which will take up the idle time which would otherwise be spent needlessly.
  • If some waiting is inevitable, a progress indicator
    Progress indicator
    A progress indicator is an element of a command line interface, a textual user interface, or a graphical user interface that is intended to inform the user that an operation is in progress, to reassure that the system is not hung or waiting for user input,...

     can significantly reduce frustration. For short delays, an animated icon might be sufficient. Longer delays are better covered with a progress bar
    Progress bar
    A progress bar is a component in a graphical user interface used to convey the progress of a task, such as a download or file transfer. Often, the graphic is accompanied by a textual representation of the progress in a percent format....

    , or, if possible, the system should provide an approximation of the time that an operation is going to take before starting it.
  • provide a loss

External links

  • http://developer.kde.org/documentation/books/kde-2.0-development/ch09.html Chapter 9. Constructing A Responsive User Interface. by David Sweet
  • http://www.useit.com/papers/responsetime.html
  • http://performance.netbeans.org/responsiveness/whatisresponsiveness.html
  • http://developer.gnome.org/projects/gup/hig/2.0/diff-from-1.0/feedback-response-times.html
  • http://www.baychi.org/calendar/20031111/
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK