Portable computing devices (PDs) are ubiquitous. These devices may include cellular telephones, portable digital assistants (PDAs), portable game consoles, palmtop computers, and other portable electronic devices. Many portable computing devices include a touch screen interface in which a user may interact with the device and input commands. Further, the touch screen interface may be used to display multiple items, e.g., application icons, thumbnails, tiles, or a combination thereof. Many displays include scrolling functionality as a way to navigate through the items and locate specific items. Oftentimes, the scrolling functionality may cumbersome and difficult to use.
Accordingly, what is needed is an improved method of scrolling items on a touchscreen user interface.
In the figures, like reference numerals refer to like parts throughout the various views unless otherwise indicated.
The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects.
In this description, the term “application” may also include files having executable content, such as: object code, scripts, byte code, markup language files, and patches. In addition, an “application” referred to herein, may also include files that are not executable in nature, such as documents that may need to be opened or other data files that need to be accessed.
The term “content” may also include files having executable content, such as: object code, scripts, byte code, markup language files, and patches. In addition, “content” referred to herein, may also include files that are not executable in nature, such as documents that may need to be opened or other data files that need to be accessed.
As used in this description, the terms “component,” “database,” “module,” “system,” and the like are intended to refer to a computer-related entity, either hardware, firmware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a computing device and the computing device may be a component. One or more components may reside within a process and/or thread of execution, and a component may be localized on one computer and/or distributed between two or more computers. In addition, these components may execute from various computer readable media having various data structures stored thereon. The components may communicate by way of local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems by way of the signal).
Referring initially to
In a particular aspect, as depicted in
Referring to
As illustrated in
As further illustrated in
As depicted in
In a particular aspect, one or more of the method steps described herein may be stored in the memory 344 as computer program instructions. These instructions may be executed by a processor 324, 326 in order to perform the methods described herein. Further, the processors 324, 326, the memory 344, the command management module 382, the display controller 328, the touch screen controller 330, or a combination thereof may serve as a means for executing one or more of the method steps described herein in order to control a virtual keyboard displayed at the display/touch screen 332.
Referring now to
Proceeding to decision 412, the command management module may determine whether a second scroll command is detected. If a second scroll command is not detected, the method 400 may proceed directly to decision 502 of
Continuing to decision 418, the command management module may determine whether an Nth scroll command is detected. If an Nth scroll command is not detected, the method 400 may proceed directly to decision 502 of
At decision 502, the command management module may determine whether an area of the display is selected. If an area is selected, the method 400 may proceed to block 504 and the user interface may scroll to the selected area. Thereafter, at block 506, the user interface may zoom in to the selected area. The method 400 may then end.
Returning to decision 502, if an area is not selected, the method 400 may proceed to block 508 and the scroll velocity may be reduced. Thereafter, at block 510, the user interface may zoom in one level. Moving to decision 512, the user interface, or a controller thereof, may determine whether a scroll velocity is reduced to zero. If the scroll velocity is zero, the method may end. Otherwise, if the scroll velocity is not reduced to zero, the method may return to block 508 and continue as described herein.
In another aspect, decision 512 may include a decision that determines whether a minimum zoom is reached. In such, a case, when a minimum zoom is reached, the method may end. Otherwise, the method may return to block 508 and continue as described herein.
Referring now to
Moving to decision 612, the command management module may determine whether a scroll command is detected. If a scroll command is not detected, the method 600 may continue to decision 702 of
At decision 702 of
At decision 708, the command management module may determine whether a scroll command is detected. If a scroll command is detected, the method 600 may proceed to block 710 and the user interface may scroll displayed items at a set scroll speed based on the selected zoom level. The method 600 may then proceed to decision 712 and continue as described herein. Returning to decision 708, if a scroll command is not detected, the method 600 may proceed directly to decision 712.
At decision 712, the command management module may determine whether an Nth zoom command is detected. If an Nth zoom command is detected, the method 600 may proceed to block 714 and the user interface may zoom to an Nth zoom level. Then, at block 716, the user interface may set a scroll speed based on the Nth zoom level. Thereafter, from block 716, the method 600 may proceed to decision 718 and continue as described herein. Returning to decision 712, if an Nth zoom command is not detected, the method 600 may proceed directly to decision 718.
At decision 718, the command management module may determine whether a scroll command is detected. If a scroll command is detected, the method 600 may proceed to block 720 and the user interface may scroll displayed items at a set scroll speed based on the selected zoom level. The method 600 may then proceed to decision 802 of
At decision 802 of
Returning to decision 802, if an area is not selected, the method 600 may proceed to block 808 and the user interface may continuously reduce the scroll velocity until a minimum scroll velocity is reached. Thereafter, at block 810, the user interface may continuously zoom in until a minimum zoom level is reached. The method 600 may then end.
Referring now to
As shown in
In a particular aspect, a first scroll speed may be associated with the first zoom level 910, a second scroll speed may be associated with the second zoom level 1010, and an Nth scroll speed may be associated with the Nth zoom level 1110. In a particular aspect, the more items displayed at the PCD 900, the faster the scroll speed may be. For example, as a user zooms from the first zoom level 910 to the second zoom level 1010, a scroll speed may transition, or change, from the first scroll speed to the second scroll speed. The second scroll speed may be faster than the first scroll speed. Further, as the user zooms from the second zoom level 1010 to the Nth zoom level 1110, the scroll speed may transition, or change, from the second scroll speed to the Nth scroll speed. The Nth scroll speed may be faster from the second scroll speed. As fewer items are displayed, e.g., the zoom level is zoomed in, the scroll speed may slow.
In another aspect, as a user changes scroll speeds, e.g., increases scroll speeds, the zoom level may change. For example, as the user scrolls from the first scroll speed to the second scroll speed, the zoom level may transition, or change, from the first zoom level 910 to the second zoom level 1010. More items may be displayed in the second zoom level 1010 than in the first zoom level 910. Further, as the user scrolls from the second scroll speed to the Nth scroll speed, the zoom level may transition, or change, from the second zoom level 1010 to the Nth zoom level 1110. More items may be displayed in the Nth zoom level 1110 than in the second zoom level 1010. As the scroll speed slows, fewer items may be displayed at the PCD 900.
It is to be understood that the method steps described herein need not necessarily be performed in the order as described. Further, words such as “thereafter,” “then,” “next,” etc. are not intended to limit the order of the steps. These words are simply used to guide the reader through the description of the method steps. Moreover, the methods described herein are described as executable on a portable computing device (PCD). The PCD may be a mobile telephone device, a portable digital assistant device, a smartbook computing device, a netbook computing device, a laptop computing device, a desktop computing device, or a combination thereof.
The methods disclosed herein provide ways to scroll through items displayed on a touch screen user interface. In one aspect, when a user scrolls through a group of items at a first scroll speed, the display can zoom to a first zoom level in which a plurality of items is displayed. When a user scrolls through the items at a second scroll speed, the display can zoom to a second zoom level in which another plurality of items is displayed. If the user scrolls faster, the display may zoom out and a greater number of items may be displayed. If the user scrolls slower, the display may zoom in and a lesser number of items may be displayed. If a user scrolls and does not increase or decrease the scrolls speed, the scroll speed may slowly reduce, as if by friction, to a minimum speed or until the scroll speed halts. As the scroll speed reduces, the display may zoom in and a number of items displayed may decrease.
In another aspect, as a user zooms out and more items are presented to a user, a scroll speed may be increased. Further, as a user continues to zoom out and even more items are presented, the scroll speed may continue to increase. Conversely, as a user zooms in and fewer items are presented to a user, a scroll speed may be decreased. If a user does not zoom in or out, the zoom may slowly zoom in to a minimum zoom level and the scroll speed may slowly reduce, as if by friction, to a minimum speed or until the scroll speed halts.
In one or more exemplary aspects, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a machine readable medium, i.e., a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that may be accessed by a computer. By way of example, and not limitation, such computer-readable media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to carry or store desired program code in the form of instructions or data structures and that may be accessed by a computer. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
Although selected aspects have been illustrated and described in detail, it will be understood that various substitutions and alterations may be made therein without departing from the spirit and scope of the present invention, as defined by the following claims.