Scrollbars for the viewing of electronic documents are known. In Microsoft Word, for example, the scrollbar takes the form of a vertical strip along an edge of a screen display. Clicking with a mouse on arrows at either end of the strip causes the content of the display to move up or down. The same effect can be accomplished by moving a sliding button within the strip using the mouse.
Limitations in the above-described functionality can be frustrating to a user. When viewing a large document, for example, the user may want to proceed quickly through long stretches of the document, while still viewing it. While it is possible using the known sliding button functionality to jump quickly to different parts of a document, the quick jumps do not let the user see what content is being skipped over. To scroll at a viewable pace through the document using the sliding button, the user must manipulate the mouse in a somewhat awkward and tedious operation—holding down a mouse button while repetitively rolling the mouse in a straight line along a surface.
On the other hand, with the scrollbar arrows, a user need not perform the above-described operations. Instead, the user can simply keep an arrow activated and the document will scroll up or down. However, the document moves at a fixed speed, which can be frustrating if, as mentioned earlier, the user wants to go through long stretches quickly.
Embodiments of the present invention address the above-described concerns. The embodiments relate to a variable-speed scrollbar that enables a user to speed up or slow down scrolling by manipulating an accelerator/decelerator field. For example, by changing the position of a speed selector within the accelerator/decelerator field, the user can speed up or slow down scrolling as desired. The user therefore need not perform the awkward manipulations associated with a sliding button, and is not limited to the fixed scrolling rate of the arrow functionality.
Scrolling may be slowed by moving the selector back toward the neutral position. Scrolling may stop altogether when the selector is again at the neutral position, and then be resumed, and have its speed increased by, say, moving the selector toward the upper bound 105.
Scrolling may continue while a “click-and-hold” operation is maintained. Scrolling may be stopped by a de-activation operation, such as releasing a mouse button that had previously been held down to activate scrolling. In this event, the selector 103 may automatically return to the central, neutral position. The return may be instantaneous or may occur over some predetermined length of time—e.g., the selector 103 may glide back to the neutral position over an interval of, say, one second. The option may further be provided of allowing scrolling to continue at a selected speed even without continuing to manually activate scrolling (e.g., a user may release the mouse button but scrolling will continue at a selected speed). With this option, scrolling may then be stopped by some subsequent manual operation such as moving back to the neutral position or by clicking on the neutral position of the selector.
The variable-speed scrollbar according to embodiments of the present invention may be incorporated into any kind of computer display, such as a display of a word processing document or web page. The speed control may be integrated with a conventional vertical scrollbar. For example, the accelerator/decelerator field 102 may be provided below or in a lower part of a conventional vertical scroll bar of an application window. In embodiments of the invention, the accelerator/decelerator field 102 may be hidden in normal operation, but may “pop up”—i.e., become visible and usable, upon some operation such as right-clicking on a conventional scrollbar.
Behavior of a display including the variable-speed scrollbar, including scrolling speed as controlled by the accelerator/decelerator field, may be governed at least in part by computer-executable instructions according to embodiments of the present invention. The instructions may generate, possibly in association with conventional code that controls aspects of a display's appearance, a display on a display device, where the display includes a variable speed scrollbar comprising an accelerator/decelerator field according to embodiments of the invention. Further, the instructions, or conventional code that interfaces with the instructions, may receive input signals from a mouse or other input device and perform corresponding operations. For example, a user may activate scrolling by positioning a pointer or cursor or other positional indicator over the speed selector of accelerator/decelerator field, and clicking and dragging the selector to displace it away from a neutral position. Such operations may generate activation and speed selection signals to the instructions, or conventional code that interfaces with the instructions.
In response to the signals, the instructions, or conventional code that interfaces with the instructions, may cause the display to scroll across a screen of the display device at a selected speed. Subsequently, the user may use the input device to displace the selector again, for example by dragging the selector either away from or toward the neutral position. In response to signals from the input device indicating a displacement of the selector from its previous position, the instructions, or conventional code that interfaces with the instructions, may cause the display to scroll faster or slower across the screen. Many forms of algorithmic logic could be suitable to determine a change in scrolling rate resulting from the displacement. For example, an upper speed limit for scrolling may be established. This may be mapped to the upper and lower bounds of the accelerator/decelerator field. Positions within the upper and lower bounds may be mapped to corresponding speeds between a rate of zero (no scrolling) and the upper speed limit, for example in a look-up table or by equations calculated dynamically. A change in scrolling rate may be computed according to the mapping based on a change in position. The change in the scrolling rate may, for example, be proportional to a displacement of the speed selector from a previous position.
Computer-executable instructions 207 according to embodiments of the present invention may be stored on any machine-readable medium 211, such as RAM (random access memory), ROM (read-only memory), floppy disk, fixed disk, CD-ROM, magnetic tape and the like. The instructions may be loaded from the machine-readable medium 211 into the memory 204 for execution by the processor 203. As noted previously, the instructions may interface with conventional code that controls aspects of a display's appearance.
The instructions 207, or conventional code that interfaces with the instructions 207, may generate a display 208 on the display device 201. The display 208 may include a variable-speed scrollbar 101 according to embodiments of the present invention. With the input device 205, a user may activate features of the scrollbar, such as activating the accelerator/decelerator field 102 and speeding or slowing scrolling by displacing the selector 103 within the upper and lower bounds of the accelerator/decelerator field. These activities may generate signals from the input device 205 that are detected by the computer 202. The instructions 207, or conventional code that interfaces with the instructions 207, may be responsive to the signals detected by the computer 202 and generate a corresponding display on the display device 201.
Subsequently, signals indicating a change in position of the speed selector may be detected, as shown in block 303. In response, the scrolling rate may be changed, as shown in block 304. The change in scrolling rate may be in proportion to the change in position
As noted earlier, upon cessation of a manual activation of the scrolling, the scrolling may nevertheless continue at a selected rate until stopped by some subsequent operation. On the other hand, the scrolling may stop immediately upon cessation of a manual activation of the scrolling.
Several embodiments of the present invention are specifically illustrated and/or described herein. However, it will be appreciated that modifications and variations of the present invention are covered by the above teachings and within the purview of the appended claims without departing from the spirit and intended scope of the invention.