Patent Publication Number: US-9411499-B2

Title: Jump to top/jump to bottom scroll widgets

Description:
CROSS-REFERENCE 
     This application is a continuation of U.S. application Ser. No. 13/090,034, filed Apr. 19, 2011, which is hereby in its entirety. 
    
    
     BACKGROUND 
     1. Technical Field 
     The field relates to operating systems and applications that allow scrolling, and more particularly to contextual widgets for jumping to the top or bottom of a screen. 
     2. Background 
     In computing, scrolling is the act of moving content up or down in a display screen. Scrolling may be performed by using a pointing device such as a mouse or a touch pad. Scrolling may also be performed directly on the screen of a touch screen device by “dragging” the content in the desired direction. This feature is common to devices such as smart phones. However, to reach the bottom of the content a user must either continuously press and hold a scroll down arrow key, or continuously drag the content until the bottom is reached. Likewise, to return to the top of the content a user must either continuously press and hold a scroll up arrow key, or continuously drag the content until the top is reached. 
     Similarly, in computing, zooming is the act of increasing or decreasing the magnification level of the content. Zooming in (increasing the magnification level) and zooming out (decreasing the magnification level) are performed in levels of magnification that requires tedious work on the part of the user. There is no was to instantly go to full magnification, or return the magnification level to zero. 
     BRIEF SUMMARY 
     In an embodiment, a method includes receiving an indication of a scroll action, which indicates a direction to scroll and a user&#39;s intent to scroll a significant distance. The direction and length of the scroll is evaluated. A scroll widget is then provided to be presented relative to a location of where the indication was received, thus allowing a user to jump to a top or an end of a content displayed at the location. 
     In another embodiment, a method includes receiving an indication of a scroll action, which indicates a direction to scroll and a user&#39;s intent to scroll a significant distance. The direction and length of the scroll are evaluated. A scroll widget is then displayed to be presented relative to a location of where the indication was received, thus allowing a user to jump to a top or an end of a content displayed at the location. 
     In yet another embodiment, a method includes receiving an indication of a zoom action, which indicates a magnification level and a user&#39;s intent to continuously adjust the magnification level. The direction and length of the zoom action are evaluated. Then a zoom widget is provided that are to be presented relative to a location of where the indication was received, wherein the zoom widget allows a user to completely zoom in or completely zoom out a content displayed at the location. 
     In yet another embodiment, a system includes an on-screen input receiver that receives an indication of a scroll action. A scroll/zoom accelerator, implemented with a computing device, evaluates the direction and length of the scroll action. The system then provides a scroll widget to be presented relative to a location of where the indication was received. The scroll widget allows a user to jump to a top or an end of a content displayed at the location. 
     Further embodiments, features, and advantages of the invention, as well as the structure and operation of the various embodiments of the invention are described in detail below with reference to accompanying drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
       Embodiments are described with reference to the accompanying drawings. In the drawings, like reference numbers may indicate identical or functionally similar elements. The drawing in which an element first appears is generally indicated by the left-most digit in the corresponding reference number. 
         FIG. 1A  illustrates an example scroll action in accordance with an embodiment; 
         FIG. 1B  illustrates an example presentation of scroll widgets in accordance with an embodiment; 
         FIG. 1C  illustrates an example zoom action in accordance with an embodiment; 
         FIG. 1D  illustrates an example presentation of zoom widgets in accordance with an embodiment; 
         FIG. 2  is a block diagram of exemplary system for providing or displaying widgets to accelerate scrolling or zooming on a screen according to an embodiment; 
         FIG. 3  is a flowchart of a method for providing scroll acceleration widgets in accordance with an embodiment; 
         FIG. 4  is a flowchart of a method for displaying scroll acceleration widgets in accordance with an embodiment; 
         FIG. 5  is a flowchart of a method for providing zoom acceleration widgets in accordance with an embodiment. 
     
    
    
     DETAILED DESCRIPTION 
     Embodiments refer to illustrations described herein with reference to particular applications. It should be understood that the invention is not limited to the embodiments. Those skilled in the art with access to the teachings provided herein will recognize additional modifications, applications, and embodiments within the scope thereof and additional fields in which the embodiments would be of significant utility. 
     In the detailed description of embodiments that follows, references to “one embodiment”, “an embodiment”, “an example embodiment”, etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described. 
     Many operations on touch devices are tedious, particularly those involving zooming in and out or scrolling long lists of items. These embodiments relate to accelerator widgets which are added contextually, revealing a jump to top button when users are scrolling quickly. A similar widget may be visible for zooming in and out, allowing easy jumping to full or zero magnification, or sized to fit. 
       FIG. 1A  illustrates an example scrolling action in accordance with an embodiment. Scroll indication  110  indicates a user&#39;s intent to scroll through content  120  in a downward direction. Scroll indication  110  may be made by a pointing device or through direct contact with a device screen. 
       FIG. 1B  illustrates the presentation of scroll widgets in accordance with an embodiment. Up scroll widget  130  and down scroll widget  140  are presented when an indication is received that the user is going to scroll a significant distance. This indication may be based on the number of pages scrolled, the speed at which pages are scrolled, the length of a page scrolled, the amount of time spent scrolling, or any other comparable threshold. Up scroll widget  130  allows a user to jump to the top of the content. Down scroll widget  140  allows a user to jump to the bottom of the content. Alternatively, though not shown, one widget may be presented that performs jumps either to the top or bottom of the content. 
       FIG. 1C  illustrates an example zoom action in accordance with an embodiment. Zoom indication  160  indicates a user&#39;s intent to zoom into or out of content  120 . Zoom indication  160  may be made by a pointing device or through direct contact with a device screen. 
       FIG. 1D  illustrates the presentation of zoom widgets in accordance with an embodiment. Zoom out widget  170  and size to fit widget  180  are presented when an indication is received that the user is continuously zooming. This indication may be based on the number of levels of magnification traversed, the amount of time spent zooming, of any other comparable threshold. Zoom out widget  170  allows a user to completely zoom out by instantly returning to a zero-magnification view of the displayed content. Size to fit widget  180  allows a user to completely zoom in on content  120  to a maximum level by instantly displaying the content at the maximum level of magnification. Alternatively, size to fit widget  180  may allow a user to zoom in to a specific part of content  120  such that the magnified content is sized to fit the display. In an embodiment, widgets  130 ,  140 ,  170 , and  180  may be transparent such that the underlying content may still be at least partially visible. 
       FIG. 2  is a block diagram of exemplary system  200  for providing or displaying widgets to accelerate scrolling or zooming on a screen according to an embodiment. System  200 , or any combination of its components, may be part of or may be implemented with a computing device. Examples of computing devices include, but are not limited to, a computer, workstation, distributed computing system, computer cluster, embedded system, stand-alone electronic device, networked device, mobile device (e.g. mobile phone, smart phone, navigation device, tablet or mobile computing device), rack server, set-top box, or other type of computer system having at least one processor and memory. Such a computing device may include software, firmware, hardware, or a combination thereof. Software may include one or more applications and an operating system. Hardware can include, but is not limited to, a processor, memory and user interface display. System  200  may include widget system  210  in communication with display device  220 . Widget system  210  may include an input system  212  and a scroll/zoom accelerator  214 . 
     Input system  212 , according to one embodiment, receives an indication of a scroll action that indicates the user intends to scroll a significant distance, or an indication that the user is zooming continuously, according to another embodiment. Scroll/zoom accelerator  214  may evaluate the direction and length of the scroll or zoom action, and provide or display the corresponding widget relative to where the indication was received on the screen. Widget system  210  may be implemented in an operating system or an application. When widget system  210  is implemented in the operating system, the widgets are provided to the application by widget system  210  for display on display device  220 . When widget system  210  is implemented in the application, widget system  210  directly displays the widgets on display device  220 . When widget system  210  detects that scrolling or zooming has stopped, widget system provides an indication to remove the widgets from the display, or in the case where widget system  210  is implemented in an application, the widget is removed from the display upon indication the scrolling or zooming has ceased. 
       FIG. 3  is a flowchart of a method  300  for providing scroll acceleration widgets  130  and  140  in accordance with an embodiment. In one embodiment, an indication of a scroll action is received at  310  (e.g., by input receiver  212 ). The scroll action indicates a direction to scroll and a user&#39;s intent to scroll a significant distance. At  320  the direction and a length of the scroll action are evaluated. At  330 , widget system  210  provides a scroll widget to be presented relative to a location of where the indication was received. The scroll widget allows a user to jump to a top or an end of a content displayed at the location. When widget system  210  detects that scrolling or zooming has ceased, widget system  210  provides an indication to remove the widgets  130  and  140  from the screen at  340 . In such a method, the widget system  210  may be implemented in the operating system. 
       FIG. 4  is a flowchart of a method  400  for displaying scroll acceleration widgets  130  and  140  in accordance with an embodiment. In another embodiment, an indication of a scroll action is received at  410  (e.g., by input receiver  212 ). The scroll action indicates a direction to scroll and a user&#39;s intent to scroll a significant distance. At  420  the direction and a length of the scroll action are evaluated. At  430 , widget system  210  displays a scroll widget to be presented relative to a location of where the indication was received. The scroll widget allows a user to jump to a top or an end of a content displayed at the location. When widget system  210  detects that scrolling or zooming has ceased, widget system  210  removes the widgets  130  and  140  from the screen at  440 . In such a method, the widget system  210  may be implemented in the an application. 
       FIG. 5  is a flowchart of a method  500  for providing zoom acceleration widgets  170  and  180  in accordance w&#39;th an embodiment. In an embodiment, an indication of a zoom action is received at  510  (e.g., by input receiver  212 ). The zoom action indicates a magnification level and a user&#39;s intent to continuously adjust the magnification level. The direction and a length of the zoom action are then evaluated at  520 . The widget system  210  then provides a zoom widget to be presented relative to a location of where the indication was received at  530 . The zoom widget allows a user to completely zoom in or completely zoom out a content displayed at the location. In addition, content may be sized to fit the screen via a zoom widget. 
     Aspects of the embodiments for exemplary system  200 , such as widget system  210 , input receiver  212 , scroll/zoom accelerator  214  and display device  220 , and/or methods  300 - 500  or any parts) or function(s) thereof may be implemented using hardware, software modules, firmware, tangible computer readable or computer usable storage media having instructions stored thereon, or a combination thereof and may be implemented in one or more computer systems or other processing systems. 
     Embodiments may be directed to computer products comprising software stored on any computer usable medium. Such software, when executed in one or more data processing device, causes a data processing device(s) to operate as described herein. 
     Embodiments may be implemented in hardware, software, firmware, or a combination thereof. Embodiments may be implemented via a set of programs running in parallel on multiple machines. 
     The summary and abstract sections may set forth one or more but not all exemplary embodiments of the present invention as contemplated by the inventor(s), and thus, are not intended to limit the present invention and the appended claims in any way. 
     Embodiments of the present invention have been described above with the aid of functional building blocks illustrating the implementation of specified functions and relationships thereof. The boundaries of these functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternate boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. The breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments. 
     The foregoing description of the specific embodiments will so fully reveal the general nature of the invention that others can, by applying knowledge within the skill of the art, readily modify and/or adapt for various applications such specific embodiments, without undue experimentation, without departing from the general concept of the present invention. Therefore, such adaptations and modifications are intended to be within the meaning and range of equivalents of the disclosed embodiments, based on the teaching and guidance presented herein. It is to be understood that the phraseology or terminology herein is for the purpose of description and not of limitation, such that the terminology or phraseology of the present specification is to be interpreted by the skilled artisan in light of the teachings and guidance.