Abstract:
An apparatus, method and article of manufacture of the present invention provide an enhanced user interface for a computer system that permits the user to adjust the speed at which text is continuously presented. The invention provides a method for defining a region of the display at which text is preferably read, and further provides a user interface for adjusting the speed of text display according to a screen location corresponding to that at which text is being read at any time. The features of the present invention allow a user to optimize reading speed and comprehension depending on the user&#39;s personal characteristics, preferences, and abilities, as well as the characteristics of the text.

Description:
BACKGROUND OF THE INVENTION 
     This invention relates generally to the fields of information processing and display by computers, and human-machine interfaces for computers. The present invention further relates to providing the user with an interface to control the speed at which text is imaged on a computer display. The present invention further provides this interface in a manner which permits optimization of reading speed while minimizing the need to make vertical changes in the fixation of the user&#39;s eyes. 
     DESCRIPTION OF THE RELEVANT ART 
     In the current art, computer programs which display text to a reader do not permit optimization of the user&#39;s reading speed. When the reader reaches the bottom of a page of displayed text, some manual operation is necessary to advance the display to the next page of text, resulting in a need to retrain the eye on a new location and a consequent loss of reading speed. Currently available text display systems, including printed books, also require frequent changes in the location of eye fixation in order to permit rapid reading of a text. 
     One alternative is for the text to scroll from the bottom of a text window, but in practice, the need to manually advance the text using a scroll bar interferes with the reader&#39;s comprehension and enjoyment of the text. Only rarely can the user optimize the speed of text display to correspond with a desired reading speed. The need to simultaneously pay attention to a scroll bar and to the text further distracts the reader and requires frequent changes in the location of eye fixation. 
     While it would be possible to set the text to scroll from the bottom of a text window at a fixed rate of speed, thereby obviating the need to pay attention to a scroll bar, this strategy would have the disadvantages that the selected speed might not correspond precisely to the reader&#39;s wishes, and that the reader&#39;s desired speed of text reading might change as eye fatigue sets in or as the material being read varies in complexity or in level of interest to the reader. Thus, providing the reader with a method to signal the computer regarding desired changes in rate of text display in a way which minimizes changes in ocular fixation and requires minimal manual input would be a significant advance over the current art. This represents an entirely new style of reading, in which text is dynamically provided to the reader by a computer system at a precisely optimized rate, rather than requiring the reader to repeatedly change locations of eye fixations as she or he reads through a statically displayed text. 
     Thus, the current art imposes the following disadvantages on a reader of a text who desires to maximize his or her reading speed while minimizing distractions and fatigue associated with extra eye movements. 
     First, no method exists in the current art to provide for variable speed presentation of text, in accordance with the reader&#39;s own interpretation of the level of difficulty of the text or level of interest in the text, as the text is being presented. 
     Second, no method exists in the (current art to provide for variable speed presentation of text, without requiring manual signalling of the computer between pages or as the text is scrolled. 
     Third, no method exists in the current art to dynamically optimize the rate of text presentation to correspond precisely with a reader&#39;s actual reading speed. 
     The present invention derives from the observation that if text were continuously scrolled from the bottom of a page, if the rate of text presentation were too slow, there would be a natural tendency for the eye or the head to move downwards to permit reading farther down the page. On the other hand, if the rate of text presentation were too fast, the eye or the head would naturally move upwards on the presented display, as it fell behind in reading the presented text. According to the method, changes in the position of a cursor which is associated with a cursor control device are used as a cue for changing the rate of text presentation. In a preferred embodiment, this cursor control device is associated with head or eye movements, such that leaving the cursor in a predefined neutral zone does not change the rate of text display, but moving the cursor to a position associated with text coming after that displayed in the predefined neutral zone (to an &#34;acceleration zone&#34;) increases the rate of text display, and moving the cursor to a position associated with text coming before that displayed in the predefined neutral zone (to a &#34;deceleration zone&#34;) decreases the rate of text display. Moving the cursor to another predefined location (in a preferred embodiment, to the left or right edge of the screen) stops text advance. 
     This invention is in part enabled by the current art, which provides methods to signal a computer system regarding location of ocular fixation or detection of head movements, for example, U.S. Pat. Nos. 5,583,335, 5,526,022, 5,517,021, 5,422,689, 5,367,315, 5,360,971. Other methods of detecting direction of eye fixation or of head movement may also be used. Examples include sensors which consist of a ball within a hollow sphere surrounded by detectors, such that changes in head movement are detected as changes in the location of the ball within the sphere, and methods based on video input from a display-mounted camera, which interpret eye fixation and permit definition of an area on the screen which is being looked at. Alternatively, devices which identify changes in head movement or in the location being looked at on the display could be used. In addition, various other devices, including &#34;virtual reality machines&#34; (including goggles), in which a computer display is integrated into a device which collects information on eye or head movements and provides them to a computer, could also be adapted to this purpose. These hardware devices in the current art provide mechanisms to enhance the utility of the present invention, an improved user interface which could be used with these and other cursor control devices. 
     This invention is further enabled by the current art of computer programming, which permits a computer programmer of ordinary skill to perform the programming steps necessary to implement this invention with reference to this description and the accompanying drawings. 
     OBJECTS AND SUMMARY OF THE INVENTION 
     The present invention provides an improved user interface for reading a text that provides enhanced functionality and flexibility over conventional methods of reading text. 
     One object of the present invention is to take advantage of natural eye or head movements to signal the computer system to increase or decrease the rate of text display in accordance with these cues. 
     Another object of the present invention is to permit a reader to designate at least one preferred region on the screen (called the &#34;neutral zone&#34;) such that the rate of text presentation remains approximately constant when the reader is reading text presented in this region. 
     Another object of the present invention is to provide a variable rate of text presentation that approximates the rate at which the reader is actually reading the text. 
     Another object of the present invention is to permit a reader to signal the computer to scroll backwards through a text, if necessary, to find a desired passage or to reread information of special interest. 
     Another object of the present invention is to permit a reader to designate screen regions such that when the computer is signalled that text is being read from these regions, the rate of text presentation is accelerated or decelerated. Among other embodiments, this may be a accomplished by providing a mathematical function of the distance from the neutral zone, such that head or eye movement to positions outside the neutral zone causes the rate of text presentation to decelerate or accelerate according to this function of the distance. 
     Another object of the present invention is to permit a reader to optimize his or her reading speed through a text, according precisely to his or her preferences. 
     Another object of the present invention is to improve a reader&#39;s comprehension of a text, by minimizing external distractions as the text is being read. 
     The present invention, as broadly described herein, provides a user interface and method for using a computer system to permit a reader to optimize the rate at which text is presented on a computer display controlled by the computer, comprising the steps of determining the location on the computer display at which text is being read by the reader, and varying the rate at which text is presented in response to the result of the location-determining step. More specifically, a preferred embodiment of the invention comprises the steps of 1) defining a cursor location as a location on the display corresponding to that at which text is being read, 2) defining a neutral zone as at least one region of the display at which reading preferably takes place, 3) defining at least one region of the display as a deceleration zone, associated with the presentation of text which comes before the text displayed in the neutral zone at any given time, such that when the defined cursor signifies a location within a deceleration zone, the rate of text presentation decreases according to a mathematical function of the distance between the cursor location and the neutral zone, and 4) defining at least one region of the display as an acceleration zone, associated with the presentation of text which comes after the text displayed in the neutral zone at any given time, such that when the defined cursor signifies a location within an acceleration zone, the rate of text presentation increases according to a mathematical function of the distance between the cursor location and the neutral zone. The neutral zone is normally further defined such that the rate of text presentation does not appreciably change when text within the neutral zone is being read. A method to instantly stop continued presentation of text is also provided. One such method is the definition of stop zones on the display, such that the user may easily cause continuous presentation of text to stop by moving the cursor to a location corresponding to a stop zone. 
     The mathematical functions which define the effect of reading text at different positions outside the neutral zone may be continuous or discrete functions of distance from the neutral zone, and are normally non-decreasing functions of distance from the neutral zone, such that the farther away from the neutral zone the reader is, the more dramatic the effect on the rate of text presentation may be. In addition, in a simple embodiment, the function may be a constant, such that all cursor locations in a given type of zone yield the same effect on rate of text presentation. 
     The various zones, such as the neutral zone, stop zones, acceleration zones and deceleration zones may be defined graphically, using a cursor-control device to specify their limits and shapes. These zones may be differentiated from one another on the display by altering the attributes of text displayed in each zone, or by providing different backgrounds within each zone. In this manner, the user can adjust the non-rate parameters associated with text presentation to match his reading style or needs. 
     The cursor position which corresponds to the position at which text is being read may be determined by any cursor control device, including one which responds to eye, head or hand movements. 
     Also, according to the present invention, a computer system comprising means for effectuating the method of the present invention is provided. Further according to the present invention, computer-readable memory encoded with a program directing the computer system to effectuate the method of the present invention is also provided. 
     Additional objects and advantages of the invention are set forth in part in the description that follows, and in part are obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention may also be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate particular embodiments of the invention, and together with the description, serve to explain the principles of the invention. 
     FIG. 1 presents a block diagram of a computer system as may be utilized by the present invention. 
     FIG. 2 presents a flowchart, diagramming the two major steps of the invention, interface setup and the actual interface. 
     FIG. 3 illustrates a sample text display block, such as that which could be presented by text presentation or word processing programs. Regions on this block are shown to illustrate the function of the invention as described below in the detailed description of the preferred embodiments. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Reference will now be made in detail to the present preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. The steps required to practice this invention are readily accomplished by a person of ordinary skill in the art of computer programming, with reference to this description and the accompanying drawings. 
     The invention is described in the context of a computer system (100), as pictured in FIG. 1, which consists of a Central Processing Unit (102), random access short term memory (104), a Control function (106), and long-term storage such as a hard disk or other disk drives (108), a display device such as a monitor (110), and one or more cursor control devices (128). In addition, such systems may contain additional means for input such as a keyboard (112), auxiliary input and storage devices (126), including scanners (124), audio input such as a microphone (118), audio output such as amplified loudspeakers (120), and access to other computer systems via modem (116) or networks (122). The preferred embodiment is described in the context of a computer system which is capable of running programs in a Windows™ environment. 
     FIG. 2 presents a flow diagram of the invention. While the invention can be practiced in a manner different from that depicted in the flow diagram, the flow diagram provides a useful overview for understanding the invention. The invention involves, among other things, the use of a computer system, such as that depicted in FIG. 1, to display electronic text stored in the computer system or stored external to the computer system. As shown in FIG. 2, the invention comprises two steps, that of user interface setup (200) and the actual use of the interface (220). In some embodiments, the setup function might be performed in advance by the author of a computer program, or some other individual besides the end-user, leaving the user to use the interface as described. In other embodiments, the user has the flexibility to modify one or more parameters associated with the interface. In a preferred embodiment, the user may modify these parameters at any time while using the invention. 
     In a preferred embodiment, the setup procedure comprises the steps of querying the user via a dialog box regarding desired values for parameters which affect the user interface (202) and of storing the responses (204). Examples of parameters affecting the interface include the pathway that text takes as it advances across the display, including designation of the location on the display of the neutral zone (which is the preferred reading area), deceleration zones (for the display of text which comes before that displayed in the neutral zone) and acceleration zones (for the display of text which comes after that displayed in the neutral zone). The neutral zone is broadly defined as the preferred reading area, which may encompass one or more discrete portions of the display, which together comprise a neutral zone. Input may also be accepted regarding a mathematical function ∂ T  (defined below) used to determine the amount by which the rate of text display accelerates or decelerates depending on the cursor location or a function d T  (also defined below) describing distance between items displayed at different screen locations. In a preferred embodiment, the neutral zone is defined graphically, using a cursor control device to outline the limits of the neutral zone. Other zones, corresponding to acceleration and deceleration zones, may also be defined graphically. The units of the rate function r T  (defined below) may be defined in different units of speed (e.g., words per unit time, lines per unit time, characters per unit time). In some embodiments, the invention may itself provide preprogrammed functions, from which the user may select via a menu or some other method well known in the current art. In a preferred embodiment, cursor locations which signal the invention to stop text advance are also defined as stop zones; most users would define this as a region on either side of the display screen. This permits the user to stop continuous updating of text when interrupted, simply by turning her head. A stop zone might also preferably be defined at the upper margin of a deceleration zone, to permit the user to readily stop continued presentation of additional text when text of interest is about to leave the display. 
     After collecting information regarding the configuration of the interface, in a preferred embodiment the computer system stores this information (204) in a manner which permits its retrieval as the interface functions, and also permits the user access to the same parameter set on other occasions, obviating the need to completely redefine the parameters on each use of the invention. 
     The normal use of the interface (220) comprises the steps of the computer system determining the cursor location (225), and changing the speed of text scrolling (240-246) depending on that location (230-236). A text is defined as any material which is meant to be presented in a certain linear order, for example, characters, numbers, figures or other graphics. Scrolling on a region of a display is defined as the movement of text along a predefined pathway on the display, such that all lines shift in position along this pathway as new text is added, at the same rate at which new text is added, and such that when the limits of the regions defined for display of text are reached, text disappears if it would otherwise migrate beyond those limits. Thus, according to this definition, text may be scrolled in clusters of one or more units (e.g., lines, characters, figures) at a time. In particular, scrolling means that text proceeds in some manner from one or more acceleration zones, through the neutral zone (where it is preferably read) and through one or more deceleration zones prior to departure from the screen. In some preferred embodiments, it is possible to hold some text items (e.g., figures, tables) on the screen for longer periods of time, or indefinitely, either within the normal pathway for text, or in a supplementary location. 
     The following definitions of functions and terminology describe a preferred embodiment of the invention: 
     A text may be represented mathematically as a function t(x) over some range of integers x, where x signifies a position within the text, and t(x-1) comes before t(x) and t(x+1) comes after t(x) for all defined values of t. As noted above, different elements of a text t are not required to be of identical types, for example, various elements may be words, lines, characters, or figures. The only requirement regarding t is that it be of a sequential nature. 
     The descriptor s T  (t(x)) refers to the screen location of a text item t(x) at a position x within a text t at some arbitrary time T. In a preferred embodiment, s T  (t(x)) is dependent on the pathway that text takes as it scrolls on the display, the rate of text display as calculated using the other described functions, and the previous cursor movements. 
     Values of the function d T  (x 1 ,x 2 ) describing the distance between two items at positions x 1  and x 2  within a text t at times T may be dynamically calculated from the values of x 1 , x 2 , and of the screen locations s T  (t(x 1 )) and s T  (t(x 2 )). In some embodiments, d T  (x 1 ,x 2 ) may be a function of a subset of these values. For all text items t(x 1 ) and t(x 2 ) both displayed in the neutral zone at time T, d T  (x 1 ,x 2 ) is defined as zero. All functions d T  (x 1 ,x 2 ) fulfill the mathematical criteria for distance functions, such that for all x 1 , x 2  and x 3  on which d T  is defined, d T  (x 1 ,x 2 )≧0, d T  (x 1 ,x 2 )=d T  (x 2 ,x 1 ) and d T  (x 1 ,x 2 )+d T  (x 2 ,x 3 )≧d T  (x 1 ,x 3 ). It may be seen that the distance between two text items may change with time, since d T  may be dependent on s T , which in turn changes with time. Also, this distance function does not necessarily define distance in precisely the same way for items in acceleration and deceleration zones. In one simple example of a distance function defined on a standard Windows™ text box, such that text scrolls from the bottom one line at a time, one may define the distance between two text items as the number of lines that separate them. In this example, if the neutral zone consisted of more than one line, this function would measure distance between a text item and the neutral zone as the number of lines from the nearest border of the neutral zone, unless the text item were in the neutral zone, in which case the distance would be zero. 
     The rate change sign σ(x 1 ,x 2 ) is defined such that σ(x 1 ,x 2 )=1 when x 1  ≧x 2  and σ(x 1 ,x 2 )=-1 when x 1  &lt;x 2 , where x 1  and x 2  are integers representing positions in a specified text. Thus, σ(x 1 ,x 2 ) is positive when a text item at position x c  in the text t (normally defining the text item that is closest to the cursor location) comes after a text item at position x n  (normally defined in the neutral zone), indicating a need to speed up the rate of text presentation. On the other hand, σ(x c ,x n ) is negative when a text item at position x c  in a text t (normally defining the text item that is closest to the cursor location) comes before a text item at position x n  (normally defined as in the neutral zone), indicating a need to slow down the rate of text presentation. 
     The rate of text presentation r T  is defined such that higher rates correspond to faster text presentation. If the cursor is in a stop zone, r T  is defined as zero. Otherwise, if the cursor remains outside of the neutral zone, the rate of text presentation r T  at time T may change as defined by a function ∂ T  (x c ,x n ) of σ(x c ,x n ) and of the distance d T  (x c ,x n ) between text t(x c ) displayed at the location s T  (t(x c )) closest to that specified by the cursor and text t(x n ) displayed in the neutral zone at location s T  (t(x n )), such that dr T  /dT=σ(x c ,x n )·∂ T  (x c ,x n ), where · denotes multiplication and where dr T  /dT represents the first derivative of the rate function r T  with respect to time. 
     The family of functions ∂ T  (x 1 ,x 2 ) fulfills the criteria that for all x 1  and x 2 , ∂ T  (x 1 ,x 2 )≧0, and ∂ T  (x 1 ,x 2 )=0 when d T  (x 1 ,x 2 )=0. In a preferred embodiment, the function ∂ T  (x 1 ,x 2 ) may be a continuous or discrete function of d T  (x 1 ,x 2 ) and σ(x 1 ,x 2 ) for all x 1 , x 2 , and T, but normally is further constrained such that for all x n , x 1 , x 2 , and T, where s T  (t(x n )) is in the neutral zone, if d T  (x n ,x 1 )≧d T  (x n ,x 2 ), then ∂ T  (x n ,x 1 )≧∂ T  (x n ,x 2 ). This constraint permits definition of ∂ T  such that the farther the reader&#39;s current position is from the neutral zone, the more dramatic the effect on the rate of text presentation will be. In addition, this constraint enables another embodiment that has the merit of simplicity in which ∂ T  is constant when d T  is greater than 0, thereby applying a constant rate of acceleration or deceleration until neutral zone reading is resumed. 
     In many embodiments, for all x 1 , x 2 , and T, ∂ T  (x 1 ,x 2 )=∂ T  (x 2 ,x 1 ), promoting symmetry of effect on rate when the cursor position is in the same relative position within acceleration or deceleration zones. However, it is also possible to define the function ∂ T  (x 1 ,x 2 ) such that this equality does not hold true, permitting asymmetry of the extent of rate changes associated with cursor locations in corresponding locations of acceleration and deceleration zones. In a preferred embodiment, the reader has the ability to define or select the mathematical functions that govern the rate of text presentation. For example, in some cases the reader may prefer to set a maximum rate of text presentation, such that incidental presence of the cursor in an acceleration zone does not result in a rate of text presentation in excess of the reader&#39;s preferred reading speed, which could cause discomfort and would likely only result in a downward adjustment in speed as the reader falls behind and the cursor moves to a deceleration zone. 
     In a preferred embodiment, should the cursor continuously signify text which precedes that presented in the neutral zone, so that at some time T the function r T  becomes less than zero, the text begins to scroll backwards (along the pathway defined on the display) rather than forwards, such that a negative rate of text presentation corresponds to reverse scrolling. Should the cursor be located in a stop zone, r T  becomes zero, and the scrolling of the text ceases. 
     In some preferred embodiments, a time lag between initiation of a rate change and the presence of the cursor in an acceleration or deceleration zone is introduced. This feature prevents unwanted rate changes from occurring as a result of unintended and/or momentary movement of the cursor out of the neutral zone. 
     The interface of the present invention is of greatest value when the cursor control device signals the computer system regarding changes in head or eye position. Using natural head or eye movements, the user can control the rate of text presentation in a manner which corresponds to the desired reading speed. FIG. 3 illustrates one possible definition of these zones on a sample text which is scrolled from the bottom of a standard text window. If the user is capable of reading faster than text is being presented, the user will look down farther on the page (330), causing the rate of text display to accelerate and naturally leading the reader&#39;s head or eye back towards the neutral zone (shaded, 310). Should the user need to slow down, she will fall behind, leading to eye or head movements above the neutral zone (320), which will slow the text down, again naturally leading the eye or head back towards the neutral zone. Should the user be interrupted, and need to stop reading, turning the head or eye away from the text would move the cursor to either stop zone (340), stopping further text scrolling, so the reader could later pick up where she left off. Even in cases where the cursor-control device is not controlled by head or eye movements, the manual use of a mouse, trackball, or other cursor control device by a reader to track the line which is being read at any point in time would serve to optimize the rate of text scrolling for the needs of the reader. 
     In a preferred embodiment, the various regions defined in this description (e.g., neutral zone, stop zone, acceleration or deceleration zones [especially when the mathematical function ∂ T  is discrete]) may be differentiated on the page from one another, either by changing attributes of the text shown within the regions (e.g., by bolding, changes in font, color, or style), or by changing attributes of the display background (e.g., shading, coloring) within the regions. 
     In another preferred embodiment, the invention is provided as a part of a computer program whose purpose includes the display of text. In this situation, an appropriate means (e.g., use of keystrokes, point and click device action) to signal the program to begin and end the execution of the functions of this invention is also provided. 
     The primary input device for this invention is a cursor control device, broadly defined as any device capable of providing input to a computer with respect to external movements or designations of changes in screen positions. This input need not provide specific information on screen location, but could also be used to identify relative movements (e.g., based on directions) to obtain substantially the same result. Furthermore, it will be recognized by those skilled in the art that precise screen locations might not be computed for all cursor control devices. Computer system acceptance of cursor control device input in a manner such that cursor-control device movements could be mathematically mapped to screen locations with results as defined in this description also falls within the scope and claims of this invention. The cursor position as defined in this description may be the same as the cursor which is controlled by any cursor control device associated with the computer system. A computer system may thus have multiple cursor control devices and cursors associated with it. In addition, although the cursor position is calculated in the course of practicing the described preferred embodiment of this invention, in some embodiments a cursor might not be displayed. Thus, in this description, the cursor position may be defined as a region of the display which corresponds to the information collected by a device which may be used to signal cursor position, but does not necessarily require the display of a cursor, or the ability of the computer to use this cursor in any context other than that described here. 
     In a further preferred embodiment, the computer may be signalled to change the described cursor location by pressing appropriate keys on a keyboard communicating with the computer system. For example, arrow keys may be defined in the context of the described cursor, and movement of the cursor could be initiated by depressing the appropriate arrow keys. In addition, in a preferred embodiment, a keyboard could be used to implement various operations such as stopping, reverse-scrolling, or searching a text. Similarly, other methods of providing input to a computer system regarding movement in different directions, whether or not they cause a cursor to move on the screen, may be used in the practice of this invention, not limited to the types of devices which identify eye or head movement as described above. 
     It will be apparent to those skilled in the art that the invention described herein is not limited to the specific preferred embodiments discussed above. For example, although the above discussion describes a program using a cursor control device which detects head or eye movements on a Windows™ platform, those skilled in the art will recognize that the invention could also be practiced with input devices such as trackballs, joysticks, light pens, mouses, touch-sensitive display panels and the like, and could also be usefully implemented on platforms such as Macintosh, X-Windows, NextStep, OS/2, Motif, Unix, and the like. In addition, it will also be apparent to those skilled in the art that embodiments of this user interface which provide results equivalent to those obtained using the functions t, d T , σ, ∂ T , and r T  as described above also fall within the scope of this invention and claims, even if specific values for each of these functions are not explicitly calculated. This invention also may be practiced on stand-alone machines constructed for this purpose, or on variants of computer systems, such as personal digital assistants and the like. Moreover, those skilled in the art will recognize that this invention or parts of this invention could be practiced using computer hardware, bypassing the use of software for the purpose of providing the functionality of this invention. Furthermore, those skilled in the art will recognize that this invention may be practiced as a part of any computer program which displays text, as defined broadly herein, including but not limited to word processors, text readers (including those which audibly read text) and other text display programs. It will also be apparent to those skilled in the art that various modifications can be made to this invention of a computer-implemented method for providing a user interface which optimizes the rate of text display without departing from the scope or spirit of the invention and claims, including use of different parameters in the setup process. It is also intended that the present invention cover modifications and variations of the described user interface within the scope of the appended claims and their equivalents.