EP2579144B1 - Determining a target position for scrolling content - Google Patents
Determining a target position for scrolling content Download PDFInfo
- Publication number
- EP2579144B1 EP2579144B1 EP12186233.8A EP12186233A EP2579144B1 EP 2579144 B1 EP2579144 B1 EP 2579144B1 EP 12186233 A EP12186233 A EP 12186233A EP 2579144 B1 EP2579144 B1 EP 2579144B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- scroll
- content
- target position
- scrolling
- initial
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 11
- 230000001133 acceleration Effects 0.000 claims description 9
- 230000004913 activation Effects 0.000 claims 1
- 230000009471 action Effects 0.000 description 27
- 238000009877 rendering Methods 0.000 description 13
- 230000007246 mechanism Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000006073 displacement reaction Methods 0.000 description 5
- 230000015654 memory Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 208000019300 CLIPPERS Diseases 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 208000021930 chronic lymphocytic inflammation with pontine perivascular enhancement responsive to steroids Diseases 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 241000577979 Peromyscus spicilegus Species 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0485—Scrolling or panning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
Definitions
- Electronic devices can render content for display by a display device.
- Various user inputs can be received by an electronic device to control the view of the displayed content.
- the user inputs can specify scrolling, zooming, and so forth.
- Scrolling can be indicated by using slidable scroll bars or other displayed control icons, or using an input control device (e.g. mouse, touchpad, etc.).
- an input control device e.g. mouse, touchpad, etc.
- Scrolling can also be indicated by a touch event on a touch-screen display device, where the touch event can include a sliding action, a drag action, or a flick action.
- a command to scroll content for display in a display device of the electronic device is received.
- An initial target position to scroll to is determined based on a property of the command.
- An updated target position in the content to scroll to is determined as specified in the independent claims 1 and 3.
- US2006/075358 relates to a method for scrolling items on a list, wherein the method comprises: conducting said scrolling on a user interface and adaptively controlling speed of the scrolling depending on the items on the list.
- US2003/122787 relates to an electronic device displaying lists that extend beyond the vertical display dimension of the display screen, which are displaced in the vertical direction by touching the screen with a finger and then moving the finger in the desired direction on the screen.
- the initial speed of displacement of the displayed image corresponds to the speed of motion of the finger along the screen.
- the system measures the length of time that the finger is in contact with the screen and the distance that the finger is moved during that time, to determine if a selection is desired or if it is desired only to stop displacement of the image. That is, a short term contact with the screen, say 500 ms or less, accompanied by little or no displacement on the screen, can be identified as an intended selection, while a longer contact with little or no accompanying displacement can be interpreted as being intended to stop the motion of the image without making a selection
- EP2302493 discloses a method for scrolling a multi-section document including displaying on a display an electronic document that includes a plurality of document sections separated by respective logical structure boundaries; detecting a gesture on a touch-sensitive surface, the gesture having an initial velocity that exceeds a predefined speed threshold such that the gesture will scroll the electronic document more than one document section; initiating scrolling of the electronic document on the display at the initial velocity in accordance with an initial scrolling speed versus scrolling distance function; while scrolling the electronic document, adjusting the scrolling speed versus scrolling distance function so that when the scrolling speed becomes zero, a first logical structure boundary in the electronic document is displayed at a predefined location on the display; and, scrolling the electronic document in accordance with the adjusted scrolling speed versus scrolling distance function.
- WO2010/024969 discloses navigating or scrolling through a list of items by assigning a given item a non-null value for a friction property, and slowing the scrolling when the given item nears or enters the viewport, or pausing the scrolling when the given item enters the viewport.
- Scrolling at speed can be configured to be resumed when the user takes a particular action, or can be configured to resume after a designated elapsed time without user action.
- the scrolling can slow down or pause when the given item is within a predetermined number of list items from the cursor position.
- US2010/0251166 relates to an information browse apparatus including an attractive data detector, a display unit, a scroll processor, and a data clipper.
- the attractive data detector detects attractive data and a location of the attractive data.
- the display unit displays partial data of spread data on a display area corresponding to a screen size of a display screen.
- the scroll processor determines a direction and speed of scrolling in response to a scroll instruction, determines a basic updated location of an updated display area in accordance with the direction and speed of scrolling, and determines a corrected updated location in accordance with the location of the attractive data and the basic updated location.
- the data clipper clips the partial data of the spread data to be displayed on the display unit.
- EP1727032 relates to a method and apparatus for adjusting scrolling speed according to the location of an item currently being highlighted on a screen in a block containing the item.
- the method includes: measuring a distance between the item currently being highlighted on the screen and a last item of the block containing the item; and reducing the scrolling speed if the measured distance is smaller than a predefined value. Therefore, it is possible for a user to identify the location of desired data while quickly scrolling through a considerable amount of data on a screen.
- a user of an electronic device can cause scrolling of content that is displayed in a display device of the electronic device.
- the scrolling can be in response to any of various different types of input actions of the user at an input device.
- the input actions to perform scrolling can include activating an input control device, such as a mouse, touchpad, or other input device.
- the input actions can include activating a displayed control icon, such as a slidable scroll bar, a control arrow, and so forth.
- the input actions can include touch-based actions, such as a sliding action, a drag action, or a flick action on a touch-based display device. In the latter examples above, the touch-based display device is considered a type of input device.
- Certain input actions to perform scrolling can result in continued scrolling even after a user has released the mechanism that initiated the scrolling.
- An example of such input action is the flick action on a touch-based display device.
- the flick action involves touching the touch-based display device with the user's finger, dragging in the scroll direction, and then lifting the finger from the touch-based display device. Even after the finger has been lifted, the scrolling of content continues for some distance, where the amount of scrolling after lifting of the finger depends on the velocity of the finger's drag action.
- This type of scrolling is also referred to as momentum-based scrolling.
- a user can perform a flick action on a touchpad to cause momentum-based scrolling, a user can click on a displayed control icon to cause momentum-based scrolling, and so forth.
- a user may not know where the scroll will end.
- the scroll may end at a portion of the displayed content that does not contain useful information (from the user's perspective).
- techniques or mechanisms are provided to allow for a determination of a target position to scroll to, where the target position is based on a property of a scroll command and based on identifying an element in the content. Such techniques or mechanisms increase the likelihood that momentum-based scrolling will scroll to a position in the content that contains useful information (from the user's perspective).
- Fig. 1 is a block diagram of an example network arrangement that includes an electronic device 100 and a remote device 102, which are coupled over a network 101. Although just one electronic device 100 and remote device 102 are shown in Fig. 1 , it is noted that a network arrangement can include multiple electronic devices 100 or remote devices 102. Examples of the electronic device 100 include a computer (e . g . desktop computer, notebook computer, tablet computer, and so forth), a personal digital assistant (PDA), a mobile telephone, an electronic appliance or other type of electronic device.
- a computer e . g . desktop computer, notebook computer, tablet computer, and so forth
- PDA personal digital assistant
- the remote device 102 can be any device that is able to communicate data to the electronic device 100.
- Examples of the remote device 102 include an electronic mail server (that communicates electronic mail messages to client devices), a web server device, a proxy device, and so forth.
- the remote device 102 can be implemented with a server computer or a system having multiple server computers, as examples.
- the electronic device 100 includes an application 104 that is able to receive data (either from an internal source inside the electronic device or from an external source such as the remote device 102) and to display the data on a display device 106 of the client device 100.
- the application 104 can be an electronic mail application to present electronic mail messages in the display device 106.
- the application 104 can be a web browser (to display web content), a social networking application (to display social networking messages), or any other type of application that allows a user of the electronic device 100 to view displayed content 107 in the display device 106.
- the display device 106 can be a touch-based display device that has a touch-sensitive screen. Touch-based actions on the touch-sensitive screen are detectable by the electronic device 100 and can cause corresponding actions to be performed, where the actions can include a scroll action (to scroll the displayed content 107), zoom action (to zoom into or out from the displayed content), or other actions.
- the electronic device 100 also includes a rendering engine 108 that processes content received by the application 104 to allow the received content to be displayed in the display device 106.
- the content is defined by a markup language such as HTML (Hypertext Markup Language) or other language.
- the rendering engine 108 parses and renders content according to various defined formats, such as according to the HTML format or other formats.
- the rendering engine 108 can include a parser to parse received content, a layout process to place various nodes representing different parts of the received content in a layout as the respective parts of the content would appear in the display device 106, and a painter to paint the content according to the layout specified by the layout process.
- the rendering engine 108 can be a WebKit rendering engine, which is an open source rendering engine used for rendering web pages. In other implementations, the rendering engine 108 can be another type of rendering engine.
- the rendering engine 108 includes scroll target position determination logic 110 that is able to identify a target position to scroll to in response to a scroll command, such as a momentum-based scroll command received due to a flick action on the touch-sensitive display screen of the display device 106.
- a momentum-based scroll command can be received due to another user input, such as by use of an input device 114 ( e . g . a touchpad, a mouse, etc.).
- the scroll target position determination logic 110 is able to identify the target position based on a property of the scroll command and based on identifying an element (or elements) in the content, to increase the likelihood that momentum-based scrolling will scroll to a position in the content that contains useful information (from the user's perspective).
- the electronic device 100 also includes a scroll handler 112, which receives and processes a scroll command, such as a momentum-based scroll command.
- a momentum-based scroll command can be associated with various properties, including an initial velocity of the displayed content at the time point where the user's finger has lifted from the touch-sensitive display screen (and is no longer in contact with the touch-sensitive display screen), and an acceleration due to a target friction to apply in slowing down the scrolling.
- the acceleration can be a predefined constant value.
- the total distance to travel across the content to be displayed can be calculated by the scroll handler 112.
- the scroll handler 112 uses this total travel distance to determine an initial target position in the content to be displayed to travel to.
- the scroll handler 112 can interact with the scroll target position determination logic 110 to update the target position based on identifying element(s) in a portion of the content to be displayed around the initial target position.
- the scroll handler 112 can provide certain information to the scroll target position determination logic 110.
- information can include the initial target position, or a region (also referred to as a "padding") that includes the initial target region, or both.
- the information provided by the scroll handler 112 to the scroll target position determination logic 110 allows the scroll target position determination logic 110 to determine what portion of the content to be displayed to look in for determining what element(s) would likely be of interest to a user, and to update the target position (modified from the initial target position) based on such determination.
- the scroll target position determination logic 110 can determine that the initial target position will result in scrolling to a portion of the content that contains useful information, in which case the scroll target position determination logic 110 does not update the initial target position.
- the scroll target position determination logic 110 can be included in the scroll handler 112, can be provided as a separate module, or can be provided in another module in the electronic device 100.
- the electronic device 100 includes a processor (or multiple processors) 116.
- the processor(s) 116 is (are) connected to a storage medium (or media) 118, a video controller 120, and a network interface 122.
- the video controller 120 is connected to the display device 106 to control the display of data in the display device 106.
- the video controller 120 (or a separate controller) can also receive signals due to touch events on the touch-sensitive display screen of the touch-based display device 106.
- Examples of the storage medium 118 include one or multiple disk-based storage devices, one or more integrated circuit storage devices, and so forth.
- the network interface 122 allows the electronic device 100 to communicate over the data network 101.
- Fig. 2 is a flow diagram of a process performed by the electronic device 100, according to some embodiments.
- the scroll handler 112 receives (at 202) a scroll command to scroll content being displayed in the display device 106.
- the scroll handler 112 determines (at 204) an initial target position to scroll to based on the scroll command.
- the scroll target position determination logic 110 determines (at 206) an updated target position in the content to scroll to in response to the scroll command, where the updated target position is determined based on identifying an element in the content in a region proximate the initial target region.
- the region is "proximate" the initial target region if the region is within a predefined distance of the initial target position.
- the "region within a predefined distance” can include a padding region 302 (which can have a rectangle shape or another shape) around the initial target position, as shown in Fig. 3A .
- the padding region 302 is defined by a padding distance PADY (in the Y or vertical direction) on either side of the initial target position, and a padding distance PADX (in the X or horizontal direction) on either side of the initial target position.
- the "region within a predefined distance" can refer to a region 304 that does not include the initial target position, but is within the predefined distance ( e . g . PAD) of the initial target position.
- tags are used to assist the rendering engine 108 ( Fig. 1 ) in interpreting the content.
- Tags are elements used for annotating content (which can include text, image, video, audio, flash, advertisement, and so forth).
- the tags can define the structure of the content (e . g ., section heading, paragraph, title, line break, etc.) or an attribute of the content (font, color, style, etc.).
- Tags can also provide other instructions or definitions of content.
- Tags include opening tags and closing tags, where a pair of an opening tag and a closing tag defines an element, such as a text element, image element, video element, audio element, a flash content element, an advertisement element, or other element.
- the region 302 or 304 can include one or more elements (e . g . text element, image element, video element, audio element, flash content element, advertisement element, etc.).
- the scroll target position determination logic 110 of Fig. 1 can identify the element(s) in the region 302 or 304, and can update the target position for the scrolling based on the identified element(s).
- the scroll target position determination logic 110 returns the updated target position to the scroll handler 112, which is then used by the scroll handler 112 to perform the scrolling in response to the scroll command received at 202 in Fig. 2 .
- the scroll target position determination logic 110 can instead provide a list of one or more elements in the region that is proximate the initial target position. This list of one or more elements is provided to the scroll handler 112, which can then determine the updated target position based on the list of one or more elements.
- the list of one or more elements can be in the form of a list of one or more content rectangles that contain respective content. Each of the one or more content rectangles can be associated with annotation to indicate the type of content ( e .
- the scroll handler 112 can use the content rectangle(s) and associated annotation to identify which element would likely be of most interest to a user, and to determine a target position for scrolling accordingly.
- a predefined criterion can be used by the scroll target position determination logic 110 or scroll handler 112 to determine which of the multiple elements would be of most interest to a user.
- the predefined criterion (or criteria) can rank certain types of elements (such as an advertisement element) lower than other types of elements.
- the predefined criterion (or criteria) can also rank different elements according to the general type of content that is being viewed by the user. For example, if the content being viewed is part of an online news article, then it is likely that a text element (containing a passage of the news article) would likely be of more interest to the user than a video element or audio element, for example.
- the predefined criterion can include relative sizes of the elements in the region (e . g . a larger element may be ranked higher than a smaller element, or vice versa), or relatively distances of the elements in the region to the initial target position (e . g . a closer element may be ranked higher than a farther element).
- custom tags can also be included in content (e.g. HTML content) to be displayed. These custom tags are customized for use in performing scrolling. Different customized tags can identify different types of content. The different types of content can be assigned different levels of priority by the author of the content, such that in a region proximate the initial target region that contains multiple elements (associated with respective different customized tags), the scroll target position determination logic 110 or scroll handler 112 can use the prioritization of the different customized tags to select which one to use for the purpose of determining an updated target position for scrolling.
- the priorities of the customized tags can be coded into the customized tags themselves, or alternatively, the scroll target position determination logic 110 or scroll handler 112 can maintain stored information specifying relative priorities of different types of content indicated by different customized tags.
- Fig. 4 shows content associated with an online news magazine for example.
- the news magazine includes multiple articles (including Article 1 and Article 2), which are identified by respective pairs of customized tags ⁇ article> ⁇ /article>.
- Each article also includes respective sections, identified by respective pairs of customized tags ⁇ section> ⁇ /section>.
- typical HTML or other markup language tags for identifying paragraphs, headings, etc. are not shown.
- the scroll target position determination logic 110 or scroll handler 112 When scrolling in response to a scroll command (such as a momentum-based scroll command), the scroll target position determination logic 110 or scroll handler 112 identifies elements associated with customized tags (e . g . ⁇ article> or ⁇ section> in the example of Fig. 4 ) in a region proximate the initial target position. Using predefined criterion (or criteria), the scroll target position determination logic 110 or scroll handler 112 selects an updated target position that corresponds to an article or a section. For a faster scroll (associated with a scroll command with a relatively high initial velocity), the updated target position corresponds to a portion of an article proximate the initial target position.
- a scroll command such as a momentum-based scroll command
- the concept here is that for faster scrolling, the user is likely to wish to scroll from article to article in the news magazine.
- the updated target position corresponds to a portion of a section within an article proximate the initial target position.
- the concept here is that for slower scrolling, the user is likely to wish to scroll from section to section within the same article in the news magazine.
- the initial velocity v0 is the velocity at the point that the user's finger was lifted from the touch-sensitive display screen after the drag operation
- the distance to be traveled ( dx ) is the distance to be traveled to from the point where the user's finger was lifted from the touch-sensitive display screen to the target position.
- scrolling in the x direction which can be the horizontal direction.
- scrolling can also be in the y direction (vertical direction).
- the same computations can be used to determine dy , the distance to travel in the y direction due to the scroll.
- a scroll action can have components in both the x and y directions (such as a scroll in a slanted or diagonal direction). In that case, the computations of dx and dy can be combined to determine the target position of the scroll.
- the initial target position is sent by the scroll handler 112 to the scroll target position determination logic 110 ( Fig. 1 ) to allow for a determination of an updated target position, as discussed above.
- the distance traversed is changed-this new distance traversed is represented as dx'.
- the new distance traversed dx' is equal to the updated target position less the current position at the start at the scroll.
- a new acceleration ( a' ) is computed
- a new time ( t' ) to traverse from the current position at the start of the scroll to the updated target position is also computed.
- the scrolling of the content uses these values to scroll to the updated target position, which gradual slowing based on a' and the total elapsed time of the scroll equal to t' .
- the likelihood of ending up at portion of content at the end of a scroll that contains useful content is increased. This reduces the likelihood that the user will see a blank space or an advertisement or other less desirable content at the end of the scroll.
- Machine-readable instructions of modules described above are loaded for execution on processor(s) (such as 116 in Fig. 1 ).
- a processor can include a microprocessor, microcontroller, processor module or subsystem, programmable integrated circuit, programmable gate array, or another control or computing device.
- Data and instructions are stored in respective storage devices, which are implemented as one or more computer-readable or machine-readable storage media.
- the storage media include different forms of memory including semiconductor memory devices such as dynamic or static random access memories (DRAMs or SRAMs), erasable and programmable read-only memories (EPROMs), electrically erasable and programmable read-only memories (EEPROMs) and flash memories; magnetic disks such as fixed, floppy and removable disks; other magnetic media including tape; optical media such as compact disks (CDs) or digital video disks (DVDs); or other types of storage devices.
- DRAMs or SRAMs dynamic or static random access memories
- EPROMs erasable and programmable read-only memories
- EEPROMs electrically erasable and programmable read-only memories
- flash memories such as fixed, floppy and removable disks
- magnetic media such as fixed, floppy and removable disks
- optical media such as compact disks (CDs) or digital video disks (DVDs); or other
- the instructions discussed above can be provided on one computer-readable or machine-readable storage medium, or alternatively, can be provided on multiple computer-readable or machine-readable storage media distributed in a large system having possibly plural nodes.
- Such computer-readable or machine-readable storage medium or media is (are) considered to be part of an article (or article of manufacture).
- An article or article of manufacture can refer to any manufactured single component or multiple components.
- the storage medium or media can be located either in the machine running the machine-readable instructions, or located at a remote site from which machine-readable instructions can be downloaded over a network for execution.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Description
- Electronic devices can render content for display by a display device. Various user inputs can be received by an electronic device to control the view of the displayed content. For example, the user inputs can specify scrolling, zooming, and so forth. Scrolling can be indicated by using slidable scroll bars or other displayed control icons, or using an input control device (e.g. mouse, touchpad, etc.). Alternatively, scrolling can also be indicated by a touch event on a touch-screen display device, where the touch event can include a sliding action, a drag action, or a flick action.
- In general, according to some implementations, a command to scroll content for display in a display device of the electronic device is received. An initial target position to scroll to is determined based on a property of the command. An updated target position in the content to scroll to is determined as specified in the
independent claims 1 and 3. - Other or alternative features will become apparent from the following description, from the claims, and from the drawings.
-
US2006/075358 relates to a method for scrolling items on a list, wherein the method comprises: conducting said scrolling on a user interface and adaptively controlling speed of the scrolling depending on the items on the list. -
US2003/122787 relates to an electronic device displaying lists that extend beyond the vertical display dimension of the display screen, which are displaced in the vertical direction by touching the screen with a finger and then moving the finger in the desired direction on the screen. In a natural manner, the initial speed of displacement of the displayed image corresponds to the speed of motion of the finger along the screen. When the user's finger is disengaged from the screen, the system senses the disengagement and thereafter allows the vertical displacement speed of the image to decrease at a controlled rate. When it is desired to stop the motion of the image at a given point, or to make a selection from the displayed image, the system measures the length of time that the finger is in contact with the screen and the distance that the finger is moved during that time, to determine if a selection is desired or if it is desired only to stop displacement of the image. That is, a short term contact with the screen, say 500 ms or less, accompanied by little or no displacement on the screen, can be identified as an intended selection, while a longer contact with little or no accompanying displacement can be interpreted as being intended to stop the motion of the image without making a selection -
EP2302493 discloses a method for scrolling a multi-section document including displaying on a display an electronic document that includes a plurality of document sections separated by respective logical structure boundaries; detecting a gesture on a touch-sensitive surface, the gesture having an initial velocity that exceeds a predefined speed threshold such that the gesture will scroll the electronic document more than one document section; initiating scrolling of the electronic document on the display at the initial velocity in accordance with an initial scrolling speed versus scrolling distance function; while scrolling the electronic document, adjusting the scrolling speed versus scrolling distance function so that when the scrolling speed becomes zero, a first logical structure boundary in the electronic document is displayed at a predefined location on the display; and, scrolling the electronic document in accordance with the adjusted scrolling speed versus scrolling distance function. -
WO2010/024969 discloses navigating or scrolling through a list of items by assigning a given item a non-null value for a friction property, and slowing the scrolling when the given item nears or enters the viewport, or pausing the scrolling when the given item enters the viewport. Scrolling at speed can be configured to be resumed when the user takes a particular action, or can be configured to resume after a designated elapsed time without user action. At least to the extent that scrolling through the list is accompanied by sequential items being at a cursor position within the viewport, the scrolling can slow down or pause when the given item is within a predetermined number of list items from the cursor position. -
US2010/0251166 relates to an information browse apparatus including an attractive data detector, a display unit, a scroll processor, and a data clipper. The attractive data detector detects attractive data and a location of the attractive data. The display unit displays partial data of spread data on a display area corresponding to a screen size of a display screen. The scroll processor determines a direction and speed of scrolling in response to a scroll instruction, determines a basic updated location of an updated display area in accordance with the direction and speed of scrolling, and determines a corrected updated location in accordance with the location of the attractive data and the basic updated location. The data clipper clips the partial data of the spread data to be displayed on the display unit. -
EP1727032 relates to a method and apparatus for adjusting scrolling speed according to the location of an item currently being highlighted on a screen in a block containing the item. The method includes: measuring a distance between the item currently being highlighted on the screen and a last item of the block containing the item; and reducing the scrolling speed if the measured distance is smaller than a predefined value. Therefore, it is possible for a user to identify the location of desired data while quickly scrolling through a considerable amount of data on a screen. - The present invention is set out in the independent claims, with some optional features set out in the claims dependent thereto.
- Some embodiments are described with respect to the following figures:
-
Fig. 1 is a block diagram of an example electronic device according to some implementations; -
Fig. 2 is a flow diagram of a process of scrolling, in accordance with some implementations; -
Figs. 3A and 3B illustrate example regions within a predefined distance of an initial target position, according to some implementations; and -
Fig. 4 illustrates customized tags for identifying different types of content, useable to determine an updated target position for scrolling, according to some implementations. - A user of an electronic device can cause scrolling of content that is displayed in a display device of the electronic device. The scrolling can be in response to any of various different types of input actions of the user at an input device. For example, the input actions to perform scrolling can include activating an input control device, such as a mouse, touchpad, or other input device. Alternatively, the input actions can include activating a displayed control icon, such as a slidable scroll bar, a control arrow, and so forth. As yet another alternative, the input actions can include touch-based actions, such as a sliding action, a drag action, or a flick action on a touch-based display device. In the latter examples above, the touch-based display device is considered a type of input device.
- Certain input actions to perform scrolling can result in continued scrolling even after a user has released the mechanism that initiated the scrolling. An example of such input action is the flick action on a touch-based display device. The flick action involves touching the touch-based display device with the user's finger, dragging in the scroll direction, and then lifting the finger from the touch-based display device. Even after the finger has been lifted, the scrolling of content continues for some distance, where the amount of scrolling after lifting of the finger depends on the velocity of the finger's drag action. This type of scrolling is also referred to as momentum-based scrolling.
- There can be other types of input actions that can cause momentum-based scrolling. For example, a user can perform a flick action on a touchpad to cause momentum-based scrolling, a user can click on a displayed control icon to cause momentum-based scrolling, and so forth.
- With momentum-based scrolling, a user may not know where the scroll will end. In some cases, the scroll may end at a portion of the displayed content that does not contain useful information (from the user's perspective). In accordance with some embodiments, techniques or mechanisms are provided to allow for a determination of a target position to scroll to, where the target position is based on a property of a scroll command and based on identifying an element in the content. Such techniques or mechanisms increase the likelihood that momentum-based scrolling will scroll to a position in the content that contains useful information (from the user's perspective).
-
Fig. 1 is a block diagram of an example network arrangement that includes anelectronic device 100 and aremote device 102, which are coupled over anetwork 101. Although just oneelectronic device 100 andremote device 102 are shown inFig. 1 , it is noted that a network arrangement can include multipleelectronic devices 100 orremote devices 102. Examples of theelectronic device 100 include a computer (e.g. desktop computer, notebook computer, tablet computer, and so forth), a personal digital assistant (PDA), a mobile telephone, an electronic appliance or other type of electronic device. - The
remote device 102 can be any device that is able to communicate data to theelectronic device 100. Examples of theremote device 102 include an electronic mail server (that communicates electronic mail messages to client devices), a web server device, a proxy device, and so forth. Theremote device 102 can be implemented with a server computer or a system having multiple server computers, as examples. - The
electronic device 100 includes anapplication 104 that is able to receive data (either from an internal source inside the electronic device or from an external source such as the remote device 102) and to display the data on adisplay device 106 of theclient device 100. For example, theapplication 104 can be an electronic mail application to present electronic mail messages in thedisplay device 106. In other implementations, theapplication 104 can be a web browser (to display web content), a social networking application (to display social networking messages), or any other type of application that allows a user of theelectronic device 100 to view displayedcontent 107 in thedisplay device 106. - The
display device 106 can be a touch-based display device that has a touch-sensitive screen. Touch-based actions on the touch-sensitive screen are detectable by theelectronic device 100 and can cause corresponding actions to be performed, where the actions can include a scroll action (to scroll the displayed content 107), zoom action (to zoom into or out from the displayed content), or other actions. - The
electronic device 100 also includes arendering engine 108 that processes content received by theapplication 104 to allow the received content to be displayed in thedisplay device 106. In some implementations, the content is defined by a markup language such as HTML (Hypertext Markup Language) or other language. Generally, therendering engine 108 parses and renders content according to various defined formats, such as according to the HTML format or other formats. Therendering engine 108 can include a parser to parse received content, a layout process to place various nodes representing different parts of the received content in a layout as the respective parts of the content would appear in thedisplay device 106, and a painter to paint the content according to the layout specified by the layout process. - In some examples, the
rendering engine 108 can be a WebKit rendering engine, which is an open source rendering engine used for rendering web pages. In other implementations, therendering engine 108 can be another type of rendering engine. - In accordance with some embodiments, the
rendering engine 108 includes scroll targetposition determination logic 110 that is able to identify a target position to scroll to in response to a scroll command, such as a momentum-based scroll command received due to a flick action on the touch-sensitive display screen of thedisplay device 106. In alternative implementations, a momentum-based scroll command can be received due to another user input, such as by use of an input device 114 (e.g. a touchpad, a mouse, etc.). - The scroll target
position determination logic 110 is able to identify the target position based on a property of the scroll command and based on identifying an element (or elements) in the content, to increase the likelihood that momentum-based scrolling will scroll to a position in the content that contains useful information (from the user's perspective). - The
electronic device 100 also includes ascroll handler 112, which receives and processes a scroll command, such as a momentum-based scroll command. A momentum-based scroll command can be associated with various properties, including an initial velocity of the displayed content at the time point where the user's finger has lifted from the touch-sensitive display screen (and is no longer in contact with the touch-sensitive display screen), and an acceleration due to a target friction to apply in slowing down the scrolling. The acceleration can be a predefined constant value. Based on the initial velocity and acceleration, the total distance to travel across the content to be displayed can be calculated by thescroll handler 112. Thescroll handler 112 uses this total travel distance to determine an initial target position in the content to be displayed to travel to. - However, since it is possible that the initial target position can be in a portion of the content to be displayed that does not include useful information (from the user's perspective), the
scroll handler 112 can interact with the scroll targetposition determination logic 110 to update the target position based on identifying element(s) in a portion of the content to be displayed around the initial target position. - The
scroll handler 112 can provide certain information to the scroll targetposition determination logic 110. For example, such information can include the initial target position, or a region (also referred to as a "padding") that includes the initial target region, or both. More generally, the information provided by thescroll handler 112 to the scroll targetposition determination logic 110 allows the scroll targetposition determination logic 110 to determine what portion of the content to be displayed to look in for determining what element(s) would likely be of interest to a user, and to update the target position (modified from the initial target position) based on such determination. In some cases, the scroll targetposition determination logic 110 can determine that the initial target position will result in scrolling to a portion of the content that contains useful information, in which case the scroll targetposition determination logic 110 does not update the initial target position. - In alternative implementations, instead of providing the scroll target
position determination logic 110 in therendering engine 108, the scroll targetposition determination logic 110 can be included in thescroll handler 112, can be provided as a separate module, or can be provided in another module in theelectronic device 100. - As further shown in
Fig. 1 , theelectronic device 100 includes a processor (or multiple processors) 116. The processor(s) 116 is (are) connected to a storage medium (or media) 118, a video controller 120, and anetwork interface 122. The video controller 120 is connected to thedisplay device 106 to control the display of data in thedisplay device 106. The video controller 120 (or a separate controller) can also receive signals due to touch events on the touch-sensitive display screen of the touch-baseddisplay device 106. - Examples of the
storage medium 118 include one or multiple disk-based storage devices, one or more integrated circuit storage devices, and so forth. Thenetwork interface 122 allows theelectronic device 100 to communicate over thedata network 101. -
Fig. 2 is a flow diagram of a process performed by theelectronic device 100, according to some embodiments. In the process ofFig. 2 , thescroll handler 112 receives (at 202) a scroll command to scroll content being displayed in thedisplay device 106. Thescroll handler 112 determines (at 204) an initial target position to scroll to based on the scroll command. - Based on the initial target position, the scroll target
position determination logic 110 determines (at 206) an updated target position in the content to scroll to in response to the scroll command, where the updated target position is determined based on identifying an element in the content in a region proximate the initial target region. - The region is "proximate" the initial target region if the region is within a predefined distance of the initial target position. The "region within a predefined distance" can include a padding region 302 (which can have a rectangle shape or another shape) around the initial target position, as shown in
Fig. 3A . In the example ofFig. 3A , thepadding region 302 is defined by a padding distance PADY (in the Y or vertical direction) on either side of the initial target position, and a padding distance PADX (in the X or horizontal direction) on either side of the initial target position. - Alternatively, as shown in
Fig. 3B , the "region within a predefined distance" can refer to a region 304 that does not include the initial target position, but is within the predefined distance (e.g. PAD) of the initial target position. - As noted above, content to be displayed can be in HTML format. With HTML content (or content according to any other markup language), tags are used to assist the rendering engine 108 (
Fig. 1 ) in interpreting the content. Tags are elements used for annotating content (which can include text, image, video, audio, flash, advertisement, and so forth). The tags can define the structure of the content (e.g., section heading, paragraph, title, line break, etc.) or an attribute of the content (font, color, style, etc.). Tags can also provide other instructions or definitions of content. Tags include opening tags and closing tags, where a pair of an opening tag and a closing tag defines an element, such as a text element, image element, video element, audio element, a flash content element, an advertisement element, or other element. - The
region 302 or 304 (or any other region within a predefined distance of the initial target position determined based on a scroll command) can include one or more elements (e.g. text element, image element, video element, audio element, flash content element, advertisement element, etc.). The scroll targetposition determination logic 110 ofFig. 1 can identify the element(s) in theregion 302 or 304, and can update the target position for the scrolling based on the identified element(s). - In some implementations, the scroll target
position determination logic 110 returns the updated target position to thescroll handler 112, which is then used by thescroll handler 112 to perform the scrolling in response to the scroll command received at 202 inFig. 2 . Alternatively, instead of returning the updated target position, the scroll targetposition determination logic 110 can instead provide a list of one or more elements in the region that is proximate the initial target position. This list of one or more elements is provided to thescroll handler 112, which can then determine the updated target position based on the list of one or more elements. In some examples, the list of one or more elements can be in the form of a list of one or more content rectangles that contain respective content. Each of the one or more content rectangles can be associated with annotation to indicate the type of content (e.g. text, image, video, audio, flash, advertisement, etc.) in the respective content rectangle. Thescroll handler 112 can use the content rectangle(s) and associated annotation to identify which element would likely be of most interest to a user, and to determine a target position for scrolling accordingly. - If the region proximate the initial target position includes multiple elements, then a predefined criterion (or criteria) can be used by the scroll target
position determination logic 110 orscroll handler 112 to determine which of the multiple elements would be of most interest to a user. The predefined criterion (or criteria) can rank certain types of elements (such as an advertisement element) lower than other types of elements. The predefined criterion (or criteria) can also rank different elements according to the general type of content that is being viewed by the user. For example, if the content being viewed is part of an online news article, then it is likely that a text element (containing a passage of the news article) would likely be of more interest to the user than a video element or audio element, for example. On the other hand, if the content being viewed is online gaming content, then the content that would likely be of more interest to the user would be an image element. As other examples, the predefined criterion (or criteria) can include relative sizes of the elements in the region (e.g. a larger element may be ranked higher than a smaller element, or vice versa), or relatively distances of the elements in the region to the initial target position (e.g. a closer element may be ranked higher than a farther element). - In alternative embodiments, custom tags can also be included in content (e.g. HTML content) to be displayed. These custom tags are customized for use in performing scrolling. Different customized tags can identify different types of content. The different types of content can be assigned different levels of priority by the author of the content, such that in a region proximate the initial target region that contains multiple elements (associated with respective different customized tags), the scroll target
position determination logic 110 orscroll handler 112 can use the prioritization of the different customized tags to select which one to use for the purpose of determining an updated target position for scrolling. The priorities of the customized tags can be coded into the customized tags themselves, or alternatively, the scroll targetposition determination logic 110 orscroll handler 112 can maintain stored information specifying relative priorities of different types of content indicated by different customized tags. - Examples of customized tags are provided in
Fig. 4 , which shows content associated with an online news magazine for example. The news magazine includes multiple articles (includingArticle 1 and Article 2), which are identified by respective pairs of customized tags <article> </article>. Each article also includes respective sections, identified by respective pairs of customized tags <section> </section>. In the example ofFig. 4 , typical HTML or other markup language tags for identifying paragraphs, headings, etc., are not shown. - When scrolling in response to a scroll command (such as a momentum-based scroll command), the scroll target
position determination logic 110 orscroll handler 112 identifies elements associated with customized tags (e.g. <article> or <section> in the example ofFig. 4 ) in a region proximate the initial target position. Using predefined criterion (or criteria), the scroll targetposition determination logic 110 orscroll handler 112 selects an updated target position that corresponds to an article or a section. For a faster scroll (associated with a scroll command with a relatively high initial velocity), the updated target position corresponds to a portion of an article proximate the initial target position. The concept here is that for faster scrolling, the user is likely to wish to scroll from article to article in the news magazine. On the other hand, for a slower scroll (associated with a scroll command with a relatively low initial velocity), the updated target position corresponds to a portion of a section within an article proximate the initial target position. The concept here is that for slower scrolling, the user is likely to wish to scroll from section to section within the same article in the news magazine. - Other examples of customized tags and other predefined criteria can be used in other implementations.
- The following discusses further details regarding a scrolling technique or mechanism that is employed in response to a momentum-based scroll command. Such a scrolling technique or mechanism is referred to as a kinetic scrolling technique or mechanism. Kinetic scrolling can be based on the following formula:
- Note that different formulas can be used in other examples.
- In examples where the scroll command is caused by a user's finger dragging along the touch-sensitive display screen and then lifting of the user's finger from the touch-sensitive display screen, the initial velocity v0 is the velocity at the point that the user's finger was lifted from the touch-sensitive display screen after the drag operation, and the distance to be traveled (dx) is the distance to be traveled to from the point where the user's finger was lifted from the touch-sensitive display screen to the target position. In some implementations, after the user drags the user's finger along the touch-sensitive display screen and lets go, the initial velocity v0 is calculated based on the distance (d0) traveled by the content due to the drag operation, and time (t0) taken to travel that distance (d0):
-
- The values of v0 and t computed according to Eqs. 2 and 3, respectively, are plugged into Eq. 1 to obtain dx. Once dx is known, the initial target position at which the scroll should end can be determined (the initial target position is equal to a current position at the start of the scroll plus dx).
- The foregoing assumes scrolling in the x direction, which can be the horizontal direction. Note that scrolling can also be in the y direction (vertical direction). The same computations can be used to determine dy, the distance to travel in the y direction due to the scroll. Additionally, it is possible that a scroll action can have components in both the x and y directions (such as a scroll in a slanted or diagonal direction). In that case, the computations of dx and dy can be combined to determine the target position of the scroll.
- The initial target position is sent by the
scroll handler 112 to the scroll target position determination logic 110 (Fig. 1 ) to allow for a determination of an updated target position, as discussed above. Once the updated target position is computed, the distance traversed is changed-this new distance traversed is represented as dx'. The new distance traversed dx' is equal to the updated target position less the current position at the start at the scroll. -
- Once the new acceleration (a') is computed, a new time (t') to traverse from the current position at the start of the scroll to the updated target position is also computed. Once a' and t' are computed, the scrolling of the content uses these values to scroll to the updated target position, which gradual slowing based on a' and the total elapsed time of the scroll equal to t'.
- By using techniques or mechanisms according to some implementations, the likelihood of ending up at portion of content at the end of a scroll that contains useful content (from the user's perspective) is increased. This reduces the likelihood that the user will see a blank space or an advertisement or other less desirable content at the end of the scroll.
- Machine-readable instructions of modules described above (including the
application 104, scroll targetposition determination logic 110,rendering engine 108, andscroll handler 112 ofFig. 1 ) are loaded for execution on processor(s) (such as 116 inFig. 1 ). A processor can include a microprocessor, microcontroller, processor module or subsystem, programmable integrated circuit, programmable gate array, or another control or computing device. - Data and instructions are stored in respective storage devices, which are implemented as one or more computer-readable or machine-readable storage media. The storage media include different forms of memory including semiconductor memory devices such as dynamic or static random access memories (DRAMs or SRAMs), erasable and programmable read-only memories (EPROMs), electrically erasable and programmable read-only memories (EEPROMs) and flash memories; magnetic disks such as fixed, floppy and removable disks; other magnetic media including tape; optical media such as compact disks (CDs) or digital video disks (DVDs); or other types of storage devices. Note that the instructions discussed above can be provided on one computer-readable or machine-readable storage medium, or alternatively, can be provided on multiple computer-readable or machine-readable storage media distributed in a large system having possibly plural nodes. Such computer-readable or machine-readable storage medium or media is (are) considered to be part of an article (or article of manufacture). An article or article of manufacture can refer to any manufactured single component or multiple components. The storage medium or media can be located either in the machine running the machine-readable instructions, or located at a remote site from which machine-readable instructions can be downloaded over a network for execution.
- In the foregoing description, numerous details are set forth to provide an understanding of the subject disclosed herein. However, implementations may be practiced without some or all of these details. It is noted that the foregoing description describes several embodiments. However the described embodiments are not to be regarded as necessarily defining the invention, unless they fall within the scope of the appended claims. Therefore the scope of protection of the present invention is solely defined by the appended claims.
Claims (4)
- A method of an electronic device (100), comprising:receiving (202) a command to scroll content displayed in a display device (106) of the electronic device;determining (204) an initial target position to scroll to based on a property of the command to scroll content and on first values of a parameter defining an acceleration to gradually slow down a scroll speed until the initial target position is reached, wherein the property includes an initial velocity of scrolling of the content;determining (206) an updated target position in the content to scroll to in response to the command to scroll content, the determination comprising identifying, in the content in a region within a predefined distance of the initial target position, an element associated with a tag identifying content in the region as an article of displayed text when the initial velocity of scrolling is high, and identifying, in the content in the region within the predefined distance of the initial target position, an element associated with a tag identifying content in the region as a section of displayed text when the initial velocity of scrolling is low;calculating second, different values of the parameter based on the updated target position; andscrolling to the updated target position using the second values of the parameter,wherein the updated target position corresponds to the identified element.
- The method of claim 1, wherein the display device (106) is a touch-based display device, and wherein receiving (202) the command to scroll content comprises receiving the command to scroll content in response to a touch event on the touch-based display device (106).
- An electronic device (100), comprising:an input device (114); andat least one processor (116) configured to;
receive a command to scroll content due to activation of the input device (114) to scroll content displayed in a display device (106); determine an initial target position to scroll to based on a property of the command to scroll content and on first values of a parameter defining an acceleration to gradually slow down a scroll speed until the initial target position is reached; wherein the property includes an initial velocity of scrolling of the content;determine an updated target position in the content to scroll to in response to the command to scroll content, the determination comprising identifying, in the content in a region within a predefined distance of the initial target position, an element associated with a tag identifying content in the region as an article of displayed text when the initial velocity of scrolling is high, and identifying, in the content in the region within the predefined distance of the initial target position, an element associated with a tag identifying content in the region as a section of displayed text when the initial velocity of scrolling is low;calculate second, different values of the parameter based on the updated target position; andscroll to the updated target position using the second values of the parameter, wherein the updated target position corresponds to the identified element. - The electronic device (100) of claim 3, wherein the input device (114) includes a touch-sensitive screen of the electronic device (100).
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161544366P | 2011-10-07 | 2011-10-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
EP2579144A1 EP2579144A1 (en) | 2013-04-10 |
EP2579144B1 true EP2579144B1 (en) | 2019-05-01 |
Family
ID=47076105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP12186233.8A Active EP2579144B1 (en) | 2011-10-07 | 2012-09-27 | Determining a target position for scrolling content |
Country Status (3)
Country | Link |
---|---|
US (1) | US10466886B2 (en) |
EP (1) | EP2579144B1 (en) |
CA (1) | CA2790986C (en) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8561185B1 (en) * | 2011-05-17 | 2013-10-15 | Google Inc. | Personally identifiable information detection |
JP5451684B2 (en) * | 2011-05-31 | 2014-03-26 | 楽天株式会社 | Information processing apparatus, information processing method, and information processing program |
US8624934B2 (en) * | 2011-09-29 | 2014-01-07 | Microsoft Corporation | Dynamic display of icons on a small screen |
CN103309599A (en) * | 2012-03-15 | 2013-09-18 | 华为终端有限公司 | Touch screen sliding finding method and touch screen equipment |
CN103778365B (en) | 2012-10-18 | 2015-05-13 | 腾讯科技(深圳)有限公司 | Webpage hidden content detecting method and device |
JP5835255B2 (en) * | 2013-03-19 | 2015-12-24 | カシオ計算機株式会社 | Graph display device and graph display program |
US9754286B2 (en) * | 2014-09-22 | 2017-09-05 | Facebook, Inc. | Navigating through content items on a computing device |
US11809811B2 (en) * | 2014-10-25 | 2023-11-07 | Yieldmo, Inc. | Methods for serving interactive content to a user |
US9769367B2 (en) | 2015-08-07 | 2017-09-19 | Google Inc. | Speech and computer vision-based control |
US10225511B1 (en) | 2015-12-30 | 2019-03-05 | Google Llc | Low power framework for controlling image sensor mode in a mobile image capture device |
US9836819B1 (en) | 2015-12-30 | 2017-12-05 | Google Llc | Systems and methods for selective retention and editing of images captured by mobile image capture device |
US10732809B2 (en) | 2015-12-30 | 2020-08-04 | Google Llc | Systems and methods for selective retention and editing of images captured by mobile image capture device |
US9836484B1 (en) | 2015-12-30 | 2017-12-05 | Google Llc | Systems and methods that leverage deep learning to selectively store images at a mobile image capture device |
US9838641B1 (en) | 2015-12-30 | 2017-12-05 | Google Llc | Low power framework for processing, compressing, and transmitting images at a mobile image capture device |
JP6658212B2 (en) * | 2016-03-30 | 2020-03-04 | ブラザー工業株式会社 | Display device and control program |
CN108804176A (en) * | 2018-05-23 | 2018-11-13 | 深圳市茁壮网络股份有限公司 | A kind of methods of exhibiting and device of text information |
CN109815367A (en) * | 2019-01-24 | 2019-05-28 | 北京字节跳动网络技术有限公司 | The interaction control method and device of displayed page |
CN111338732A (en) * | 2020-02-24 | 2020-06-26 | 北京辰森世纪科技股份有限公司 | Display method and device for long list page |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6690387B2 (en) * | 2001-12-28 | 2004-02-10 | Koninklijke Philips Electronics N.V. | Touch-screen image scrolling system and method |
US7551188B2 (en) | 2004-10-01 | 2009-06-23 | Nokia Corporation | Scrolling items on a list |
KR100708135B1 (en) | 2005-05-25 | 2007-04-17 | 삼성전자주식회사 | Method and device for scrolling through blocked items |
US20070132789A1 (en) * | 2005-12-08 | 2007-06-14 | Bas Ording | List scrolling in response to moving contact over list of index symbols |
JP2008033695A (en) * | 2006-07-29 | 2008-02-14 | Sony Corp | Display content scroll method, scroll device and scroll program |
US20100058240A1 (en) * | 2008-08-26 | 2010-03-04 | Apple Inc. | Dynamic Control of List Navigation Based on List Item Properties |
US20100277496A1 (en) * | 2008-09-16 | 2010-11-04 | Ryouichi Kawanishi | Data display device, integrated circuit, data display method, data display program, and recording medium |
JP5088343B2 (en) * | 2009-03-30 | 2012-12-05 | 富士通株式会社 | Information browsing device |
US8624933B2 (en) | 2009-09-25 | 2014-01-07 | Apple Inc. | Device, method, and graphical user interface for scrolling a multi-section document |
US9164670B2 (en) * | 2010-09-15 | 2015-10-20 | Microsoft Technology Licensing, Llc | Flexible touch-based scrolling |
-
2012
- 2012-09-27 CA CA2790986A patent/CA2790986C/en active Active
- 2012-09-27 US US13/628,330 patent/US10466886B2/en active Active
- 2012-09-27 EP EP12186233.8A patent/EP2579144B1/en active Active
Non-Patent Citations (1)
Title |
---|
None * |
Also Published As
Publication number | Publication date |
---|---|
CA2790986C (en) | 2019-10-29 |
EP2579144A1 (en) | 2013-04-10 |
US10466886B2 (en) | 2019-11-05 |
US20130088520A1 (en) | 2013-04-11 |
CA2790986A1 (en) | 2013-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2579144B1 (en) | Determining a target position for scrolling content | |
JP6430020B2 (en) | Web page loading method and system | |
EP2972717B1 (en) | Window switching interface | |
US9182897B2 (en) | Method and apparatus for intuitive wrapping of lists in a user interface | |
US9069416B2 (en) | Method and system for selecting content using a touchscreen | |
CN107015751B (en) | Optimal display and scaling of objects and text in a document | |
CN106471458B (en) | Intelligent sliding and wiping strip in electronic book navigation interface | |
US20140082533A1 (en) | Navigation Interface for Electronic Content | |
US10691326B2 (en) | Document scale and position optimization | |
US20160110046A1 (en) | Adjustable timeline user interface | |
US10310715B2 (en) | Transition controlled e-book animations | |
JP2017501479A (en) | Display page elements | |
WO2014151693A1 (en) | Systems and methods for horizontally paginating html content | |
US20190179499A1 (en) | Systems and methods for providing a digital content reader and collection display application implementing 3d graphical user interfaces and interactions | |
EP3449345B1 (en) | Details pane of a user interface | |
CN113678095B (en) | Interface for multiple simultaneous interactive views | |
US9767076B2 (en) | Document scale and position optimization | |
US10656818B1 (en) | Animation to indicate scrollable content | |
JP2013011981A (en) | Display control method, program, and display unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20120927 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: BLACKBERRY LIMITED |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: BLACKBERRY LIMITED |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
17Q | First examination report despatched |
Effective date: 20170622 |
|
GRAJ | Information related to disapproval of communication of intention to grant by the applicant or resumption of examination proceedings by the epo deleted |
Free format text: ORIGINAL CODE: EPIDOSDIGR1 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: GRANT OF PATENT IS INTENDED |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
INTG | Intention to grant announced |
Effective date: 20181206 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE PATENT HAS BEEN GRANTED |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP Ref country code: AT Ref legal event code: REF Ref document number: 1127803 Country of ref document: AT Kind code of ref document: T Effective date: 20190515 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 602012059528 Country of ref document: DE |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: MP Effective date: 20190501 |
|
REG | Reference to a national code |
Ref country code: LT Ref legal event code: MG4D |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: HR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: NO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190801 Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190901 Ref country code: AL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190801 Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: RS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190802 |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: MK05 Ref document number: 1127803 Country of ref document: AT Kind code of ref document: T Effective date: 20190501 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190901 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602012059528 Country of ref document: DE |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SM Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 |
|
26N | No opposition filed |
Effective date: 20200204 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: MC Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20190930 Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20190927 Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20190927 Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20190930 |
|
REG | Reference to a national code |
Ref country code: BE Ref legal event code: MM Effective date: 20190930 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20190930 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CY Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: HU Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO Effective date: 20120927 Ref country code: MT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20230927 Year of fee payment: 12 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20230925 Year of fee payment: 12 Ref country code: DE Payment date: 20230927 Year of fee payment: 12 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R082 Ref document number: 602012059528 Country of ref document: DE Ref country code: DE Ref legal event code: R081 Ref document number: 602012059528 Country of ref document: DE Owner name: MALIKIE INNOVATIONS LTD., IE Free format text: FORMER OWNER: BLACKBERRY LIMITED, WATERLOO, ONTARIO, CA |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: 732E Free format text: REGISTERED BETWEEN 20240620 AND 20240627 |