Improving Responsiveness in Interactive Applications via QueuesWilliam C. Wake(1), B. Douglas Wake(2), and Edward A. Fox(3)
Abstract
IntroductionSystems can be categorized as being batch, real-time, or interactive. In a batch application, output is not synchronized with input. In a real-time application, the program reacts to the passage of time (and the "correctness" of a computation depends upon when the result of that computation is delivered, e.g., [Sha & Goodenough 1990]. In an interactive, or responsive, application, the program presents output in response to input, and the user reaction to that output can affect future input to the program. [Ambriola & Notkin 1988] [I'd appreciate a reference to the 3-way split of batch vs. real-time vs. reactive - it's not in A&N but I'm almost sure I saw it in an IEEE publication somewhere.] An interactive program must react to the user's actions, as quickly as possible. In graphical applications in particular, timely reaction to user actions is critical to achieving an adequate interactive feel. For example, if the cursor position doesn't consistently reflect the mouse motion, the system will feel sluggish.The interaction style of an application should be reflected in its structure. Modern programs with a graphical user interface often manage small interactions, e.g., reacting to individual keystrokes, and the program design must accommodate that burden. The following patterns focus on a design that will allow one to improve the performance and responsiveness of a program. DiscussionReferences |
|
Copyright 1994-2010, William C. Wake - William.Wake@acm.org |