Mobile phones, smartphones, tablet computers, and other portable electronic devices typically display electronic messages, photos, or other items as a list or thread. For example, a smartphone can show a thread of text messages arranged according to a time of reception or transmission. The smartphone, however, can only show a few most recent messages in the thread at once due to a limited display area. To access additional text messages in the thread, a user may have to scroll up or down in order to locate a desired text message.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Aspects of the present technology are directed to efficient navigation of messages, photos, or other suitable items in a list on mobile phones, smartphones, tablet computers, or other portable electronic devices. In certain embodiments, a portable electronic device may monitor for and detect user intention for accessing additional items not currently displayed based on a current position of an item displayed on the portable electronic device. For example, a current position of the item may correspond to a position (e.g., 10th) and/or a time of reception or transmission (e.g., 1 day ago) relative to the most recent item. If the position and/or time are greater than a corresponding threshold, the portable electronic device may indicate that a user intends to visit additional items.
If user intention is detected, the portable electronic device may display a previously hidden directory interface object (e.g., a list header) to the user. Upon actuation of the directory interface object by the user, the portable electronic device can display a group directory showing a plurality of interface representations (e.g., graphical icons, pictures, images, etc.) individually associated with a subset of items in the list. The group directory may be organized based on a week, month, and/or year of creation, reception, or transmission, or based on other suitable criteria. Using the group directory, the user may then “jump” to a particular subset by selecting a corresponding interface representation to access desired items without scrolling through all of the messages.
Various embodiments of systems, components, modules, routines, and processes of navigation of messages in a list are described below. In the following description, example software codes, values, and other specific details are included to provide a thorough understanding of various embodiments of the present technology. As used herein, an “item” or a “list item” generally refers to an electronic file, a communication object, and/or other suitable types of software entity. For example, an item may include a photo, a video, a contact record, an application, a shortcut to an installed application, a voice recording, a document, a subset of a database such as a database entry, and/or other suitable types of file. In other examples, a list item may also include a text message, an email, a multimedia message, an instant message, an enhanced message, and/or other suitable communication object. A person skilled in the relevant art will also understand that the technology may have additional embodiments. The technology may also be practiced without several of the details of the embodiments described below with reference to
As discussed above, a portable electronic device may present a limited number of messages or items in a list at once due to a limited display area. However, the list can include hundreds, if not thousands of items. As a result, scrolling through such a long list of items can be tedious and inefficient. One solution may include presenting navigation widgets (e.g., fast forward widgets) on a user interface to facilitate navigation of the messages. However, such navigation widgets can clutter the already limited display area of the portable electronic device.
Several embodiments of the present technology can address at least some of the foregoing challenges by monitoring for and detecting user intention to access additional items not currently displayed. Upon detection of the user intention, the portable electronic device may display a previously hidden directory interface object (e.g., a list header) to the user. Upon an input to or other interaction with the directory interface object by the user, the portable electronic device can display a group directory showing a plurality of interface representations individually associated with a subset of items in the list. As used herein, the term “interface representation” generally refers to an icon, picture, image, text string, and/or other depiction suitable to be displayed on a user interface of a computing device. The term “directory interface object” generally refers to an interface representation, upon an input to or other interaction by a user, that can cause displaying of a group directory, for example, having the plurality of interface representations individually associated with a subset of items in the list on the portable electronic device. Using the group directory, the user may then “jump” to a particular subset to access additional items without scrolling through all of the items in the list. Several embodiments of the present technology can thus improve usability over conventional techniques without cluttering the display area of the portable electronic device.
In operation, the portable electronic device 120 can transmit and/or receive messages to and from a user. As used herein, the term “messages” generally refers to text messages, emails, multimedia messages, enhanced messages, instant messages, and/or other suitable electronic communication objects. For example, the user 101 can compose a text message using the display 124 and/or the input button 125. The portable electronic device 120 can then transmit the composed text message to one or more other users and/or devices. In other examples, the user can also create or receive photos, videos, voice recordings, documents (text files, spreadsheets, etc.), and/or other suitable items on the portable electronic device 120.
The portable electronic device 120 can also display items to the user. For example, the portable electronic device 120 can display a list or thread of text messages arranged by a time of reception or transmission on the display 124. Due to a limited area on the display 124, the portable electronic device 120 can only display a limited number of messages (e.g., most recently received messages) on the display 124 at once. However, from time to time, the user may desire to visit additional text messages. As discussed in more detail below with reference to
As show in
The processor 122 can be configured to execute instructions of software components stored in the memory 123. For example, as shown in
In operation, the input component 132 can accept input data 150 (e.g., user input via the display 124 and/or the input button 125 in
The sensing module 160 is configured to receive the input data 150 and convert the input data 150 into types of user inputs. For example, the sensing module 160 may receive a user input representing a travel distance of the user's finger(s) and a duration of persistent touch. The sensing module 160 can then compare the duration of persistent touch to a predetermined threshold. If the duration is greater than the predetermined threshold, the analysis module 162 may indicate that the input is a scroll. In further example, the sensing module 160 may convert the input data 150 into a touch, a click, a double click, a page up, a page down, and/or other suitable types of input.
The calculation module 166 may include routines configured to perform various types of calculations to facilitate operations of other modules. In one example, the calculation module 166 can include a division routine that calculates an average speed of the user's scroll by dividing the travel distance by the duration of persistent touch. In another example, the calculation module 166 can include a differentiation routine that calculates an acceleration of the user's scroll by differentiating the average speed with respect to time. In further examples, the calculation module 166 can include linear regression, polynomial regression, interpolation, extrapolation, and/or other suitable subroutines. In further examples, the calculation module 166 can also include counters, timers, and/or other suitable routines.
The analysis module 162 can be configured to analyze the various sensed and/or calculated user inputs to detect user intention to visit additional items. In certain embodiments, the analysis module 162 can determine a position (e.g., 11th) and/or a time of reception or transmission (e.g., 2 day ago) of the top most or bottom most items that is currently displayed on the display 124 (
The control module 164 may be configured to control navigation of items in a list on the portable electronic device 120 (
As shown in
At stage 204, the process 200 includes detecting user intention to visit additional, currently not displayed items in the list by monitoring user browsing inputs. In certain embodiments, detecting user intention includes monitoring a position and/or time of reception or transmission for the top most or bottom most item in the list relative to the most recent item. In other embodiments, detecting user intention can also include monitoring a scroll distance, a scroll speed, a scroll acceleration, and/or other suitable rendering characteristics of the displayed items. As used herein, the term “rendering characteristic” generally refers to a display action (e.g., scrolling), profile (e.g., position of the top most or bottom most displayed item), and/or other feature of the displayed items in the list. For example, monitoring a scroll acceleration may include monitoring for a rapid upward or downward slide movement of the user's finger, which is commonly referred to as a “flick.” In other examples, monitoring a scroll speed or scroll acceleration can include monitoring for hovering, hand waving, and/or other suitable user gestures.
Based on the monitored position and/or time of reception or transmission for the top most or bottom most item, scroll distance, a scroll speed, a scroll acceleration, and/or other suitable rendering characteristics, the portable electronic device 120 can determine if the user intends to visit additional items. For example, in one embodiment, if the monitored position of the top most or bottom most item is greater than a position threshold, the process 200 may indicate that user intention is detected. In another embodiment, if the monitored time is earlier than a time threshold, the process 200 may indicate that such user intention is detected. In yet another embodiment, if the scroll distance, scroll speed or scroll acceleration is higher than a corresponding threshold, the process 200 may indicate that such user intention is detected. In further embodiments, the process 200 may indicate that such user intention is detected based on a combination of the foregoing conditions and/or other suitable conditions.
At stage 206, if no user intention to visit additional items is detected, the process 200 reverts to detecting user intention to visit additional, currently not displayed items in the list at stage 204; otherwise, the process 200 precedes to an optional stage 208 in which a previously hidden directory interface object is displayed. In certain embodiments, the directory interface object can include a list header, e.g., a month and year in which the currently displayed items were received or transmitted. In other embodiments, the directory interface object may include a widget, a button, a link, and/or other suitable types of interface object that may be used to display a group directory of the list items.
At optional stage 210, a decision is made to determine whether a user has provided input to or otherwise interacted with the displayed directory interface object. If the user has not actuated or otherwise interacted with the displayed directory interface object, the process 200 reverts to displaying the interface object at stage 208; otherwise, the process 200 proceeds to stage 212 in which navigation of items based on a group directory is enabled, as described in more detail below with reference to
The process 200 then includes a decision stage 214 to determine whether the process continues. In one embodiment, the process 200 continues if the user continues to interact with the items. In other embodiments, the process 200 continues if some of the items are still displayed. In further embodiments, the process 200 can continue based on other suitable conditions. If the process continues, the process 200 reverts to detecting user intention to visit additional, currently not displayed items in the list at stage 204; otherwise, the process ends.
At stage 224, the process 212 includes monitoring user selection of the group directory. If no selection is detected, the process 212 reverts to monitoring user selection at stage 224. If user selection of a particular group is detected, the process 212 includes displaying items of the selected group at stage 228. In one embodiment, the displayed items are arranged with the earliest message displayed first. In another embodiment, the displayed items are arranged with the most recent message displayed first. In further embodiments, the displayed items can be arranged in other suitable manners.
As shown in
During operation, a user 101 may scroll the messages 300 as indicated by arrow 306. In response, as shown in
If the user 101 actuates, by touching or otherwise interacting with the displayed directory interface object 308, as shown in
Upon the user 101 selecting one of the displayed interface representations 314 (e.g., October 2012), as shown in
Specific embodiments of the technology have been described above for purposes of illustration. However, various modifications may be made without deviating from the foregoing disclosure. In addition, many of the elements of one embodiment may be combined with other embodiments in addition to or in lieu of the elements of the other embodiments. Accordingly, the technology is not limited except as by the appended claims.