Display Motion Multiplier
Navigating on a display includes tracking coordinate information of an input tool on a display and moving a visible portion of a page of information on the display a distance equal to a change in the coordinate information of the input tool multiplied by a multiplier.
Latest AOL LLC Patents:
This application is a continuation of U.S. patent application Ser. No. 10/307,324, filed on Dec. 2, 2002 and entitled “Display Motion Multiplier,” now allowed, which claims priority to U.S. Application Ser. No. 60/365,197, filed on Mar. 19, 2002 and entitled “Displaying Content on a Display in Column Format,” U.S. Application Ser. No. 60/365,161, filed on Mar. 19, 2002 and entitled “Control and Correction of Display Navigation,” U.S. Application Ser. No. 60/365,160, filed on Mar. 19, 2002 and entitled “Limited Display Device Page Scrolling,” and U.S. Application Ser. No. 60/368,988, filed on Apr. 2, 2002 and entitled “Animated Display,” all of which are herein incorporated by reference.
TECHNICAL FIELDThe following description relates generally to a viewing and navigation aid for displaying information on an electronic device having limited display capability.
BACKGROUNDWeb pages and other electronic documents generally are formatted for viewing and navigation in display windows of standard-sized or oversized displays, such as, for example, in a display window on a monitor for a desktop computer. The user of the computer can view the entire Web page on one screen display or can easily scroll a short distance to view other portions of the Web page. However, when content is displayed on an electronic device having a display window with smaller dimensions, such as, for example, the display window of a personal digital assistant (“PDA”) only a small portion of the Web page is displayed. This may render the document may be difficult to read.
SUMMARYIn one general aspect, navigating on a display includes tracking coordinate information of an input tool of a device having a display. The device is operable to move a page of information on the display in response to the coordinate information, and a visible portion of the page of information on the display is moved a distance equal to a change in the coordinate information of the input tool multiplied by a multiplier having a value other than one.
Implementations may include one or more following features. For example, the input tool may include a stylus, a mouse, or a finger. The display may include a touchscreen on which the input tool may be tracked. The touchscreen may include, for example, a resistive sensor, a capacitive sensor, an acoustic wave sensor, or an infrared sensor.
Tracking the coordinate information of the input tool may include tracking vertical coordinates and horizontal coordinates of the input tool, and moving the visible portion of the page of information on the display may include moving the page of information on the display a vertical distance equal to the change in the vertical coordinates multiplied by the multiplier and a horizontal distance equal to the change in the horizontal coordinates of the input tool multiplied by the multiplier. The multiplier may be defined by the user. The multiplier may be less than or greater than one. Different multipliers may be provided for horizontal and vertical movement.
The coordinate information may include pixel coordinates on the display, tracking may include tracking pixel coordinates of the position of the input tool on the display, and moving may include moving the page of information a distance equal to a change in the pixel coordinates of the input tool multiplied by the multiplier. Moving the page of information may include moving the page a distance equal to a change in the coordinate information of the input tool multiplied by a factor based on the acceleration or the velocity of the input tool.
In another general aspect, positioning a reference marker on a display with an input tool includes positioning an input tool on a display, determining a first coordinate position from the position of the input tool on the display, moving the reference marker to the first coordinate position, and tracking movement of the pointer device to a second coordinate position on the display. The reference marker on the display then is moved in a direction defining a vector pointing from the first coordinate position to the second coordinate position and a distance equal to the difference between the second coordinate position and the first coordinate position multiplied by a multiplier.
Implementations may include one or more of the features described above.
Implementations of the techniques described may include a method or process, an apparatus or system, or computer software on a computer-accessible medium. The techniques may be used in conjunction with devices such as, for example, PDAs, telephones, including wireless and web phones, handheld computers, monitors, games, and electronic books. The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description, the drawings, and the claims.
DESCRIPTION OF DRAWINGS
Like reference symbols in the various drawings indicate like elements.
DETAILED DESCRIPTIONPages coded according to hypertext markup language (“HTML”) are designed for display in display windows of different sizes. On smaller displays, a width of a display window often corresponds to a width of a display minus a width of a window frame and a width of a vertical scroll bar, and may be constrained to be no larger. On larger displays, the width of a display window may constitute a smaller portion of the entire width of the display. In some cases, a display window may constitute the entirety of the display (i.e., there may be no window frame or scroll bar). In other cases, the display window may be purposefully sized to be substantially smaller than the overall size of the display. For example, a user of a desktop system with a large display may open a small display window to view a particular page.
Typically, a page expands or shrinks to match the width of the display window.
The width of the columns may only be reduced until a minimum width for the page is reached.
In some cases, the display window is narrower than the width of a single column. For example,
Reformatting a page requires identification of the page topology fro the page format coding. As shown in
The topologies described above have some common features. For example, the headers usually do not contain long paragraphs of text. Thus, headers seldom need to be reformatted for the display window of the PDA viewing device. In the event that the header is wider than the display window, navigation through the header is not difficult for the user. Similarly, the colophon usually does not contain long paragraphs of text and may be easily navigated. Typically, the body or bodies are laid out in one or more columns. The columns can be constrained to the window width to enhance readability, as described with respect to
Referring to
The width of each logical column is less than or equal to the display window width. The logical columns may be produced by comparing the width of each column of the page to a width of the display window and establishing a new column width that does not exceed the display window width. Typically, the new column width is smaller than the original column width. However, in some implementations, a column that is narrower than the display window width may be widened to have a new width that does not exceed the display window width. The logical columns then are aligned for viewing on the display.
When the display is part of a client of a client/host architecture, the host may be notified of the display window size from information residing at the client or residing at the client. For example, the host may be notified upon establishment of a connection between the client and the host, at time intervals after establishing the connection between the client and the host, or after any change in the display window size. The host then may reformat the page based on the display window size prior to delivery to the client. Alternatively, the client may perform the reformatting.
Typically PDA navigation is performed by using scroll bars to move on or between pages of information on the display.
Referring to
Referring to
The number of navigation buttons can vary according to the number of logical columns. For example, if a page displayed in the window 700 has just one column, then the display includes one column navigation icon. If the page being displayed has two columns, then the display includes two column navigation icons. Depending upon the display limitations of the window, any number of icons can be displayed to correspond with the number of columns. When the element displayed in the window is one that has no logical column, such as, for example, a header or a colophon, the icons for the following or preceding logical columns may be displayed depending on the user's preference.
As the number of logical columns increases, the user has more options for jumping discretely between columns. This can cause the user to become disoriented concerning the position of the page relative to the display window, when may result in the user selecting an incorrect scrolling direction to view other parts of the page. For example, referring to
Referring to
Referring to
Animation on the display may include one or more animation effect. For example, animating the display (step 1115) may include slowly scrolling or shifting the display content to give the display an appearance of slow motion. In another implementation, animating the display (step 1115) includes illustrating a visible portion of the page of information moving continuously on the display from the first view to the second view. In a further implementation, animating the display (step 1115) includes drawing a line from the first view to the second view. In still a further implementation, animation (step 1115) includes displaying a reference marker moving from the first view to the second view. This may be done, for example, using a separate window or portion of the display. In one implementation, the user selects a velocity at which to change the viewable portion of the page from the first view to the second view. In another implementation, the user selects an acceleration at which to change the viewable portion of the page of information from the first view to the second view. The user also may select a constant or variable velocity or acceleration. For example, the user may select a variable velocity that begins scrolling the display slowly, picks up speed, and then slows down again as the displayed portion approaches the second view.
Referring to
Referring to
The user can define the sensitivity of the vertical alignment control. For example, the user may specify a horizontal motion threshold (i.e., the spacing between the bars 1400). If the threshold is not exceeded, any horizontal motion by the pen 1200 on the screen is ignored. If the threshold is exceeded, the displayed test moves left or right accordingly. In one implementation, the user can adjust the sensitivity of the horizontal motion by establishing a threshold for a parametric number of pixels. The two vertical bars 1400 represent the threshold of horizontal motion, measured as the parametric amount of pixels, which must be exceeded to scroll the display window 1205 left or right. The vertical alignment controls may be enabled or disabled by the user.
Referring to
A similar horizontal alignment also may be provided. Such a control may be used to limit vertical movement when scrolling horizontally in, for example, a spreadsheet application.
Referring to
The method 1500 may include separating the user motion of the input tool into a horizontal component and a vertical component. The horizontal component may be compared to the threshold to constrain horizontal motion of the page 1210 in the display window 1205 if the horizontal component does not exceed the threshold. Vertical motion may be left unconstrained, or may be compared to the same or a different threshold. In other implementations, only vertical motion may be constrained.
Referring to
Typical desktop computers can associate movement of the operating system cursor with movement of the pointing device. In these systems, the cursor is both a software variable to detect user intentions and a graphic representation to provide the user with the location of the cursor. On a PDA, however, the cursor is not displayed on the screen because the tip of the pen already defines the location of the cursor. This location is forwarded to the application software by the operating system.
The operating system uses drivers that convert the movement or the position of the pointing device, which may be expressed in centimeters, to the movement of the cursor, which may be expressed in pixels. PDAs usually follow a paradigm inherited from the desktop computer, in that movement between the cursor is equivalent to movement of the document. Thus, the page scrolls an amount equal to the distance of the pen movement. For example, when the cursor moves 10 pixels, the document scrolls 10 pixels.
On a PDA or other device with a small display, scrolling the width or length of the display area provides viewing of only a small amount of document data. The user often must repeat the scrolling operation until the desired text comes into view.
A scrolling multiplier allows the user to specify movement of the document on the display as a multiplier or percentage of the physical movement of the stylus on the display. For example, referring to
As shown in
An additional benefit is the enhancement in the perceived responsiveness and scroll speed capability of the application software. Since with the same action there is additional scrolling, the scrolling action appears to occur at a higher velocity. Stated more simply, the motion of the document si perceived to be zippy instead of sluggish. In another implementation, the user may set the multiplier based on the speed or acceleration of the pointing device. For example, a higher stylus velocity translates into a higher multiplier to generate the appropriate number of pixels to move the cursor. In yet another implementation, different multipliers may be used for horizontal and vertical movement.
For illustrative purposes,
Referring to
The client device 1820 (or the host device 1830) is generally capable of executing instructions under the command of a client controller 1825 (or a host controller 1835) and is capable of processing instructions or queries from the hosts system 1810. For example, the host system 1810 may query the client system 1805 as to display size of the PDA device. The query may occur when the client 1805 and the host 1810 are connected or at periodic time intervals. The client device 1820 (or the host device 1830) is connected to the client controller 1825 (or the host controller 1835) by a wired or wireless data pathway 1840 or 1845 capable of delivering data.
Each of the client device 1820, the client controller 1825, the host device 1830, and the host controller 1835 typically includes one or more hardware components and/or software components. An example of a client device 1820 or a host device 1830 is a general-purpose computer (e.g., a personal computer) capable of responding to and executing instructions in a defined manner. Other examples include a special-purpose computer, a workstation, a server, a device, a component, other physical or virtual equipment or some combination thereof capable of responding to and executing instructions. Often, the client device 1820 is implemented as a PDA or a mobile telephone.
An example of client controller 1825 or a host controller 1835 is a software application loaded on the client device 1820 or the host device 1830 for commanding and directing communications enabled by the client device 1820 or the host device 1830. Other examples include a program, a piece of code, an instruction, a device, a computer, a computer system, or a combination thereof, for independently or collectively instructing the client device 1820 or the host device 1830 to interact and operate as described. The client controller 1825 and the host controller 1835 may be embodied permanently or temporarily in any type of machine, component, physical or virtual equipment, storage medium, or propagated signal capable of providing instructions to the client device 1820 or the host device 1830.
The communications link 1815 typically includes a delivery network 1850 making a direct or indirect communication between the client system 1805 and the host system 1810, irrespective of physical separation. Examples of a delivery network 1850 include the Internet, the World Wide Web, WANs, LANs, analog or digital wired and wireless telephone networks (e.g., PSTN, ISDN, and xDSL), radio, television, cable, satellite, and/or any other delivery mechanism for carrying data. The communications link 1850 may include communication pathways 1855, 1860 that enable communications through the one or more delivery networks 1850 described above. Each of the communication pathways 1855, 1860 may include, for example, a wired, wireless, cable or satellite communication pathway.
The described processes and techniques may be performed by a browser running on the client system 1805 (e.g., a PDA). The process and techniques also may be performed at a host or other remote device (e.g., a server) through which a web page is passed or from which a web page is received. The processes and techniques may be applied both to large displays and to small displays, to display windows that occupy varying portions of a display, and to full screen displays.
A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made. Accordingly, other implementation are within the scope of the following claims.
Claims
1. A method of navigating on a display, the method comprising:
- superimposing a viewing window on a page of information, wherein: the page of information is larger than the viewing window, and the viewing window includes a screen real estate that reveals a subset of information on the page of information;
- tracking coordinate information of an input tool outside the viewing window;
- identifying a change in the coordinate information of the input tool;
- receiving a single multiplier defined by a user; and
- moving the viewing window relative to the page of information by a distance equal to the change in the coordinate information of the input tool multiplied by the single multiplier having a value other than one.
2. The method of claim 1 wherein the input tool includes a stylus and the viewing window includes a touchscreen such that tracking the coordinate information of the input tool includes tracking the coordinate information of the stylus while used to touch and drag the touchscreen.
3. The method of claim 1 wherein the input tool includes a mouse such that tracking the coordinate information of the input tool includes tracking the coordinate information of the mouse.
4. The method of claim 1 wherein the input tool is a finger such that tracking the coordinate information of the input tool includes tracking the coordinate information of the finger.
5. The method of claim 1 wherein the input tool is a wireless device such that tracking the coordinate information of the input tool includes tracking the coordinate information of the wireless device.
6. The method of claim 5 wherein the wireless device is a wireless mouse such that tracking the coordinate information of the input tool includes tracking the coordinate information of the wireless mouse.
7. The method of claim 1 wherein:
- tracking the coordinate information of the input tool includes tracking vertical coordinates of the input tool; and
- moving the viewing window relative to the page of information includes multiplying the change in the coordinate information of the input tool by a vertical multiplier having value other than one or zero to determine a vertical movement amount of the viewing window.
8. The method of claim 7 wherein:
- tracking the coordinate information of the input tool includes tracking horizontal coordinates of the input tool; and
- multiplying the change in the coordinate information of the input tool by the multiplier includes multiplying the change in the coordinate information of the input tool by a horizontal multiplier having value other than one or zero to determine a horizontal movement amount of the viewing window.
9. The method of claim 1 wherein:
- tracking the coordinate information of the input tool includes tracking horizontal coordinates of the input tool; and
- multiplying the change in the coordinate information of the input tool by the multiplier includes multiplying the change in the coordinate information of the input tool by a horizontal multiplier having value other than one or zero to determine a horizontal movement amount of the viewing window.
10. The method of claim 1 further comprising defining the multiplier in response to an input from the user.
11. The method of claim 1 further comprising receiving the multiplier directly from the user.
12. The method of claim 1 wherein the multiplier is less than one such that moving the viewing window relative to the page of information by the determined movement amount includes moving the viewing window relative to the page of information a distance less than the change in the coordinate information of the input tool.
13. The method of claim 1 wherein the multiplier is greater than one such that moving the viewing window relative to the page of information by the determined movement amount includes moving the viewing window relative to the page of information a distance greater than the change in the coordinate information of the input tool.
14. The method of claim 1 wherein:
- the coordinate information includes pixel coordinates on the viewing window;
- tracking the coordinate information of the input tool includes tracking the pixel coordinates of the position of the input tool on the viewing window; and
- moving the viewing window relative to the page of information includes moving the viewing window relative to the page of information a distance equal to a change in the pixel coordinates of the input tool multiplied by the multiplier.
15. The method of claim 1 further comprising defining the multiplier based on an acceleration of the input tool, such that the movement amount of the viewing window is affected by the acceleration of the input tool.
16. The method of claim 1 further comprising defining the multiplier based on a velocity of the input tool, such that the movement amount of the viewing window is affected by the velocity of the input tool.
17. The method of claim 1 wherein the page of information includes a HTML page of information.
18. The method of claim 1 further comprising enabling the user to touch and drag the viewing window relative to the page of information in all directions via the input tool.
19. The method of claim 18 wherein enabling the user to touch and drag the viewing window includes enabling the user to position the input tool on any portion within the screen real estate of the viewing window and drag the screen real estate in horizontal, vertical, diagonal and other directions.
20. A method of navigating on a display, the method comprising:
- storing a single multiplier directly defined by a user and used in generating an amount of movement to be imparted upon an object that is displayed in a display based upon an amount of movement experienced by an input tool outside of the display;
- monitoring information relating to a location of the input tool;
- identifying a change in the location of the input tool based on the monitored information;
- accessing the stored single multiplier;
- generating an amount of movement to be imparted upon the object based on an operation involving the accessed single multiplier and the identified change in location of the input tool; and
- moving the object relative to the display by the generated amount of movement.
21. The method of claim 20 wherein the object includes a viewing window superimposed on a page of information.
22. The method of claim 21 wherein:
- the page of information is larger than the viewing window, and
- the viewing window includes a screen real estate that reveals a subset of information on the page of information.
23. The method of claim 22 wherein moving the object includes moving the viewing window relative to the page of information by a distance equal to the change in the coordinate information of the input tool multiplied by the single multiplier having a value other than one.
24. The method of claim 20 wherein the object includes a page of information located beneath the display.
25. The method of claim 24 wherein:
- the page of information is larger than the display; and
- the display includes a screen real estate that reveals a subset of information on the page of information.
26. The method of claim 25 wherein moving the object includes moving the page of information relative to the display by a distance equal to the change in the coordinate information of the input tool multiplied by the single multiplier having a value other than one.
27. The method of claim 20 wherein the input tool includes a stylus and the display includes a touchscreen such that the monitoring information relating to the location of the input tool includes monitoring information relating to the location of the stylus while used to touch and drag the touchscreen.
28. The method of claim 20 wherein the input tool includes a mouse such that monitoring information relating to the location of the input tool includes monitoring information relating to the location of the mouse.
29. The method of claim 20 wherein the input tool is a finger such that monitoring information relating to the location of the input tool includes monitoring information relating to the location of the finger.
30. The method of claim 20 wherein the input tool is a wireless device such that monitoring information relating to the location of the input tool includes monitoring information relating to the location of the wireless device.
31. A method of navigating on a display, the method comprising:
- superimposing a viewing window on a page of information, wherein: the page of information is larger than the viewing window, and the viewing window includes a screen real estate that reveals a subset of information of the page of information;
- tracking coordinate information of an input tool outside the viewing window;
- identifying a change in the coordinate information of the input tool; and
- moving the viewing window relative to the page of information by a distance equal to a change in the coordinate information of the input tool multiplied by a factor based on acceleration of the input tool.
32. The method of claim 31 wherein the input tool includes a stylus and the viewing window includes a touchscreen such that tracking includes tracking coordinate information of the stylus on the touchscreen.
33. The method of claim 31 wherein:
- tracking the coordinate information of the input tool includes tracking vertical coordinates of the input tool; and
- moving the viewing window relative to the page of information includes moving the page of information on the display a vertical distance equal to a change in the vertical coordinates multiplied by a factor based on a vertical acceleration of the input tool.
34. The method of claim 33 wherein:
- tracking the coordinate information of the input tool includes tracking horizontal coordinates of the input tool; and
- moving the viewing window relative to the page of information includes moving the page of information on the display a horizontal distance equal to a change in the horizontal coordinates multiplied by a factor based on a horizontal acceleration of the input tool.
35. The method of claim 31 wherein:
- tracking the coordinate information of the input tool includes tracking horizontal coordinates of the input tool; and
- moving the viewing windows relative to the page of information includes moving the page of information on the display a horizontal distance equal to a change in the horizontal coordinates multiplied by a horizontal multiplier having a value other than zero or one, wherein the horizontal multiplier is based on the acceleration of the input tool.
36. A computer system, comprising:
- means for superimposing a viewing window on a page of information, wherein: the page of information is larger than the viewing window, and the viewing window includes a screen real estate that reveals a subset of information on the page of information;
- means for tracking coordinate information of an input tool outside the viewing window;
- means for identifying a change in the coordinate information of the input tool;
- means for receiving a single multiplier defined by a user; and
- means for moving the viewing window relative to the page of information by a distance equal to the change in the coordinate information of the input tool multiplied by the single multiplier having a value other than one.
37. A computer system, comprising:
- means for storing a single multiplier directly defined by a user and used in generating an amount of movement to be imparted upon an object that is displayed in a display based upon an amount of movement experienced by an input tool outside of the display;
- means for monitoring information relating to a location of the input tool;
- means for identifying a change in the location of the input tool based on the monitored information;
- means for accessing the stored single multiplier;
- means for generating an amount of movement to be imparted upon the object based on an operation involving the accessed single multiplier and the identified change in location of the input tool; and
- means for moving the object relative to the display by the generated amount of movement;
38. A computer system, comprising:
- means for superimposing a viewing window on a page of information, wherein: the page of information is larger than the viewing window, and the viewing window includes a screen real estate that reveals a subset of information on the page of information;
- means for tracking coordinate information of an input tool outside the viewing window;
- means for identifying a change in the coordinate information of the input tool; and
- means for moving the viewing window relative to the page of information by a distance equal to a change in the coordinate information of the input tool multiplied by a factor based on acceleration of the input tool.
Type: Application
Filed: Jul 30, 2007
Publication Date: Feb 7, 2008
Applicant: AOL LLC (Dulles, VA)
Inventor: Luigi Lira (Costa Mesa, CA)
Application Number: 11/830,566
International Classification: G06F 3/041 (20060101);