A Method for Rate-Based Scrolling of Streaming Data
Original Publication Date: 2009-Nov-18
Included in the Prior Art Database: 2009-Nov-18
Disclosed is a method for rate-based scrolling of streaming data
A Method for Rate
A Method for RateA Method for Rate -
Based Scrolling of Streaming Data
When receiving data from a process or web service to be used for display to an end user, there is often (a) more data than can fit in a single screen and (b) a delay between the application receiving the first data item and the last. In addition, a user may only be interested in the first few data items, so retrieving all of them may be a waste of bandwidth or processing power. The common approach to this is to provide "next page/previous page" buttons to navigate available data, which does not allow seamless uninterrupted navigation of data. Existing continuous scrolling techniques, e.g. ,  below, do not visually reflect the total amount of data available for scrolling and use traditional scroll bar (up/down arrows and a scroll thumb sized and positioned relative to the amount of available data. In these systems, the scroll thumb changes size and jumps when new data is loaded.
 The system loads a preset amount of initial data, e.g. the first 100 search results or the first 25 pages of a document, into a scrollable pane.
 The user clicks and drags the scroll thumb, moving it along the horizontal or vertical axis, depending on the orientation of the scroll bar.
 The page scrolls at a rate proportional (through a linear or nonlinear function) to the distance of the scroll thumb from the center resting position.
 The scroll bar indicates how much data out of the total extent of data (represented by the entire length of the scroll bar) has been loaded. The scroll bar visually represents the current viewing region in context of the total available data. The scroll thumb is partially transparent to allow the visual indications in the background to be seen even when the scroll thumb is over them.
 If the visible region comes within a preset threshold of the end of the available data, the system initiates a separate processing thread which requests additional data from the source, e.g. a server, and appends this data to the end of the viewable region. Scrolling can continue simultaneously. Optionally, the user could click a position on the scroll gutter. If the data for that region...