Spiral scrollbar

A method and structure for a graphic user interface comprising a non-linear path region that corresponds to a list of items in a computer application, wherein a length of the path region is directly proportional to an amount of items in the list, a rotatable handle region that corresponds to a subset of the items in the list, a display region that displays the subset, and a handle manipulator for maneuvering the handle region, wherein the non-linear path region comprises a spiral, square, or rectangular configuration, wherein each of the items in the list is represented by a fixed proportion of the path region, wherein the handle region is proportional to a fixed proportion of the path region, and wherein the fixed proportion is a fixed angle.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention generally relates to manipulating data through a graphic user interface within a data processing system, and more particularly to a spiral scrollbar, which allows for easier navigation in the display unit of the data processing system, thereby providing easier manipulation of the data.

2. Description of the Related Art

A computer display is a finite surface that can hold only a limited and relatively small amount of visual information. When a large amount of information needs to be accessible to the user, only a fraction of the total information can be shown at a time or within a short period of time. If the user needs information that is not shown, the system must provide a way to navigate through the information space until the desired information is shown. In traditional windowing systems, navigation is accomplished by using a linear scrollbar.

A scrollbar is a well-known user interface component that is associated with a scrollable area of a display, indicating to a user that more information is available and may be accessed in a particular direction with respect to the display. The information space is seen as a linear ribbon on the display unit (i.e., computer monitor), and the window shows a fraction of that ribbon. Moreover, the scrollbar allows the user to change the portion of the ribbon that is displayed.

As such, a scrollbar may be utilized to scroll additional data into view, and most conventional scrollbars include a slider and scroll buttons. As shown inFIG. 1, a scrollbar1consists of two elongated nested rectangles5,10, the outer long rectangle (referred to in the art as a “trough”)5represents the whole information space linearly; the inner small rectangle (referred to in the art as a “thumb” or “elevator”)10shows the portion of the information ribbon (or document)15that is shown in the window12. The scrollbar1also contains a pair of oppositely positioned arrows or guides2, which are usually triangularly shaped. There is a direct linear mapping between the full document and the outer rectangle5. One side of the rectangle7represents the beginning of the document, while the opposite side9represents the end of the document. Moving the inner rectangle10to either side7,9will then scroll to the beginning of the document or its end. Scrollbars1are usually placed on one or two edges3of the window12. In some implementations, the size of the inner rectangle10in the scrollbar1varies when the document size changes. For example, in Windows-based applications, for lengthy documents, the size of the inner rectangle10may be a thin rectangle, whereas for short documents, the size of the inner rectangle10may be a much thicker rectangle, which may encompass the entire length of the outer rectangle5. For documents in Windows-based applications of average length, the inner rectangle10may appear as a perfect square shape. In fact, the ratio of the sizes of the inner10and outer5rectangles may give the percentage of the document15that is visible.

The fact that the scrollbar1is linear has a major consequence in design. The length of the outer rectangle5is limited by the size of the window12and of the computer (document) display15. Because there is a direct mapping between the document15and the scrollbar1, and because the size of the document15is not limited, when the document size increases, a fixed portion of the document15will be represented by an increasingly smaller area of the scrollbar1, making visualization and manipulation very difficult.

More formally, consider an x, y coordinate system representing a window display12having a document15shown thereon. For the following illustrative purposes, and for brevity, only the y dimension will be discussed. Suppose Lydenotes the total length of the document and Wydenotes the size of the window12. As shown inFIG. 1, the total length of the document15is not completely shown in the window display12, rather there is a remaining portion (not shown) of the document15, thus the length Ly, denotes the total length of the document15, and not merely the length of the document15shown in the confined window display12. Also, bydenotes the current position of the center of the window12. At the beginning of the document, y=Wy/2. At the end of the document, y=Ly−(Wy/2). For example, suppose the scrollbar1is fully nested inside the window12and also has a size Wy, and cyis the size of the inner rectangle10of the scrollbar1and ayis the position of the center of the inner rectangle10, wherein aysatisfies the following constraint: cy/2<ay<[Wy−(cy/2)]. Using these notations, the relationship between ayand byis:

When the user moves the inner rectangle10of the scrollbar1a distance da, the document will scroll by a distance:

Using this formula, it is apparent that when the document size increases, the scrolling speed will also increase. For example, suppose that Ly=4,096 pixels, Wy=512 pixels, and that cy=64 pixels. If the user moves the scrollbar by one pixel (da=1), the document will scroll by 8 pixels (db=8). This represents a very smooth scrolling action and corresponds to a normal scrollbar use.

However, suppose that Ly=1,048,576 pixels, Wy=512, and cy=64 pixels. If the user moves the scrollbar by one pixel (da=1), the document will scroll by almost 2,340 pixels (db=2,340). This also means that a large portion of the document (2,340-512=1,828 pixels) is not shown to the user at all. The fact that the scrollbar1is linear and limited in size makes it impossible to scroll large documents15, because some portions of the document will not be shown to the user.

Solutions to these problems include using the arrows2of the scrollbar1to scroll the document15line by line. However, this is not a viable solution because most scrollbars have a fixed scrolling unit per unit of time and scrolling through a large document would take a prohibitive amount of time (if the document scrolls by 8 pixels every 10 milliseconds, scrolling through a document of size 1,048,576 pixels would take almost 20 minutes). This is also true for function keys like PageDown or PageUp, which, although faster, would require several minutes of constant scrolling.

Another solution to the problem would be to have an analog scrollbar, instead of a digital scrollbar. The analog scrollbar would allow moving the scrollbar on instances da inferior to 1. Although such scrollbars are practically feasible by analog circuits, it would not be easy to integrate them in today's digital computers. The problem would also remain that the user would have to move the scrollbar very small distances to be able to view all portions of a very large document. The distances may even be smaller than the resolution of the human motor control system, preventing any efficient navigation.

Spiral designs have been used previously for interacting with computers. For example, in U.S. Pat. No. 5,995,079 issued to Sheasby et al. on Nov. 30, 1999, the complete disclosure of which is herein incorporated by reference, discloses a spiral used to dynamically change a variable value, and whereby a linear scrollbar is used to show the current value. A second example of spiral designs is the technique of pie menus, which organize items in a circle. When there are many items, the problem of having too many items to display appears. Pie menus use a spiral scrolling technique, but there is no graphical spiral; the user just makes a circular motion around a point, which is interpreted as a command to rotate the menu items.

The limitation of traditional scrollbars comes from the fact that they are linear. Therefore, there is a need for a new and improved non-linear scrollbar, which overcomes the deficiencies of the conventional scrollbars, which allows for easy navigation through a document, and which can be easily integrated in current computer systems.

SUMMARY OF THE INVENTION

The invention provides a graphic user interface comprising a non-linear path region that corresponds to a list of items in a computer application; and a rotatable handle region that corresponds to a subset of the items in the list. The invention further comprises a display region that displays the subset and a handle manipulator for maneuvering the handle region. Moreover, the non-linear path region comprises a spiral configuration, a square configuration, or a rectangular configuration. Furthermore, each of the items in the list is represented by a fixed proportion of the path region and the handle region is proportional to a fixed proportion of the path region, wherein the fixed proportion is a fixed angle. Additionally, a length of the path region is directly proportional to an amount of items in the list.

In another embodiment, the invention provides a non-linear scrollbar comprising a non-linear trough that corresponds to a list of items in a computer application, a rotatable thumb that corresponds to an accessed portion of the list of items, and a partition region that corresponds to predetermined transitions between items in the list, wherein as the thumb rotates, the list of items rotate correspondingly. The non-linear scrollbar further comprises a handle manipulator for maneuvering the rotatable thumb. Moreover, the non-linear scrollbar comprises a spiral configuration, a square configuration, or a rectangular configuration. Furthermore, each of the items in the list are represented by a fixed proportion of the non-linear scrollbar and the rotatable thumb is proportional to a fixed proportion of the non-linear scrollbar, wherein the fixed proportion is a fixed angle. Also, the length of the non-linear scrollbar is directly proportional to an amount of items in the list and the list of items are arranged and displayed circumferentially around a perimeter of the non-linear scrollbar.

According to another embodiment of the invention, a method of manipulating data through a graphical user interface comprises corresponding a non-linear scrollbar to a list of items in a computer application, corresponding a rotatable region to an accessed portion of the list of items, and corresponding a partition region to predetermined transitions between items in the list. The method further comprises using a handle manipulator for maneuvering the rotatable region.

The present invention and the various features and advantageous details thereof are explained more fully with reference to the nonlimiting embodiments that are illustrated in the accompanying drawings and detailed in the following description. It should be noted that the features illustrated in the drawings are not necessarily drawn to scale. Descriptions of well-known components and processing techniques are omitted so as to not unnecessarily obscure the present invention. The examples used herein are intended merely to facilitate an understanding of ways in which the invention may be practiced and to further enable those of skill in the art to practice the invention. Accordingly, the examples should not be construed as limiting the scope of the invention.

As mentioned, the limitation of traditional scrollbars comes from the fact that they are linear. The essence of the invention is an improved scrollbar design that is non-linear and that can “roll” to accommodate the total length of the document. A preferred embodiment of the invention is a nonlinear spiral scrollbar as illustrated inFIGS. 2(a)-3. The scrollbar provided by the invention incorporates the feature that as the document size increases, the length of the scrollbar increases in the same proportion, and allows for easier control and viewing of documents, especially lengthy documents.

FIG. 2(a) shows an example of a spiral scrollbar according to an embodiment of the invention. The scrollbar20depicted shows an example of scrolling through a list of file names stored on a computer system directory. The inner side of the spiral22corresponds to the first saved files in alphabetical order, while the outer side of the spiral21corresponds to the last saved files. A first sector27of the spiral shows the current portion of the filelist that is displayed. A second sector29of the spiral shows the transitions between filenames letters, for instance when the first letter of the file name changes from “c” to “d”. In the example shown inFIG. 2(a), the items being viewed are names of files in a filelist displayed in a computer directory (e.g., names of saved files). Thus, the first sector27displays these filenames circumferentially around the scrollbar20. However, if a document is being viewed, for example a word processing document or a graphic image, then no display would be shown in the first sector27. As the user rotates the thumb26around the center25, which is positioned in the trough23of the scrollbar20, the file names in the first sector27rotate, hiding some file names at the bottom and showing new file names at the top, for instance. As in traditional scrollbars, the user can use arrow buttons28to scroll line by line if desired. When using the arrow buttons, the first sector26moves to show the current portion of the list that is displayed. Typically, the thumb26is moved by simply placing the mouse cursor (not shown) over the thumb26and moving it in a desired manner circumferentially. However, the thumb26may also be maneuvered by simply pushing a thumb manipulator24, which is graphically displayed simply as a line extending from the edge of the thumb26.

In a preferred embodiment, the invention operates by scrolling along a non-linear spiral path. However, alternative embodiments may include other configurations such as a square or rectangular configuration illustrated inFIGS. 2(b) and2(c) respectively, or any other non-linear configuration. An example of the invention in use is as follows. Suppose one had a file directory containing over 1,000 filenames. A conventional scrollbar1would linearly move from the first filename sequentially until it reached the last filename. In such a lengthy application, if a user were to manipulate the thumb10with a mouse, for example, in a click and drag fashion, then even a one pixel move on the computer screen12would result in jumping from, for example, the first filename all the way to perhaps the fiftieth filename. The only practical way to view a filename in between the first and fiftieth positions would be to use the up and down arrows2in a very methodical and slow manner. It is obvious that in a lengthy document, application, list of items, etc., such a mode of searching and retrieving is not efficient. Therefore, the scrollbar20according to the invention reduces the impracticality of searching lengthy documents, applications, lists of files, etc. as each transition from one filename to another is partitioned by the second sector29(in the example of a file directory), and the spiral scrollbar20allows for either slow or quick movement through the list of filenames depending on whether the thumb manipulator24is used toward the inner portion22(quick movement through the list of files) of the scrollbar20or toward the outer portion (i.e., near the first sector27) of the scrollbar20(slow movement through the list of files).

Unlike traditional linear scrollbars, the length of the spiral scrollbar is not fixed but depends directly upon the total number of files in the folder. Thus, if there are few files in the directory, the spiral will be shorter. On the contrary, if there are many files, the spiral will grow (and possibly get thinner) to accommodate the greater size of the information space.

For example, practically, each file is represented by a fixed angle, for instance by a sector of 1 degree. Thus, if 50 files are shown, the thumb26will then extend over 50 degrees. Whereas, if there are 1,000 files, the spiral20itself will roll over 1,000 degrees, that is it makes almost 3 turns around the center25of the scrollbar. This also has an advantage over linear scrollbars as it allows for more controlled movement of the thumb26as previously described.

Regardless of the number of items in the folder, a scrolling motion of any given amplitude will s result in the same number of files disappearing on one side and appearing on the other side. For instance, if the user makes one complete turn of the spiral, 360 files will appear/disappear if each file is represented by one degree. Similarly, 180 files will appear/disappear if each file is represented by two degrees, and so on. However, this is not true for linear scrollbars, where a given scrolling motion will result in the document scrolling an amount related to the document size. Thus, the spiral scrollbar20can increase the consistency of the user experience when scrolling. For example, as the user progresses in his/her use of the scrollbar20the user will learn to increase his/her precision (i.e., how quickly or slowly to move the thumb26) by using the thumb manipulator24either closer to the center25or further away.

The invention can be used for many purposes. For example, it has been shown that a major difference between a mouse and a stylus is that it is much easier to draw circles with a pen than with a mouse, and it is much easier to draw straight lines with a mouse than with a pen. The spiral scrolling technique is very well suited for pen-based computing. In fact, human ergonomics suggest as much.

As mentioned, spiral designs have been used previously for interacting with computers. For example, in U.S. Pat. No. 5,995,079 issued to Sheasby et al. on Nov. 30, 1999, the complete disclosure of which is herein incorporated by reference, discloses a spiral used to dynamically change a variable value, and whereby a linear scrollbar is used to show the current value. The present invention differs from this conventional method in that the invention does not change a variable but rather navigates through a given list of items. According to the invention, there is also a rigorous correspondence with the graphical spiral and the scrolling behavior, captured by the first sector in the spiral scrollbar.

A second example previously mentioned is the technique of pie menus, which organize items in a circle. When there are many items, the problem of having too many items to display appears. Pie menus use a spiral scrolling technique, but there is no graphical spiral; the user just makes a circular motion around a point, which is interpreted as a command to rotate the menu items. Conversely, the present invention is based on the explicit display of the spiral scrollbar, whose length is related to the number of items available, and a sector that shows which portion of the list is currently shown.

The invention essentially provides a graphic user interface20comprising a non-linear path region23that corresponds to a list of items in a computer application; and a rotatable handle region26that corresponds to a subset of the items in the list. The invention further comprises a display region27that displays the subset and a handle manipulator24for maneuvering the handle region26. Moreover, the non-linear path region23comprises a spiral configuration, a square configuration, or a rectangular configuration. Furthermore, each of the items in the list is represented by a fixed proportion of the path region23and the handle region26is proportional to a fixed proportion of the path region23, wherein the fixed proportion is a fixed angle. Additionally, a length of the path region23is directly proportional to an amount of items in the list.

In another embodiment, the invention provides a non-linear scrollbar20comprising a non-linear trough23that corresponds to a list of items in a computer application, a rotatable thumb26that corresponds to an accessed portion of the list of items, and a partition region29that corresponds to predetermined transitions between items in the list, wherein as the thumb26rotates, the list of items rotate correspondingly. The non-linear scrollbar further comprises a handle manipulator24for maneuvering the rotatable thumb26. Moreover, the non-linear scrollbar20comprises a spiral configuration, a square configuration, or a rectangular configuration. Furthermore, each of the items in the list is represented by a fixed proportion of the non-linear scrollbar20and the rotatable thumb26is proportional to a fixed proportion of the non-linear scrollbar20, wherein the fixed proportion is a fixed angle. Also, the length of the non-linear scrollbar20is directly proportional to an amount of items in the list and the list of items are arranged and displayed circumferentially around a perimeter of the non-linear scrollbar20.

According to another embodiment of the invention illustrated in the flow diagram ofFIG. 3, a method of manipulating data through a graphical user interface comprises corresponding300a non-linear scrollbar20to a list of items in a computer application, corresponding310a rotatable region26to an accessed portion of the list of items, and corresponding320a partition region29to predetermined transitions between items in the list. The method further comprises using330a handle manipulator24for maneuvering the rotatable region26.