U.S. patent application number 14/223442 was filed with the patent office on 2014-07-24 for system and method for providing notifications on a mobile computing device.
This patent application is currently assigned to QUALCOMM Incorporated. The applicant listed for this patent is QUALCOMM Incorporated. Invention is credited to Le Chen, Samuel Hoang, Eric Hsieh, Megan Shia, Chadwyck Wirtz.
Application Number | 20140208336 14/223442 |
Document ID | / |
Family ID | 46601562 |
Filed Date | 2014-07-24 |
United States Patent
Application |
20140208336 |
Kind Code |
A1 |
Shia; Megan ; et
al. |
July 24, 2014 |
SYSTEM AND METHOD FOR PROVIDING NOTIFICATIONS ON A MOBILE COMPUTING
DEVICE
Abstract
A system and method for providing notifications on a mobile
computing device are disclosed. The method comprises enabling
multiple applications that operate on the mobile computing device
to generate notifications in response to event occurrences. A
plurality of notification representations are presented in a
notification bar on the display. The plurality of notification
representations are individually generated by a corresponding
application in response to an event occurrence. The plurality of
notification representations are represented in a first portion of
the notification bar and with a number that represents how many
notification representations from an application have been
generated and not dismissed by a user.
Inventors: |
Shia; Megan; (San Francisco,
CA) ; Chen; Le; (Mountain View, CA) ; Wirtz;
Chadwyck; (Sunnyvale, CA) ; Hoang; Samuel;
(Seattle, WA) ; Hsieh; Eric; (Sunnyvale,
CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
QUALCOMM Incorporated |
San Diego |
CA |
US |
|
|
Assignee: |
QUALCOMM Incorporated
San Diego
CA
|
Family ID: |
46601562 |
Appl. No.: |
14/223442 |
Filed: |
March 24, 2014 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13172026 |
Jun 29, 2011 |
8723823 |
|
|
14223442 |
|
|
|
|
61440347 |
Feb 7, 2011 |
|
|
|
Current U.S.
Class: |
719/318 |
Current CPC
Class: |
G06F 9/542 20130101;
G06Q 10/10 20130101; H04L 51/24 20130101 |
Class at
Publication: |
719/318 |
International
Class: |
G06F 9/54 20060101
G06F009/54 |
Claims
1. (canceled)
2. A method for operating a computing device, the method being
implemented by one or more processors and comprising: providing a
notification feature on a home screen of the computing device;
detecting one or more notifications generated by a number of
applications operating on the computing device; presenting, in
response to a first swipe or drag gesture on the home screen by a
user, a group notification representation for each of the number of
applications, wherein each of the group notification
representations indicates how many of the notifications generated
by a corresponding one of the applications have not been viewed or
acted upon; and dismissing, in response to a second swipe or drag
gesture by the user on a selected one of the group notification
representations, the selected group notification
representation.
3. The method of claim 2, wherein the selected group notification
representation is dismissed without launching the corresponding one
of the applications.
4. The method of claim 2, wherein at least one of the group
notification representations displays the one or more notifications
generated by the corresponding one of the applications as
individual layers, the individual layers being stacked on each
other.
5. The method of claim 2, further comprising: displaying the group
notification representations as a drop down feature from the home
screen.
6. The method of claim 2, wherein each group notification
representation includes content associated with at least one of the
notifications generated by the corresponding one of the
applications.
7. The method of claim 2, wherein at least one of the group
notification representations includes a graphic image representing
the corresponding one of the applications.
8. The method of claim 2, further comprising: launching, in
response to a user selection of one of the group notification
representations, the corresponding one of the applications.
9. The method of claim 2, further comprising: displaying, in
response to a user selection of one of the group notification
representations, a record for the corresponding one of the
applications.
10. The method of claim 2, wherein a first application of the
number of applications corresponds to a messaging application, and
wherein the group notification representation for the first
application indicates a sender of a message.
11. The method of claim 2, wherein a first application of the
number of applications corresponds to a calendar application, and
wherein the group notification representation for the first
application indicates event details of at least one calendar
event.
12. The method of claim 2, wherein a first application of the
number of applications corresponds to a phone application, and
wherein the group notification representation for the first
application indicates a sender of at least one voicemail or of at
least one missed call.
13. The method of claim 2, wherein a first application of the
number of applications corresponds to a social networking
application, and wherein the group notification representation for
the first application indicates at least one post from a social
networking website associated with the social networking
application.
14. A computing device, comprising: one or more processors; and a
memory storing instructions that, when executed by the one or more
processors, cause the computing device to: provide a notification
feature on a home screen of the computing device; detect one or
more notifications generated by a number of applications operating
on the computing device; present, in response to a first swipe or
drag gesture on the home screen by a user, a group notification
representation for each of the number of applications, wherein each
of the group notification representations indicates how many of the
notifications generated by a corresponding one of the applications
have not been viewed or acted upon; and dismiss, in response to a
second swipe or drag gesture by the user on a selected one of the
group notification representations, the selected group notification
representation.
15. The computing device of claim 14, wherein execution of the
instructions causes the selected group notification representation
to be dismissed without launching the corresponding one of the
applications.
16. The computing device of claim 14, wherein at least one of the
group notification representations displays the one or more
notifications generated by the corresponding one of the
applications as individual layers, the individual layers being
stacked on each other.
17. The computing device of claim 14, wherein execution of the
instructions further causes the computing device to: display the
group notification representations as a drop down feature from the
home screen.
18. The computing device of claim 14, wherein each group
notification representation includes content associated with at
least one of the notifications generated by the corresponding one
of the applications.
19. The computing device of claim 14, wherein at least one of the
group notification representations includes a graphic image
representing the corresponding one of the applications.
20. The computing device of claim 14, wherein execution of the
instructions further causes the computing device to: launch, in
response to a user selection of one of the group notification
representations, the corresponding one of the applications.
21. The computing device of claim 14, wherein execution of the
instructions further causes the computing device to: display, in
response to a user selection of one of the group notification
representations, a record for the corresponding one of the
applications.
22. The computing device of claim 14, wherein a first application
of the number of applications corresponds to a messaging
application, and wherein the group notification representation for
the first application indicates a sender of a message.
23. The computing device of claim 14, wherein a first application
of the number of applications corresponds to a calendar
application, and wherein the group notification representation for
the first application indicates event details of at least one
calendar event.
24. The computing device of claim 14, wherein a first application
of the number of applications corresponds to a phone application,
and wherein the group notification representation for the first
application indicates a sender of at least one voicemail or of at
least one missed call.
25. The computing device of claim 14, wherein a first application
of the number of applications corresponds to a social networking
application, and wherein the group notification representation for
the first application indicates at least one post from a social
networking website associated with the social networking
application.
26. A non-transitory computer-readable medium storing instructions
that, when executed by one or more processors of a computing
device, cause the computing device to: provide a notification
feature on a home screen of the computing device; detect one or
more notifications generated by a number of applications operating
on the computing device; present, in response to a first swipe or
drag gesture on the home screen by a user, a group notification
representation for each of the number of applications, wherein each
of the group notification representations indicates how many of the
notifications generated by a corresponding one of the applications
have not been viewed or acted upon; and dismiss, in response to a
second swipe or drag gesture by the user on a selected one of the
group notification representations, the selected group notification
representation.
27. The non-transitory computer-readable medium of claim 26,
wherein the selected group notification representation is dismissed
without launching the corresponding one of the applications.
28. The non-transitory computer-readable medium of claim 26,
wherein at least one of the group notification representations is
to display the one or more notifications generated by the
corresponding one of the applications as individual layers, the
individual layers being stacked on each other.
29. The non-transitory computer-readable medium of claim 26,
wherein execution of the instructions further causes the computing
device to: display the group notification representations as a drop
down feature from the home screen.
30. The non-transitory computer-readable medium of claim 26,
wherein each group notification representation includes content
associated with at least one of the notifications generated by the
corresponding one of the applications.
31. The non-transitory computer-readable medium of claim 26,
wherein at least one of the group notification representations
includes a graphic image representing the corresponding one of the
applications.
32. The non-transitory computer-readable medium of claim 26,
wherein execution of the instructions further causes the computing
device to: launch, in response to a user selection of one of the
group notification representations, the corresponding one of the
applications.
33. The non-transitory computer-readable medium of claim 26,
wherein execution of the instructions further causes the computing
device to: display, in response to a user selection of one of the
group notification representations, a record for the corresponding
one of the applications.
34. The non-transitory computer-readable medium of claim 26,
wherein a first application of the number of applications
corresponds to a messaging application, and wherein the group
notification representation for the first application indicates a
sender of a message.
35. The non-transitory computer-readable medium of claim 26,
wherein a first application of the number of applications
corresponds to a calendar application, and wherein the group
notification representation for the first application indicates
event details of at least one calendar event.
36. The non-transitory computer-readable medium of claim 26,
wherein a first application of the number of applications
corresponds to a phone application, and wherein the group
notification representation for the first application indicates a
sender of at least one voicemail or of at least one missed
call.
37. The non-transitory computer-readable medium of claim 26,
wherein a first application of the number of applications
corresponds to a social networking application, and wherein the
group notification representation for the first application
indicates at least one post from a social networking website
associated with the social networking application.
Description
RELATED APPLICATIONS
[0001] This application is a Continuation of U.S. application Ser.
No. 13/172,026, filed Jun. 29, 2011, titled SYSTEM AND METHOD FOR
PROVIDING NOTIFICATIONS ON A MOBILE COMPUTING DEVICE, which claims
the benefit of priority under 35 U.S.C. 119(e) to Provisional
Application Ser. No. 61/440,347, filed Feb. 7, 2011, titled SYSTEM
AND METHOD FOR PROVIDING NOTIFICATIONS ON A MOBILE COMPUTING
DEVICE, each of which is incorporated herein by reference in its
entirety.
BACKGROUND OF RELATED ART
[0002] Mobile computing devices are used for a variety of different
purposes. For example, a user can use a mobile computing device to
read and send emails, receive or send text messages, receive or
make phone calls, schedule appointments, or to perform other tasks.
Whether a user is currently using the mobile computing device or
not, it is important to notify the user of various events that
occur.
[0003] With the increase of functionalities and various
applications that are provided on mobile computing devices, an
efficient way to receive and/or view notifications is needed.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] The disclosure herein is illustrated by way of example, and
not by way of limitation, in the figures of the accompanying
drawings and in which like reference numerals refer to similar
elements, and in which:
[0005] FIG. 1 illustrates a system for providing notifications on a
mobile computing device under an embodiment;
[0006] FIG. 2 illustrates a method for providing notifications on a
mobile computing device, according to an embodiment;
[0007] FIG. 3 is a block diagram of a mobile computing device under
an embodiment;
[0008] FIG. 4 illustrates a notification bar that is provided on a
mobile computing device under an embodiment;
[0009] FIG. 5 illustrates a notification bar that is provided on a
mobile computing device under another embodiment; and
[0010] FIG. 6 illustrates another notification bar that is provided
on a mobile computing device under an embodiment.
DETAILED DESCRIPTION
[0011] Embodiments described herein include a system and method for
displaying representations of notifications in grouped form, and in
a manner that enables represented notifications to be individually
acted on by the user. More specifically, embodiments enable a user
to respond to individual notifications through use of a
user-interface that interactively displays representations of such
notifications in groups and by application.
[0012] According to embodiments, applications that operate on a
computing device generate notifications that are responsive to
event occurrences. The occurrence of such notifications is
represented by interactive graphic features that are termed
notification representations. Notification representations may be
generated to be responsive to user input, and more specifically,
responsive to touch or other forms of contact input which a user
may make onto a display medium on which notification
representations are provided.
[0013] Over the course of a duration of time, embodiments recognize
that individual applications may generate multiple notifications.
Under embodiments described, multiple notifications may be
represented by a group notification representation, which further
enables individual notification representations that comprise the
group to be identified and acted upon in an interactive manner. The
grouped notification representation, as well as the notification
representations that comprise the group, may be displayed in the
panel or region of a larger display, and made interactive to user
input, independent of whether the application that generated the
underlying notifications is launched.
[0014] According to some embodiments, a notification bar is used to
display notification representations individually, and in group
form. If multiple applications generate notifications, the
notification bar may be segmented for the individual applications,
with group form notification representations being enabled for one
or more portions of the notification bar.
[0015] In one embodiment, group notification representations may
include quantified expressions that indicate a number of
notifications that underlined the representation. For example,
according to some embodiments, the group notification
representation may display a number that identifies the number of
notifications represented by the grouped notification
representations. A user may act on the grouped notification
representation to view individual notification representations that
comprise the group. Furthermore, the user may act on the individual
notification representations when made available through user
interaction. In particular, the user may dismiss or discard a
notification representation from the grouped representation. The
result is that the number represented by the group notification
representation is decremented. In this way, some embodiments
provide that the number displayed in the grouped notification
representation identifies a number of notification representations
that the user has not seen, or alternatively, not acted upon. With
reference to the foregoing, the user interaction with the
notification representations may occur without any user activity to
the application that generated the underlying notifications.
[0016] According to some embodiments, a grouped notification
representation displays a number that corresponds to notifications
generated from an application, in response to event occurrences
that are recognized by that application. The number can be adjusted
in response to a user's input or action that dismissed at least one
of the multiple notification representations.
[0017] In some variations, portions of the notification bar that
are dedicated to notification representations from a particular
application can be removed from the notification bar when the count
of unseen, or not acted upon notifications become zero. Still
further, the number portion of the portion of the notification bar
may be illuminated when the count of unseen, or not acted upon
notification representations is one (e.g. the single notification
representation may be generated as a sub bar and the notification
bar).
[0018] In the various embodiments described, the user may also be
able to affect the notification representations in the notification
bar by operating the application from which the underlying
notifications were generated. For example, if the underlying
notifications represent unread e-mails, and the user opens the
e-mail application to view e-mails, the notification
representations in the notification bar may be updated by the users
actions to open and view e-mails. Such actions may thus decrement,
or eliminate the notification bar (or the portion of the
notification bar) dedicated to the particular application, without
the user actually interacting with the notification bar or portion
thereof.
[0019] In some cases, the notification bars may also be modified
(e.g. the notification number of the notification bar may be
decremented) programmatically by the underlying application, or
some other programmatic element. For example, with e-mail
notifications, the notification number of the notification bar may
be decremented, or the notification bar or portion thereof may be
eliminated, in response to the user viewing the e-mails on a
separate machine or through a web interface.
[0020] In one or more embodiments, the plurality of notification
representations that can be presented in the notification bar also
includes notification representations generated by a second common
application in a second portion of the notification bar and with a
second number or expression of quantity.
[0021] According to other embodiments, a notification bar may be
segmented into multiple portions, each of which represents a
notification sub-bar. Each individual portion can represent a
notification that was generated by the first common application in
response to an event occurrence. The individual potions can be
visually stacked on top of one another in order to form the
notification bar.
[0022] In some embodiments, each portion that corresponds to a
common application, can have group notification representations
corresponding to multiple notifications generated by the common
application. The group notification representations can be
presented as multiple layers of each notification representation.
The top layer can represent the most recent notification generated
by the first common application. In other embodiments, the top
layer can represent the oldest notification generated by the first
common application.
[0023] According to some embodiments, a user's inputs or actions
can be performed by a user's touch on the touch screen display. A
swiping gesture or other touches or taps on the screen display can
be made by a user to provide input to the mobile computing device.
Other inputs can include a quick double tap, or a tap, hold and
drag.
[0024] One or more embodiments described herein provide that
methods, techniques and actions performed by a computing device are
performed programmatically, or as a computer-implemented method.
Programmatically means through the use of code, or
computer-executable instructions. A programmatically performed step
may or may not be automatic.
[0025] Some embodiments described herein may be implemented using
programmatic elements, often referred to as modules or components,
although other names may be used. Such programmatic elements may
include a program, a subroutine, a portion of a program, or a
software component or a hardware component capable of performing
one or more stated tasks or functions. As used herein, a module or
component, can exist on a hardware component independently of other
modules/components or a module/component can be a shared element or
process of other modules/components, programs or machines. A module
or component may reside on one machine, such as on a client or on a
server, or a module/component may be distributed amongst multiple
machines, such as on multiple clients or server machines. Any
system described may be implemented in whole or in part on a
server, or as part of a network service. Alternatively, a system
such as described herein may be implemented on a local computer or
terminal, in whole or in part. In either case, implementation of
system provided for in this application may require use of memory,
processors and network resources, including data ports, and signal
lines (optical, electrical etc.), unless stated otherwise.
[0026] Some embodiments described herein may generally require the
use of computers, including processing and memory resources. For
example, systems described herein may be implemented on a server or
network service. Such servers may connect and be used by users over
networks such as the Internet, or by a combination of networks,
such as cellular networks and the Internet. Alternatively, one or
more embodiments described herein may be implemented locally, in
whole or in part, on computing machines such as desktops, cellular
phones, personal digital assistances, laptop computers, or other
computing devices. Thus, memory, processing and network resources
may all be used in connection with the establishment, use or
performance of any embodiment described herein (including with the
performance of any method or with the implementation of any
system).
[0027] Furthermore, some embodiments described herein may be
implemented through the use of instructions that are executable by
one or more processors. These instructions may be carried on a
computer-readable medium. Machines shown in figures below provide
examples of processing resources and computer-readable mediums on
which instructions for implementing embodiments of the invention
can be carried and/or executed. In particular, the numerous
machines shown with embodiments of the invention include
processor(s) and various forms of memory for holding data and
instructions. Examples of computer-readable mediums include
permanent memory storage devices, such as hard drives on personal
computers or servers. Other examples of computer storage mediums
include portable storage units, such as CD or DVD units, flash
memory (such as carried on many cell phones and personal digital
assistants (PDAs)), and magnetic memory. Computers, terminals,
network enabled devices (e.g. mobile devices such as cell phones)
are all examples of machines and devices that utilize processors,
memory, and instructions stored on computer-readable mediums.
Additionally, embodiments may be implemented in the form of
computer-programs, or a computer usable carrier medium capable of
carrying such a program.
[0028] Overview
[0029] FIG. 1 illustrates a system for providing notifications on a
computing device under an embodiment. A system such as illustrated
with FIG. 1 may be implemented on, for example, a computing device,
although embodiments may be implemented on numerous other computing
form factors. In an embodiment, system 100 provides notification
representations on a display of a computing device to enable or
assist a user to easily determine and access events that occurs
with a variety of different applications. The notification
representations are represented as groups and are separated in a
way to enable a user to easily distinguish the corresponding
applications for the notification representations. The user can
dismiss the notification representations or read a plurality of
records that each correspond to the notification representations
quickly and efficiently.
[0030] As examples, the computing device may correspond to any
device that includes roaming wireless network and/or telephony
capabilities, including cellular telephony devices and/or mobile
messengers. In particular, embodiments described herein may apply
to numerous kinds of mobile or small form-factor computing devices.
Some types of mobile computing devices that may be configured to
include embodiments described herein includes a computer telephony
device, such as a cellular phone or mobile device with
voice-telephony applications (sometimes called "smart phone") or a
tablet device. A computing device such as described may be small
enough to fit or carry in one hand, while providing cellular
telephony features in combination with other applications, such as
messaging, web browsing, media playback, personal information
management (e.g., such as contact records management, calendar
applications, tasks lists), image or video/media capture and other
functionality. Computing devices in particular may have numerous
types of input mechanisms and user-interface features, such as
keyboards or keypads, multi-directional or navigation buttons,
application or action buttons, and contact or touch-sensitive
display screens. Some devices may include combinations of keyboard,
button panel area, and display screen on one facade. The button
panel region may occupy a band between the keypad and the display
area, and include a navigation button and multiple application
buttons or action buttons.
[0031] Specific types of messaging that may be performed include
messaging for email applications, Short Message Service (SMS)
messages, Multimedia Message Service (MMS) messages, and
proprietary voice exchange applications (such as SKYPE). Still
further, other types of computing devices contemplated with
embodiments described herein include laptop or notebook computers,
ultra-mobile computers, personal digital assistants, and other
multi-functional computing devices or mobile/portable devices.
[0032] Still further, one or more embodiments may be implemented
through any type of computing device such as a desktop computer
that is configured to include real-time voice data exchange (e.g.
through use of Internet Protocol telephony). Still further, other
types of computer telephony devices exist, including standalone
devices that connect directly to a telephone network (whether
Internet Protocol or Public Switch Telephony System (PSTN)) and
provide software interfaces and applications.
[0033] According to an embodiment, the system 100 comprises a
notification interface 110. The notification interface 110 includes
a notification counter module 120 and a selector module 130. The
notification interface 100 communicates with a plurality of
applications 140 and an output/user interface (UI) module 170 to
provide notification representations on a display of the computing
device. The plurality of applications 140 generates notifications
in response to event occurrences and communicates them to the
notification interface 110.
[0034] The plurality of applications 140 can include applications
such as messaging (e.g., SMS, MMS, instant messages, or other
types), web browsing, media playback, personal information
management (e.g., such as contact records management, calendar
applications, tasks scheduling and lists), image or video/media
capture and other applications providing various other
functionalities. Depending on event occurrences with respect to
various applications, each of the plurality of applications 140 can
generate notifications and communicate them to the notification
interface 110.
[0035] For example, a user can connect the user's computing device
with a number of different email accounts. Throughout a given day,
a user can receive dozens of emails from other users or other
parties. Each time the user receives a new email (e.g., an event
occurrence), the email application can generate a notification in
response to the event occurring and communicate the notification to
the notification interface 110. Similarly, a second application,
for example, can be a messaging application that can generate a
notification in response to a user receiving a text message or
instant message from another user. The second application can also
communicate the notification to the notification interface 110.
Other event occurrences for various applications can be an alarm
clock notification, an upcoming event on a calendar, upcoming items
on a task list that are due, notifications from social networking
websites (e.g., a new friend request or wall post on FACEBOOK.COM),
missed calls, voicemails, or other events. Depending on the
notifications received from the applications 140, the notification
interface 110 can cause the output/UI module 170 to provide a
notification bar with notification representations.
[0036] The output/UI module 170 is configured to provide a
notification bar on the display of the computing device. The
notification bar can include a plurality of notification
representations for a variety of applications. Each notification
representation corresponds to a notification generated by an
application in response to an event occurrence. In some
embodiments, a first portion of the notification bar can correspond
to a first application and a second portion of the notification bar
can correspond to a second application so that the notification
representations are provided on the different portions depending on
the application. The output/UI module 170 receives notification
information 160 from the notification interface 110. The
notification information 160 can include data about notifications
generated by one or more of the plurality of applications 140, data
corresponding to user input to update the notification
representations on the notification bar, and data corresponding to
a counter.
[0037] According to an embodiment, the output/UI module 170 can use
the notification information 160 received from the notification
interface 110 to provide and update the notification bar on the
display. Because various applications 140 continue to generate
notifications in response to event occurrences, the notification
interface 110 can continue to send new notification information 160
to the output/UI module 170. In some embodiments, the notification
bar can be a part of or be included in a status bar or tool bar on
the display. The status bar or tool bar can be displayed on the
home screen or default screen of the computing device. In other
embodiments, the notification bar can appear (like a drop down or
pop up menu bar, for example) when a user selects a notification
icon or icons from the status bar or tool bar and can disappear or
be hidden if a user is not viewing or using the notification bar
(or after a predetermined period of time).
[0038] The notification interface 110 maintains information
regarding the various notifications generated and received by the
plurality of applications 140. In one embodiment, the notification
counter 120 maintains a counter for each of the plurality of
applications 140. Application A has a first counter associated with
it, Application B has a second counter associated with it, and so
on. The number of the counter for each application represents the
number of notifications that have been generated by a particular
application and not dismissed by a user. In some embodiments, a
user can dismiss a notification by either launching the
corresponding application to view or render a record corresponding
to the notification, or by dismissing it with a user action. The
user can dismiss one or more notification representations depending
on the user's action or selection 150.
[0039] The selector module 130 receives user selections 150 or
inputs from a user. Depending on the user selection 150, the user
selection 150 can affect the notification information 160. A user
selection 150 can be a variety of different inputs by a user. In
some embodiments, for example, a user can individually launch one
or more applications and view one or more records that correspond
to one or more notification representations. The user may also
select a notification representation from the notification bar to
launch the particular application and view the corresponding record
for the selected notification representation. The user may also
dismiss one or more notification representations of a first
application from the notification bar or dismiss all of the
notification representations of the first application depending on
the user's action. In other embodiments, the user may dismiss all
the notification representations of all the applications. The user
may also do nothing and provide no input that affects the
notification information 160. The selector module 130 determines
the user selection 150 and communicates with the notification
counter module 120 to adjust the counter for a particular
application or not. Updated notification information 160 can be
sent to the output/UI module 170 so that the output/UI module 170
can provide updated notification bars on the display.
[0040] For example, if a user received three new emails during a
period of time from other users or parties and did not read or view
the emails, the notification counter module 120 would maintain a
counter for the email application with the number three. The
selector module 130 would determine that there was no user
selection 150 and communicate the information to the notification
counter module 120. Three notification representations on the
notification bar would be provided, with each notification
representation corresponding to each of the three emails.
[0041] If, however, the user had launched the email application
(e.g., made a user selection 150) and viewed an email corresponding
to a particular email notification representation (e.g., the second
email received), or had dismissed an email notification
representation from the notification bar through a user selection
150 or input, the selector module 120 would communicate that
information to the notification counter module 120. The
notification counter module 120 can adjust the counter for the
email application to two, instead of three, and the notification
interface 110 can send the new notification information 160 to the
output/UI module 170. The output/UI module 170 can provide a
notification bar that shows two email notification representations
in a first portion of the notification bar along with a graphic
representation of the email application. In one embodiment, the
first portion of the notification bar can also include the number
two with the graphic representation, which represents how many
email notifications have been generated by the email application
and not dismissed by the user.
[0042] In some embodiments, the notification representations are
presented in the notification bar with text and/or a graphic image
to assist a user to quickly determine what the notification
representation is about. Because a notification bar can be small in
size, the notification representations must be able to display
sufficient information about the notification in a small amount of
space. Depending on the application, the content of the
notification representations can vary. For example, for a missed
call, the notification representation can have a phone number with
the text that says "Missed Call" and/or the time in which the
missed call occurred. If a user receives a text message, the
notification representation can show the phone number and/or the
name of the user who sent the text message along with a short text
from the body of the text message (e.g., the first few words of the
text message, or key words). For a new received email, the
notification representation can display the name or email address
of the sender along with a short text from the subject of the email
or from the body of the email.
[0043] The notification representations are grouped together
according to their corresponding applications. For calendar events,
the notification representations showing upcoming events (upcoming
the day of or within a specified time period) will be grouped
together in a portion of the notification bar. Email notifications
will be grouped together in another portion, while text messages
are grouped together in another different portion, etc. In some
embodiments, the notification representations are configured and
displayed as layers. If there are four text messages that have been
received and not dismissed by the user, four notification
representations are stacked on top of each other in one portion of
the notification bar. In one or more embodiments, the top layer can
represent the most recently generated notification (e.g., the most
recently received text message). In other embodiments, the top
layer can represent the oldest generated notification and not
dismissed by a user (e.g., the oldest text message received and not
dismissed by the user).
[0044] The user can dismiss the notification representation on the
top layer, for example, by a user action or selection 150. In some
embodiments, the user can hold and swipe/drag the layer in one or
more directions to dismiss the notification representation without
actually viewing or launching the corresponding application. The
user can also read or view the record corresponding to the
notification representation on the top layer by selecting the
notification representation. Upon the user selection 150, the
corresponding application with the specific record can be
automatically launched or opened. In other embodiments, the user
can dismiss the entire notification set of the application through
a user action.
[0045] For example, if there are four text messages that have been
received and not dismissed by the user, four notification
representations are stacked on top of each other in one portion of
the notification bar. The counter is set at four and the number "4"
is displayed with the portion of the notification bar. The user may
dismiss the top notification representation by removing the layer
with a swiping gesture in one or more directions (e.g., swipe to
the right away from the graphic image of the text message, for
example). The counter is decremented to three and the number "3" is
displayed with the portion of the notification bar. The user may
also dismiss the entire grouped notification representation that is
provided on the portion of the notification bar through user
action. Examples of the swiping gesture are discussed with
reference to FIGS. 4-6 below.
[0046] In one or more embodiments, when an application generates a
notification in response to an event occurrence, the notification
bar presents the corresponding notification representation along
with a graphic image that corresponds to the application. For
example, for an email notification representation on the
notification bar, the notification bar can also present a small
graphic image of an envelope to represent the email application.
The graphic image of the envelope can also have a number
representing the counter for the email application if there are
more than one notification representations for the email
application. Examples of the graphic image are discussed with
reference to FIGS. 4-6 below.
[0047] FIG. 2. illustrates a method for providing notifications on
a computing device, according to an embodiment. A method such as
described with FIG. 2 may be implemented using, for example,
elements shown and described with FIG. 1. As such, references to
elements of FIG. 1 are intended to illustrate only suitable
elements for performing a step or sub-step being described.
[0048] In one embodiment, the flow chart of FIG. 2 represents an
exemplary method in which notifications are provided on a computing
device. In step 205, a notification is received from an
application. The notification is generated by an application in
response to an event occurrence. As discussed, an event occurrence
can vary depending on the different types of applications. The
event occurrence can be a new email received, a new text message
received, an alarm clock notification, an upcoming event on a
calendar, upcoming items on a task list that are due, notifications
from social networking websites (e.g., a new friend request or wall
post on FACEBOOK.COM or a new TWEET or comment on an online
account), missed calls, voicemails, or other events. Notifications
can be received by the notification interface 110 from multiple
applications 140.
[0049] At step 210, the notification interface 110 determines
whether there are prior notifications from the application present.
For example, if the received notification is generated by a
messaging application, the notification interface 110 determines
whether there are prior messaging application notifications present
and not dismissed by the user previously. A messaging application
notification can be generated in response to a user receiving a new
SMS or MMS text message, or a new instant message.
[0050] If the notification received is the first notification
(i.e., no other prior notifications from the corresponding
application are present), then a notification bar is provided on
the display (step 215). The counter associated with the messaging
application is also set to one. The number represents how many
notification representations have been generated and not dismissed
by the user (e.g., no prior notifications are present and one
notification has been received). For example, if the notification
generated by the messaging application is in response to a
receiving a SMS text message from a friend, the notification
representation corresponding to that event is displayed on the
notification bar. The notification interface 110 communicates the
variety of different notification information (e.g., that the
received notification is the first notification received from the
messaging application and has not been dismissed) to the output/UI
module 170 so that the output/UI module 170 can provide a
notification bar on the display of the computing device. The
displayed notification bar presents a notification representation
corresponding to the received notification (step 220). In some
embodiments, the notification representation can have a graphic
image corresponding to the messaging application (e.g., an icon
showing a text bubble) along with text describing the notification
(e.g., text showing the sender or the phone number, and text from a
portion of the message).
[0051] At step 235, the selector module 130 determines whether
there is user selection and what type of selection has been made.
If there is no user selection (i.e., the user does not perform any
action on the notification bar and does not open the messaging
application), the notification bar is not changed or updated. The
notification bar still presents the notification representation
that corresponds to the notification that a friend had shared a
link with the user. On the other hand, if a user selection is made,
the selector module 130 determines what the user selection is and
communicates with the notification counter 120 and the notification
interface 110. As discussed, on a computing device with a touch
screen, the user selection can vary depending on the type of
contact with the screen (e.g., tap, double tap, swipe, drag, or
other gestures). When there is only one notification representation
presented on the notification bar, the user can either do nothing,
independently launch or open a corresponding application to view or
read the record corresponding to the notification, select the
notification representation to automatically launch or open the
corresponding application to view or read the record corresponding
to the notification, or dismiss the notification representation
without launching or opening the application.
[0052] In one embodiment, if there is a user selection to
independently launch or open the corresponding application (e.g.,
launch or open the messaging application) to view or read the
record corresponding to the notification or a user selection to
select the notification representation to automatically launch or
open the application to view or read the record, the record can be
displayed on the computing device as part of the application (step
240). One the record corresponding to the notification
representation is viewed or read, the notification representation
is treated as if it has been dismissed. The counter, which was set
at one after receiving the notification from the messaging
application, is adjusted to zero (step 245).
[0053] After the user makes a selection to view or read the record
that corresponds to the notification representation (e.g., the user
is able to read the text message), there are no more notification
representations for the messaging application to be presented on
the notification bar. The counter is adjusted to zero, which
represents that there are no more notification representations that
are generated and not dismissed. At step 270, the portion of the
notification bar for the presenting the messaging application is
removed or hidden.
[0054] Referring back to step 210, if prior notifications for the
corresponding application are present and not dismissed by a user,
the notification bar is updated to present a notification
representation corresponding to the received notification. In some
embodiments, the notification bar is already displayed showing the
prior notification representations in a portion of the notification
bar. A counter is maintained by the notification counter module 120
to keep track of the number of notifications that are generated by
a corresponding application and not dismissed by a user. The
notification counter module 120 adjusts the counter for the
messaging application according to the number of messaging
notifications have been generated by the messaging application and
not dismissed by the user (step 225). For example, if there are two
prior messaging application notifications present and not
dismissed, the counter will be adjusted to three after receiving
the recent notification from the messaging application.
[0055] In step 230, the notification representations that
correspond to the recently received notification and the prior
notifications (which have not been dismissed by the user) are
presented on the notification bar. As discussed, in some
embodiments, the multiple notification representations can be
represented by layers in a portion of the notification bar. The
most recently received notifications can be on the top layer, with
the two prior messaging application notifications stacked
underneath the top layer. In other embodiments, the top layer
notification representation can represent the oldest notification
generated by an application and not dismissed by a user. The
notification representation can also be displayed with a number
that represents the counter. A user can quickly glance at the
graphic image representing the messaging application with the
number (e.g., "3") to determine how many messaging notifications
are available and have not been read or dismissed by the user.
[0056] Similar to step 235, at step 250, the selector module 130
determines whether there is user selection and what type of
selection has been made. If there is no user selection (i.e., the
user does not perform any action on the notification bar and does
not open the messaging application), the notification bar is not
changed or updated. The notification representations are still
displayed in a portion of the notification bar. The top layer
notification representation, for example, can still display
information that shows that a friend had shared a link with the
user. On the other hand, if there is a user selection made, the
selector module 130 determines what the user selection is and
communicates with the notification counter 120 and the notification
interface 110. Because there are multiple notification
representations presented on the notification bar corresponding to
the messaging application, there are a variety of different user
selections or actions that the user can make.
[0057] The user can independently launch or open the messaging
application to view or read the records corresponding to the
notification representations. The user can also select the top
layer notification representation to automatically launch or open
the messaging application to view or read the record corresponding
to that notification representation. The user can also dismiss one
or more notification representations without launching or opening
the application with a user input. In some embodiments, the user
can hold and swipe/drag a layer in one or more directions to
dismiss the notification representation without actually viewing or
launching the corresponding application. The user may also hold the
graphic image representing the grouped notification representations
and swipe/drag the entire group of layers to dismiss the all the
notification representations corresponding to the graphic
image.
[0058] If a user selection is made to read or view one or more
records corresponding to a notification representation, the record
can be displayed on the computing device with or as part of the
application (step 250). In some embodiments, once the records
corresponding to one or more notification representations are
viewed or read, the corresponding notification representations are
treated as being dismissed. At step 260 the counter is adjusted
(e.g., decremented because one or more of the notification
representations have been dismissed) to represent how many
notification representations have been generated and not dismissed
by the user. The notification representation can also be displayed
on the notification bar with a number that represents the
counter.
[0059] At step 265, the notification interface 110 determines
whether the counter for the messaging application is equal to zero.
If the counter is not equal to zero (e.g., one or more), the
notification representations are displayed on the notification bar.
However, once the counter is adjusted to zero, the number zero
represents that there are no more notification representations that
are generated and not dismissed. At step 270, the portion of the
notification bar for the presenting the messaging application is
removed or hidden.
[0060] Although the steps in FIG. 2 were described with reference
to one particular exemplary application, the steps apply to a
variety of different applications. The process can occur for
individual applications concurrently so that the notification bar
can present groups of notification representations for different
applications. Examples of the notification bar are discussed with
reference to FIGS. 4-6 below.
Hardware Diagram
[0061] FIG. 3 is a block diagram of a computing device for
implementing an architecture such as described with FIG. 1, under
an embodiment. In FIG. 3, a computing device 300 includes a
processing resource 310, one or more memory 320 for storing
applications, display features, and data used by the applications
(e.g., Flash memory, RAM, hard drive, portable storage units,
etc.), a control console 330 for enabling a user to control the
device 300 with user inputs, a radio and network resource 340, and
a display assembly 350. In some embodiments, the control console
330 can be incorporated or be a part of the display assembly
350.
[0062] The processing resource 310 is configured to execute
instructions and process data for implementing the system 100 as
described with FIG. 1, so that group notifications can be provided
on the display assembly 350 of the computing device 300. The radio
and network resource 340 enables network connectivity and/or
cellular telephony capabilities. The radio and network resource 340
can be configured to enable network connectivity or connectivity
with other devices through use of the Wi-Fi protocol (e.g., IEEE
802.11(b) or (g) standards), Bluetooth protocol, etc.
[0063] In one or more embodiments, the display assembly 350 can
include a touch screen display to enable a user to control the
device 300 by making contact and movements on the touch screen
display. The user selections or inputs referred to in FIGS. 1 and 2
can be performed on a touch screen display. Some user inputs can be
a tap on a selectable feature on the user-interface, or other
actions, such as a quick double tap or a gesture (e.g., a drag or
swiping motion). As discussed, in some embodiments, to dismiss a
notification representation on the notification bar, a user can
simply tap the notification representation and swipe it away in one
or more directions. The user can also dismiss a notification
representation by opening the corresponding application and reading
or viewing the record corresponding to the notification
representation. The user can open the corresponding record by
tapping on the notification representation.
Notification Bar
[0064] FIGS. 4-6 illustrate notification bars provided on a display
under an embodiment. The illustrations described with FIGS. 4-6 may
be implemented using, for example, elements shown and described
with FIGS. 1-3. As such, reference to elements of FIGS. 1-3 is
intended for illustration purposes.
[0065] FIG. 4 illustrates a notification bar that is provided on a
computing device under an embodiment. The presentation 400
illustrates a portion of a home page display that can be rendered
on a display of a computing device, such as a cell phone or a
tablet device. The presentation 400 includes a notification bar 410
and a status bar 420. The notification bar is configured to present
a plurality of notification representations that are generated in
response to event occurrences. The notification bar 410 has four
portions to display various notification representations
corresponding to a variety of applications--a first portion 412, a
second portion 414, a third portion 416 and a fourth portion
418.
[0066] In some embodiments, the notification bar 410 can present
notification representations for a plurality of applications
concurrently. The notification representations can be grouped in
different portions of the notification bar 410 according to their
corresponding applications. For example, in one embodiment, a
notification representation 432 can be presented in a first portion
412 of the notification bar 410. The notification representation
432 can correspond to a notification from a calendar application of
the computing device. The notification could be a reminder that a
calendar event is scheduled to occur in fifteen minutes (or other
predetermined or user-chosen time period).
[0067] Multiple notification representations 434 can also be
presented in a portion of the notification bar 410. In some
embodiments, the notification representations 434 are grouped
together and configured as layers because there is more than one
notification representation corresponding to the email application.
More specifically, in one example, the second portion 414 has three
layers of notification representations 434, with the top layer
(e.g., an email from Stewart Smith being the most recently received
email application notification) shown on top. Similarly,
notification representation 436 is presented in the third portion
416 of the notification bar 410. Notification representation 436
corresponds to a notification from a text messaging
application.
[0068] Each portion of the notification bar 410 also includes a
graphic image 440 that represents one or more notification
representations from a corresponding application. In the first
portion 412, the graphic image 440 is of a calendar pad to
represent the calendar application. The second portion 414 includes
a graphic image 440 of an envelope, which represents the email
application. The third portion 416 includes a graphic image 440 of
a text bubble to represent the messaging application. Other
portions may provide other graphic images to represent various
other corresponding applications (e.g., an alarm clock image for
set alarms, telephone image for missed calls, etc.).
[0069] In some embodiments, the notification bar 410 can also
include a portion for providing controls for one or more media
players (e.g., a media player for video playback, or a media player
for audio playback). If a media player is currently being accessed
or used by a user, the notification bar 410 may provide a portion
for enabling the control of that media player. For example, in the
presentation 400, the fourth portion 418 has a different type of
graphic image to represent a song that is currently playing on the
computing device (e.g., the partial graphic that shows "Elliot
Smith" behind the rewind, fast forward and pause buttons). A user
may perform an action on the notification bar 410 to access the
controls of the media player (e.g., rewind, fast forward, pause) in
order to control the media that is being played back.
[0070] Depending on the application, the content of the
notification representations can vary. For example, in some
embodiments, for a calendar notification, the name of the event
("Team Meeting") is provided with text describing the scheduled
meeting time ("in 15 minutes") as well as the room or location
("Battleship"). For an email notification, the sender's name
("Stewart Smith") can be provided with a subject line ("Re: Today's
Meeting") on the notification representation. For a text message,
the sender's name (or phone number) can be provided with a portion
of the content of the text message. In one or more embodiments, a
user can change the settings on the computing device to program
what items or text is shown or displayed on the notification
representations.
[0071] According to some embodiments, for portions of the
notification bar 410 that include multiple notification
representations, a number is also provided that represents the
total number of notification representations that have been
generated by a corresponding application and not dismissed by a
user. For example, in the second portion 414 of the notification
bar 410, a number 450 is provided. The number "3" represents the
number of email notifications that have been generated by the email
application and not dismissed by the user. More specifically, three
layers of notification representations 434 are provided, which
match the number "3" presented in the second portion 414.
[0072] In one or more embodiments, multiple notification
representations for a corresponding application can be grouped
together and stacked as layers in a portion of the notification bar
410. For example, three email notification representations 434 are
stacked so that at least some portions of the layers can be seen. A
user can dismiss the notification representations by a user action
or selection. In some embodiments, the user can hold and swipe/drag
a layer in one or more directions to dismiss a notification
representation without actually viewing or launching the
corresponding application. The user can also read or view the
record corresponding to the notification representation on the top
layer by selecting the notification representation. Upon the user
selection, the corresponding application with the specific record
can be automatically launched or opened. For example, the user can
dismiss the email notification representation 434 from Stewart
Smith by selecting the notification representation 434 (which
causes the email record from Stewart Smith to automatically open or
launch with the email application) or by independently opening or
launching the email application and reading or viewing the email
record corresponding to the notification representation 434. The
user may also dismiss the email notification 434 from Stewart Smith
by making a swiping gesture in one or more directions. The user may
then dismiss the next email notification and so on, until no email
notifications are available. The portion 414 may then be hidden
because email notifications are no longer present (e.g., the
portions below will shift up).
[0073] In other embodiments, the user can dismiss the entire
notification set of the application through a user action. For
example, three email notification representations 434 are stacked
so that at least some portions of the layers can be seen. The user
can dismiss the entire grouped notification representations 434
corresponding to email application notifications by performing an
action on the graphic image corresponding to the email application.
Like dismissing one layer by making a swiping gesture in one or
more directions, a user may also dismiss the entire grouped
notification representations 434 by selecting and holding the
graphic image of the envelope, and making a swiping gesture in one
or more directions.
[0074] In one or more embodiments, the display of the computing
device can be a touch screen display so that a user can provide
input and/or selections by making contact with the touch screen
display on various locations. The swiping gesture, for example, can
be done by a user placing a finger on the notification
representation 434, holding the finger and moving the finger in a
swiping motion to the right. The notification representation 434
can also be selected to automatically view or read a record
corresponding to the notification representation 434 by a quick tap
on the notification representation 434 on the notification bar
410.
[0075] Once a notification of a plurality of grouped notifications
are dismissed, the counter is adjusted and the number provided on
the notification bar is decremented. For example, if the email from
Stewart Smith is read or viewed by a user or if the user dismissed
the email notification representation 434 through user action, the
second portion 414 would have only two layers of notification
representations 434. The number 450 would be decreased to "2" to
represent the number of notification representations that have been
generated by the email application and not dismissed. This can be
seen in FIG. 5.
[0076] In FIG. 5, the number 450 representing the counter for the
email application is adjusted to "2" because there are only two
email notification representations that have been generated by the
email application and not dismissed by a user. In one embodiment,
because the more recent email notification representation has been
dismissed, the second portion 414 of the notification bar 410 now
provides the next most recent email notification representation 434
that is generated by the email application and not dismissed by the
user (e.g., an email from GAP offering an advertisement or
promotion for "30% Savings Today!"). The user can also dismiss this
notification representation 434, as seen in FIG. 6. Once dismissed,
in FIG. 6, there is only one email notification representation 434
provided in the second portion 414. A number representing the
counter is not provided because there is only one email
notification representation 434 presented in the notification bar
410.
[0077] In some embodiments, if the notification representations 434
are dismissed so that there are no notification representations
left that correspond to the email application, the second portion
414 would be hidden and the other portions shifted up (so that only
three portions are shown). If all the notification representations
of all the applications are dismissed, then the notification bar
410 would be empty.
[0078] Referring back to FIG. 4, in some embodiments, the
notification bar 410 can also include a portion for presenting
applications that are currently being used. For example, the
notification bar 410 includes a fourth portion 418 that presents a
media application showing both the title of the song and the artist
that is currently being played. For a media application, other
selectable features may be provided (e.g., such as rewind, pause,
or fast forward).
[0079] It is contemplated for embodiments described herein to
extend to individual elements and concepts described herein,
independently of other concepts, ideas or system, as well as for
embodiments to include combinations of elements recited anywhere in
this application. Although embodiments are described in detail
herein with reference to the accompanying drawings, it is to be
understood that the invention is not limited to those precise
embodiments. As such, many modifications and variations will be
apparent to practitioners skilled in this art. Accordingly, it is
intended that the scope of the invention be defined by the
following claims and their equivalents. Furthermore, it is
contemplated that a particular feature described either
individually or as part of an embodiment can be combined with other
individually described features, or parts of other embodiments,
even if the other features and embodiments make no mentioned of the
particular feature. Thus, the absence of describing combinations
should not preclude the inventor from claiming rights to such
combinations.
* * * * *