HOME

TheInfoList



OR:

Responsiveness as a concept of
computer science Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
refers to the specific ability of a system or functional unit to complete assigned tasks within a given time. For example, it would refer to the ability of an
artificial intelligence Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
system to understand and carry out its tasks in a timely fashion. In the Reactive principle, Responsiveness is one of the fundamental criteria along with resilience, elasticity and message driven. It is one of the criteria under the principle of
robustness Robustness is the property of being strong and healthy in constitution. When it is transposed into a system A system is a group of interacting or interrelated elements that act according to a set of rules to form a unified whole. A system, ...
(from a v principle). The other three are observability, recoverability, and task conformance.


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. For 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.


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 can be described as the capacity of a system to provide a condition for its users to perform the tasks safely, effectively, and efficiently while enjoying the experience. In software engineering, usability is the degree to which a softw ...
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 and the fact that the user interface depends on local or remote systems to show a visible response. There are at least three user tolerance thresholds (i.e.): ; 0.1 seconds: : under 0.1 seconds the response is perceived as instantaneous (high user satisfaction); ; 1.0 seconds: : between 0.1 seconds and 1.0 second a slight delay is perceived, which is regarded as annoying in a local system but tolerated in a web interface that depends on a remote system for the response; this kind of delay usually does not interrupt user's flow of thoughts; ; 10 seconds: : between 1 second and 10 seconds, user's flow of thoughts is interrupted (user productivity is severely impacted) but user is able to keep his/her attention focused on the task being performed; : over 10 seconds of wait is regarded as unacceptable, as it usually interrupts the user's attention on the task being performed.


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 the 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 can significantly reduce frustration. For short delays, an animated icon might be sufficient. Longer delays are better covered with a progress bar, or, if possible, the system should provide an approximation of the time that an operation is going to take before starting it.


See also

*
Reliability, availability and serviceability Reliability, availability and serviceability (RAS), also known as reliability, availability, and maintainability (RAM), is a computer hardware engineering term involving reliability engineering, high availability, and serviceability design. The p ...
* Elasticity (cloud computing) * Network resilience * Agile construction * Reactive user interface *
Responsive web design Responsive web design (RWD) or responsive design is an approach to web design that aims to make web pages render well on a variety of devices and window or screen sizes from minimum to maximum display size to ensure usability and satisfactio ...


References

{{reflist


External links



Chapter 9. Constructing A Responsive User Interface. by David Sweet
Excerpt from the book Usability Engineering (1993) on response time

UI Responsiveness on NetBeans Wiki


* http://www.baychi.org/calendar/20031111/ Computer architecture Computer systems Measurement Systems engineering User interface techniques