U.S. patent application number 14/797979 was filed with the patent office on 2015-11-05 for application quick launch extension.
The applicant listed for this patent is QUALCOMM Incorporated. Invention is credited to Richard Bryan Sagar.
Application Number | 20150317048 14/797979 |
Document ID | / |
Family ID | 39796473 |
Filed Date | 2015-11-05 |
United States Patent
Application |
20150317048 |
Kind Code |
A1 |
Sagar; Richard Bryan |
November 5, 2015 |
APPLICATION QUICK LAUNCH EXTENSION
Abstract
A system (and/or a method) are disclosed to launch an
application directly from a menu on a screen of a handheld
computing device. In one embodiment, the handheld computing device
is configured to receive an event signal corresponding to executing
an application assigned to the switch when actuated for a first
time period. When the switch is maintained actuated for a second
predetermined period of time, the system is configured to transmit
an identifier corresponding to the switch to a preferences manager.
The system retrieves a plurality of application identifiers from a
database of the preferences manager, where each application
identifier linking an executable for a corresponding application.
The system displays the menu on the screen of the mobile computing
device. The menu includes a plurality of application identifiers
that are being selectable for execution of a different
application.
Inventors: |
Sagar; Richard Bryan; (Santa
Clara, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
QUALCOMM Incorporated |
San Diego |
CA |
US |
|
|
Family ID: |
39796473 |
Appl. No.: |
14/797979 |
Filed: |
July 13, 2015 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11694068 |
Mar 30, 2007 |
9122396 |
|
|
14797979 |
|
|
|
|
Current U.S.
Class: |
715/834 |
Current CPC
Class: |
G06F 3/0488 20130101;
G06F 3/04842 20130101; G06F 3/04817 20130101; G06F 3/0482 20130101;
G06F 3/0489 20130101 |
International
Class: |
G06F 3/0482 20060101
G06F003/0482; G06F 3/0488 20060101 G06F003/0488; G06F 3/0484
20060101 G06F003/0484; G06F 3/0481 20060101 G06F003/0481 |
Claims
1. (canceled)
2. A method performed by a handheld computing device, the handheld
computing device having a screen and a plurality of switches, the
method comprising: detecting an activation time period of a switch
of the plurality of switches, wherein a function and a menu are
associated with the switch; performing the function associated with
the switch when the detected activation time period is less than a
predetermined time period; and rendering the menu associated with
the switch on the screen when the detected activation time period
is greater than the predetermined time period.
3. The method of claim 2, further comprising: detecting a second
activation time period of a second switch of the plurality of
switches, wherein a second function and a second menu are
associated with the second switch; performing the second function
associated with the second switch when the detected second
activation time period is less than the predetermined time period;
and rendering the second menu associated with the second switch on
the screen when the detected second activation time period is
greater than the predetermined time period.
4. The method of claim 2, wherein the menu includes a set of
selectable application identifiers, an application identifier of
the set of selectable application identifiers corresponds to an
executable program.
5. The method of claim 4, further comprising: receiving a selection
for the application identifier; and launching the executable
program corresponding to the selected application identifier.
6. The method of claim 5, wherein the selection is received from a
navigation mechanism configured to receive user input representing
one of at least three directions.
7. The method of claim 6, wherein the navigation mechanism
comprises a five-way navigation ring.
8. The method of claim 4, wherein the set of selectable application
identifiers are displayed in the menu within a bounded area on the
screen.
9. The method of claim 8, wherein the set of selectable application
identifiers are placed in relative orientations corresponding to
relative orientations of at least three directions that can be
navigated by a navigation mechanism.
10. The method of claim 4, wherein the set of selectable
application identifiers are displayed as a set of icons placed
within the menu.
11. The method of claim 4, wherein the set of selectable
application identifiers are displayed in the menu shaped as a
pie.
12. The method of claim 4, wherein the menu is displayed with one
of the set of selectable application identifiers pre-selected.
13. The method of claim 4, wherein the set of selectable
application identifiers are stored in a database on the handheld
computing device.
14. The method of claim 2, wherein the handheld computing device
comprises a smartphone device or a personal digital assistant
device.
15. The method of claim 2, wherein the switch of the plurality of
switches comprises a switch selected from an application switch, a
navigation switch, a slider switch, a rocker switch, a push button
switch, a touch sensitive switch, a photo switch, a mechanical
switch, a solid state switch, or a key in a keyboard.
16. The method of claim 2, wherein the switch of the plurality of
switches comprises an alphanumeric key.
17. The method of claim 2, wherein the activation of the switch of
the plurality of switches is caused by a mechanism triggering the
switch from one state to another through actuation, induction,
photo or optical sensing, or pressure sensing.
18. The method of claim 2, wherein the switch of the plurality of
switches comprises a switch of a circular shape, an oblong shape,
an oval shape, a square shape, or a rectangular shape.
19. The method of claim 2, wherein the screen is an enhanced touch
sensitive screen, and the menu is rendered on the screen to provide
a response to a user.
20. A handheld computing device comprising: a plurality of
switches, wherein at least a first switch of the plurality of
switches has a respective function and menu associated therewith;
and a menu serving system configured to detect an activation time
period of the first switch and to perform the respective function
associated with the first switch when the detected activation time
period is less than a predetermined time period or to render the
respective menu associated with the first switch on a screen when
the detected activation time period is greater than the
predetermined time period.
21. The handheld computing device of claim 20, wherein a second
switch of the plurality of switches has a respective second
function and second menu associated therewith, and wherein the menu
serving system is configured to detect a second activation time
period of the second switch and to perform the respective second
function associated with the second switch when the detected second
activation time period is less than the predetermined time period
or to render the respective second menu associated with the second
switch on the screen when the detected second activation time
period is greater than the predetermined time period.
22. The handheld computing device of claim 20, wherein the menu
includes a set of selectable application identifiers, an
application identifier of the set of selectable application
identifiers corresponds to an executable program.
23. The handheld computing device of claim 22, wherein the menu
serving system is further configured to: receive a selection for
the application identifier; and launch the executable program
corresponding to the selected application identifier.
24. The handheld computing device of claim 23, further comprising a
navigation mechanism configured to receive user input to make the
selection for the application identifier.
25. The handheld computing device of claim 24, wherein the
navigation mechanism comprises a five-way navigation ring.
26. The handheld computing device of claim 22, wherein the set of
selectable application identifiers are displayed in the menu within
a bounded area on the screen.
27. The handheld computing device of claim 26, wherein the set of
selectable application identifiers are placed in relative
orientations corresponding to relative orientations of at least
three directions that can be navigated by a navigation
mechanism.
28. The handheld computing device of claim 22, wherein the set of
selectable application identifiers are displayed as a set of icons
placed within the menu.
29. The handheld computing device of claim 22, wherein the set of
selectable application identifiers are displayed in the menu shaped
as a pie.
30. The handheld computing device of claim 22, wherein the menu is
displayed with one of the set of selectable application identifiers
pre-selected.
31. The handheld computing device of claim 22, further comprising a
database storing the set of selectable application identifiers.
32. The handheld computing device of claim 20, wherein the handheld
computing device comprises a smartphone device or a personal
digital assistant device.
33. The handheld computing device of claim 20, wherein the first
switch comprises a switch selected from an application switch, a
navigation switch, a slider switch, a rocker switch, a push button
switch, a touch sensitive switch, a photo switch, a mechanical
switch, a solid state switch, or a key in a keyboard.
34. The handheld computing device of claim 20, wherein the first
switch is an alphanumeric key.
35. The handheld computing device of claim 20, wherein the
activation of the first switch is caused by a mechanism triggering
the first switch from one state to another through actuation,
induction, photo or optical sensing, or pressure sensing.
36. The handheld computing device of claim 20, wherein the first
switch comprises a switch of a circular shape, an oblong shape, an
oval shape, a square shape, or a rectangular shape.
37. The handheld computing device of claim 20, wherein the screen
is an enhanced touch sensitive screen, and the menu is rendered on
the screen to provide a response to a user.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application is a continuation of co-pending,
commonly assigned, U.S. patent application Ser. No. 11/694,068
filed Mar. 30, 2007 entitled APPLICATION QUICK LAUNCH EXTENSION,
the disclosure of which is hereby incorporated herein by
reference.
BACKGROUND
[0002] 1. Field of Art
[0003] The disclosure generally relates to the field of menus for
mobile computing devices, for example, mobile telephones.
[0004] 2. Description of the Related Art
[0005] Mobile devices, specifically mobile phone devices, today are
ubiquitous. As each new generation of mobile phone devices comes to
market more and more functionality is incorporated into that
device. To access and navigate the functionality incorporated into
a mobile phone device, conventional mobile phones have incorporated
linear menus.
[0006] Generally, a linear menu is presented with a list of entries
corresponding to a function. A user scrolls down through the list
of entries, or taps on the item on screen (for touch screens) to
minimize the number of UI interactions to access a function.
Scrolling, or tapping on the screen requires more interaction from
the user and requires the user to rely on visual feedback to ensure
they are scrolling or tapping the appropriate place. However,
linear menus have significant drawbacks. For example, a user is
required to perform a number of physical interactions with their
device in order to access a particular menu entry. Another drawback
is that desired menu entries may be nested, therefore increasing
the number of interactions necessary to reach a particular menu
entry. Moreover, such entry may be difficult to locate among the
myriad of menus available to the user.
[0007] To alleviate some of the drawbacks of conventional linear
menus, device manufactures have incorporated dedicated physical
buttons on their devices. When selected, the dedicated button
executes the functionality associated with that dedicated button.
Such hard wired solutions provide immediate access to common
functional tasks thereby reducing the number of interactions and
easing access to such function. However, this configuration too has
a number of drawbacks. For example, as devices become smaller in
form factor, the amount of available real estate on the device in
which to put most commonly accessed functionality is significantly
reduced.
[0008] Moreover, as users become more sophisticated, the number of
dedicated functional buttons a user desires increases so that the
limited real estates results in omissions that ultimately decreases
user productivity. Further, increased user sophistication also
results in different users having different views on functionality
that they find most useful, and thus, most commonly accessed. To
provide each different user with a different set of dedicated
application buttons causes a significant increase in manufacturing
cost and complexity such that it is impractical.
[0009] Thus, the art lacks a mechanism to provide quick access and
flexible customization to access a variety of functional operations
in devices, particularly those having small form factors.
SUMMARY
[0010] A disclosed system (and method) extends quick application
launch functionality on a mobile computing device, e.g., a handheld
computing device such as a mobile phone, a smartphone or the like.
In one embodiment the system renders menus on a screen of the
mobile that correlate with a navigation mechanism.
[0011] In one embodiment, the mobile computing device includes one
or more application switches and one or more navigation switches.
The application switch is configured to include application
switches (or buttons) that when depressed and immediately released
(e.g., an initial time period) immediately launch (or execute) an
application. When the application switch is depressed for a time
period greater than the initial time period, an event manager
detects the depression of that application switch for that
predetermined time period and generates a switch identifier
corresponding to the application switch.
[0012] A preferences manager receives the switch identifier and, in
response, retrieves a plurality of application identifiers
corresponding to that application switch. Each application
identifier linked (e.g., a pointer or a batch command) to an
executable for a corresponding application. A menu engine displays
each application identifier in a menu on the screen. Each
application identifier is selectable for execution so that when it
is selected, e.g., by the navigation mechanism, it launches the
corresponding application.
[0013] In one example embodiment, a mobile computing device (e.g.,
a personal digital assistant or a smart phone) has a form factor
that allows for holding within a palm of a user. The mobile
computing device in this example embodiment integrates at least one
application button and a five-way navigation mechanism. Each
application button is directly mapped to a specific application.
For example, the application button may be assigned to a calendar
function so that when it is depressed and immediately released
(e.g., an initial time period) the calendar application immediately
launches (executes).
[0014] By depressing and holding the calendar application button
for a longer period of time (e.g., a predetermined time period that
is greater than the initial time period), a menu is rendered that
allows a user to select additional applications for execution
(e.g., a calculator, a task list, an alarm, and a help
application). In one example embodiment, the menu visually maps
with the five-way navigation mechanism as a pop-up that graphically
shows a relationship as a two-dimensional map.
[0015] In this configuration, the four additional applications are
shown at four menu items arranged in a circular or pie
configuration. In this example configuration, the calculator is an
item in a "north" or "up" (or "top") location, the task list as an
item in the "east" or "right" location, the alarm as an item in the
"west" or "left" location, the help as an item in the "south" or
"down" (or "bottom") direction. By mapping the menu in this
configuration with the five-way navigation a user can with a finger
or thumb can select each entry by selecting the corresponding
location on the five-way navigation and then launch or execute the
selected item by pressing the appropriate direction on the
navigation or pressing and releasing a center button within the
five-way navigation mechanism.
[0016] The disclosed example configuration has a number of
advantages. For example, it eases access to a wider range of
applications without a need to traverse multiple menus. The
configuration also provides for ease of navigation within a menu.
Moreover, it is customizable so that user's can assign menu options
corresponding to applications (or functions) most frequently
accessed by them.
[0017] The features and advantages described in the specification
are not all inclusive and, in particular, many additional features
and advantages will be apparent to one of ordinary skill in the art
in view of the drawings, specification, and claims. Moreover, it
should be noted that the language used in the specification has
been principally selected for readability and instructional
purposes, and may not have been selected to delineate or
circumscribe the disclosed subject matter.
BRIEF DESCRIPTION OF DRAWINGS
[0018] The disclosed embodiments have other advantages and features
which will be more readily apparent from the detailed description,
the appended claims, and the accompanying drawings, in which:
[0019] FIGS. 1a-1d illustrate one embodiment of a mobile computing
device with telephonic functionality, e.g., a handheld computing
device such as a smart phone.
[0020] FIG. 2 illustrates one embodiment of an architecture of a
mobile computing device.
[0021] FIG. 3 illustrates one embodiment of a menu serving
architecture, for example, in a mobile computing device.
[0022] FIG. 4 illustrates one embodiment of a process for serving a
menu and executing a menu item, for example, in a mobile computing
device.
[0023] FIGS. 5a and 5b illustrates one embodiment of a navigation
mechanism on a mobile computing device and one embodiment of a
corresponding software navigation menu.
[0024] FIG. 6 illustrates one embodiment of a served menu rendered
on a screen of a mobile computing device.
[0025] FIGS. 7a-7e illustrate one embodiment of displayed screen
shots used to configure a menu to serve and render on a screen of a
mobile computing device.
DETAILED DESCRIPTION
[0026] The Figures (FIGS.) and the following description relate to
preferred embodiments by way of illustration only. It should be
noted that from the following discussion, alternative embodiments
of the structures and methods disclosed herein will be readily
recognized as viable alternatives that may be employed without
departing from the principles disclosed herein.
[0027] Reference will now be made in detail to several embodiments,
examples of which are illustrated in the accompanying figures. It
is noted that wherever practicable similar or like reference
numbers may be used in the figures and may indicate similar or like
functionality. The figures depict embodiments of the disclosed
system (or method) for purposes of illustration only. One skilled
in the art will readily recognize from the following description
that alternative embodiments of the structures and methods
illustrated herein may be employed without departing from the
principles disclosed herein.
Example Mobile Computing Device
[0028] FIGS. 1a-1d illustrate one embodiment of a mobile computing
device with telephonic functionality, e.g., a mobile phone or a
smartphone. The computing device is configured to host and execute
a phone application for placing and receiving telephone calls. It
is noted that for ease of understanding the principles disclosed
herein are in an example context of a mobile computing device with
telephonic functionality operating in a mobile telecommunications
network. However, the principles disclosed herein may be applied in
other duplex (or multiplex) telephonic contexts such as devices
with telephonic functionality configured to directly interface with
public switched telephone networks (PSTN) or data networks having
voice over interne protocol (VoIP) functionality.
[0029] FIGS. 1a through 1c illustrate embodiments of a mobile
computing device 110 in accordance with the present invention. As
illustrated through a front face view in FIG. 1a, the mobile
computing device 110 is configured to be of a form factor that is
convenient to hold in a user's hand, for example, a personal
digital assistant (PDA) or a smart phone form factor. For example,
the mobile computing device 110 can have dimensions that range from
3 to 6 inches by 2 to 5 inches by 0.25 to 0.85 inches and weigh
between 2 and 8 ounces.
[0030] The mobile computing device 110 includes a speaker 120, a
screen 130, a navigation area 140, a keypad area 150, and a
microphone 160. The mobile computing device 110 also may include
one or more switches 170a-c (generally 170). The one or more
switches 170 may be buttons, sliders, or rocker switches and can be
mechanical or solid state (e.g., touch sensitive solid state
switch).
[0031] The screen 130 of the mobile computing device 110 is, for
example, a 240.times.240, a 320.times.320, or a 320.times.480
transflective TFT color display that includes touch screen or
inductive pen support. The navigation area 140 is configured to
control functions of an application executing in the mobile
computing device 110 and visible through the screen 130. For
example, the navigation area includes an x-way (x is e.g., 5)
navigation ring 145 that provide cursor control, selection, and the
like. In addition, the navigation area 140 may include selection
buttons 143 to select functions viewed just above the buttons on
the screen 130. In addition, the navigation area also may include
dedicated function buttons 147, e.g., for functions such as
calendar or home screen. In this example, the navigation ring 145
may be through mechanical, solid state switches, dials, or a
combination thereof. The keypad area 150 may be a numeric keypad
(e.g., a dialpad) or a numeric keypad integrated with an alpha or
alphanumeric keypad 160 (e.g., keyboard with consecutive keys of
QWERTY, AZERTY, or other equivalent set of keys on a keyboard).
[0032] Although not illustrated, it is noted that the mobile
computing device 110 also may include an expansion slot 125. The
expansion slot 125 is configured to receive and support expansion
cards (or media cards), which may include memory cards such as
CompactFlash.TM. cards, SD cards, XD cards, Memory Sticks.TM.,
MultiMediaCard.TM., SDIO, and the like.
[0033] FIG. 1b illustrates a rear-view of the example mobile
computing device 110. The rear-view illustrates additional features
of the mobile computing device, including, a stylus housing (for
holding a stylus) 182, a second speaker (e.g., for speaker phone
functionality) 184, and a camera 186. Also illustrated is another
switch 170 that can be used to control functions, such as the ones
further described below, of the mobile computing device 110.
[0034] In addition, FIG. 1c illustrates a perspective view of the
mobile computing device 110. FIG. 1d illustrates a side view of the
mobile computing device 110. The views in FIGS. 1c and 1d provide
additional visual details of example switches 170 for use with
applications running on the mobile computing device 110. For
example, one switch can be a rocker switch 170a while another can
be a push button switch 170b. Again, it is noted that these
switches can be configured as mechanical switches or solid state
switches.
Example Mobile Computing Device Architectural Overview
[0035] Referring next to FIG. 2, a block diagram illustrates one
embodiment of an architecture 205 of a mobile computing device,
e.g., 110, with telephonic functionality. By way of example, the
architecture illustrated in FIG. 2 will be described with respect
to the mobile computing device of FIGS. 1a-1d. The computing device
200 includes a central processor 220, a power module 240, and a
radio subsystem 250. The central processor 220 communicates with:
audio system 210, camera 212, flash memory 214, RAM memory 216, and
short range radio module 218 (e.g., Bluetooth, Wireless Fidelity
(WiFi) component). The power module 240 powers the central
processor 220 and the radio subsystem 250. The power module 240 may
correspond to a battery pack (e.g., rechargeable) or a powerline
connection or component. Other components that communicate with the
processor 220 and which are powered by power module 240 include a
screen driver 230 (which may be contact or inductive-sensitive) and
one or more input/output (I/O) mechanisms 245 (e.g., buttons 147,
keyboards 160, slider switches, rocker switches 170a, push button
switches 170b, touch sensitive switches, photo switches, etc.).
[0036] In one embodiment, the I/O mechanisms 245 are configured (or
structured) to receive input corresponding to user activity, for
example, one or more switch mechanisms through triggering (or
toggling) of a switch from one state to another through actuation,
induction, photo or optical sensing, pressure sensing, or the like.
The I/O mechanism 245 detects, for example, switch activity
associated with the navigation area 140 such as the selection
buttons 143, dedicated function buttons 147, or the navigation ring
145. The I/O mechanism 245 includes switches for at least one of
the dedicated function buttons 147, which may be dedicated to
immediately launch an application, e.g., a calendar program or an
email program, upon triggering (e.g., actuation or other state
change). Another I/O mechanism 245 includes the navigation ring
145, which can be structured as a single switch with four points
where the switch may be toggled (e.g., left side of ring, right
side of ring, top of ring, or bottom of ring) or it could be
structured to include four separate switches (e.g., also left side
of ring, right side of ring, top (or up) of ring, or bottom (or
down) of ring). Note that the navigation ring 145 can be circular,
oblong, oval, square, or rectangular with respect to its
structure.
[0037] The radio subsystem 250 includes a radio processor 260, a
radio memory 262, and a receiver (Rx)/transmitter (Tx) 264. The
receiver (Rx)/transmitter (Tx) 264 may be two separate components
or a single component. In either instance, it also may be
referenced as a transceiver 264. The receiver portion of the
transceiver 264 communicatively couples with a radio signal input
of the device 110, e.g., an antenna, where communication signals
are received from an established call (e.g., a connected or
on-going call). The received communication signals include voice
(or other sound signals) received from the call and processed by
the radio processor 260 for output through the speaker 120 (or
184). The transmitter portion of the transceiver 264
communicatively couples a radio signal output of the device 110,
e.g., the antenna, where communication signals are transmitted to
an established (e.g., a connected (or coupled) or active) call. The
communication signals for transmission include voice, e.g.,
received through the microphone 160 of the device 110, (or other
sound signals) that is processed by the radio processor 260 for
transmission through the transmitter of the transceiver 264 to the
established call.
[0038] In one embodiment, communications using the described radio
communications may be over a voice or data network. Examples of
voice networks include Global System of Mobile (GSM) communication
system, a Code Division, multiple Access (CDMA system), and a
Universal Mobile Telecommunications System (UMTS). Examples of data
networks include General Packet Radio Service (GPRS),
third-generation (3G) mobile, High Speed Download Packet Access
(HSDPA), and Worldwide Interoperability for Microwave Access
(WiMAX).
[0039] While other components may be provided with the radio
subsystem 250, the basic components shown provide the ability for
the mobile computing device to perform radio-frequency
communications, including telephonic communications. In an
embodiment, many, if not all, of the components under the control
of the central processor 220 are not required by the radio
subsystem 250 when a telephone call is established, e.g., connected
or ongoing. The radio processor 260 may communicate with central
processor 220 using a serial line 278.
[0040] In one embodiment, central processor 220 executes logic (by
way of programming, code, instructions) corresponding to executing
applications interfaced through, for example, the navigation area
140 or switches 170. It is noted that numerous other components and
variations are possible to the hardware architecture of the
computing device 200, thus an embodiment such as shown by FIG. 2 is
just illustrative of one implementation for an embodiment.
Menu System
[0041] FIG. 3 illustrates one embodiment of a menu serving
architecture, for example, in a handheld computing device 110. The
architecture includes an event manager 315, a preferences manager
and database (or file) 320, a program resource manager and database
(or file) 325, and a menu engine 330. These components may be
embodied in software, hardware, or a combination thereof. In this
configuration, these components communicatively couple with the
device components, including one or more I/O mechanisms 245 (e.g.,
one or more switch detection mechanisms 310a-n (generally 310)),
the screen 230, and the central processor 220. The central
processor 220 is configured to execute instructions for software
embodiments corresponding to the components within the system. A
data bus 335 communicatively couples the menu serving architectural
components and the other device components, e.g., the processor 220
or I/O mechanism 245.
[0042] The event manager 315 is configured to detect depression of
one of the application switches for a predetermined time period and
configured to generate a switch identifier corresponding to one or
more I/O mechanisms 245, e.g., an application switch. A preferences
manager 320 is configured to receive the switch identifier from the
event manager 315. In response, the preferences manager 320
retrieves a one more application identifiers corresponding to the
application switch from its database. Each application identifier
is linked to an executable for a corresponding application. The
linking may include a pointer or the executable itself.
[0043] Once the application identifiers are retrieved by the
preferences manager 320, the menu engine 330 is configured to
render a menu with the application identifiers on the screen 230.
In one embodiment, the menu engine 330 is configured to display
each application identifier in a menu shaped in a "pie"
configuration. Each menu item (e.g., portion) of the menu
corresponds with each application identifier and is selectable.
Selection of particular menu item allows for direct execution of
the application associated with the application identifier. In
addition, in one embodiment program resource manager 325 is
configured to store an icon for each application
identifier/corresponding application. The menu engine 330 either
retrieves or is sent the icon for integration into the menu that
will be displayed on the screen 230.
[0044] FIG. 4 illustrates one embodiment of a process for serving a
menu and executing a menu item, for example, in a mobile computing
device. For ease of discussion and illustration, this example
embodiment of the process is described in the context of the
handheld computing device 110 and corresponding architecture 205.
In addition, reference also is made to FIGS. 5a and 5b.
[0045] FIG. 5a illustrates one embodiment of the navigation area
(or navigation mechanisms on, e.g., the handheld computing device).
The application switches (or buttons) are functionally similar to
the application switches 147 described previously. In this example
the application buttons are for a phone application 510a, a
calendar application 510b, a home or applications menu 510c, and a
messaging (e.g., electronic mail or short messaging service (SMS))
application 510d. Also illustrated is a navigation ring 520 similar
to the navigation ring 145 described above. In this example, the
navigation ring 520 allows for movement in a left, right, up, and
down direction within a display on the screen 130. The center of
the navigation ring 520 includes a button that can be used to
select a particular entry that may be highlighted within a display
on the screen 130. In one embodiment, the navigation ring mechanism
may be referred to as a five-way navigation mechanism.
[0046] Referring back to FIG. 4, the process starts 405 with a
determination of whether one of the application switches (or
buttons), e.g., calendar 510b, has been pressed and held 410 for
greater than a predetermined length of time. Note that if the user
simply presses and immediately releases (an initial time period)
the application switch 510b, the application assigned to that
switch, i.e., the calendar application in this example, will
immediately launch so the process exits 435. However, when the
application switch 510b is held longer than this initial time
period, the event manager 315 detects additional activity
corresponding to menu generation.
[0047] The event manager 315 looks up (or accesses or notifies) 415
the preferences manager 320 to perform a menu lookup by sending a
switch identifier that identifies the corresponding switch, i.e.,
the calendar switch 510b in this example, that was depressed and
held. The preferences manager 320 receives the switch identifier
and in its database determines which applications correspond with
the calendar application switch 510b. Specifically, the preferences
manager 320 retrieves a one more application identifiers
corresponding to the calendar application switch 510b from its
database. Each application identifier is linked to an executable
for a corresponding application. The linking may include a pointer
to the application executable or the executable itself.
[0048] In addition, optionally, the preferences manager 320
instructs the program resource manager 325 to provide (or serve or
supply) an icon corresponding to each application or application
identifier. The program resource manager 325 retrieves the icon
information from its database and forwards it back to the
preferences manager 320 or onto the menu engine 330. The menu
engine receives the application identifier information from the
preferences manager 320 as well as the icons information from the
program resource manager 325. The menu engine 330 either retrieves
or is sent the icon for integration into the menu that will be
displayed on the screen 130. In particular, the menu engine 330
configures a particular layout for a menu. The layout includes a
bounded area that is less than a size of the screen 130 and will be
rendered on top or in front of a presently active display (e.g.,
one a user is interacting with on the screen 130 of a handheld
computing device 110). Examples of a menu layout include a pie
(e.g., square, rectangle, round, or oval) with "slices" or a
racetrack (oblong) with segments. The menu engine 330 displays (or
renders) 420 that menu on the screen 130 on top or in front of the
presently active display.
[0049] FIG. 5b illustrates one example of the displayed pie menu
525 corresponding to the pressed and held (for a predetermined time
period greater than initial time period) calendar application
button 510b. The rendered menu shows each menu item 535a-d, e.g.,
the slice or segment, as a selectable item. The selectable items
include a task/to do application 535a, a calculator application
535b, an alarm application 535c, and a synchronization application
535d. FIG. 6 illustrates the served menu rendered on the screen 230
of the handheld computing device 110 against a context of a
calendar application 610. In one example context, this
configuration may appear where a user seeks to access a task
application corresponding to a particular calendar entry and
desires to directly launch the application rather than search for
it in nested menu lists.
[0050] In one embodiment, the rendered menu 520 may be displayed
with one of the menu items pre-selected (e.g., different shade for
menu item, bolded border of menu item, etc.). By actuating the
center button on the navigation ring 520, that selected application
can be immediately launched (or executed). If another selection is
desired rather than the pre-selected option, the navigation ring
520 can be used to traverse between the menu items. For example, if
the task application 535a is pre-selected and the alarm application
535c is desired, a right portion (or part) 545b of the navigation
ring 520 can be triggered (pressed and immediately released) twice
to move the selection to the alarm application 535c via the
calculator entry 535b. Alternatively, a down (or bottom) portion
545c of the navigation ring 520 can be selected to jump directly
from the task application 535a to the alarm application 535c.
[0051] Note that each move highlights the current selection that
would be executed if the center button of the navigation ring 520
were triggered. Alternatively, the process can be configured so
that pressing a corresponding direction, e.g. on the navigation
ring, immediately executes (or launches) the application assigned
to that direction. By allowing for execution by directly navigating
to the appropriate application identifier within the menu, it
further reduces the number of steps to execute an application.
[0052] Once at the alarm application 535c, it will be highlighted
and the center button of the navigation ring 520 can be triggered
to execute the alarm application 535c. By way of example, this
process of selecting the alarm application 535c corresponds in FIG.
4 to detection 425 of the selection activity and execution (or
launch) 430 of the selected menu item before exiting 435 the
process.
[0053] Although the disclosure describes operation in the context
of an application button, e.g., 510b, and a navigation mechanism,
e.g., 520, the principles disclosed need not be limited to these
particular embodiments. For example, a device may be configured to
include a function key that toggles keys in a keyboard, which has
in one row the Q-W-R-T-Y keys, into a selection and navigation
configuration. In such example, depressing and releasing a function
key for at least a predetermined time period may have an "*" key or
`#` key serve as an application button. In addition, in this
example, the `D` key (left), the `R` key (up or top), the `G` key
(right) and the `C` key (down or bottom) would function as
directional elements and the `F` key or an `enter` key may function
as launch (or execute) keys.
[0054] In one embodiment the disclosed configuration increases the
number of applications available to immediately launch a particular
application without having to search for those applications within
nested menu lists. Moreover, availability of the applications for
immediate execution is brought directly to the user's attention
without having to search groupings of applications to find the
particular application to launch. Overall, this increases this
reach of dedicated user buttons by a multiples factor. For example,
one calendar application button 510b now becomes one calendar
application button 510c plus four additional applications 535a-d
with a single action of pressing and holding the calendar button
510b.
[0055] To further help ease navigation, in one embodiment, the menu
is configured to "mirror" or correspond with the navigation
mechanism. For example, referring back to FIG. 5b, the pie menu 525
is illustrated in comparison with the five-way navigation mechanism
(navigation ring) 520. The menu items 535a-d of the menu 525 in
this example, correspond to a corresponding location, e.g., 545a-d,
on the navigation ring 520. This configuration further eases use by
helping to make navigation among the menu items intuitively and
quickly. For example, it decreases the number of steps necessary to
directly launch an application from the menu 525 when the
corresponding portion of the navigation ring 520 is simply selected
before the center of the navigation ring 520 is pressed and
released to launch that application.
[0056] Although in one embodiment the menu items (i.e., the
application identifiers) are disclosed as mapping to physical keys
or switches, still additional alternative embodiments of an
extended menu system may be implemented using the principles
disclosed herein. For example, rather than map to physical keys or
switches, the menu items (i.e., the application identifiers) may
themselves take on physical characteristics. In one example
embodiment, the screen 120 (230) may be an enhanced touch sensitive
screen that provides haptic feedback. Thus, in this embodiment when
the menu is rendered, the menu items themselves will have or
provide a tactile feel or response so that the user can "feel" each
item as a button. Each of these tactile buttons may be configured
so that it accepts a selection from a user (e.g., the user can
depress or press on the button) and in response the selected
application will be launched. To help ease interactions in such
embodiments, the menu boundary area may be structured similar to
the navigation area so that the rendered application buttons on the
screen 130 are located in areas similar to the physical application
buttons. By way of example, four application buttons may be
rendered on the screen 130, are each above each of the four
physical application buttons, e.g., 510a-510d.
[0057] A benefit of the haptic enabled alternative embodiment is
that it provides physical-type feel for a user when that user
interacts with the device. Thus, the number of physical application
buttons in this configuration can be extended without a need for
additional device real estate for physical buttons. This increases
access and availability to applications within the handheld
computer device.
[0058] The disclosed embodiments for an extended menu system
beneficially are configurable. FIGS. 7a-7e illustrate one
embodiment of displayed screen shots used to configure a menu to
serve and render on a screen of a mobile computing device. By way
of example, reference will be made to the menu described in FIGS.
5a, 5b, and 6. In FIGS. 7a-7d, a starter application applet is
configured to include a location on the menu 710, a list of
applications 715, and soft application buttons 720 that correspond
to corresponding application switches, e.g., 147 (510a-510d), on
the handheld computing device 110.
[0059] To start the assignment process, in FIG. 7a, a user would
select a location on the menu where an application will be
assigned. In this example, the pie menu 525 has four menu items
locations identified as "Nav Up", "Nav Right", "Nav Down", and "Nav
Left" (collectively 710) and the user selects one, e.g., "Nav Up"
710a. It is noted that this example illustrates how the pie menu is
configured to closely reflect positioning on the navigation ring,
e.g., 520, in that the menu locations correspond with the
navigation ring 520 locations.
[0060] In FIG. 7b, the user then selects an application from the
list 715, e.g., "To Do List", to display in the pie menu, e.g.,
525, at the selected location or "Nav Up" 710a. The user in this
example then assigns an application button on the handheld
computing device 110. Specifically, the user selects the soft
application button, e.g., 720a or 720b, corresponding to the
physical button, e.g., calendar application button 510b or a
message application button 510d, to which to associate the menu. In
this example, the user selects the "Cal" soft button 720a to assign
to the calendar application button 510b on the handheld computing
device 110. In one embodiment of this process, when this is done
the menu pops up as shown in FIG. 7c, providing a preview of what
will show for display on the screen 130 of the device 110 when the
calendar application button 510b is depressed and held for a
predetermined time period.
[0061] FIGS. 7c and 7d also can be used to describe an embodiment
in which a menu associated with a physical key on the handheld
computing device 110 can be previewed. In particular, a user
selects the application soft keys 720a, 720b corresponding to the
physical button the user seeks to preview to have displayed the
menu and options for that physical button. In this example, the
"Cal" soft application button 720a shows a first menu with a first
set of menu items that correspond to executable applications
available through the physical calendar application button 510b.
The "SMS" soft application button 720b shows a second menu with a
second set of menu items that correspond to executable applications
available through the physical messaging application button 510d.
Once the keys have been assigned, a user can elect to activate or
not active the menu by selecting or deselecting a corresponding
selection box 740 as shown in FIG. 7e.
[0062] It is noted that in one embodiment, the selection of
applications to populate the menu items, e.g., 535a-535d, may be
accomplished in a `semi-automatic` manner. For example, menu items
presented as a result of press and hold of the messaging button
510d (the `` key) correspond to applications that are messaging in
nature, e.g., electronic mail (e-mail), chat, voice (e.g., voice
over IP), and blogging applications. Alternatively, if the
messaging application button 510d was re-assigned by the user to
another category, e.g., multimedia, the four pie menu options
change to four applications corresponding to that category, voice
memo, camera (still and/or motion), audio player, and video
player.
[0063] Some portions of above description describe the embodiments
in terms of algorithms and symbolic representations of operations
on information. These algorithmic descriptions and representations
are commonly used by those skilled in the data processing arts to
convey the substance of their work effectively to others skilled in
the art. These operations, while described functionally,
computationally, or logically, are understood to be implemented by
computer programs or equivalent electrical circuits, microcode, or
the like. Furthermore, it has also proven convenient at times, to
refer to these arrangements of operations as modules, without loss
of generality. The described operations and their associated
modules may be embodied in software, firmware, hardware, or any
combinations thereof.
[0064] As used herein any reference to "one embodiment" or "an
embodiment" means that a particular element, feature, structure, or
characteristic described in connection with the embodiment is
included in at least one embodiment. The appearances of the phrase
"in one embodiment" in various places in the specification are not
necessarily all referring to the same embodiment.
[0065] Some embodiments may be described using the expression
"coupled" and "connected" along with their derivatives. It should
be understood that these terms are not intended as synonyms for
each other. For example, some embodiments may be described using
the term "connected" to indicate that two or more elements are in
direct physical or electrical contact with each other. In another
example, some embodiments may be described using the term "coupled"
to indicate that two or more elements are in direct physical or
electrical contact. The term "coupled," however, may also mean that
two or more elements are not in direct contact with each other, but
yet still co-operate or interact with each other. The embodiments
are not limited in this context.
[0066] As used herein, the terms "comprises," "comprising,"
"includes," "including," "has," "having" or any other variation
thereof, are intended to cover a non-exclusive inclusion. For
example, a process, method, article, or apparatus that comprises a
list of elements is not necessarily limited to only those elements
but may include other elements not expressly listed or inherent to
such process, method, article, or apparatus. Further, unless
expressly stated to the contrary, "or" refers to an inclusive or
and not to an exclusive or. For example, a condition A or B is
satisfied by any one of the following: A is true (or present) and B
is false (or not present), A is false (or not present) and B is
true (or present), and both A and B are true (or present).
[0067] In addition, use of the "a" or "an" are employed to describe
elements and components of the embodiments herein. This is done
merely for convenience and to give a general sense of the
invention. This description should be read to include one or at
least one and the singular also includes the plural unless it is
obvious that it is meant otherwise.
[0068] Upon reading this disclosure, those of skill in the art will
appreciate still additional alternative structural and functional
designs for an apparatus and a process for an quick launch
extension through the disclosed principles herein. Thus, while
particular embodiments and applications have been illustrated and
described, it is to be understood that the disclosed embodiments
are not limited to the precise construction and components
disclosed herein. Various modifications, changes and variations,
which will be apparent to those skilled in the art, may be made in
the arrangement, operation and details of the method and apparatus
disclosed herein without departing from the spirit and scope
defined in the appended claims.
* * * * *