| United States Patent Application |
20100199180
|
| Kind Code
|
A1
|
|
Brichter; Loren
|
August 5, 2010
|
User Interface Mechanics
Abstract
Methods, computer readable media, and apparatuses for providing enhanced
user interface mechanics are presented. In one arrangement, a scrollable
list of content items may be displayed. Input associated with a scroll
command may be received. Then, based on the scroll command, a scrollable
refresh trigger may be displayed. Subsequently, the scrollable list of
content items may be refreshed in response to determining, based on the
scroll command, that the scrollable refresh trigger has been activated.
In at least one instance, it may be determined that the scrollable
refresh trigger has been activated in response to determining that the
scroll command was completed while the scrollable refresh trigger was
fully displayed.
| Inventors: |
Brichter; Loren; (West Chester, PA)
|
| Correspondence Address:
|
BANNER & WITCOFF, LTD.
1100 13th STREET, N.W., SUITE 1200
WASHINGTON
DC
20005-4051
US
|
| Assignee: |
ATEBITS LLC
West Chester
PA
|
| Family ID:
|
42398720
|
| Appl. No.:
|
12/756574
|
| Filed:
|
April 8, 2010 |
| Current U.S. Class: |
715/702 ; 715/784 |
| Current CPC Class: |
G06F 3/0482 20130101; G06F 3/0488 20130101; G06F 3/0485 20130101 |
| Class at Publication: |
715/702 ; 715/784 |
| International Class: |
G06F 3/048 20060101 G06F003/048 |
Claims
1. A method, comprising: displaying a content area; receiving input
associated with a first command, the first command including a request to
scroll the content area; and based on the first command, performing a
second command, the second command being independent of the first
command.
2. The method of claim 1, wherein performing the second command includes
refreshing the content area.
3. The method of claim 1, further comprising: waiting for the first
command to be completed before performing the second command.
4. The method of claim 1, further comprising: based on the first command,
prior to performing the second command, displaying an indicator
corresponding to the second command.
5. The method of claim 4, further comprising: in response to determining
that the first command was completed while the indicator was displayed,
performing the second command.
6. The method of claim 4, further comprising: in response to determining
that the first command was completed while the indicator was not
displayed, not performing the second command.
7. The method of claim 5, further comprising: in response to determining
that the second command has been performed, removing the indicator.
8. The method of claim 5, wherein the content area includes a list of
content items.
9. The method of claim 1, wherein the received input represents
touch-based user input.
10. A method, comprising: displaying a scrollable list of content items;
receiving input associated with a scroll command; based on the scroll
command, displaying a scrollable refresh trigger; in response to
determining, based on the scroll command, that the scrollable refresh
trigger has been activated, refreshing the scrollable list of content
items.
11. The method of claim 10, wherein the scrollable refresh trigger
scrolls with the scrollable list of content items.
12. The method of claim 10, wherein the scrollable refresh trigger
indicates the time at which the scrollable list of content items was last
refreshed.
13. The method of claim 10, further comprising: based on the scroll
command, providing a first instruction associated with displaying the
scrollable refresh trigger; and in response to determining that the
scrollable refresh trigger is fully displayed, providing a second
instruction associated with activating the scrollable refresh trigger.
14. The method of claim 10, further comprising: in response to
determining that the scroll command was completed while the scrollable
refresh trigger was fully displayed, determining that the scrollable
refresh trigger has been activated.
15. The method of claim 10, further comprising: in response to
determining that the scroll command was completed while the scrollable
refresh trigger was not fully displayed, determining that the scrollable
refresh trigger has not been activated.
16. The method of claim 10, further comprising: in response to
determining that a refresh operation has completed, automatically
scrolling the scrollable list of content items such that the scrollable
refresh trigger is not displayed.
17. The method of 10, further comprising: in response to displaying the
scrollable refresh trigger, providing first audio feedback; and in
response to determining that the scrollable refresh trigger has been
activated, providing second audio feedback.
18. The method of claim 10, wherein the scrollable list of content items
includes a plurality of discrete content items arranged chronologically.
19. The method of claim 10, wherein the received input represents
touch-based user input.
20. A non-transitory computer-readable medium having computer-executable
instructions stored thereon that, when executed by a processor, cause the
processor to perform a method, comprising: displaying a scrollable list
of content items, the scrollable list of content items including a
plurality of discrete content items arranged chronologically; receiving
input associated with a scroll command, the input representing
touch-based user input; based on the scroll command, displaying a
scrollable refresh trigger configured to scroll with the scrollable list
of content items; in response to determining that the scrollable refresh
trigger is fully displayed, providing an instruction associated with
activating the scrollable refresh trigger; in response to determining
that the scroll command was completed while the scrollable refresh
trigger was fully displayed, refreshing the scrollable list of content
items; and in response to determining that the scrollable list of content
items has been refreshed, automatically scrolling the scrollable list of
content items such that the scrollable refresh trigger is not displayed.
Description
BACKGROUND
[0001] In recent decades, computing devices have taken on an expanding
role in the daily life of many people. For example, many people use
desktop and laptop computers at home and at work for a variety of tasks,
such as communicating with others, consuming digital content (such as
online news, music, and movies), creating digital content, analyzing
data, organizing tasks and calendars, and performing a myriad of other
functions. In addition, many people use and travel with cellular phones,
personal digital assistants, mobile computing devices (such as the iPhone
by APPLE), tablet computers, and a variety of other computing devices
that also provide similar functionalities.
[0002] Increasingly, computing devices also include touch-sensitive
displays to facilitate receiving user input in a more convenient manner.
But whether or not computing devices include touch-sensitive displays,
users of computing devices demand greater convenience and ease of use in
interacting with such devices. In many instances, such convenience and
ease of use may be provided to users by enhancing the user interfaces via
which the users interact with computing devices.
SUMMARY
[0003] The following presents a simplified summary in order to provide a
basic understanding of some aspects of the disclosure. The summary is not
an extensive overview of the disclosure. It is neither intended to
identify key or critical elements of the disclosure nor to delineate the
scope of the disclosure. The following summary merely presents some
concepts of the disclosure in a simplified form as a prelude to the
description below.
[0004] Aspects of this disclosure relate to user interface mechanics.
According to one or more aspects, a content area may be displayed. Input
associated with a first command may be received, and the first command
may include a request to scroll the content area. Then, based on the
first command, a second command may be performed, and the second command
may be independent of the first command. In other words, whether the
second command is performed may be based on the first command, but the
second command itself may be a command that is otherwise unrelated to
scrolling the content area. For instance, in at least one arrangement,
performing the second command may include refreshing the content area.
[0005] According to one or more additional aspects, a scrollable list of
content items may be displayed. Input associated with a scroll command
may be received. Then, based on the scroll command, a scrollable refresh
trigger may be displayed. Subsequently, the scrollable list of content
items may be refreshed in response to determining, based on the scroll
command, that the scrollable refresh trigger has been activated. In at
least one arrangement, it may be determined that the scrollable refresh
trigger has been activated in response to determining that the scroll
command was completed while the scrollable refresh trigger was fully
displayed.
[0006] According to one or more additional aspects, a scrollable list of
content items may be displayed, and the scrollable list of content items
may include a plurality of discrete content items arranged
chronologically. Input associated with a scroll command may be received,
and the input may represent touch-based user input. Then, based on the
scroll command, a scrollable refresh trigger that is configured to scroll
with the scrollable list of content items may be displayed. Subsequently,
an instruction associated with activating the scrollable refresh trigger
may be provided in response to determining that the scrollable refresh
trigger is fully displayed. The scrollable list of content items may be
refreshed in response to determining that the scroll command was
completed while the scrollable refresh trigger was fully displayed. In
addition, the scrollable list of content items may be scrolled
automatically, such that the scrollable refresh trigger might no longer
be displayed, in response to determining that the scrollable list of
content items has been refreshed.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The present disclosure is illustrated by way of example and not
limited in the accompanying figures in which like reference numerals
indicate similar elements and in which:
[0008] FIG. 1 illustrates an example computing device according to one or
more aspects described herein.
[0009] FIG. 2 illustrates an example operating environment according to
one or more aspects described herein.
[0010] FIG. 3 illustrates an example method by which a command may be
performed according to one or more aspects described herein.
[0011] FIG. 4 illustrates another example method by which a command may be
performed according to one or more aspects described herein.
[0012] FIG. 5 illustrates an example method by which a scrollable list of
content items may be refreshed according to one or more aspects described
herein.
[0013] FIGS. 6-11 illustrate example user interfaces by which a scrollable
list of content items may be refreshed according to one or more aspects
described herein.
DETAILED DESCRIPTION
[0014] In the following description of various illustrative embodiments,
reference is made to the accompanying drawings, which form a part hereof,
and in which is shown, by way of illustration, various embodiments in
which aspects of the disclosure may be practiced. It is to be understood
that other embodiments may be utilized, and structural and functional
modifications may be made, without departing from the scope of the
present disclosure.
[0015] FIG. 1 illustrates an example computing device according to one or
more aspects described herein. Computing device 100 may include one or
more hardware and/or software components, such as processor 102, memory
104, input/output interface 106, touch sensitive display 108, network
interface 110, wireless interface 112, keypad interface 114, and audio
interface 116. By including one or more of these and/or other components,
computing device 100 may be used as a desktop computer, laptop computer,
server, tablet computer, netbook, cellular phone, mobile computing
device, and/or the like. In at least one arrangement, computing device
100 may include a plurality of each of the components described herein.
For instance, in at least one arrangement, computing device 100 may
include two or more processors.
[0016] In one or more arrangements, processor 102 may execute
computer-executable and/or computer-readable instructions stored in
memory 104. For instance, processor 102 may execute instructions that
cause one or more of the methods described herein to be performed by
computing device 100. Additionally or alternatively, processor 102 may
execute instructions that cause one or more user interfaces described
herein to be displayed on a display included in computing device 100,
such as touch sensitive display 108.
[0017] In one or more arrangements, touch sensitive display 108 may
comprise an electronic visual display (e.g., a liquid crystal display
("LCD") screen, a plasma display panel ("PDP"), a cathode ray tube
("CRT") display, a light emitting diode ("LED") display, and/or an
organic light emitting diode ("OLED") display). Touch sensitive display
108 may respond to touch-based user input and thus may function as a
"touch screen" display. Touch sensitive display 108 may implement one or
more touch sensing technologies (e.g., resistive, surface acoustic wave,
capacitive, strain gauge, optical imaging, dispersive signal technology,
acoustic pulse recognition, coded LCD, etc.).
[0018] In one or more arrangements, input/output interface 106 may include
one or more adapters, connection ports, and other components via which
computing device 100 may provide input and output. For instance,
input/output interface 106 may include one or more adapters for
outputting data to and/or receiving data from a display (e.g., for
providing audiovisual, graphical, and/or textual output), keypad,
microphone, mouse, optical reader, scanner, speaker (e.g., for providing
audio output), stylus, touch screen, and/or other component. Input/output
interface 106 further may include a USB port, serial port, parallel port,
IEEE 1394/Firewire port, APPLE iPod Dock port, and/or other ports.
[0019] In one or more arrangements, network interface 110 may establish
and/or provide network connectivity to a network (e.g., a local area
network, a wide area network, such as the Internet, etc.). Network
interface 110 thus may include hardware and/or software components for
communicating via Ethernet, TCP/IP, FTP, HTTP, HTTPS, and/or other
protocols. Similarly, wireless interface 112 may establish and/or provide
network connectivity to a wireless network (e.g., a local area network, a
wide area network, such as the Internet, a cellular voice and/or data
network, etc.). Wireless interface 112 thus may include hardware and/or
software components for communicating via Ethernet, TCP/IP, FTP, HTTP,
HTTPS, IEEE 802.11b/g/a/n, Bluetooth, CDMA, TDMA, GSM and/or other
protocols.
[0020] In one or more arrangements, keypad interface 114 may include one
or more physical keys, buttons, and/or switches that may be operated to
provide input to and/or control various aspects of computing device 100.
Audio interface 116 may include one or more speakers, audio ports (e.g.,
a headphone jack), microphones, and/or other audio components. Audio
interface 116 may allow computing device 100 to provide audio feedback,
receive audio input (e.g., sound input, speech commands, etc.), and/or
provide telephone functionalities.
[0021] In at least one arrangement, computing device 100 may comprise a
commercially-available, touch-sensitive mobile computing device, such as
an APPLE iPhone, an APPLE iPad, a GOOGLE Nexus One, a MOTOROLA Droid, a
PALM Pre, and/or the like. In at least one additional arrangement,
computing device 100 may comprise a commercially-available computing
device, such as an APPLE iMac all-in-one computer, an APPLE MacBook
laptop, a LENOVO ThinkPad laptop, an ACER Aspire One netbook, a DELL
OptiPlex desktop, an HP Pavilion tablet, and/or the like.
[0022] FIG. 2 illustrates an example operating environment according to
one or more aspects described herein. Operating environment 200 may
include a server 202, a gateway 204, a public switched telephone network
("PSTN") 206, and/or other networks, such as the Internet 208, a cellular
network, a satellite network, and/or the like. Computing device 100 may
operate within operating environment 200 using one or more of the
hardware and/or software components described above.
[0023] In one or more arrangements, computing device 100 may communicate
with server 202 via a wireless and/or wired network. For instance, server
202 may connect to and/or communicate with computing device 100 via a
wireless cellular network. In addition, server 202 may connect computing
device 100 to PSTN 206, and this connection may enable computing device
100 to make and/or receive telephone calls. Server 202 also may connect
computing device 100 to gateway 204, and this connection may enable
computing device 100 to access a wide area network, such as the Internet
208. Accordingly, computing device 100 may include wireless voice and
data functionalities, and computing device 100 may provide
functionalities similar to and/or be used as a smartphone, tablet,
netbook, and/or other mobile computing device.
[0024] FIG. 3 illustrates an example method by which a command may be
performed according to one or more aspects described herein. According to
one or more aspects, the methods described herein, such as the method
illustrated in FIG. 3, may be implemented in and/or performed by and/or
in conjunction with a computing device, such as computing device 100.
[0025] In step 305, a content area may be displayed. For example,
computing device 100 may display a user interface that includes a content
area (e.g., user interface 600 of FIG. 6, which is further described
below). The content area may include any sort of content, such as text,
images, audio, video, links, and/or other digital content. In at least
one arrangement, the content area may include a list of content items.
For instance, the content area may include a chronologically-arranged
listing of personal status updates, blog entries, micro-blogging posts
(e.g., tweets and/or other status updates associated with TWITTER, status
updates associated with GOOGLE BUZZ, status updates associated with
FACEBOOK, etc.), news headlines, news articles, text, images, audio,
video, links, and/or other content items.
[0026] In step 310, input associated with a first command may be received,
and the first command may include a request to scroll the content area.
For example, after displaying a content area (e.g., in step 305),
computing device 100 may receive user input associated with a request to
scroll the content area. Such user input may be received in connection
with a variety of input actions, such as a user interacting with a
displayed scroll bar, a user clicking and dragging a content item
included in the content area, a user physically manipulating a scroll
wheel included in a mouse, and/or a user otherwise interacting with
hardware and/or software components of computing device 100. For example,
a user may initiate a scroll command by clicking and dragging a content
item and/or a handle included in the content area using a mouse (e.g., by
clicking on and/or selecting a content item and then holding down the
mouse button while moving the mouse), and a user may complete the scroll
command by concluding the dragging (e.g., by releasing the mouse button).
[0027] In at least one arrangement, the received input may represent
touch-based user input. For instance, the received input may be
touch-based user input, associated with a scroll command and received by
computing device 100 via touch sensitive display 108, indicating that a
user physically contacted a point on display 108 corresponding to the
content area, moved the point of contact along the touch screen (e.g.,
thereby requesting computing device 100 to scroll the content area) while
maintaining continuous contact with the screen, and then released contact
with the screen (e.g., thereby completing the scroll command).
Additionally or alternatively, computing device 100 may receive
touch-based user input via a touch-sensitive pad, a touch-sensitive
stylus, a touch-sensitive mouse (e.g., a commercially-available APPLE
Magic Mouse), and/or any touch-sensitive surface. Further, the manner by
which a scroll command is requested and/or completed using any
touch-sensitive surface may be similar to the manner described in the
example above involving a user's finger (e.g., the user may engage and
drag a content item to initiate a scroll command, and the user may
release and/or finish dragging the content item to complete the scroll
command).
[0028] In step 315, a second command, independent of the first command,
may be performed based on the first command. The second command may be
considered independent of the first command, for instance, because in a
generic computing device, performing the second command might not require
performing the first command and/or performing the first command might
not require performing the second command. According to one or more
aspects of the disclosure, however, while the second command may be
independent of the first command, performing the second command may be
based on the first command. More particularly, whether the second command
is performed may be based on the first command, but the second command
itself may be a command that is otherwise unrelated to scrolling the
content area. In at least one arrangement, performing the second command
may be triggered by a continuation of the user input corresponding to the
first command.
[0029] For example, the first command may include a scroll command that
was completed while an indicator and/or action trigger was displayed, and
because the indicator and/or action trigger was displayed when the scroll
command was completed, a second command, independent of the first
command, (e.g., refreshing the content area and/or content items in a
listing included in the content area) may be performed. In this example,
performing the second command may have been triggered by the continuation
of the user input corresponding to the first command, as the user input
associated with the scroll command continued and was not completed until
after the indicator and/or action trigger was displayed. In another
example, which is further described below, the first command may include
a first scroll request and a second scroll request, different from the
first scroll request, and the second command to be performed may depend
on and/or may be based on the first scroll request and the second scroll
request (e.g., the combination of the first scroll request and the second
scroll request may dictate what action and/or command should be performed
as the second command). Similarly, the first command may include any
number of scroll commands, and the particular scroll commands included in
the first command may dictate what action and/or command should be
performed as the second command.
[0030] While, in the example described above, refreshing the content area
is provided as an example of a second command that may be independent of
the first command (e.g., the scroll command), the second command may
include any sort of command that may be independent of the first command
(e.g., the scroll command). For instance, the second command may include
saving at least a portion of the contents of the content area, printing
at least a portion of the content area, playing at least a portion of the
audio and/or visual contents of the content area, invoking a
text-to-speech converter to read aloud at least a portion of the contents
of the content area, causing a dialog box and/or prompt to be displayed
allowing further action to be taken with respect to the contents of the
content area, causing a prompt to be displayed via which a user may email
at least a portion of the contents of the content area to another person,
navigating between pages of content, locking screen orientations (e.g.,
locking the screen orientation in "landscape" view, such that even if the
device physically is rotated to a "portrait" orientation, the screen will
continue to display the content area in landscape view), entering into a
new mode (e.g., in a word processing application, switching from a text
editing mode to a graphics editing mode; in a presentation tool,
switching between a slide layout editing mode to a slide animation
editing mode; in a content display application, switching a content
designation from "read" or "unread" or vice versa; etc.), and/or
performing another action.
[0031] In one or more arrangements, the first command may include a first
scroll request and a second scroll request, where the second scroll
request may be distinct and/or different from the first scroll request,
and the second command may be performed based on the first scroll request
and the second scroll request. Additionally or alternatively, the first
scroll request and the second scroll request may be continuous. Stated
differently, the second scroll request (e.g., scrolling to the right side
of the display) may be initiated and completed after the first scroll
request (e.g., scrolling to the bottom side of the display) has been
initiated, but before the first scroll request has been completed (e.g.,
before the user has lifted their finger corresponding to the first scroll
request from the touch screen). In at least one additional arrangement,
the first scroll request and the second scroll request may be associated
with touch-based user input corresponding to a first contact point and a
second contact point, respectively (e.g., the user may use one finger to
initiate and complete the first scroll request and another finger to
initiate and complete the second scroll request).
[0032] For example, scrolling a content area down (e.g., toward the bottom
of the display and/or toward the bottom of the content area to reveal
and/or cause to be displayed an indicator and/or an action trigger) and
then scrolling left may cause a first action to be performed as the
second command (e.g., saving at least a portion of the contents of the
content area, causing a prompt to be displayed via which a user may email
at least a portion of the contents of the content area to another person,
etc.). In this example, scrolling the content area down may be considered
the first scroll request, and the scrolling left may be considered the
second scroll request. In another example, scrolling a content area down
(e.g., to reveal and/or cause to be displayed an indicator and/or an
action trigger) and then scrolling right may cause a second action to be
performed as the second command (e.g., invoking a text-to-speech
converter to read aloud at least a portion of the contents of the content
area, printing at least a portion of the content area, etc.). In this
second example, scrolling the content area down may be considered the
first scroll request, and scrolling right may be considered the second
scroll request.
[0033] In at least one additional arrangement, the second command may
depend on and/or change based on the amount of time that an indicator, an
action trigger, and/or a scrollable refresh trigger is displayed (e.g.,
before the first command is completed). For example, in one instance, the
first command may include a scroll command that is completed less than
four seconds after an action trigger is displayed. In this instance, when
the first command is completed, a second command may be performed, and
the second command may include refreshing the content area. In another
instance, however, the first command may include a scroll command that is
completed four or more seconds after an action trigger is displayed. In
this instance, when the first command is completed, a different second
command may be performed, and this different second command may include
locking the screen orientation.
[0034] FIG. 4 illustrates another example method by which a command may be
performed according to one or more aspects described herein. According to
one or more aspects, the methods described herein, such as the method
illustrated in FIG. 4, may be implemented in and/or performed by and/or
in conjunction with a computing device, such as computing device 100.
[0035] In step 405, a content area may be displayed. For example, as in
step 305 (which was described above with respect to FIG. 3), computing
device 100 may display a user interface that includes a content area
(e.g., user interface 600 of FIG. 6, which is further described below).
The content area may include any sort of content, such as text, images,
audio, video, links, and/or other digital content. In at least one
arrangement, the content area may include a list of content items. For
instance, the content area may include a chronologically-arranged listing
of personal status updates, blog entries, micro-blogging posts (e.g.,
tweets and/or other status updates associated with TWITTER, status
updates associated with GOOGLE BUZZ, status updates associated with
FACEBOOK, etc.), news headlines, news articles, text, images, audio,
video, links, and/or other content items.
[0036] In step 410, input associated with a first command may be received,
and the first command may include a request to scroll the content area.
For example, as in step 310 (which was described above with respect to
FIG. 3), after displaying a content area (e.g., in step 405), computing
device 100 may receive user input associated with a request to scroll the
content area. As also described above, the user input associated with a
request to scroll the content area may be received in connection with a
variety of input actions, such as a user interacting with a displayed
scroll bar, a user clicking and dragging a content item included in the
content area, a user physically manipulating a scroll wheel included in a
mouse, and/or a user otherwise interacting with hardware and/or software
components of computing device 100. For example, a user may initiate a
scroll command by clicking and dragging (e.g., by clicking on and/or
selecting a content item and then holding down the mouse button while
moving the mouse) a content item included in the content area using a
mouse, and a user may complete the scroll command by concluding the
dragging (e.g., by releasing the mouse button).
[0037] In at least one arrangement, the received input may represent
touch-based user input. For instance, the received input may be
touch-based user input, associated with a scroll command and received by
computing device 100 via touch sensitive display 108, indicating that a
user put a finger down on a point within the content area, slid the
finger along the touch screen (e.g., thereby requesting computing device
100 to scroll the content area), and then released the finger (e.g.,
thereby completing the scroll command). Additionally or alternatively,
computing device 100 may receive touch-based user input via a
touch-sensitive pad, a touch-sensitive stylus, a touch-sensitive mouse
(e.g., a commercially-available APPLE Magic Mouse), and/or any
touch-sensitive surface. Further, the manner by which a scroll command is
requested and/or completed using any touch-sensitive surface may be
similar to the manner described in the example above involving a user's
finger (e.g., the user may engage and drag a content item to initiate a
scroll command, and the user may release and/or finish dragging the
content item to complete the scroll command).
[0038] In step 415, an indicator corresponding to a second command may be
displayed based on the first command, and the second command may be
independent of the first command. For example, the first command may
include a scroll command that causes the content area to be scrolled, and
as the content area is scrolled, an indicator may be displayed and/or
revealed. The indicator may be scrollable (e.g., the indicator may scroll
with one or more content items included in the content area), and the
indicator may be adjacent to a displayed or undisplayed content item.
[0039] In at least one arrangement, the indicator may be adjacent to a
content item that is the most recent content item included in the content
area. In at least one additional arrangement, the indicator may be
adjacent to a content item that is the most relevant content item
included in the content area, where relevance may be determined based on
a search operation (e.g., a keyword search requested by a user with
respect to the one or more content items included in the content area).
[0040] In one or more arrangements, the indicator may include additional
components. For instance, the indicator may include an animated graphic
(e.g., an arrow rotating, a spring decompressing, a lock unlocking,
etc.), one or more instructions (e.g., an instruction associated with
displaying the indicator, an instruction associated with causing the
second command to be performed, etc.), one or more status descriptions
(e.g., a status description indicating the freshness of the content, a
status description indicating when the content area and/or the content
items included in the content area were last refreshed, a status
description indicating that the content area is being refreshed, a status
description indicating that one or more content items are being loaded, a
status description indicating when one or more content items were
previously loaded, a status description indicating the text and/or
keywords that were used in a search operation, a status description
indicating when a search operation was performed, etc.), one or more
previews and/or thumbnails (e.g., when navigating through multiple pages
of content, the indicator may include thumbnail images of the previous
and/or next pages).
[0041] In addition, the second command may be independent of the first
command. For example, whereas the first command may include a scroll
command, the second command may include any other command that is
independent of a scroll command. Thus, the second command may include,
for instance, refreshing the content area, refreshing content items
and/or a listing (e.g., a listing of content items) included in the
content area, saving at least a portion of the contents of the content
area, printing at least a portion of the content area, playing at least a
portion of the audio and/or visual contents of the content area, invoking
a text-to-speech converter to read aloud at least a portion of the
contents of the content area, causing a dialog box and/or prompt to be
displayed allowing further action to be taken with respect to the
contents of the content area, causing a prompt to be displayed via which
a user may email at least a portion of the contents of the content area
to another person, and/or performing another action.
[0042] In step 420, it may be determined whether the first command was
completed while the indicator was displayed. For example, the first
command may include a scroll command associated with a request to scroll
the content area, and computing device 100 may determine whether the
scroll command was completed while the indicator was displayed. Where,
for instance, a user initiates a scroll command by clicking and dragging
a content item and/or a handle included in the content area using a mouse
(e.g., by clicking on and/or selecting a content item and then holding
down the mouse button while moving the mouse), it may be determined that
the scroll command is completed when the user concludes the dragging
(e.g., by releasing the mouse button). In this example, if and when the
user concludes the dragging (e.g., by releasing the mouse button),
computing device 100 then may determine whether the indicator was
displayed (e.g., on touch sensitive display 108) when the user concluded
the dragging.
[0043] In another example, where a user initiates a scroll command by
putting one or more fingers down on the displayed content area and/or on
the one or more content items included therein (e.g., as displayed on
touch sensitive display 108) and scrolls by sliding the one or more
fingers along the displayed content area (e.g., along touch sensitive
display 108), it may be determined that the scroll command is completed
when the user concludes the sliding, releases the displayed content area
and/or the one or more content items, and/or lifts up the one or more
fingers. Of course, instead of one or more fingers, a stylus or other
object also could be used in a similar manner to accomplish the same
purpose.
[0044] In step 425, the second command may be performed if the first
command was completed while the indicator was displayed. For example, if
it is determined in step 420 that the first command was completed while
the indicator was displayed, the second command may be performed. On the
other hand, if it is determined in step 420 that the first command was
completed while the indicator was not displayed, the second command might
not be performed. In at least one arrangement, the first command may be
considered to be completed when the user input associated with the first
command has concluded. For example, where the first command includes a
scroll request associated with touch-based user input, the first command
may be considered to be completed when the user lifts up their finger
from a touch screen.
[0045] In one or more arrangements, the first command may include a first
scroll request and a second scroll request, where the second scroll
request may be distinct and/or different from the first scroll request,
and the second command may be performed based on the first scroll request
and the second scroll request. Additionally or alternatively, the first
scroll request and the second scroll request may be continuous. Stated
differently, the second scroll request (e.g., scrolling to the right side
of the display) may be initiated and completed after the first scroll
request (e.g., scrolling to the bottom side of the display) has been
initiated, but before the first scroll request has been completed (e.g.,
before the user has lifted their finger corresponding to the first scroll
request from the touch screen). In at least one additional arrangement,
the first scroll request and the second scroll request may be associated
with touch-based user input corresponding to a first contact point and a
second contact point, respectively (e.g., the user may use one finger to
initiate and complete the first scroll request and another finger to
initiate and complete the second scroll request).
[0046] For example, scrolling a content area down (e.g., to reveal and/or
cause to be displayed an indicator and/or an action trigger) and then
scrolling left may cause a first action to be performed as the second
command (e.g., saving at least a portion of the contents of the content
area, causing a prompt to be displayed via which a user may email at
least a portion of the contents of the content area to another person,
etc.). In this example, scrolling the content area down may be considered
the first scroll request, and the scrolling left may be considered the
second scroll request. In another example, scrolling a content area down
(e.g., to reveal and/or cause to be displayed an indicator and/or an
action trigger) and then scrolling right may cause a second action to be
performed as the second command (e.g., invoking a text-to-speech
converter to read aloud at least a portion of the contents of the content
area, printing at least a portion of the content area, etc.). In this
second example, scrolling the content area down may be considered the
first scroll request, and scrolling right may be considered the second
scroll request.
[0047] In one or more additional arrangements, the second command may be
performed only if the indicator was fully displayed when the first
command was completed. By performing the second command only if the
indicator was fully displayed when the first command was completed, the
indicator may be used as a trigger that may cause the second command to
be performed only when the trigger is engaged (e.g., when the indicator
is fully displayed). For example, computing device 100 may determine
whether the indicator was fully displayed on touch sensitive display 108
when the first command was completed. If it is determined that the
indicator was fully displayed when the first command was completed, then
the second command may be performed. On the other hand, if it is
determined that the indicator was not fully displayed when the first
command was completed (e.g., if the indicator was only partially
displayed or not displayed at all), then the second command might not be
performed.
[0048] In step 430, the indicator may be removed in response to
determining that the second command has been performed. For instance,
computing device 100 may determine that the second command has been
performed and subsequently may remove the indicator from the display
(e.g., by scrolling the content area displayed on touch sensitive display
108 such that the indicator, which may be adjacent to a content item
included in the content area, is no longer displayed). In one example,
where the second command includes refreshing the content area and/or
refreshing content items and/or a listing included in the content area,
computing device 100 may wait until the refresh operation has completed
before removing the indicator from the display. In this example,
computing device 100 thus may wait until new content items (e.g., new
email messages, new TWITTER tweets, new FACEBOOK status updates, new
GOOGLE BUZZ status updates, etc.) have been downloaded from a server and
displayed in the content area before removing the indicator from the
display.
[0049] FIG. 5 illustrates an example method by which a scrollable list of
content items may be refreshed according to one or more aspects described
herein. According to one or more aspects, the methods described herein,
such as the method illustrated in FIG. 5, may be implemented and/or
performed by and/or in conjunction with a computing device, such as
computing device 100.
[0050] In step 505, a scrollable list of content items may be displayed.
For example, computing device 100 may display a user interface (e.g.,
user interface 600 of FIG. 6, which is further described below) that
includes a list of content items that may be scrolled (e.g.,
automatically by computing device 100 upon determining that new content
items are available and/or have been added to the list, manually upon a
user request to scroll the list of content items, etc.). The one or more
content items included in the scrollable list may include any sort of
content, such as text, images, audio, video, links, and/or other digital
content. In at least one arrangement, the scrollable list may include a
chronologically-arranged listing of personal status updates, blog
entries, micro-blogging posts (e.g., tweets and/or other status updates
associated with TWITTER, status updates associated with GOOGLE BUZZ,
status updates associated with FACEBOOK, etc.), news headlines, news
articles, text, images, audio, video, links, and/or other content items.
[0051] In step 510, input associated with a scroll command may be
received. For example, after displaying a scrollable list of content
items (e.g., in step 505), computing device 100 may receive user input
associated with a scroll command (e.g., a request from a user to scroll
the scrollable list of content items, a request from a user to scroll one
or more aspects of the user interface more generally, etc.). As with the
user input described above with respect to FIGS. 3 and 4, the input
associated with the scroll command may be received in connection with a
variety of input actions, such as a user interacting with a displayed
scroll bar, a user clicking and dragging a content item included in the
scrollable list of content items, a user physically manipulating a scroll
wheel included in a mouse, and/or a user otherwise interacting with
hardware and/or software components of computing device 100. For example,
a user may initiate a scroll command by clicking and dragging (e.g., by
clicking on and/or selecting a content item and then holding down the
mouse button while moving the mouse) a content item included in the
scrollable list using a mouse, and a user may complete the scroll command
by concluding the dragging (e.g., by releasing the mouse button).
[0052] In at least one arrangement, the received input may represent
touch-based user input. For instance, the received input may be
touch-based user input, associated with a scroll command and received by
computing device 100 via touch sensitive display 108, indicating that a
user put a finger down on a point on the touch screen corresponding to
the scrollable list of content items, slid the finger along the touch
screen (e.g., thereby requesting computing device 100 to scroll the
scrollable list of content items), and then released the finger (e.g.,
thereby completing the scroll command). Additionally or alternatively,
computing device 100 may receive touch-based user input via a
touch-sensitive pad, a touch-sensitive stylus, a touch-sensitive mouse
(e.g., a commercially-available APPLE Magic Mouse), and/or any
touch-sensitive surface. Further, the manner by which a scroll command is
requested and/or completed using any touch-sensitive surface may be
similar to the manner described in the example above involving a user's
finger (e.g., the user may engage and drag a content item included in the
scrollable list of content items to initiate a scroll command, and the
user may release and/or finish dragging the content item to complete the
scroll command).
[0053] In step 515, a scrollable refresh trigger may be displayed based on
the scroll command. For example, the scroll command may cause the
scrollable list of content items to be scrolled, and as the scrollable
list of content items is scrolled, a scrollable refresh trigger may be
displayed and/or revealed. The refresh trigger may be scrollable because
the refresh trigger may scroll with one or more content items included in
the scrollable list of content items. In addition, the scrollable refresh
trigger may be adjacent to a displayed or undisplayed content item
included in the scrollable list of content items.
[0054] In at least one arrangement, the scrollable refresh trigger may be
adjacent to a content item that is the most recent content item included
in the scrollable list of content items. In at least one additional
arrangement, the scrollable refresh trigger may be adjacent to a content
item that is the most relevant content item included in the scrollable
list of content items, where relevance may be determined based on a
search operation (e.g., a keyword search requested by a user with respect
to the one or more content items included in the scrollable list of
content items).
[0055] In one or more arrangements, the scrollable refresh trigger may
include additional components. For instance, the scrollable refresh
trigger may include an animated graphic (e.g., an arrow rotating, a
spring decompressing, a lock unlocking, etc.), one or more instructions
(e.g., an instruction associated with displaying the scrollable refresh
trigger, an instruction associated with activating the scrollable refresh
trigger, an instruction associated with causing a refresh operation to be
performed, etc.), one or more status descriptions (e.g., a status
description indicating the freshness of the content included in the
scrollable list of content items, a status description indicating when
the scrollable list and/or the content items included in the scrollable
list were last refreshed, a status description indicating that the
scrollable list and/or the content items included in the scrollable list
are being refreshed, a status description indicating that one or more
content items are being loaded, a status description indicating when one
or more content items were previously loaded, a status description
indicating the text and/or keywords that were used in a search operation,
a status description indicating when a search operation was performed,
etc.), one or more previews and/or thumbnails (e.g., when navigating
through multiple pages of content, the indicator may include thumbnail
images of the previous and/or next pages).
[0056] In optional step 520, a first instruction associated with
displaying the scrollable refresh trigger may be provided based on the
scroll command. For example, computing device 100 may display on touch
sensitive display 108 a first instruction, and the first instruction may
describe how the scrollable refresh trigger is displayed and/or how the
scrollable list of content items may be refreshed. For instance, the
first instruction may state: "Pull down to refresh." In at least one
arrangement, the first instruction may be included in the scrollable
refresh trigger. An example of a first instruction included in a
scrollable refresh trigger is further described below with respect to
FIG. 8.
[0057] In optional step 525, a second instruction associated with
activating the scrollable refresh trigger may be provided in response to
determining that the scrollable refresh trigger is fully displayed. For
example, computing device 100 may display on touch sensitive display 108
a second instruction, and the second instruction may describe how the
scrollable refresh trigger may be activated and/or how the scrollable
list of content items may be refreshed. For instance, the second
instruction may state: "Release to refresh." In at least one arrangement,
the second instruction may be included in the scrollable refresh trigger.
An example of a second instruction included in a scrollable refresh
trigger is further described below with respect to FIG. 9.
[0058] In optional step 530, first audio feedback may be provided in
response to displaying the scrollable refresh trigger. For example,
computing device 100 may provide first audio feedback after displaying
the scrollable refresh trigger to alert the user of the scrollable
refresh trigger being displayed. Such first audio feedback may include a
sliding or shifting sound to coincide with the scrolling of the
scrollable refresh trigger and/or the scrollable list of content items.
[0059] In optional step 535, it may be determined that the scrollable
refresh trigger has been activated in response to determining that the
scroll command was completed while the scrollable refresh trigger was
fully displayed. For example, if computing device 100 determines that the
scroll command was completed (e.g., based on mouse input, touch input,
and/or other input, as further described herein) while the scrollable
refresh trigger was fully displayed, then computing device 100 may
determine that the scrollable refresh trigger has been activated, which
further may result in the scrollable list of content items being
refreshed, as further described below. On the other hand, if computing
device 100 determines that the scroll command was completed while the
scrollable refresh trigger was not fully displayed, then computing device
100 may determine that the scrollable refresh trigger has not been
activated.
[0060] In step 540, the scrollable list of content items may be refreshed
in response to determining, based on the scroll command, that the
scrollable refresh trigger has been activated. For example, if optional
step 545 is performed and it is determined that the scrollable refresh
trigger has been activated, the scrollable list of content items may be
refreshed. In at least one arrangement, refreshing the scrollable list of
content items may include connecting to a server (e.g., a web server),
downloading new content items (e.g., new email messages, new TWITTER
tweets, new FACEBOOK status updates, new GOOGLE BUZZ status updates,
etc.), and displaying the new content items in the scrollable list of
content items.
[0061] Additionally or alternatively, in an example where optional step
545 is not performed, the scrollable list of content items may be
refreshed if it is determined, based on the scroll command, that the
scrollable refresh trigger has been activated (e.g., based on whether the
scroll command was completed while the scrollable refresh trigger was at
least partially displayed). Where, for instance, a user initiates a
scroll command by clicking and dragging a content item and/or a handle
included in the scrollable list of content items using a mouse (e.g., by
clicking on and/or selecting a content item and then holding down the
mouse button while moving the mouse), it may be determined that the
scroll command is completed when the user concludes the dragging (e.g.,
by releasing the mouse button). In this example, if and when the user
concludes the dragging (e.g., by releasing the mouse button), computing
device 100 then may determine whether the scrollable refresh trigger was
displayed (e.g., on touch sensitive display 108) when the user concluded
the dragging. If the scrollable refresh trigger was displayed when the
user concluded the dragging, computing device 100 may refresh the
scrollable list of content items accordingly. On the other hand, if the
scrollable refresh trigger was not displayed when the user concluded the
dragging, computing device 100 might not refresh the scrollable list of
content items.
[0062] In another instance in which a user initiates a scroll command by
putting one or more fingers down on the displayed scrollable list of
content items and/or on the one or more content items included therein
(e.g., as displayed on touch sensitive display 108) and scrolls by
sliding the one or more fingers along the displayed scrollable list of
content items (e.g., along touch sensitive display 108), it may be
determined that the scroll command is completed when the user concludes
the sliding, releases the displayed scrollable list of content items
and/or the one or more content items, and/or lifts up the one or more
fingers. Of course, instead of one or more fingers, a stylus or other
object also could be used in a similar manner to accomplish the same
purpose.
[0063] In optional step 545, second audio feedback may be provided in
response to determining that the refresh trigger has been activated. For
example, computing device 100 may provide second audio feedback after
determining that the refresh trigger has been activated to alert the user
that the scrollable list of content items is about to be refreshed. Such
second audio feedback may include a sliding or shifting sound to coincide
with the scrolling of the scrollable refresh trigger and/or the
scrollable list of content items. Additionally or alternatively, such
second audio feedback may include a popping sound to coincide with the
activation of the refresh trigger and/or the refreshing of the scrollable
list of content items.
[0064] In optional step 550, the scrollable list of content items may be
scrolled automatically, such that the scrollable refresh trigger is not
displayed, in response to determining that a refresh operation has
completed. For example, computing device 100 may determine that the
refreshing of the scrollable list of content items has been completed and
may automatically scroll the scrollable list of content items such that
the scrollable refresh trigger is no longer displayed. It may be
desirable to provide such automatic scrolling of the scrollable refresh
trigger upon completion of the refreshing, as such automatic scrolling
may maximize the space available (e.g., on touch sensitive display 108)
for displaying the content items included in the scrollable list of
content items.
[0065] FIGS. 6-11 illustrate sample user interfaces by which a scrollable
list of content items may be refreshed according to one or more aspects
described herein. According to one or more aspects, the user interfaces
described herein, such as the user interfaces illustrated in FIGS. 6-11,
may be implemented in, displayed by, and/or used in conjunction with a
computing device, such as computing device 100.
[0066] As illustrated in FIG. 6, a computing device, such as computing
device 100, may display user interface 600. User interface 600 may
include a header bar 605, a search bar 610, a menu bar 615, and a
scrollable list of content items 620. The scrollable list of content
items 620 may include one or more content items, such as content items
620a and 620b.
[0067] According to one or more aspects, header bar 605 may include one or
buttons that allow a user to select and/or log into and/or out of an
account associated with a content provider, such as a social media
service (e.g., TWITTER, FACEBOOK, GOOGLE BUZZ, etc.), and/or allow a user
to create a new content item associated with such a content provider.
Search bar 610 may allow a user to search the scrollable list of content
items 620 (e.g., for content items that include particular keywords).
Menu bar 615 may include one or more buttons that provide various
functionalities.
[0068] For example, menu bar 615 may include a tweets button 615a, which
may allow a user to view a scrollable list of content items that includes
content items from sources to which the user may be subscribed (e.g.,
status updates and/or other posts from users that the user may follow).
Menu bar 615 further may include a replies button 615b, which may allow a
user to view a scrollable list of content items that include content
items that identify the user (e.g., content items that include the user's
username). Menu bar 615 further may include a directs button 615c, which
may allow a user to view a scrollable list of content items that include
content items that are directed to the user (e.g., content items that
include a direct message between the user and another user). Menu bar 615
further may include a search button 615d, which may allow a user to
search a network and/or a database (e.g., a database of content items)
for additional content items, geographically nearby users, other users,
saved keywords, and/or trending topics. Menu bar 615 further may include
a more button 615e, which may allow a user to edit his or her profile
(e.g., the user's profile associated with the particular content
provider, such as their TWITTER profile or FACEBOOK profile); view his or
her favorite content items; view and/or edit drafts of content items that
the user has created; and/or view, create, and/or edit lists of users
(e.g., lists of users that the user may subscribe to and/or follow).
[0069] As illustrated in FIG. 7, a computing device, such as computing
device 100, may display user interface 700, and further may receive
touch-based user input, as represented by touch point 705. Touch point
705 may represent a point on a touch screen included in computing device
100 (e.g., touch sensitive display 108) where a user has put a finger
down on the touch screen. Stated differently, touch point 705 may
represent a place on the touch screen where the user is touching and/or
otherwise in contact with the touch screen (e.g., with a stylus, etc.).
[0070] In FIG. 7, for example, the user has put a finger down on touch
point 705, which, in this example, is a point corresponding to the
scrollable list of content items 620. By subsequently sliding his or her
finger along the touch screen (e.g., by sliding the touch point 705
downward), the user may initiate a scroll command, which may result in
the scrollable list of content items 620 being scrolled, as reflected by
the downward shift in the scrollable list of content items 620 (between
FIG. 6 and FIG. 7). In addition, as the scrollable list of content items
620 is scrolled, a scrollable refresh trigger 710 may be revealed and/or
displayed. The scrollable refresh trigger 710 may scroll with the one or
more content items included in the scrollable list of content items 620,
and the scrollable refresh trigger 710 may be adjacent to a displayed or
undisplayed content item included in the scrollable list of content items
620. Thus, as the scrollable list of content items 620 is scrolled in
accordance with the scroll command, the scrollable refresh trigger 710
also may be scrolled.
[0071] As a user continues to scroll the scrollable list of content items
620 (e.g., by continuing to slide the touch point 705 downward along the
touch screen), computing device 100 may display user interface 800, which
is illustrated in FIG. 8.
[0072] As may be seen in FIG. 8, the continued scrolling of the scrollable
list of content items 620 may result in the continued scrolling of the
scrollable refresh trigger 710, which also may result in a greater
portion of the scrollable refresh trigger 710 being displayed by the
computing device 100.
[0073] In one or more arrangements, the scrollable refresh trigger 710 may
include an instruction and/or a status description, such as instruction
805 and status description 810, respectively. Instruction 805 may
describe how the scrollable refresh trigger 710 is displayed and/or how
the scrollable list of content items 620 may be refreshed. For instance,
instruction 805 may state: "Pull down to refresh." Status description 810
may include one or more status descriptions, which are further described
above. For instance, status description 810 may state: "Last Updated:
10.09.09 2:08 PM," which may indicate when the scrollable list of content
items 620 was last refreshed.
[0074] As a user continues to scroll the scrollable list of content items
620 (e.g., by continuing to slide the touch point 705 downward along the
touch screen), computing device 100 may display user interface 900, which
is illustrated in FIG. 9.
[0075] As may be seen in FIG. 9, the continued scrolling of the scrollable
list of content items 620 may result in the continued scrolling of the
scrollable refresh trigger 710, which also ultimately may result in the
scrollable refresh trigger 710 being fully displayed by the computing
device 100. The dotted line in FIG. 9 above the scrollable refresh
trigger 710 may represent a top edge of the scrollable refresh trigger
710.
[0076] In one or more arrangements, when the scrollable refresh trigger
710 is fully displayed, an instruction, such as instruction 905, may be
displayed. Instruction 905 may describe how the scrollable refresh
trigger 710 may be activated and/or how the scrollable list of content
items 620 may be refreshed. For instance, instruction 905 may state:
"Release to refresh."
[0077] As described above, completing a scroll command while the
scrollable refresh trigger 710 is displayed (and/or fully displayed in at
least one arrangement) may result in the refreshing of the scrollable
list of content items. Additionally or alternatively, and also as
described above, completing a first command while an indicator is
displayed may result in the performing of a second command, the second
command being independent of the first command. Thus, if the user lifts
up his or her finger from touch point 705 on the touch screen or
otherwise completes the scroll command (e.g., by concluding a drag
operation, by releasing a mouse button, etc.) while the scrollable
refresh trigger 710 is displayed, computing device 100 may begin
refreshing the scrollable list of content items 620 and further may
display user interface 1000, which is illustrated in FIG. 10.
[0078] As may be seen in FIG. 10, after the user lifts up his or her
finger from touch point 705 on the touch screen or otherwise completes
the scroll command, a status description 1005 may be displayed. Status
description 1005 may state, for instance, "Loading" to inform the user
that computing device 100 is refreshing the scrollable list of content
items 620 and/or loading new data (e.g., downloading recent and/or unread
content items from a remote server, such as a TWITTER or FACEBOOK
server).
[0079] Once computing device 100 has loaded new data, computing device 100
may display user interface 1100, which is illustrated in FIG. 11. As may
be seen in FIG. 11, user interface 1100 may include a refreshed
scrollable list of content items 1105, which may include one or more new
and/or updated content items, such as content items 1105a, 1105b, 1105c,
1105d, and 1105e. In addition, and as further described above, once the
refreshing is complete, the refreshed scrollable list of content items
1105 may be scrolled automatically and/or displayed such that the
scrollable refresh trigger is no longer displayed. As in FIGS. 6 and 7,
however, a user may reveal the scrollable refresh trigger by scrolling
the refreshed scrollable list of content items 1105.
[0080] Various aspects described herein may be embodied as a method, an
apparatus, or as one or more computer-readable media storing
computer-executable instructions. Accordingly, those aspects may take the
form of an entirely hardware embodiment, an entirely software embodiment,
or an embodiment combining software and hardware aspects. In addition,
various signals representing data or events as described herein may be
transferred between a source and a destination in the form of light
and/or electromagnetic waves traveling through signal-conducting media
such as metal wires, optical fibers, and/or wireless transmission media
(e.g., air and/or space).
[0081] Aspects of the disclosure have been described in terms of
illustrative embodiments thereof. Numerous other embodiments,
modifications, and variations within the scope and spirit of the appended
claims will occur to persons of ordinary skill in the art from a review
of this disclosure. For example, one of ordinary skill in the art will
appreciate that the steps illustrated in the illustrative figures may be
performed in other than the recited order, and that one or more steps
illustrated may be optional in accordance with aspects of the disclosure.
* * * * *