WO2003081458A1 - Controlling content display - Google Patents

Controlling content display Download PDF

Info

Publication number
WO2003081458A1
WO2003081458A1 PCT/US2003/008400 US0308400W WO03081458A1 WO 2003081458 A1 WO2003081458 A1 WO 2003081458A1 US 0308400 W US0308400 W US 0308400W WO 03081458 A1 WO03081458 A1 WO 03081458A1
Authority
WO
WIPO (PCT)
Prior art keywords
display
information
page
view
column
Prior art date
Application number
PCT/US2003/008400
Other languages
French (fr)
Inventor
Luigi Lira
Original Assignee
America Online, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/307,324 external-priority patent/US7250939B2/en
Application filed by America Online, Inc. filed Critical America Online, Inc.
Priority to AU2003220400A priority Critical patent/AU2003220400A1/en
Publication of WO2003081458A1 publication Critical patent/WO2003081458A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents

Definitions

  • the following description relates generally to a viewing and navigation aid for displaying information on an electronic device having limited display capability.
  • Web 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.
  • display window with smaller dimensions, such as, for example, the display window of a personal digital assistant ("PDA")
  • PDA personal digital assistant
  • a document served to a device having a small display or a small display window can be reformatted such that the width of the document is divided into columns, with each column being displayable across the entirety of the small display or display window.
  • the width of the small display or display window is used to display less than all of the width of the document.
  • the columns may be defined based on the content within the document, as long as the column width does not exceed the width of the small display or display window.
  • HTML hypertext markup language
  • viewing an electronic document in a display window of a display includes detecting a layout of an electronic document and comparing the layout of the electronic document to a width of the display window ⁇ The electronic document then is reformatted into at least two columns, with each of the columns having a width that does not exceed the width of the display window.
  • detecting the layout of the electronic document may include detecting logical columns of the electronic document, .and reformatting the electronic document may include reformatting each logical column to have a width that does not exceed the width of the display window.
  • Detecting the layout of the electronic document also may include identifying a format code of the electronic document, such as a HTML format code (e.g., a header tag, a body tag, or a table tag).
  • a format code of the electronic document such as a HTML format code (e.g., a header tag, a body tag, or a table tag).
  • Reformatting the electromc document into at least two columns may further include aligning the columns for viewing in the display window.
  • the display may be part of a client of a client/host architecture, and comparing the layout may further include notifying a host of the display window size from information residing at the client.
  • a connection may be established between the client .and the host.
  • Notifying the host may include notifying the host once upon establishment of a connection between the client and the host.
  • the electronic document may be coded in hypertext markup language ("HTML"). Reformatting the electronic document may include recoding the electronic document in a language other than HTML.
  • HTML hypertext markup language
  • the columns may be displayed on the display of an electronic device.
  • the electronic device may be connected to the Internet, and may be, for example, a personal digital assistant, a mobile phone, an Internet-enabled television set-top box, or a computer of a small physical size for portability relative to a desktop computer and having a display size smaller than that of a desktop computer.
  • navigating on a display includes tracking motion of an input tool on a display, comparing the motion of the input tool to a threshold, changing the position of the visible portion of a page of information on the display if the motion exceeds the threshold, and constraining the position of the visible portion of the page of information on the display if the motion does not exceed the threshold.
  • Implementations may include one or more of the following features and one or more of the features noted above.
  • the input tool may be a pen stylus or a finger, and tracking motion of the input tool may include tracking the pen or finger on the display surface.
  • the display may include a touch screen and tracking motion of the input tool may include tracking motion of the input tool on the touch screen.
  • the touch screen may include, for example, a resistive sensor, a capacitive sensor, an acoustic wave sensor, or an infrared sensor.
  • the touch screen may include a sensor activated by a touch activation force by the input tool on the display.
  • the motion may be separated into a horizontal component and a vertical component relative to the display, the horizontal component may be compared to the threshold, and horizontal movement of the visible portion of the page of information on the display may be constrained if the horizontal component does not exceed the threshold.
  • Vertical motion may be left uncompared and unconstrained or comparing the motion also may include comparing the vertical component and constraining the vertical movement of the visible portion of the page of information on the display.
  • Comparing the motion of the input tool to the threshold may include comparing the motion of the input tool to a user-defined threshold or to a system-defined threshold.
  • the page of information may include columns of information, and constraining the position of the page of information on the display may include constraining the position of the columns of information on the display or constraining the horizontal position of a column of information on the display.
  • the columns of information may include logical columns, .and constraining may include constraining the horizontal position of a logical column on the display.
  • navigating on a display includes moving a stylus on a display to cause the display to change the viewable portion of the page of information on the display from a first page view to a second page view, tracking the motion of the stylus on the display, comparing a horizontal motion of the stylus on the display to a threshold, maintaining the viewable portion of the page of information at the first page view if the horizontal motion does not exceed the threshold, and positioning the viewable portion of the page of information at the second page view if the horizontal motion exceeds the threshold.
  • navigating on a display includes tracking a motion of a stylus in contact with a display surface of a device that is operable to change a position of a visible portion of a page of information on the display from a first page position to a second page position in response to the motion of the stylus.
  • a horizontal or vertical component of the motion of the stylus on the display surface is compared to a threshold, and the visible portion of the page of information on the display is repositioned to a horizontal or vertical position corresponding to the first page position after the pen stylus is removed from the display surface if the horizontal or vertical component does not exceed the threshold.
  • 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 and one or more of the features described above.
  • 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.
  • 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.
  • navigating on a display includes providing a navigation control operable to change a viewable portion of a page of information on a display from a first view to a second view.
  • the display is animated to create an appearance of motion as the viewable portion of the page of information changes from the first view to the second view in response to operation of the navigation control.
  • Implementations may include one or more of the following features and one or more of the features described above.
  • the navigation control may include a screen icon that changes the display from the first view to the second view.
  • a first screen icon may correspond to the first view and a second screen icon may correspond to the second view.
  • the first view may include a first discrete area of the page of information and the second view may include a second discrete area of the page of information. Actuation of the first screen icon may position the viewable portion of the page of information to view the first discrete area and actuation of the second screen icon may position the viewable portion of the page of information to view the second discrete area.
  • the page of information may include more than one column of information. Actuating a screen icon that corresponds to a column of information may result in showing the corresponding column of information on the display. Animating the display may include shifting the viewable portion of the page of information on the display in a horizontal direction.
  • Reformatting may include reformatting the page of information into more than one logical column with each logical column having a corresponding screen icon. Operation of the navigation control may include actuating the screen icon to view the corresponding logical column.
  • the navigation control may include a mouse, a stylus, a touchscreen, or voice control.
  • Animating the display may include slowly scrolling the display to give the display an appearance of slow motion, illustrating a visible portion of the page of information moving continuously on the display from the first view to the second view, drawing a line from the first view to the second view, gradually shifting content on the page of information from the first view to the second view, or opening a window on the display that shows a reference marker moving from the first view to the second view.
  • the page of information may include a Web page coded in HTML.
  • the animation may be defined by a user control.
  • the user-defined control may allow selection of a time interval to change the viewable portion of the page of information from the first view to the second view, selection of a constant velocity at which to change the viewable portion of the page of information from the first view to the second view, or selection of an acceleration at which to change the viewable portion of the page from the first view to the second view.
  • the velocity or the acceleration may be variable or constant during the change in the viewable portion of the page from the first view to the second view.
  • 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.
  • devices such as, for example, PDAs, telephones, including wireless and web phones, handheld computers, monitors, games, and electronic books.
  • Figs. 1A-1D are screen shots of a page on display windows of varying dimensions.
  • Fig. 2 illustrates a display window superimposed onto a page.
  • Fig. 3 illustrates a display window superimposed onto a column of information from a page.
  • Figs. 4A and 4B illustrates reformatting of a page.
  • Fig. 5 is a flow chart of a method of reformatting a page.
  • Fig. 6 illustrates a display window and pen stylus superimposed onto a page.
  • Fig. 7 illustrates a display window with navigation buttons.
  • Figs. 8A-8C illustrate display windows superimposed onto a page.
  • Figs. 9 and 10 each illustrate a display window superimposed onto a page.
  • Fig. 11 is a flow chart of a method of navigating on a display window.
  • Figs. 12, 13, 14A and 14B each illustrate a display window superimposed onto a page.
  • Fig. 15 is a flow chart of a method of constraining the scrolling of information on a display window.
  • Fig. 16 illustrates a display window superimposed onto a page.
  • Figs. 17A and 17B each illustrate a display window and a stylus.
  • Fig. 18 is a block diagram of a computer and communications system.
  • 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.
  • the width of a display window may constitute a smaller portion of the entire width of the display.
  • a display window may constitute the entirety of the display (i.e., there may be no window frame or scroll bar).
  • the display window may be purposefully sized to be substantially smaller than the overall size of the display.
  • a user of a desktop system with a large display may open a small display window to view a particular page.
  • a page expands or shrinks to match the width of the display window.
  • Fig. 1 A illustrates a page 100 in a wide display window 105 having a window frame 106 and a scroll bar 107.
  • the display window 105 may be, for example, the window that would be displayed on the monitor of a desktop computer.
  • the page 100 expands to fit the window width 108.
  • Fig. IB shows the page 100 on a device having a smaller display window 110.
  • the page width is reduced to fit the width of the display window 110 by reducing the width of columns 115, 120 and 125 presented in the display window 100 relative to the width of corresponding columns 130, 135 and 140 in the display window 105.
  • the center column 120 in the display window 110 is substantially narrower than the corresponding center column 135 in the display window 105.
  • Fig. IC shows the page 100 in a display window 145 that is narrower than the established minimum width of the page 100 such that the page 100 exceeds the bounds of the display window 145 and only a portion of the page 100 is displayed by display window 145. As shown, the entire width of the center column 150 is displayed, while only portions of the left column 155 and the right column 160 are displayed.
  • the display window 145 also includes a horizontal scroll bar 165 and a vertical scroll bar 170 for use in selecting and viewing the columns and the portions thereof that are displayed.
  • the display window is narrower than the width of a single column.
  • Fig. ID shows the page 100 in a display window 175 of a portable electronic device, such as, for example, an Internet-enabled cellular telephone.
  • a portable electronic device such as, for example, an Internet-enabled cellular telephone.
  • a scroll bar 185 the user must scroll back and forth horizontally, using, for example, a scroll bar 185, to read each line of text.
  • Fig. 2 illustrates a display window 200 superimposed onto the page 100.
  • the display window 200 is representative of the display of, for example, a PDA. Since the page and column are each larger than the display window 200, the user must scroll back and forth to read each line of text.
  • PDA browsers may use various reformatting methods to enhance the readability of the page. Reformatting may include scaling down images, text size, and other page components.
  • Fig. 3 shows the page 100 reformatted as a single column 300.
  • the columns of the page 100 are stacked to form the single column 300
  • the width of the column 300 is limited to the width of the display window 200
  • word wrapping is used to provide continuity/readability.
  • the display window 200 stays centered on the column as the user scrolls down the page to read the text.
  • Figs. 4A and 4B show that a page 400 (Fig. 4A) having elements 402, 404, 406 and 408 of differing widths and sized to fit a wide window width 410 may be reformatted as a page 415 (Fig. 4B) having elements 417, 419, 421 and 423 with widths corresponding to the width 425 of a narrow display (e.g., a PDA display).
  • the elements 417, 419, 421 and 423 are readable columns of information that each fit within the width 425 of the display window or can be reduced to a width that does not exceed the width of the display window 425.
  • the elements 417, 419, 421 and 423 are aligned to correspond with the topology of the page 400.
  • the user can view various portions of the page 415 with a better sense of the orientation of the content on the page 415 and can navigate on the page 415 more easily.
  • Each column of text can be read without requiring the user to scroll back and forth horizontally. Instead, the user scrolls down as if reading a newspaper column.
  • a common HTML page topology includes a header 430 with no logical columns, a body including one or more logical column elements 402, 404, 406 and 408, and a colophon 435 with no logical columns.
  • Other variations of this topology include a header, a first body having N columns, another header, a second body having M columns, with M being the same as or different from N, and a colophon; a header, multiple bodies, and a colophon; a header, a body, and no colophon; no header, a body, and no colophon; or a header, no body, and no colophon.
  • 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.
  • the colophon usually does not contain long paragraphs of text and may be easily navigated.
  • 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 Figs. 3, 4A and 4B. Based on these topologies, most HTML pages are readily reformatted into constrained sets of logical columns, with no column exceeding the display width. Referring to Fig.
  • a process 500 for enabling viewing of a page on a display includes detecting the page layout (step 505), comparing the layout to the dimensions of the display window (step 510), and reformatting the page into aligned columns that are viewable on the display (step 515).
  • the page layout is detected (step 505) by separating the layout of the page into components and then analyzing those components.
  • the page coding may be identified to recognize formatting codes. For example, HTML code includes identifiable header, body, or table tags. Once the HTML tags are identified, the page may be recoded in a language other than HTML for easier viewing on the small display window.
  • 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.
  • the new column width is smaller than the original column width.
  • 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.
  • 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.
  • the client may perform the reformatting.
  • PDA navigation is performed by using scroll bars to move on or between pages of information on the display.
  • another common PDA navigation feature is the capability to scroll the display window by placing a stylus 600 on the display window 605 and then dragging the stylus 600.
  • Such "touch-and-drag" scrolling can result in information 610 that is positioned in the display window 605 but is difficult to view or read since the user may inadvertently navigate to a position where only a portion of a column or an image is visible in the PDA display window 605.
  • a display window 700 includes small icons 705, 710, and 715 that represent navigation buttons.
  • Each of navigation buttons 705, 710 and 715 represents a logical column of the page currently being viewed.
  • the navigation buttons 705, 710 and 715 provide the user with a graphical representation of the number of logical columns 700 available on the page.
  • the navigation buttons correspond to columns of predetermined absolute or relative position within the page (e.g., leftmost column, rightmost column, left adjacent column, right adjacent column or center column).
  • Each button also is used to properly position the display window 700 on the corresponding column of text when the user selects the icon. For example, referring to the tri-column display of Fig.
  • the window 700 when the user selects the left-most navigation button 705, the window 700 is positioned on the left-most or first logical column 805 of a page 800.
  • the window 700 when the user selects the central navigation button 710, the window 700 is positioned on the second logical column 810 of the page 800.
  • the window 700 when the user selects the right-most navigation button 715, the window 700 is positioned on the third or right logical column 815 of the page 800.
  • 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.
  • any number of icons can be displayed to correspond with the number of columns.
  • 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.
  • 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, which may result in the user selecting an incorrect scrolling direction to view other parts of the page.
  • the user may begin viewing a page 900 by selecting a first column 905 of columns 905, 910 and 915 for display in the window 920. The user then may decide to jump to the third text column 915 to view the information in that column. Subsequently, the user may decide to return to the previously viewed first column 905. However, since the appearance of the display window 920 changed instantaneously when the used jumped discretely between the text columns 905 and 915, the user may not recall the position of the previously- viewed text column relative to the currently-displayed column.
  • animation effects 925 are provided to give the user a better sense of direction and position.
  • the animation effects add a sense of motion to the content being displayed.
  • the user actuates a navigation button 930 to move to a new location on the page 900
  • the user sees the page 900 slowly scrolling across the display window, as represented by the series of arrows 935 in Fig. 10, until the new location is centered on the display window 920.
  • Animation also may be provided in response to a stylus or finger used on a display window with a touchscreen.
  • the touchscreen may include, for example, a resistive sensor, a capacitive sensor, an acoustic wave sensor, or an infrared sensor.
  • a procedure 1100 for supporting navigation on a display includes providing a navigation control operable to change a viewable portion of a page of information on a display from a first view to a second view (step 1105), permitting operation of the navigation control to change the display from the first view to the second view (step 1110), and animating the display to create an appearance of motion as the viewable portion of the page of information changes from the first view to the second view (step 1115).
  • Operation of the navigation control may include operation of a device such as a mouse or trackball, use of a stylus, or use of a voice command.
  • Animation on the display may include one or more animation effect.
  • animating the display may include slowly scrolling or shifting the display content to give the display an appearance of slow motion
  • animating the display includes illustrating a visible portion of the page of information moving continuously on the display from the first view to the second view.
  • animating the display includes drawing a line from the first view to the second view.
  • animation 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.
  • the user selects a velocity at which to change the viewable portion of the page from the first view to the second view.
  • 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.
  • a stylus 1200 on a stylus-based PDA, the user can use a stylus 1200 to scroll a display window 1205 vertically down a page 1210 in order to read a column 1215, 1220 or 1225 of text of the page 1205.
  • vertical touch-and-drag scrolling has a drawback in that slight horizontal motion or "wobbling" of the pen 1200, as represented by the series of arrows ,1230, can cause the text column 1125, 1220, or 1225 to become misaligned on the display 1205, resulting in a misalignment between the column 1215, 1220, or 1225 and the display window 1205.
  • the user manually centers the desired column in the display window 1205 by making one or more left or right corrections to the stylus 1200.
  • a vertical alignment control can minimize wobble of the display 1205 during vertical scrolling with the pen 1200.
  • the vertical alignment control ignores slight horizontal motion such that the text column 1220 remains aligned in the display window 1205. This is based on the assumption that, when the window 1205 is positioned over a logical column 1220 and the user drags the pen up or down without significant horizontal motion, the intention of the user is to view only the logical column 1220. Based on this assumption, the alignment control constrains screen scrolling to the vertical direction as long as the stylus stays between the bars 1400.
  • 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 text moves left or right accordingly.
  • 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.
  • the vertical alignment control is enabled when the user lifts the pen 1200 from the display 1205.
  • This causes the logical column 1220 to snap into alignment with the display window 1205 as the user stops scrolling.
  • the user can adjust the snap sensitivity by, for example, setting the alignment control to snap to the nearest logical column based on a user-defined snap threshold. If the user's scrolling does not exceed the threshold, which indicates an intention to continue to view the text column 1220, the display 1205 centers the logical column 1210 as the pen 1200 is lifted from the screen. If the user's scrolling exceeds the threshold, which indicates an intention to move beyond the boundary of the logical column 1220, the display is snapped to the adjacent or repositioned column.
  • no snapping occurs when the user's scrolling exceeds the threshold.
  • the snap-on-column feature can also be animated to provide an appearance of movement as the display scrolls to the correct column- viewing position.
  • a similar horizontal alignment control also may be provided. Such a control may be used to limit vertical movement when scrolling horizontally in, for example, a spreadsheet application.
  • a procedure 1500 for supporting navigation on a display includes tracking user motion of an input tool for a display (step 1505), comparing a motion of the input tool to a threshold (step 1510), and constraining the position of the visible portion of the page of information on the display if the user motion does not exceed the threshold (step 1515).
  • the input tool may be a stylus 1200 or finger used on a display window 1205 with a touchscreen.
  • the touchscreen may include, for example, a resistive sensor, a capacitive sensor, an acoustic wave sensor, or an infrared sensor.
  • 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.
  • touch-and-drag scrolling of a display window 1600 may be limited to the width and length of the display window. For example, as the user scrolls from left to right across the entire width 1605 of the display 1600, the document slides across the screen a distance that is equal to the width 1605 of the display 1600. Thus, movement up, down, left, or right is limited to a distance that is equal to the length 1610 or width 1605 of the display 1600. The user must then lift the pen or stylus from the screen and repeat the scrolling operation.
  • Typical desktop computers can associate movement of the operating system cursor with movement of the pointing device.
  • 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.
  • 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.
  • 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.
  • 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 Fig. 17 A, when the proportional movement is set to 200%, document scrolling 1700 on a display 1705 is 20 pixels for each 10 pixels of stylus or other input movement 1710. When the proportional movement is set to 50%, the document scrolling is 5 pixels for each 10 pixels of stylus or other input movement on the display. Referring to Fig. 17B, when the proportional movement is set to 300%, the document scrolling 1715 is 30 pixels for each 10 pixels of stylus or other input movement 1720 on the display 1725.
  • Fig. 17 A when the proportional movement is set to 200% and a new display 1730 is centered around the endpoint 1735 of the maximum potential document scrolling, the user has the capability to scroll a document area that is nine times the area of the display window 1705.
  • Fig. 17B when the proportional movement is set to 300% and a new display 1740 is centered around the endpoint 1745 of the maximum potential document scrolling, the user has the capability to scroll a document area that is 16 times the area of the display window 1725.
  • proportional movement when proportional movement is set to 100%, the user is able to scroll a document area that is four times the area of the display window.
  • increasing proportional movement provides the user with the capability to scroll through several pages of the document with a single point-and-drag action.
  • the user can make very fine position adjustments by setting a multiplier that is less than one.
  • 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 is perceived to be zippy instead of sluggish.
  • 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.
  • different multipliers may be used for horizontal and vertical movement.
  • Fig. 18 describes a communications system for implementing a navigation aid to display information on an electronic device having limited display capability.
  • Fig. 18 describes a communications system for implementing a navigation aid to display information on an electronic device having limited display capability.
  • FIG. 18 describes several elements in Fig. 18 as monolithic entities. However, as would be understood by one skilled in the art, these elements each may include numerous interconnected computers and components designed to perform a set of specified operations and/or dedicated to a particular geographical region.
  • a communications system 1800 is capable of delivering and exchanging data between a client system 1805 and a host system 1810 through a communications link 1815.
  • the client system 1805 typically includes one or more client devices 1820 and/or client controllers 1825
  • the host system 1810 typically includes one or more host devices 1830 and/or host controllers 1835.
  • the client system 1805 or the host system 1810 may include one or more general- purpose computers (e.g., personal computers), one or more speciakpurpose computers (e.g., devices specifically programmed to communicate with each other and/or the client system 1805 or the host system 1810), or a combination of one or more general- purpose computers and one or more special-purpose computers.
  • the client system 1805 and the host system 1810 may be arranged to operate within or in concert with one or more other systems, such as, for example, one or more LANs ("Local Area Networks") and/o ⁇ one or more WANs ("Wide Area Networks").
  • LANs Local Area Networks
  • WANs Wide Area Networks
  • the client device 1820 (or the host device 1830) is generally capable of executing instructions under the comm-tnd of a client controller 1825 (or a host controller 1835) and is capable of processing instructions or queries from the host system 1810.
  • the host system 1810 may query the client system 1805 as to the 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.
  • the client device 1820 is implemented as a PDA or a mobile telephone.
  • 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.
  • 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 processes 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.

Abstract

Viewing an electronic document in a display window of a display may include detecting a layout of the electronic document (505) and comparing the layout of the electronic document to a width of the display window (510). The electronic document may be reformatted into at least two columns, with each of the columns having a width that does not exceed a width of the display window (515). Navigating on the display may include tracking motion of an input tool on a display, comparing a motion of the input tool to a threshold, and changing a position of the visible portion of a page of information on the display if the input tool motion exceeds the threshold. The position of the visible portion of the page of information on the display may be constrained if the motion does not exceed the threshold. Navigating on a display also may include 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. Navigating on a display also may include providing a navigation control operable to change a viewable portion of a page of information on a display from a first view to a second view. In response to operation of the navigation control, the display may be animated to create an appearance of motion as the viewable portion of the page of information changes from the first view to the second view in response to operation of the navigation control.

Description

CONTROLLING CONTENT DISPLAY TECHNICAL FIELD
The following description relates generally to a viewing and navigation aid for displaying information on an electronic device having limited display capability. BACKGROUND
Web 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. SUMMARY
A document served to a device having a small display or a small display window, such as, for example, a PDA, a telephone, a handheld computer, or an electronic book, can be reformatted such that the width of the document is divided into columns, with each column being displayable across the entirety of the small display or display window. In this manner, the width of the small display or display window is used to display less than all of the width of the document. The columns may be defined based on the content within the document, as long as the column width does not exceed the width of the small display or display window. For instance, when the content corresponds to a hypertext markup language ("HTML") page, several natural or logical columns that are recognizable within the HTML page may be used to define the columns being served to the small display or display window, even if those columns don't have a uniform width.
In one general aspect, viewing an electronic document in a display window of a display includes detecting a layout of an electronic document and comparing the layout of the electronic document to a width of the display window^ The electronic document then is reformatted into at least two columns, with each of the columns having a width that does not exceed the width of the display window.
Implementations may include one or more of the following features. For example, detecting the layout of the electronic document may include detecting logical columns of the electronic document, .and reformatting the electronic document may include reformatting each logical column to have a width that does not exceed the width of the display window. Detecting the layout of the electronic document also may include identifying a format code of the electronic document, such as a HTML format code (e.g., a header tag, a body tag, or a table tag).
Reformatting the electromc document into at least two columns may further include aligning the columns for viewing in the display window.
The display may be part of a client of a client/host architecture, and comparing the layout may further include notifying a host of the display window size from information residing at the client. A connection may be established between the client .and the host. Notifying the host may include notifying the host once upon establishment of a connection between the client and the host. The host may be updated with information residing at the client at time intervals after establishing the connection between the client and the host. Reformatting the electronic document may further include requesting that the host reformat the electronic document in response to a command executed by the client.
The electronic document may be coded in hypertext markup language ("HTML"). Reformatting the electronic document may include recoding the electronic document in a language other than HTML. The columns may be displayed on the display of an electronic device. The electronic device may be connected to the Internet, and may be, for example, a personal digital assistant, a mobile phone, an Internet-enabled television set-top box, or a computer of a small physical size for portability relative to a desktop computer and having a display size smaller than that of a desktop computer. In another general aspect, navigating on a display includes tracking motion of an input tool on a display, comparing the motion of the input tool to a threshold, changing the position of the visible portion of a page of information on the display if the motion exceeds the threshold, and constraining the position of the visible portion of the page of information on the display if the motion does not exceed the threshold.
Implementations may include one or more of the following features and one or more of the features noted above. For example, the input tool may be a pen stylus or a finger, and tracking motion of the input tool may include tracking the pen or finger on the display surface. The display may include a touch screen and tracking motion of the input tool may include tracking motion of the input tool on the touch screen. The touch screen may include, for example, a resistive sensor, a capacitive sensor, an acoustic wave sensor, or an infrared sensor. The touch screen may include a sensor activated by a touch activation force by the input tool on the display. The motion may be separated into a horizontal component and a vertical component relative to the display, the horizontal component may be compared to the threshold, and horizontal movement of the visible portion of the page of information on the display may be constrained if the horizontal component does not exceed the threshold. Vertical motion may be left uncompared and unconstrained or comparing the motion also may include comparing the vertical component and constraining the vertical movement of the visible portion of the page of information on the display. Comparing the motion of the input tool to the threshold may include comparing the motion of the input tool to a user-defined threshold or to a system-defined threshold.
The page of information may include columns of information, and constraining the position of the page of information on the display may include constraining the position of the columns of information on the display or constraining the horizontal position of a column of information on the display. The columns of information may include logical columns, .and constraining may include constraining the horizontal position of a logical column on the display. In another general aspect, navigating on a display includes moving a stylus on a display to cause the display to change the viewable portion of the page of information on the display from a first page view to a second page view, tracking the motion of the stylus on the display, comparing a horizontal motion of the stylus on the display to a threshold, maintaining the viewable portion of the page of information at the first page view if the horizontal motion does not exceed the threshold, and positioning the viewable portion of the page of information at the second page view if the horizontal motion exceeds the threshold.
Implementations may include one or more of the features described above. In another general aspect, navigating on a display includes tracking a motion of a stylus in contact with a display surface of a device that is operable to change a position of a visible portion of a page of information on the display from a first page position to a second page position in response to the motion of the stylus. A horizontal or vertical component of the motion of the stylus on the display surface is compared to a threshold, and the visible portion of the page of information on the display is repositioned to a horizontal or vertical position corresponding to the first page position after the pen stylus is removed from the display surface if the horizontal or vertical component does not exceed the threshold.
Implementations may include one or more of the features described above. In another 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 and one or more of the features described above. 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.
In another general aspect, navigating on a display includes providing a navigation control operable to change a viewable portion of a page of information on a display from a first view to a second view. The display is animated to create an appearance of motion as the viewable portion of the page of information changes from the first view to the second view in response to operation of the navigation control.
Implementations may include one or more of the following features and one or more of the features described above. For example, the navigation control may include a screen icon that changes the display from the first view to the second view. A first screen icon may correspond to the first view and a second screen icon may correspond to the second view. The first view may include a first discrete area of the page of information and the second view may include a second discrete area of the page of information. Actuation of the first screen icon may position the viewable portion of the page of information to view the first discrete area and actuation of the second screen icon may position the viewable portion of the page of information to view the second discrete area.
The page of information may include more than one column of information. Actuating a screen icon that corresponds to a column of information may result in showing the corresponding column of information on the display. Animating the display may include shifting the viewable portion of the page of information on the display in a horizontal direction.
Reformatting may include reformatting the page of information into more than one logical column with each logical column having a corresponding screen icon. Operation of the navigation control may include actuating the screen icon to view the corresponding logical column. The navigation control may include a mouse, a stylus, a touchscreen, or voice control.
Animating the display may include slowly scrolling the display to give the display an appearance of slow motion, illustrating a visible portion of the page of information moving continuously on the display from the first view to the second view, drawing a line from the first view to the second view, gradually shifting content on the page of information from the first view to the second view, or opening a window on the display that shows a reference marker moving from the first view to the second view. The page of information may include a Web page coded in HTML. The animation may be defined by a user control. The user-defined control may allow selection of a time interval to change the viewable portion of the page of information from the first view to the second view, selection of a constant velocity at which to change the viewable portion of the page of information from the first view to the second view, or selection of an acceleration at which to change the viewable portion of the page from the first view to the second view. The velocity or the acceleration may be variable or constant during the change in the viewable portion of the page from the first view to the second view.
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
Figs. 1A-1D are screen shots of a page on display windows of varying dimensions.
Fig. 2 illustrates a display window superimposed onto a page. Fig. 3 illustrates a display window superimposed onto a column of information from a page.
Figs. 4A and 4B illustrates reformatting of a page.
Fig. 5 is a flow chart of a method of reformatting a page.
Fig. 6 illustrates a display window and pen stylus superimposed onto a page. Fig. 7 illustrates a display window with navigation buttons.
Figs. 8A-8C illustrate display windows superimposed onto a page.
Figs. 9 and 10 each illustrate a display window superimposed onto a page.
Fig. 11 is a flow chart of a method of navigating on a display window. Figs. 12, 13, 14A and 14B each illustrate a display window superimposed onto a page.
Fig. 15 is a flow chart of a method of constraining the scrolling of information on a display window. Fig. 16 illustrates a display window superimposed onto a page.
Figs. 17A and 17B each illustrate a display window and a stylus.
Fig. 18 is a block diagram of a computer and communications system.
Like reference symbols in the various drawings indicate like elements.
DETAILED DESCRIPTION Pages 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. Fig. 1 A illustrates a page 100 in a wide display window 105 having a window frame 106 and a scroll bar 107. The display window 105 may be, for example, the window that would be displayed on the monitor of a desktop computer. As shown, the page 100 expands to fit the window width 108. Fig. IB shows the page 100 on a device having a smaller display window 110.
As shown, the page width is reduced to fit the width of the display window 110 by reducing the width of columns 115, 120 and 125 presented in the display window 100 relative to the width of corresponding columns 130, 135 and 140 in the display window 105. hi particular, the center column 120 in the display window 110 is substantially narrower than the corresponding center column 135 in the display window 105.
The width of the columns may only be reduced until a minimum width for the page is reached. Fig. IC shows the page 100 in a display window 145 that is narrower than the established minimum width of the page 100 such that the page 100 exceeds the bounds of the display window 145 and only a portion of the page 100 is displayed by display window 145. As shown, the entire width of the center column 150 is displayed, while only portions of the left column 155 and the right column 160 are displayed. The display window 145 also includes a horizontal scroll bar 165 and a vertical scroll bar 170 for use in selecting and viewing the columns and the portions thereof that are displayed.
In some cases, the display window is narrower than the width of a single column. For example, Fig. ID shows the page 100 in a display window 175 of a portable electronic device, such as, for example, an Internet-enabled cellular telephone. As shown, only a portion of a single column 180 is displayed. As a result, the user must scroll back and forth horizontally, using, for example, a scroll bar 185, to read each line of text.
Fig. 2 illustrates a display window 200 superimposed onto the page 100. The display window 200 is representative of the display of, for example, a PDA. Since the page and column are each larger than the display window 200, the user must scroll back and forth to read each line of text. PDA browsers may use various reformatting methods to enhance the readability of the page. Reformatting may include scaling down images, text size, and other page components.
Fig. 3 shows the page 100 reformatted as a single column 300. In particular, the columns of the page 100 are stacked to form the single column 300, the width of the column 300 is limited to the width of the display window 200, and word wrapping is used to provide continuity/readability. The display window 200 stays centered on the column as the user scrolls down the page to read the text.
Figs. 4A and 4B show that a page 400 (Fig. 4A) having elements 402, 404, 406 and 408 of differing widths and sized to fit a wide window width 410 may be reformatted as a page 415 (Fig. 4B) having elements 417, 419, 421 and 423 with widths corresponding to the width 425 of a narrow display (e.g., a PDA display). The elements 417, 419, 421 and 423 are readable columns of information that each fit within the width 425 of the display window or can be reduced to a width that does not exceed the width of the display window 425. The elements 417, 419, 421 and 423 are aligned to correspond with the topology of the page 400. Thus, even though the page 415 exceeds the viewing boundaries of the display window, the user can view various portions of the page 415 with a better sense of the orientation of the content on the page 415 and can navigate on the page 415 more easily. Each column of text can be read without requiring the user to scroll back and forth horizontally. Instead, the user scrolls down as if reading a newspaper column.
Reformatting a page requires identification of the page topology from the page format coding. As shown in Fig. 4, a common HTML page topology includes a header 430 with no logical columns, a body including one or more logical column elements 402, 404, 406 and 408, and a colophon 435 with no logical columns. Other variations of this topology include a header, a first body having N columns, another header, a second body having M columns, with M being the same as or different from N, and a colophon; a header, multiple bodies, and a colophon; a header, a body, and no colophon; no header, a body, and no colophon; or a header, no body, and no colophon.
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 Figs. 3, 4A and 4B. Based on these topologies, most HTML pages are readily reformatted into constrained sets of logical columns, with no column exceeding the display width. Referring to Fig. 5, a process 500 for enabling viewing of a page on a display includes detecting the page layout (step 505), comparing the layout to the dimensions of the display window (step 510), and reformatting the page into aligned columns that are viewable on the display (step 515). In one implementation, the page layout is detected (step 505) by separating the layout of the page into components and then analyzing those components. The page coding may be identified to recognize formatting codes. For example, HTML code includes identifiable header, body, or table tags. Once the HTML tags are identified, the page may be recoded in a language other than HTML for easier viewing on the small display window. 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 Fig. 6, another common PDA navigation feature is the capability to scroll the display window by placing a stylus 600 on the display window 605 and then dragging the stylus 600. However, such "touch-and-drag" scrolling can result in information 610 that is positioned in the display window 605 but is difficult to view or read since the user may inadvertently navigate to a position where only a portion of a column or an image is visible in the PDA display window 605.
Referring to Fig. 7, to aid user navigation to view a desired text column, a display window 700 includes small icons 705, 710, and 715 that represent navigation buttons. Each of navigation buttons 705, 710 and 715 represents a logical column of the page currently being viewed. The navigation buttons 705, 710 and 715 provide the user with a graphical representation of the number of logical columns 700 available on the page. In other implementations, the navigation buttons correspond to columns of predetermined absolute or relative position within the page (e.g., leftmost column, rightmost column, left adjacent column, right adjacent column or center column). Each button also is used to properly position the display window 700 on the corresponding column of text when the user selects the icon. For example, referring to the tri-column display of Fig. 8 A, when the user selects the left-most navigation button 705, the window 700 is positioned on the left-most or first logical column 805 of a page 800. Referring to Fig. 8B, when the user selects the central navigation button 710, the window 700 is positioned on the second logical column 810 of the page 800. Referring to Fig. 8C, when the user selects the right-most navigation button 715, the window 700 is positioned on the third or right logical column 815 of the page 800. 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, which may result in the user selecting an incorrect scrolling direction to view other parts of the page. For example, referring to Fig. 9, the user may begin viewing a page 900 by selecting a first column 905 of columns 905, 910 and 915 for display in the window 920. The user then may decide to jump to the third text column 915 to view the information in that column. Subsequently, the user may decide to return to the previously viewed first column 905. However, since the appearance of the display window 920 changed instantaneously when the used jumped discretely between the text columns 905 and 915, the user may not recall the position of the previously- viewed text column relative to the currently-displayed column.
Referring to Fig. 10, as the user navigates to various positions on the page 900, animation effects 925 are provided to give the user a better sense of direction and position. The animation effects add a sense of motion to the content being displayed. For example, in one implementation, when the user actuates a navigation button 930 to move to a new location on the page 900, the user sees the page 900 slowly scrolling across the display window, as represented by the series of arrows 935 in Fig. 10, until the new location is centered on the display window 920. Animation also may be provided in response to a stylus or finger used on a display window with a touchscreen. The touchscreen may include, for example, a resistive sensor, a capacitive sensor, an acoustic wave sensor, or an infrared sensor.
Referring to Fig. 11, a procedure 1100 for supporting navigation on a display includes providing a navigation control operable to change a viewable portion of a page of information on a display from a first view to a second view (step 1105), permitting operation of the navigation control to change the display from the first view to the second view (step 1110), and animating the display to create an appearance of motion as the viewable portion of the page of information changes from the first view to the second view (step 1115). Operation of the navigation control may include operation of a device such as a mouse or trackball, use of a stylus, or use of a voice command. 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, hi 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 Fig. 12, on a stylus-based PDA, the user can use a stylus 1200 to scroll a display window 1205 vertically down a page 1210 in order to read a column 1215, 1220 or 1225 of text of the page 1205. However, referring to Fig. 13, vertical touch-and-drag scrolling has a drawback in that slight horizontal motion or "wobbling" of the pen 1200, as represented by the series of arrows ,1230, can cause the text column 1125, 1220, or 1225 to become misaligned on the display 1205, resulting in a misalignment between the column 1215, 1220, or 1225 and the display window 1205. To correct for this and to view a desired one of the columns 1215, 1220, or 1225 in one view, the user manually centers the desired column in the display window 1205 by making one or more left or right corrections to the stylus 1200.
Referring to Fig. 14A, a vertical alignment control, as represented by the vertical bars 1400, can minimize wobble of the display 1205 during vertical scrolling with the pen 1200. As the user scrolls the page up or down with the stylus 1200, the vertical alignment control ignores slight horizontal motion such that the text column 1220 remains aligned in the display window 1205. This is based on the assumption that, when the window 1205 is positioned over a logical column 1220 and the user drags the pen up or down without significant horizontal motion, the intention of the user is to view only the logical column 1220. Based on this assumption, the alignment control constrains screen scrolling to the vertical direction as long as the stylus stays between the bars 1400.
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 text 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 Fig. 14B, in another implementation, the vertical alignment control is enabled when the user lifts the pen 1200 from the display 1205. This causes the logical column 1220 to snap into alignment with the display window 1205 as the user stops scrolling. The user can adjust the snap sensitivity by, for example, setting the alignment control to snap to the nearest logical column based on a user-defined snap threshold. If the user's scrolling does not exceed the threshold, which indicates an intention to continue to view the text column 1220, the display 1205 centers the logical column 1210 as the pen 1200 is lifted from the screen. If the user's scrolling exceeds the threshold, which indicates an intention to move beyond the boundary of the logical column 1220, the display is snapped to the adjacent or repositioned column. In other implementations, no snapping occurs when the user's scrolling exceeds the threshold. The snap-on-column feature can also be animated to provide an appearance of movement as the display scrolls to the correct column- viewing position. A similar horizontal alignment control 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 Fig. 15, a procedure 1500 for supporting navigation on a display includes tracking user motion of an input tool for a display (step 1505), comparing a motion of the input tool to a threshold (step 1510), and constraining the position of the visible portion of the page of information on the display if the user motion does not exceed the threshold (step 1515). The input tool may be a stylus 1200 or finger used on a display window 1205 with a touchscreen. The touchscreen may include, for example, a resistive sensor, a capacitive sensor, an acoustic wave sensor, or an infrared sensor.
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 Fig. 16, touch-and-drag scrolling of a display window 1600 may be limited to the width and length of the display window. For example, as the user scrolls from left to right across the entire width 1605 of the display 1600, the document slides across the screen a distance that is equal to the width 1605 of the display 1600. Thus, movement up, down, left, or right is limited to a distance that is equal to the length 1610 or width 1605 of the display 1600. The user must then lift the pen or stylus from the screen and repeat the scrolling operation.
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 Fig. 17 A, when the proportional movement is set to 200%, document scrolling 1700 on a display 1705 is 20 pixels for each 10 pixels of stylus or other input movement 1710. When the proportional movement is set to 50%, the document scrolling is 5 pixels for each 10 pixels of stylus or other input movement on the display. Referring to Fig. 17B, when the proportional movement is set to 300%, the document scrolling 1715 is 30 pixels for each 10 pixels of stylus or other input movement 1720 on the display 1725.
As shown in Fig. 17 A, when the proportional movement is set to 200% and a new display 1730 is centered around the endpoint 1735 of the maximum potential document scrolling, the user has the capability to scroll a document area that is nine times the area of the display window 1705. Similarly, as shown in Fig. 17B, when the proportional movement is set to 300% and a new display 1740 is centered around the endpoint 1745 of the maximum potential document scrolling, the user has the capability to scroll a document area that is 16 times the area of the display window 1725. By contrast, when proportional movement is set to 100%, the user is able to scroll a document area that is four times the area of the display window. Thus, increasing proportional movement provides the user with the capability to scroll through several pages of the document with a single point-and-drag action. Alternatively, the user can make very fine position adjustments by setting a multiplier that is less than one. 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 is 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, Fig. 18 describes a communications system for implementing a navigation aid to display information on an electronic device having limited display capability. For brevity, several elements in Fig. 18 are represented as monolithic entities. However, as would be understood by one skilled in the art, these elements each may include numerous interconnected computers and components designed to perform a set of specified operations and/or dedicated to a particular geographical region.
Referring to Fig. 18, a communications system 1800 is capable of delivering and exchanging data between a client system 1805 and a host system 1810 through a communications link 1815. The client system 1805 typically includes one or more client devices 1820 and/or client controllers 1825, and the host system 1810 typically includes one or more host devices 1830 and/or host controllers 1835. For example, the client system 1805 or the host system 1810 may include one or more general- purpose computers (e.g., personal computers), one or more speciakpurpose computers (e.g., devices specifically programmed to communicate with each other and/or the client system 1805 or the host system 1810), or a combination of one or more general- purpose computers and one or more special-purpose computers. The client system 1805 and the host system 1810 may be arranged to operate within or in concert with one or more other systems, such as, for example, one or more LANs ("Local Area Networks") and/oτ one or more WANs ("Wide Area Networks").
The client device 1820 (or the host device 1830) is generally capable of executing instructions under the comm-tnd of a client controller 1825 (or a host controller 1835) and is capable of processing instructions or queries from the host system 1810. For example, the host system 1810 may query the client system 1805 as to the 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 processes 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 implementations are within the scope of the following claims.

Claims

WHAT IS CLAIMED IS:
1. A method of viewing an electronic document in a display window of a display, the method comprising: detecting a layout of an electronic document having at least two columns; comparing the layout of the electronic document to a width of the display window; and reformatting the electronic document into at least two columns, with each of the columns having a width that does not exceed the width of the display window.
2. The method of claim 1 wherein: detecting the layout of the electronic document includes detecting logical columns of the electronic document; .and reformatting the electronic document includes reformatting each logical column to have a width that does not exceed the width of the display window.
3. The method of claim 1 wherein detecting the layout of the electronic document includes identifying a format code of the electronic document.
4. The method of claim 3 wherein identifying the format code includes identifying a HTML format code.
5. The method of claim 1 wherein reformatting the electronic document into at least two columns further includes aligning the columns for viewing in the display window.
6. The method of claim 1 wherein the display is part of a client in a client/host architecture and comparing further includes notifying a host of the display window size from information residing at the client.
7. The method of claim 6 further comprising establishing a connection between the client and the host.
8. The method of claim 7 wherein notifying the host includes notifying the host once upon establishment of a connection between the client and the host.
9. The method of claim 7 wherein notifying the host includes updating the host with information residing at the client at time intervals after establishing the connection between the client and the host.
10. The method of claim 1 wherein the display is part of a client of a client/host architecture and refoπnatting the electronic document further includes requesting that the host reformat the electronic document in response to a command executed by the client.
11. The method of claim 1 wherein the electronic document is coded in HTML.
12. The method of claim 11 wherein reformatting further includes recoding the electronic document in a language other than HTML.
13. The method of claim 1 further comprising displaying the columns on the display of an electronic device.
14. The method of claim 13 wherein the electromc device is connected to the Internet.
15. The method of claim 13 wherein the electronic device comprises a personal digital assistant.
16. The method of claim 13 wherein the electronic device comprises a mobile phone.
17. A method of viewing an electronic document on a display, the method comprising: detecting a layout of an electronic document having at least two columns; comparing the layout of the electronic document to a width of the display; and reformatting the electronic document into at least two columns, with each of the columns having a width that does not exceed the width of the display.
18. The method of claim 17 wherein: detecting the layout of the electronic document includes detecting logical columns of the electromc document; and reformatting the electronic document includes reformatting each logical column to have a width that does not exceed the width of the display.
19. The method of claim 17 wherein reformatting the electronic document into at least two columns further includes aligning the columns for viewing in the display window.
20. A system for viewing an electronic document, the system comprising: a display; and a processor connected to the display and programmed to: detect a layout of an electronic document having at least two columns; compare the layout of the electronic document to a width of a display window of the display; reformat the electronic document into at least two columns, with each of the columns having a width that does not exceed the width of the display window; and display a column of the electronic document in the display window of the display.
21. The system of claim 20 wherein the processor is programmed to: detect logical columns of the electronic document; and reformat each logical column to have a width that does not exceed the width of the display window.
22. The system of claim 20 wherein the processor is programmed to align the columns for viewing in the display window.
23. A system for viewing an electronic document, the system comprising: means for detecting a layout of an electronic document having at least two columns; means for comparing the layout of the electronic document to a width of a display window of a display; means for reformatting the electronic document into at least two columns, with each of the columns having a width that does not exceed the width of the display window; and means for displaying a column of the electronic document in the display window of the display.
24. The system of claim 23 wherein the means for reformatting includes: means for detecting logical columns of the electronic document; and means for reformatting each logical column to have a width that does not exceed the width of the display window.
25. The system of claim 23 wherein means for reformatting includes means for aligning the columns for viewing in the display window.
26. A method of navigating on a display, the method comprising: tracking motion of an input tool on a display; comparing a motion of the input tool to a threshold; changing a position of the visible portion of a page of information on the display if the motion exceeds the threshold; and constraining the position of the visible portion of the page of information on the display if the motion does not exceed the threshold.
27. The method of claim 26 wherein the input tool is a stylus and tracking motion of the input tool includes tracking the stylus on a display surface.
28. The method of claim 26 wherein the display includes a touchscreen and tracking motion of the input tool includes tracking motion of the input tool on the touchscreen.
29. The method of claim 28 wherein the touchscreen includes a sensor activated by touch and tracking motion includes tracking a touch activation force by the input tool on the display.
30. The method of claim 29 wherein the input tool includes a stylus having a resistive property and the touchscreen includes a resistive sensor operable to detect the resistive property of the stylus such that tracking includes tracking the stylus with the resistive sensor.
31. The method of claim 26 further comprising separating the motion into a horizontal component and a vertical component relative to the display, wherein comparing the user motion of the input tool to the threshold includes comparing the horizontal component to the threshold and constraining the position of the visible portion of the page of information on the display includes constraining horizontal movement of the visible portion of the page of information on the display if the horizontal component does not exceed the threshold.
32. The method of claim 31 wherein constraining the position includes leaving vertical motion unconstrained.
33. The method of claim 26 further comprising separating the motion into a horizontal component and a vertical component relative to the display, wherein comparing the user motion of the input tool to the threshold includes comparing the vertical component to the threshold and constraining the position of the visible portion of the page of information on the display includes constraining vertical movement of the visible portion of the page of information on the display if the vertical component does not exceed the threshold.
34. The method of claim 26 wherein comparing the user motion of the input tool to the threshold includes comparing the user motion of the input tool to a user-defined threshold.
35. The method of claim 26 wherein comparing the user motion of the input tool to the threshold includes comparing the user motion of the input tool to a system-defined threshold.
36. The method of claim 26 wherein the page of information includes at least one column of information and constraining the position of the page of information on the display includes constraining the position of the column of information on the display.
37. The method of claim 36 wherein constraining the position of the page of information on the display includes constraining the horizontal position of the column of information on the display.
38. The method of claim 37 wherein: the column of information includes a logical column; and constraining the position of the page of information on the display includes constraining the horizontal position of the logical column on the display.
39. A method of navigating on a display, the method comprising: tracking motion of a stylus on a display; comparing a component of motion of the stylus on the display in one direction to a threshold; and correcting a position of a page of information on the display if the motion in the one direction does not exceed the threshold.
40. The method of claim 39 wherein the component of motion comprises horizontal motion, the one direction comprises a horizontal direction, and correcting the position of the page comprises correcting a horizontal position of the page.
41. The method of claim 40 wherein the page of information includes at least one column of information such that correcting the horizontal position of the page of information on the display includes correcting the horizontal position of the column of information on the display.
42. The method of claim 41 wherein the first column of»information includes a logical column having a width not exceeding a width of the display such that correcting the original horizontal position includes correcting the original horizontal position of the logical column on the display.
43. The method of claim 39 wherein the component of motion comprises vertical motion, the one direction comprises a vertical direction, and correcting the position of the page comprises correcting a vertical position of the page.
44. A method of navigating on a display, the method comprising: tracking motion of a stylus in contact with a display surface; comparing a component of motion of the stylus on the display surface in one direction to a threshold; and repositioning a visible portion of a page of information on the display to an original position after the stylus is removed from the display surface if the component of motion in the one direction does not exceed the threshold.
45. The method of claim 44 wherein the component of motion comprises horizontal motion, the one direction comprises a horizontal direction, and repositioning comprises repositioning the visible portion of the page of information on the display to an original horizontal position.
46. The method of claim 45 wherein the page of information includes at least one column of information such that correcting the original horizontal position includes correcting the original horizontal position of the column of information on the display.
47. The method of claim 46 wherein the column of information includes a logical column having a width not exceeding a width of the display such that repositioning includes repositioning the logical column on the display.
48. The method of claim 46 wherein the page of information includes at least one column of information such that repositioning the visible portion of the page includes correcting the original horizontal position of the column of information on the display.
49. The method of claim 46 wherein the column of information includes a logical column having a width not exceeding a width of the display such that repositioning includes repositioning the logical column on the display.
50. The method of claim 44 wherein the component of motion comprises vertical motion, the one direction comprises a vertical direction, and repositioning comprises repositioning the visible portion of the page of information on the display to an original vertical position.
51. A system for navigating on a display, the system comprising: a stylus; and a device with a display surface having a touchscreen and a processor operable to compare a horizontal motion of the stylus on the display surface to a threshold and reposition the visible portion of the page of information on the display to a first horizontal position after the stylus is removed from the display surface if the horizontal motion does not exceed the threshold.
52. The system of claim 51 wherein the page of information includes a column of information such that correcting the first horizontal position includes correcting the first horizontal position of the column of information on the display.
53. The system of claim 52 wherein the column of information includes a logical column having a width not exceeding a width of the display such that correcting the first horizontal position includes correcting the first horizontal position of the logical column on the display.
54. The system of claim 51 wherein the processor is operable not to reposition the visible portion of the page of information on the display to the first horizontal position after the pen stylus is removed from the display surface if the horizontal motion exceeds the threshold.
55. A method of navigating on a display, the method comprising: 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 having a value other than one.
56. The method of claim 55 wherein the input tool includes a stylus and the display includes a touchscreen such that tracking includes tracking coordinate information of the stylus on the touchscreen.
57. The method of claim 55 wherein the input tool includes a mouse such that tracking includes tracking coordinate information of the mouse.
58. The method of claim 55 wherein: tracking the coordinate information of the input tool includes tracking vertical coordinates of the input tool; and moving the visible portion of the page of information on the display includes moving the page of information on the display a vertical distance equal to a change in 5 the vertical coordinates multiplied by a vertical multiplier having a value other than one.
59. The method of claim 58 wherein: tracking the coordinate information of the input tool includes tracking horizontal coordinates of the input tool; and o moving the visible portion of the page of information on the display 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 one.
60. The method of claim 55 wherein: 5 tracking the coordinate information of the input tool includes tracking horizontal coordinates of the input tool; and moving the visible portion of the page of information on the display 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 0 than one.
61. The method of claim 55 further comprising defining the multiplier in response to input from the user.
62. The method of claim 55 wherein the multiplier is less than one such that moving the visible portion of the page of information on the display includes 5 moving the page of information a distance less than the change in the coordinate information of the input tool.
63. The method of claim 55 wherein the multiplier is greater than one such that moving the visible portion of the page of information on the display includes moving the page of information a distance greater than the change in the coordinate information of the input tool.
64. The method of claim 55 wherein: the coordinate information includes pixel coordinates on the display; tracking includes tracking pixel coordinates of the position of the input tool on the display; and moving includes moving the page of information a distance equal to a change in the pixel coordinates of the input tool multiplied by the multiplier.
65. The method of claim 55 wherein moving includes moving the page of information a distance equal to a change in the coordinate information of the input tool multiplied by a factor based on the acceleration of the input tool.
66. The method of claim 55 wherein moving includes moving the page of information a distance equal to a change in the coordinate information of the input tool multiplied by a factor based on the velocity of the input tool.
67. A system for navigating on a display, the system comprising: a display surface having a touch screen; a stylus detectable by contact with the touchscreen; and a processor operable to: track coordinate information of the stylus on the display; and move a visible portion of a page of information on the display a distance equal to a change in the coordinate information of the stylus multiplied by a multiplier.
68. The system of claim 67 wherein the system further comprises a personal digital assistant including the processor and the display.
69. The system of claim 67 wherein the system further comprises a web phone having the display.
70. The system of claim 67 wherein the system further comprises a hand held computer including the processor and the display.
71. The system of claim 67 wherein the system further comprises a monitor including the processor and the display.
72. The system of claim 67 wherein the system further comprises an e- book including the processor and the display.
73. The system of claim 67 further comprising a database storage unit coupled to the processor, the database storage unit being operable to store the coordinate information.
74. A method of positioning a reference marker on a display with an input tool, the method comprising: 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; tracking movement of the pointer device to a second coordinate position on the display; and moving the reference marker on the display 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.
75. A method of navigating on a display, the method comprising: providing a navigation control operable to change a viewable portion of a page of information on a display from a first view to a second view; and in response to operation of the navigation control, animating the display to create an appearance of motion as the viewable portion of the page'of information changes from the first view to the second view in response to operation of the navigation control.
76. The method of claim 75 wherein the navigation control includes a screen icon and operation of the navigation control includes actuation of the screen icon to change the display from the first view to the second view.
77. The method of claim 76 wherein: the screen icon includes a first screen icon corresponding to the first view and a second screen icon corresponding to the second view; and actuation of the first screen icon positions the viewable portion of the page of information at the first view and actuation of the second screen icon positions the viewable portion of the page of information at the second view.
78. The method of claim 77 wherein the first view includes a first discrete area of the page of information and the second view includes a second discrete area of the page of information such that actuation of the first screen icon positions the viewable portion of the page of information to view the first discrete area and actuation of the second screen icon positions the viewable portion of the page of information to view the second discrete area.
79. The method of claim 76 wherein: the page of information includes more than one column of information; the screen icon includes a column icon corresponding to each column of information; and actuating a column icon positions the corresponding column of information on the display.
80. The method of claim 75 wherein animating the display includes shifting the viewable portion of the page of information on the display in a horizontal direction.
81. The method of claim 80 further comprising reformatting the page of information into more than one logical column with each logical column having a corresponding screen icon such that operation of the navigation control includes actuating the screen icon to view the corresponding logical column.
82. The method of claim 75 wherein operation of the navigation control includes clicking a mouse.
83. The method of claim 75 wherein operation of the navigation control includes touching a stylus to a touchscreen.
84. The method of claim 75 wherein animating the display includes slowly scrolling the display to give the display an appearance of slow motion.
85. The method of claim 75 wherein animating the display includes illustrating a visible portion of the page of information moving continuously on the display from the first view to the second view.
86. The method of claim 75 wherein animating the display includes drawing a line from the first view to the second view.
87. The method of claim 75 further comprising opening a window on the display that shows a reference marker moving from the first view to the second view.
88. The method of claim 75 further comprising operating the navigation control in response to enunciation of a voice command.
89. The method of claim 75 wherein the page of information includes a Web page coded in HTML such that operating the navigation control changes the viewable portion of the Web page on the display from the first view to the second view.
90. The method of claim 75 wherein animating the display includes gradually shifting content on the page of information from the first view to the second view.
91. The method of claim 75 further comprising providing a user defined control such that animating the display further includes controlling the animation with the user defined control.
92. The method of claim 91 wherein controlling animation with the user- defined control includes selecting a time interval to change the viewable portion of the page of information from the first view to the second view.
93. The method of claim 91 wherein controlling animation with the user- defined control includes selecting a velocity to change the viewable portion of the page of information from the first view to the second view.
94. The method of claim 93 wherein selecting the velocity includes selecting a constant velocity during the change in the viewable portion of the page from the first view to the second view.
95. The method of claim 93 wherein selecting the velocity includes selecting a variable velocity during the change in the viewable portion of the page from the first view to the second view.
96. The method of claim 91 wherein controlling animation with the user- defined control includes selecting an acceleration to change the viewable portion of the page of information from the first view to the second view.
97. The method of claim 96 wherein selecting the acceleration includes selecting a constant acceleration during the change in the viewable portion of the page from the first view to the second view.
98. The method of claim 96 wherein selecting the acceleration includes selecting a variable acceleration during the change in the viewable portion of the page from the first view to the second view.
99. A system for navigating on a display, the system comprising: a display surface; a navigation control on the display; and a processor operable to: change the viewable portion of a page of information on the display from a first view to a second view when the navigation control is operated; and animate the display to create an appearance of motion as the page of information changes from the first view to the second view.
100. The system of claim 99 wherein: the navigation control includes a screen icon; and the processor is operable to change the viewable portion of the display by actuating the screen icon.
101. The system of claim 100 wherein: the screen icon includes a first screen icon corresponding to the first view and a second screen icon corresponding to the second view; and the processor is operable to position the visible portion of the page of information on the display at the first view when the first screen icon is actuated and at the second view when the second screen icon is actuated.
102. The system of claim 99 wherein: the page of infonnation includes more than one column of information, and the screen icon includes a column icon corresponding to each column of information; and the processor is operable to position the column of information on the display when the corresponding column icon is actuated.
103. The system of claim 99 wherein the processor is operable to move the visible portion of the page of information in a horizontal direction on the display to change from the first view to the second view when the navigation control is operated.
104. The system of claim 99 wherein the processor is operable to: reformat the page of information into more than one logical column each having a corresponding screen icon, the logical column having a width not exceeding a width of the display; and position the logical column for viewing on the display when the screen icon corresponding to the logical column is actuated.
105. The system of claim 99 wherein the processor is operable to animate the display by illustrating the visible portion of the page of information moving continuously on the display from the first view to the second view
106. The system of claim 99 wherein the system further includes a personal digital assistant including the processor and the display.
107. The system of claim 99 wherein the system further includes a handheld computer including the processor and the display.
PCT/US2003/008400 2002-03-19 2003-03-19 Controlling content display WO2003081458A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2003220400A AU2003220400A1 (en) 2002-03-19 2003-03-19 Controlling content display

Applications Claiming Priority (16)

Application Number Priority Date Filing Date Title
US36516102P 2002-03-19 2002-03-19
US36516002P 2002-03-19 2002-03-19
US36519702P 2002-03-19 2002-03-19
US60/365,161 2002-03-19
US60/365,197 2002-03-19
US60/365,160 2002-03-19
US36898802P 2002-04-02 2002-04-02
US60/368,988 2002-04-02
US10/307,324 US7250939B2 (en) 2002-03-19 2002-12-02 Display motion multiplier
US10/307,418 US7296243B2 (en) 2002-03-19 2002-12-02 Animating display motion
US10/307,417 2002-12-02
US10/307,403 2002-12-02
US10/307,417 US7487444B2 (en) 2002-03-19 2002-12-02 Reformatting columns of content for display
US10/307,418 2002-12-02
US10/307,403 US7193609B2 (en) 2002-03-19 2002-12-02 Constraining display motion in display navigation
US10/307,324 2002-12-02

Publications (1)

Publication Number Publication Date
WO2003081458A1 true WO2003081458A1 (en) 2003-10-02

Family

ID=28458105

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2003/008400 WO2003081458A1 (en) 2002-03-19 2003-03-19 Controlling content display

Country Status (2)

Country Link
AU (1) AU2003220400A1 (en)
WO (1) WO2003081458A1 (en)

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005088437A1 (en) * 2004-03-11 2005-09-22 Redsky Mobile Inc. Restricted user interface navigation
JP2010515978A (en) * 2007-01-07 2010-05-13 アップル インコーポレイテッド List scrolling, document translation, scaling and rotation on touchscreen displays
EP2390779A1 (en) * 2006-09-06 2011-11-30 Apple Inc. Portable electronic device for photo management
US8135574B2 (en) 2007-11-15 2012-03-13 Weikel Bryan T Creating and displaying bodies of parallel segmented text
US8661363B2 (en) 2007-01-07 2014-02-25 Apple Inc. Application programming interfaces for scrolling operations
EP2871572A1 (en) * 2013-11-06 2015-05-13 Samsung Electronics Co., Ltd Contents display method and electronic device implementing the same
USRE45559E1 (en) 1997-10-28 2015-06-09 Apple Inc. Portable computers
US9285908B2 (en) 2009-03-16 2016-03-15 Apple Inc. Event recognition
US9298363B2 (en) 2011-04-11 2016-03-29 Apple Inc. Region activation for touch sensitive surface
US9311112B2 (en) 2009-03-16 2016-04-12 Apple Inc. Event recognition
US9323335B2 (en) 2008-03-04 2016-04-26 Apple Inc. Touch event model programming interface
US9354811B2 (en) 2009-03-16 2016-05-31 Apple Inc. Multifunction device with integrated search and application selection
US9360993B2 (en) 2002-03-19 2016-06-07 Facebook, Inc. Display navigation
US9389712B2 (en) 2008-03-04 2016-07-12 Apple Inc. Touch event model
US9483121B2 (en) 2009-03-16 2016-11-01 Apple Inc. Event recognition
US9501171B1 (en) 2012-10-15 2016-11-22 Famous Industries, Inc. Gesture fingerprinting
US9529519B2 (en) 2007-01-07 2016-12-27 Apple Inc. Application programming interfaces for gesture operations
US9684521B2 (en) 2010-01-26 2017-06-20 Apple Inc. Systems having discrete and continuous gesture recognizers
US9733716B2 (en) 2013-06-09 2017-08-15 Apple Inc. Proxy gesture recognizer
US9772889B2 (en) 2012-10-15 2017-09-26 Famous Industries, Inc. Expedited processing and handling of events
US9798459B2 (en) 2008-03-04 2017-10-24 Apple Inc. Touch event model for web pages
US10073584B2 (en) 2016-06-12 2018-09-11 Apple Inc. User interfaces for retrieving contextually relevant media content
US10216408B2 (en) 2010-06-14 2019-02-26 Apple Inc. Devices and methods for identifying user interface objects based on view hierarchy
US10296166B2 (en) 2010-01-06 2019-05-21 Apple Inc. Device, method, and graphical user interface for navigating and displaying content in context
US10324973B2 (en) 2016-06-12 2019-06-18 Apple Inc. Knowledge graph metadata network based on notable moments
US10379728B2 (en) 2008-03-04 2019-08-13 Apple Inc. Methods and graphical user interfaces for conducting searches on a portable multifunction device
US10503388B2 (en) 2013-09-03 2019-12-10 Apple Inc. Crown input for a wearable electronic device
US10564826B2 (en) 2009-09-22 2020-02-18 Apple Inc. Device, method, and graphical user interface for manipulating user interface objects
US10691230B2 (en) 2012-12-29 2020-06-23 Apple Inc. Crown input for a wearable electronic device
US10803135B2 (en) 2018-09-11 2020-10-13 Apple Inc. Techniques for disambiguating clustered occurrence identifiers
US10846343B2 (en) 2018-09-11 2020-11-24 Apple Inc. Techniques for disambiguating clustered location identifiers
US10877780B2 (en) 2012-10-15 2020-12-29 Famous Industries, Inc. Visibility detection using gesture fingerprinting
US10908929B2 (en) 2012-10-15 2021-02-02 Famous Industries, Inc. Human versus bot detection using gesture fingerprinting
US10963142B2 (en) 2007-01-07 2021-03-30 Apple Inc. Application programming interfaces for scrolling
US11086935B2 (en) 2018-05-07 2021-08-10 Apple Inc. Smart updates from historical database changes
US11157158B2 (en) 2015-01-08 2021-10-26 Apple Inc. Coordination of static backgrounds and rubberbanding
US11243996B2 (en) 2018-05-07 2022-02-08 Apple Inc. Digital asset search user interface
US11307737B2 (en) 2019-05-06 2022-04-19 Apple Inc. Media browsing user interface with intelligently selected representative media items
US11334209B2 (en) 2016-06-12 2022-05-17 Apple Inc. User interfaces for retrieving contextually relevant media content
US11334229B2 (en) 2009-09-22 2022-05-17 Apple Inc. Device, method, and graphical user interface for manipulating user interface objects
US11386257B2 (en) 2012-10-15 2022-07-12 Amaze Software, Inc. Efficient manipulation of surfaces in multi-dimensional space using energy agents
US11446548B2 (en) 2020-02-14 2022-09-20 Apple Inc. User interfaces for workout content
AU2022235618B2 (en) * 2006-09-06 2023-09-07 Apple Inc. Electronic device for digital object management
US11782575B2 (en) 2018-05-07 2023-10-10 Apple Inc. User interfaces for sharing contextually relevant media content
US11954322B2 (en) 2022-09-15 2024-04-09 Apple Inc. Application programming interface for gesture operations

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5038138A (en) * 1989-04-17 1991-08-06 International Business Machines Corporation Display with enhanced scrolling capabilities
US6211877B1 (en) * 1998-07-20 2001-04-03 Hewlett-Packard Co Method for communicating between programming language controlled frames and CGI/HTML controlled frames within the same browser window
US6456305B1 (en) * 1999-03-18 2002-09-24 Microsoft Corporation Method and system for automatically fitting a graphical display of objects to the dimensions of a display window
US6456307B1 (en) * 1998-09-09 2002-09-24 International Business Machines Corporation Automatic icon generation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5038138A (en) * 1989-04-17 1991-08-06 International Business Machines Corporation Display with enhanced scrolling capabilities
US6211877B1 (en) * 1998-07-20 2001-04-03 Hewlett-Packard Co Method for communicating between programming language controlled frames and CGI/HTML controlled frames within the same browser window
US6456307B1 (en) * 1998-09-09 2002-09-24 International Business Machines Corporation Automatic icon generation
US6456305B1 (en) * 1999-03-18 2002-09-24 Microsoft Corporation Method and system for automatically fitting a graphical display of objects to the dimensions of a display window

Cited By (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE46548E1 (en) 1997-10-28 2017-09-12 Apple Inc. Portable computers
USRE45559E1 (en) 1997-10-28 2015-06-09 Apple Inc. Portable computers
US10055090B2 (en) 2002-03-19 2018-08-21 Facebook, Inc. Constraining display motion in display navigation
US9626073B2 (en) 2002-03-19 2017-04-18 Facebook, Inc. Display navigation
US9678621B2 (en) 2002-03-19 2017-06-13 Facebook, Inc. Constraining display motion in display navigation
US9360993B2 (en) 2002-03-19 2016-06-07 Facebook, Inc. Display navigation
US10365785B2 (en) 2002-03-19 2019-07-30 Facebook, Inc. Constraining display motion in display navigation
US9886163B2 (en) 2002-03-19 2018-02-06 Facebook, Inc. Constrained display navigation
US9851864B2 (en) 2002-03-19 2017-12-26 Facebook, Inc. Constraining display in display navigation
US9753606B2 (en) 2002-03-19 2017-09-05 Facebook, Inc. Animated display navigation
WO2005088437A1 (en) * 2004-03-11 2005-09-22 Redsky Mobile Inc. Restricted user interface navigation
US8151212B2 (en) 2004-03-11 2012-04-03 Research In Motion Limited Restricted user interface navigation
US11601584B2 (en) 2006-09-06 2023-03-07 Apple Inc. Portable electronic device for photo management
EP3447620A3 (en) * 2006-09-06 2019-07-03 Apple Inc. Portable electronic device for photo management
US8305355B2 (en) 2006-09-06 2012-11-06 Apple Inc. Portable electronic device for photo management
US10356309B2 (en) 2006-09-06 2019-07-16 Apple Inc. Portable electronic device for photo management
US8106856B2 (en) 2006-09-06 2012-01-31 Apple Inc. Portable electronic device for photo management
EP2390799A1 (en) * 2006-09-06 2011-11-30 Apple Inc. Portable electronic device for photo management
JP2015097104A (en) * 2006-09-06 2015-05-21 アップル インコーポレイテッド Electronic device, method, and computer readable storage medium
EP2390779A1 (en) * 2006-09-06 2011-11-30 Apple Inc. Portable electronic device for photo management
AU2022235618B2 (en) * 2006-09-06 2023-09-07 Apple Inc. Electronic device for digital object management
US10904426B2 (en) 2006-09-06 2021-01-26 Apple Inc. Portable electronic device for photo management
US9459792B2 (en) 2006-09-06 2016-10-04 Apple Inc. Portable electronic device for photo management
US11269513B2 (en) 2007-01-07 2022-03-08 Apple Inc. List scrolling and document translation, scaling, and rotation on a touch-screen display
US11886698B2 (en) 2007-01-07 2024-01-30 Apple Inc. List scrolling and document translation, scaling, and rotation on a touch-screen display
US10175876B2 (en) 2007-01-07 2019-01-08 Apple Inc. Application programming interfaces for gesture operations
US10983692B2 (en) 2007-01-07 2021-04-20 Apple Inc. List scrolling and document translation, scaling, and rotation on a touch-screen display
US10613741B2 (en) 2007-01-07 2020-04-07 Apple Inc. Application programming interface for gesture operations
US9448712B2 (en) 2007-01-07 2016-09-20 Apple Inc. Application programming interfaces for scrolling operations
US10963142B2 (en) 2007-01-07 2021-03-30 Apple Inc. Application programming interfaces for scrolling
US10606470B2 (en) 2007-01-07 2020-03-31 Apple, Inc. List scrolling and document translation, scaling, and rotation on a touch-screen display
US9052814B2 (en) 2007-01-07 2015-06-09 Apple Inc. Device, method, and graphical user interface for zooming in on a touch-screen display
US9529519B2 (en) 2007-01-07 2016-12-27 Apple Inc. Application programming interfaces for gesture operations
US9575648B2 (en) 2007-01-07 2017-02-21 Apple Inc. Application programming interfaces for gesture operations
US9619132B2 (en) 2007-01-07 2017-04-11 Apple Inc. Device, method and graphical user interface for zooming in on a touch-screen display
US9037995B2 (en) 2007-01-07 2015-05-19 Apple Inc. Application programming interfaces for scrolling operations
EP3273338B1 (en) * 2007-01-07 2020-02-19 Apple Inc. List scrolling and document translation on a touch-screen display
US9665265B2 (en) 2007-01-07 2017-05-30 Apple Inc. Application programming interfaces for gesture operations
US10817162B2 (en) 2007-01-07 2020-10-27 Apple Inc. Application programming interfaces for scrolling operations
US11449217B2 (en) 2007-01-07 2022-09-20 Apple Inc. Application programming interfaces for gesture operations
US10481785B2 (en) 2007-01-07 2019-11-19 Apple Inc. Application programming interfaces for scrolling operations
JP2014222527A (en) * 2007-01-07 2014-11-27 アップル インコーポレイテッド List scrolling and document translation, scaling, and rotation on touch-screen display
US8661363B2 (en) 2007-01-07 2014-02-25 Apple Inc. Application programming interfaces for scrolling operations
JP2013211031A (en) * 2007-01-07 2013-10-10 Apple Inc List scrolling and document translation, scaling, and rotation on touch-screen display
CN103150106A (en) * 2007-01-07 2013-06-12 苹果公司 List scrolling and document translation, scaling, and rotation on a touch-screen display
US9760272B2 (en) 2007-01-07 2017-09-12 Apple Inc. Application programming interfaces for scrolling operations
US8365090B2 (en) 2007-01-07 2013-01-29 Apple Inc. Device, method, and graphical user interface for zooming out on a touch-screen display
US8312371B2 (en) 2007-01-07 2012-11-13 Apple Inc. Device and method for screen rotation on a touch-screen display
US8255798B2 (en) 2007-01-07 2012-08-28 Apple Inc. Device, method, and graphical user interface for electronic document translation on a touch-screen display
US8209606B2 (en) 2007-01-07 2012-06-26 Apple Inc. Device, method, and graphical user interface for list scrolling on a touch-screen display
KR101850532B1 (en) 2007-01-07 2018-04-19 애플 인크. List scrolling and document translation, scaling, and rotation on a touch-screen display
US11461002B2 (en) 2007-01-07 2022-10-04 Apple Inc. List scrolling and document translation, scaling, and rotation on a touch-screen display
JP2010515978A (en) * 2007-01-07 2010-05-13 アップル インコーポレイテッド List scrolling, document translation, scaling and rotation on touchscreen displays
JP2019012541A (en) * 2007-01-07 2019-01-24 アップル インコーポレイテッドApple Inc. List scrolling and document translation, scaling and rotation on touch-screen display
US8135574B2 (en) 2007-11-15 2012-03-13 Weikel Bryan T Creating and displaying bodies of parallel segmented text
US9720594B2 (en) 2008-03-04 2017-08-01 Apple Inc. Touch event model
US11740725B2 (en) 2008-03-04 2023-08-29 Apple Inc. Devices, methods, and user interfaces for processing touch events
US9389712B2 (en) 2008-03-04 2016-07-12 Apple Inc. Touch event model
US9323335B2 (en) 2008-03-04 2016-04-26 Apple Inc. Touch event model programming interface
US9971502B2 (en) 2008-03-04 2018-05-15 Apple Inc. Touch event model
US10521109B2 (en) 2008-03-04 2019-12-31 Apple Inc. Touch event model
US9690481B2 (en) 2008-03-04 2017-06-27 Apple Inc. Touch event model
US9798459B2 (en) 2008-03-04 2017-10-24 Apple Inc. Touch event model for web pages
US10379728B2 (en) 2008-03-04 2019-08-13 Apple Inc. Methods and graphical user interfaces for conducting searches on a portable multifunction device
US10936190B2 (en) 2008-03-04 2021-03-02 Apple Inc. Devices, methods, and user interfaces for processing touch events
US11720584B2 (en) 2009-03-16 2023-08-08 Apple Inc. Multifunction device with integrated search and application selection
US9965177B2 (en) 2009-03-16 2018-05-08 Apple Inc. Event recognition
US11755196B2 (en) 2009-03-16 2023-09-12 Apple Inc. Event recognition
US9311112B2 (en) 2009-03-16 2016-04-12 Apple Inc. Event recognition
US9285908B2 (en) 2009-03-16 2016-03-15 Apple Inc. Event recognition
US10042513B2 (en) 2009-03-16 2018-08-07 Apple Inc. Multifunction device with integrated search and application selection
US11163440B2 (en) 2009-03-16 2021-11-02 Apple Inc. Event recognition
US9483121B2 (en) 2009-03-16 2016-11-01 Apple Inc. Event recognition
US10067991B2 (en) 2009-03-16 2018-09-04 Apple Inc. Multifunction device with integrated search and application selection
US9354811B2 (en) 2009-03-16 2016-05-31 Apple Inc. Multifunction device with integrated search and application selection
US10719225B2 (en) 2009-03-16 2020-07-21 Apple Inc. Event recognition
US10564826B2 (en) 2009-09-22 2020-02-18 Apple Inc. Device, method, and graphical user interface for manipulating user interface objects
US10788965B2 (en) 2009-09-22 2020-09-29 Apple Inc. Device, method, and graphical user interface for manipulating user interface objects
US11334229B2 (en) 2009-09-22 2022-05-17 Apple Inc. Device, method, and graphical user interface for manipulating user interface objects
US10732790B2 (en) 2010-01-06 2020-08-04 Apple Inc. Device, method, and graphical user interface for navigating and displaying content in context
US11592959B2 (en) 2010-01-06 2023-02-28 Apple Inc. Device, method, and graphical user interface for navigating and displaying content in context
US11099712B2 (en) 2010-01-06 2021-08-24 Apple Inc. Device, method, and graphical user interface for navigating and displaying content in context
US10296166B2 (en) 2010-01-06 2019-05-21 Apple Inc. Device, method, and graphical user interface for navigating and displaying content in context
US10732997B2 (en) 2010-01-26 2020-08-04 Apple Inc. Gesture recognizers with delegates for controlling and modifying gesture recognition
US9684521B2 (en) 2010-01-26 2017-06-20 Apple Inc. Systems having discrete and continuous gesture recognizers
US10216408B2 (en) 2010-06-14 2019-02-26 Apple Inc. Devices and methods for identifying user interface objects based on view hierarchy
US9298363B2 (en) 2011-04-11 2016-03-29 Apple Inc. Region activation for touch sensitive surface
US10908929B2 (en) 2012-10-15 2021-02-02 Famous Industries, Inc. Human versus bot detection using gesture fingerprinting
US10877780B2 (en) 2012-10-15 2020-12-29 Famous Industries, Inc. Visibility detection using gesture fingerprinting
US9652076B1 (en) 2012-10-15 2017-05-16 Famous Industries, Inc. Gesture fingerprinting
US9772889B2 (en) 2012-10-15 2017-09-26 Famous Industries, Inc. Expedited processing and handling of events
US9501171B1 (en) 2012-10-15 2016-11-22 Famous Industries, Inc. Gesture fingerprinting
US10521249B1 (en) 2012-10-15 2019-12-31 Famous Industries, Inc. Gesture Fingerprinting
US11386257B2 (en) 2012-10-15 2022-07-12 Amaze Software, Inc. Efficient manipulation of surfaces in multi-dimensional space using energy agents
US10691230B2 (en) 2012-12-29 2020-06-23 Apple Inc. Crown input for a wearable electronic device
US9733716B2 (en) 2013-06-09 2017-08-15 Apple Inc. Proxy gesture recognizer
US11429190B2 (en) 2013-06-09 2022-08-30 Apple Inc. Proxy gesture recognizer
US10503388B2 (en) 2013-09-03 2019-12-10 Apple Inc. Crown input for a wearable electronic device
EP2871572A1 (en) * 2013-11-06 2015-05-13 Samsung Electronics Co., Ltd Contents display method and electronic device implementing the same
US11157158B2 (en) 2015-01-08 2021-10-26 Apple Inc. Coordination of static backgrounds and rubberbanding
US11644966B2 (en) 2015-01-08 2023-05-09 Apple Inc. Coordination of static backgrounds and rubberbanding
US11941223B2 (en) 2016-06-12 2024-03-26 Apple Inc. User interfaces for retrieving contextually relevant media content
US11334209B2 (en) 2016-06-12 2022-05-17 Apple Inc. User interfaces for retrieving contextually relevant media content
US10324973B2 (en) 2016-06-12 2019-06-18 Apple Inc. Knowledge graph metadata network based on notable moments
US11681408B2 (en) 2016-06-12 2023-06-20 Apple Inc. User interfaces for retrieving contextually relevant media content
US10073584B2 (en) 2016-06-12 2018-09-11 Apple Inc. User interfaces for retrieving contextually relevant media content
US10891013B2 (en) 2016-06-12 2021-01-12 Apple Inc. User interfaces for retrieving contextually relevant media content
US11782575B2 (en) 2018-05-07 2023-10-10 Apple Inc. User interfaces for sharing contextually relevant media content
US11243996B2 (en) 2018-05-07 2022-02-08 Apple Inc. Digital asset search user interface
US11086935B2 (en) 2018-05-07 2021-08-10 Apple Inc. Smart updates from historical database changes
US11775590B2 (en) 2018-09-11 2023-10-03 Apple Inc. Techniques for disambiguating clustered location identifiers
US10803135B2 (en) 2018-09-11 2020-10-13 Apple Inc. Techniques for disambiguating clustered occurrence identifiers
US10846343B2 (en) 2018-09-11 2020-11-24 Apple Inc. Techniques for disambiguating clustered location identifiers
US11307737B2 (en) 2019-05-06 2022-04-19 Apple Inc. Media browsing user interface with intelligently selected representative media items
US11625153B2 (en) 2019-05-06 2023-04-11 Apple Inc. Media browsing user interface with intelligently selected representative media items
US11947778B2 (en) 2019-05-06 2024-04-02 Apple Inc. Media browsing user interface with intelligently selected representative media items
US11716629B2 (en) 2020-02-14 2023-08-01 Apple Inc. User interfaces for workout content
US11638158B2 (en) 2020-02-14 2023-04-25 Apple Inc. User interfaces for workout content
US11611883B2 (en) 2020-02-14 2023-03-21 Apple Inc. User interfaces for workout content
US11564103B2 (en) 2020-02-14 2023-01-24 Apple Inc. User interfaces for workout content
US11452915B2 (en) 2020-02-14 2022-09-27 Apple Inc. User interfaces for workout content
US11446548B2 (en) 2020-02-14 2022-09-20 Apple Inc. User interfaces for workout content
US11954322B2 (en) 2022-09-15 2024-04-09 Apple Inc. Application programming interface for gesture operations

Also Published As

Publication number Publication date
AU2003220400A1 (en) 2003-10-08

Similar Documents

Publication Publication Date Title
US10055090B2 (en) Constraining display motion in display navigation
WO2003081458A1 (en) Controlling content display
CN103460169B (en) Electronic apparatus, display method, and program
US20080094367A1 (en) Pressure-Controlled Navigating in a Touch Screen
US20090109243A1 (en) Apparatus and method for zooming objects on a display
US20120266104A1 (en) Method and Apparatus of Scrolling a Document Displayed in a Browser Window
CN1537265A (en) Method and device for navigating inside image
KR100795590B1 (en) Method of navigating, electronic device, user interface and computer program product
US20070006086A1 (en) Method of browsing application views, electronic device, graphical user interface and computer program product
Mishra 10 Inventions on scrolling and scrollbars in Graphical User Interface
JP2013011981A (en) Display control method, program, and display unit

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP