U.S. patent application number 13/932439 was filed with the patent office on 2013-11-07 for navigating among activities in a computing device.
The applicant listed for this patent is Palm, Inc. Invention is credited to Matias Gonzalo Duarte, Jeremy Godfrey Lyon, Paul Mercer, Daniel Marc Gatan Shiplacoff, Ralph Thomas.
Application Number | 20130298057 13/932439 |
Document ID | / |
Family ID | 41340805 |
Filed Date | 2013-11-07 |
United States Patent
Application |
20130298057 |
Kind Code |
A1 |
Duarte; Matias Gonzalo ; et
al. |
November 7, 2013 |
NAVIGATING AMONG ACTIVITIES IN A COMPUTING DEVICE
Abstract
A computing device runs multiple activities concurrently and
provides at least two modes for interacting with the activities.
The user may toggle between the modes as desired. In a full-screen
mode, one activity occupies substantially an entire display screen.
In a windowed mode, the activity is visible within a window, and a
portion of at least one other window is also visible. In the
windowed mode, the user can cause windows to move, thereby changing
focus from one activity to another. For example, the window having
focus can be moved off the screen, to be replaced by a new window
that is then given focus. The windows are ordered in a sequence and
move in concert with one another; pushing one window off one edge
of the screen causes a new window to appear at the opposite edge. A
persistent positional relationship can be established among
windows.
Inventors: |
Duarte; Matias Gonzalo;
(Sunnyvale, CA) ; Shiplacoff; Daniel Marc Gatan;
(Los Angeles, CA) ; Lyon; Jeremy Godfrey;
(Sunnyvale, CA) ; Mercer; Paul; (Palo Alto,
CA) ; Thomas; Ralph; (Palo Alto, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Palm, Inc, |
Sunnyvale |
CA |
US |
|
|
Family ID: |
41340805 |
Appl. No.: |
13/932439 |
Filed: |
July 1, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13316004 |
Dec 9, 2011 |
|
|
|
13932439 |
|
|
|
|
12126145 |
May 23, 2008 |
8296684 |
|
|
13316004 |
|
|
|
|
Current U.S.
Class: |
715/767 |
Current CPC
Class: |
G06F 3/0481 20130101;
G06F 3/0482 20130101; G06F 3/0483 20130101; G06F 3/017 20130101;
G06F 3/0488 20130101; H04L 41/22 20130101; G06F 9/451 20180201;
G06F 3/0485 20130101 |
Class at
Publication: |
715/767 |
International
Class: |
G06F 3/0482 20060101
G06F003/0482 |
Claims
1. A mobile computing device comprising: a touch-sensitive display
screen; and a processor, coupled to the display screen, to
concurrently operate at least two activities and operate the
display screen in at least a full-screen mode and a windowed mode;
wherein in the full-screen mode, the processor (i) provides, on the
display screen, an interface for a single one of the activities,
and (ii) enables a user to interact with the single one of the
activities that is provided on the display screen so that
subsequent user inputs on the display screen are received by the
single one of the activities; wherein in the windowed mode, the
processor provides, on the display screen: a first window having
focus and corresponding to a first activity of the at least two
activities; and linearly adjacent to the first window, a first
portion of a second window corresponding to a second activity so
that a second portion of the second window is not visible on the
display screen, the second activity being different from the first
activity; wherein in the windowed mode, responsive to a directional
user gesture with the display screen, the processor (i) causes the
first window and the second window to move in concert with one
another to reposition the first window and the second window in a
direction of the directional user gesture, and (ii) changes focus
from the first window to the second window on the display screen so
that a first portion of the first window is provided on the display
screen and a second portion of the first window is not visible on
the display screen.
2. The mobile computing device of claim 1, wherein the at least two
activities includes one or more applications.
3. The mobile computing device of claim 1, wherein in the windowed
mode, the processor provides, on the display screen, the first
window having focus by providing the first window in a position
substantially centrally with respect to the middle of the display
screen.
4. The mobile computing device of claim 1, wherein in the windowed
mode, at least the first window displays at least one of (i) an
output from an application, (ii) a task, (iii) a message, (iv) a
document, or (v) a web page.
5. The mobile computing device of claim 1, further comprising: a
physical button; and wherein in the full-screen mode, responsive to
an input provided by the user via the physical button, the
processor changes operation from the full-screen mode to the
windowed mode.
6. The mobile computing device of claim 5, wherein in the windowed
mode, responsive to a tap input on the first window or the second
window provided on the display screen, the processor changes
operation from the windowed mode to the full-screen mode so that an
interface for either the first window or the second window is
provided on the display screen.
7. The mobile computing device of claim 6, wherein the processor
causes a transition effect to be displayed when changing operation
from the windowed mode to the full-screen mode.
8. The mobile computing device of claim 1, wherein in the windowed
mode, the processor further provides, on the display screen,
linearly adjacent to the first window, a first portion of a third
window corresponding to a third activity so that a second portion
of the third window is not visible on the display screen.
9. The mobile computing device of claim 1, wherein in the windowed
mode, the processor further provides, on the display screen, a
plurality of icons positioned beneath at least the first window,
the plurality of icons including an icon corresponding to an
application.
10. A method for navigating among a plurality of activities
operated on a mobile computing device, the method being performed
by a processor and comprising: concurrently operating at least two
activities; and providing for display, on a touch-sensitive display
screen of the mobile computing device, output for at least one of
the two activities in a full-screen mode or a windowed mode,
wherein in the full-screen mode, an interface for a single one of
the activities is displayed on the display screen so that
subsequent user inputs on the display screen are received by the
single one of the activities, and wherein in the windowed mode, (i)
a first window having focus is displayed on the display screen, the
first window corresponding to a first activity, and (ii) linearly
adjacent to the first window, a first portion of a second window
corresponding to a second activity is displayed on the display
screen so that a second portion of the second window is not visible
on the display screen, the second activity being different from the
first activity; wherein in the windowed mode: receiving a
directional user gesture provided on the display screen, and
responsive to receiving the directional user gesture, (i) causing
the first window and the second window to move in concert with one
another to the first window and the second window in a direction of
the directional user gesture, and (ii) changing focus from the
first window to the second window on the display screen so that a
first portion of the first window is provided on the display screen
and a second portion of the first window is not visible on the
display screen.
11. The method of claim 10, wherein the at least two activities
includes one or more applications.
12. The method of claim 10, wherein in the windowed mode, the first
window having focus is displayed on the display screen by being
displayed in a position substantially centrally with respect to the
middle of the display screen.
13. The method of claim 10, wherein in the windowed mode, at least
the first window displays at least one of (i) an output from an
application, (ii) a task, (iii) a message, (iv) a document, or (v)
a web page.
14. The method of claim 10, further comprising: in the full-screen
mode: receiving an input provided by the user via a physical button
of the mobile computing device; and responsive to the input
provided by the user via the physical button, changing operation
from the full-screen mode to the windowed mode.
15. The method of claim 14, further comprising: in the windowed
mode: receiving a tap input on the first window or the second
window provided on the display screen; and responsive to the tap
input provided by the user, changing operation from the windowed
mode to the full-screen mode so that an interface for either the
first window or the second window is provided on the display
screen.
16. A non-transitory computer-readable medium storing instructions
that, when executed by a processor, causes the processor to perform
operations comprising: concurrently operating at least two
activities; providing for display, on a touch-sensitive display
screen of a mobile computing device, output for at least one of the
two activities in a full-screen mode or a windowed mode, wherein in
the full-screen mode, an interface for a single one of the
activities is displayed on the display screen so that subsequent
user inputs on the display screen are received by the single one of
the activities, and wherein in the windowed mode, (i) a first
window having focus is displayed on the display screen, the first
window corresponding to a first activity, and (ii) linearly
adjacent to the first window, a first portion of a second window
corresponding to a second activity is displayed on the display
screen so that a second portion of the second window is not visible
on the display screen, the second activity being different from the
first activity; wherein in the windowed mode: receiving a
directional user gesture provided on the display screen, and
responsive to receiving the directional user gesture, (i) causing
the first window and the second window to move in concert with one
another to the first window and the second window in a direction of
the directional user gesture, and (ii) changing focus from the
first window to the second window on the display screen so that a
first portion of the first window is provided on the display screen
and a second portion of the first window is not visible on the
display screen.
17. The non-transitory computer-readable medium of claim 16,
wherein the at least two activities includes one or more
applications.
18. The non-transitory computer-readable medium of claim 16,
wherein the instructions cause the processor to provide, on the
display screen, the first window having focus by providing the
first window in a position substantially centrally with respect to
the middle of the display screen.
19. The non-transitory computer-readable medium of claim 16,
wherein the instructions cause the processor to: in the full-screen
mode: receive an input provided by the user via a physical button
of the mobile computing device; and responsive to the input
provided by the user via the physical button, change operation from
the full-screen mode to the windowed mode.
20. The non-transitory computer-readable medium of claim 19,
wherein the instructions cause the processor to: in the windowed
mode: receive a tap input on the first window or the second window
provided on the display screen; and responsive to the tap input
provided by the user, change operation from the windowed mode to
the full-screen mode so that an interface for either the first
window or the second window is provided on the display screen.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application is a Continuation of U.S. patent
application Ser. No. 13/316,004, filed Dec. 9, 2011, for
"Navigating Among Activities in a Computing Device," which is a
Divisional of U.S. patent application Ser. No. 12/126,145, filed
May 23, 2008, for "Navigating Among Activities in a Computing
Device," the disclosures of which are incorporated herein by
reference in their entirety.
[0002] The present application is related to U.S. patent
application Ser. No. 12/115,992, filed May 6, 2008, for "Extended
Touch-Sensitive Control Area for Electronic Device," the disclosure
of which is incorporated herein in its entirety.
[0003] The present application is related to U.S. patent
application Ser. No. 11/379,552, filed Apr. 20, 2006, for "Keypad
and Sensor Combination to Provide Detection Region that Overlays
Keys," the disclosure of which is incorporated herein in its
entirety.
FIELD OF THE INVENTION
[0004] The present invention relates to application management in
computing devices, and more particularly to systems and methods for
navigating among activities such as applications in such
devices.
DESCRIPTION OF THE RELATED ART
[0005] Many currently available computing devices run operating
systems that offer users the opportunity to run several
applications at the same time, and even to perform several
activities simultaneously, within a single application and/or among
two or more applications. For example, a user may open an e-mail
application, a word processing application, an on-screen
calculator, and a web browser, so that all of the applications are
open concurrently. The user may open several documents within the
word processing application, and may open several e-mail messages.
Such an arrangement allows the user to easily move from one task to
another by keeping these various applications and activities open
at the same time.
[0006] Conventionally, such an operating paradigm is accomplished
by the use of multiple overlapping windows within a graphical user
interface. A desktop metaphor is often employed, wherein the user
can move and resize windows on a display screen by direct
manipulation. Thus, each application may have a window or several
windows; at any given time, one window has focus (usually indicated
as such by being situated on top of the other windows). Other
windows may be visible, invisible, or partially visible (for
example if they are partially or completely obscured by other
windows). A user can switch from one task to another by causing a
different window to have focus; this is commonly accomplished by
clicking on a visible portion of the window being activated, or by
clicking on a button or icon representing the window or application
in a task bar, dock, or similar construct. In some operating
systems, pop-up menus and/or keyboard shortcuts may be available
for switching among applications or documents.
[0007] Overlapping windows are a highly effective mechanism for
application management. They exploit the user's spatial memory by
associating a particular area of the screen with a particular task
being performed. A user may find it easier to return to a
previously opened window when he or she remembers that the window
was placed at a particular location on the screen, as compared with
a list or menu of open windows that does not provide a model of
spatial placement and stability.
[0008] One issue with conventional window-based mechanisms for
application management is that a large screen size is usually
needed. Users faced with limited screen space must choose between,
on the one hand, making windows smaller and thus reducing available
workspace within each application, and, on the other hand, stacking
windows atop each other so that only one window (or very few) is
visible at a time. Reducing workspace can make it very difficult to
use an application, particularly for applications such as word
processing, photo editing, drawing, and the like. Stacking windows
reduces the ease with which the user can switch from one
application or document to another, as it is more difficult to see
what is currently open and to find the appropriate window to be
activated. When windows are stacked, users usually resort to
navigation via taskbar, dock, menu, keyboard shortcut, or the like,
thereby reducing the advantages of the overlapping window
paradigm.
[0009] Some systems, such as the Mac OS operating system offered by
Apple, Inc. of Cupertino, Calif., offer a mechanism for navigating
among open applications by temporarily moving and shrinking open
windows, moving the windows apart from one another so that they do
not overlap. The user can then activate one of the windows; the
original window positions and sizes are then restored, with the
activated window on top. This feature is effective in allowing
users to quickly switch among open applications and documents, but
still requires a relatively large amount of screen space so as to
effectively show the temporarily shrunk windows when the user is to
select among them.
[0010] Mobile devices such as smartphones, personal digital
assistants, music players, handheld computers, and the like are
becoming increasingly powerful. Many are now able to run several
applications concurrently, and to perform sophisticated functions
that rival traditional computing devices. However, most such
devices have extremely small screens, when compared to laptop or
desktop computers. Thus, the conventional window-based techniques
for navigating among open applications and documents do not
function very well on mobile devices. There is insufficient screen
space to display multiple overlapping windows. In fact, many such
devices do not even have enough space to display a task bar or
dock. Rather, the entire screen is often devoted to a single
application, document, message, task, or activity, so as to make
the most effective use of the extremely limited amount of space
available.
[0011] What is needed is a system and method for application
management that provides the advantages of multiple overlapping
windows but is effective for a device having a small screen. What
is further needed is a system and method that allows users to
switch easily among activities, including applications, documents,
and tasks, in a device having limited screen space. What is further
needed is a system and method that is scalable to different screen
sizes, and that provides solutions for all application and activity
management, including starting activities, ending activities, and
switching from one activity to another.
SUMMARY OF THE INVENTION
[0012] According to the present invention, a computing device runs
two or more activities concurrently and provides at least two modes
for interacting with the activities. The user may toggle between
the modes as desired. A button or other control is provided for
switching between full-screen mode and windowed mode.
[0013] In a full-screen mode, one activity occupies substantially
an entire display screen.
[0014] In a windowed mode, the activity is visible within a window,
and a portion of at least one other window is also visible. Thus,
the window that has focus is visible in full, while at least one
other window is only partially visible. The window occupied by the
activity is referred to as having focus. In the windowed mode, the
user can cause windows to move on the screen, so as to change focus
from one activity to another. For example, the window having focus
can be moved off the screen, to be replaced by a new window that is
then given focus. In one aspect, the activities are ordered in a
sequence and the windows appear in a corresponding sequence. In one
aspect, the windows move in concert with one another; pushing one
window off one edge of the screen causes a new window to appear at
the opposite edge. A persistent positional relationship can be
established among windows.
[0015] In response to a user command, the windows shift position on
the screen, so that the window that currently has focus becomes
only partially visible and one of the other windows becomes fully
visible and has focus. The windows move in concert with each other,
in response to user commands. Thus, for example, if the user
indicates that the central window should move in a rightward
direction, then the entire display shifts to the right, as follows:
[0016] The central window (which has focus) moves to the right, so
that it is only partially visible along the right hand side of the
display. [0017] If any window was partially visible to the right of
the window that has focus, it moves off the right edge of the
screen so that it is no longer visible. [0018] If any window was
partially visible to the left of the window that has focus, it
moves to the right so that it is now fully visible and has
focus.
[0019] The user indicates such movement, for example, by direct
manipulation of the displayed windows. This can be performed on a
touch screen, for example, by dragging the central window to the
left or to the right on the screen or by tapping on a window that
is partially displayed. Alternatively, a trackball, touch-sensitive
pad, or other input device can be provided for facilitating such
direct manipulation.
[0020] In one embodiment, the window that currently has focus is
always fully visible and displayed in a substantially central
location on the screen with respect to partially displayed
windows.
[0021] Window motion can be constrained to a single axis, for
example horizontal or vertical but not both, so as to simplify the
positional relationship among windows. Alternatively, two or more
axes of movements can be made available.
[0022] Once the user has moved the desired window to the central
position so that it has focus, he or she can indicate that the
display should return to full-screen mode, so that the activity
having focus occupies substantially the entire screen.
Alternatively, the device can return to full-screen mode
automatically after a period of time elapses where no window
movement takes place, or if the user starts to interact with the
activity that has focus.
[0023] Thus, the full-screen display mode may be used for
interacting with the activity, and the windowed mode may be used
for switching from one activity to another. However, in one aspect
the invention allows full interaction with the activity in windowed
mode as well.
[0024] A persistent positional relationship can be established
among windows. The positional relationship can be a one-dimensional
sequence or some more complex two-dimensional relationship. The
positional relationship is persistent in the sense that it does not
change unless the user indicates that it should be changed, or some
other event takes place that indicates a change is warranted (such
as non-use of an application, or an application crashing or being
dismissed).
[0025] Additional features and advantages will become apparent in
the description provided below.
BRIEF DESCRIPTION OF THE DRAWINGS
[0026] The accompanying drawings illustrate several embodiments of
the invention and, together with the description, serve to explain
the principles of the invention. One skilled in the art will
recognize that the particular embodiments illustrated in the
drawings are merely exemplary, and are not intended to limit the
scope of the present invention.
[0027] FIG. 1 depicts a display screen showing a launcher for
initiating an activity such as an application.
[0028] FIG. 2 depicts a display screen in full-screen mode, wherein
an activity occupies substantially the entire display screen,
according to one embodiment of the present invention.
[0029] FIG. 3 depicts the display screen in windowed mode,
including a window having focus and two partially displayed
windows, according to one embodiment of the present invention.
[0030] FIG. 4 depicts the display screen in windowed mode after the
user has moved the windows, according to one embodiment of the
present invention.
[0031] FIG. 5 depicts the display screen in full-screen mode after
the user has designated a new activity as having focus, according
to one embodiment of the present invention.
[0032] FIGS. 6A through 6F depict a sequence for switching from one
activity to another according to one embodiment of the present
invention.
[0033] FIG. 7 is a conceptual depiction of a sequence switching
from one activity to another according to one embodiment of the
present invention.
[0034] FIGS. 8A and 8B depict a sequence for dismissing an activity
according to one embodiment of the present invention.
[0035] FIGS. 9A through 9D depict a sequence for rearranging
activities according to one embodiment of the present
invention.
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0036] In the following description, reference is made herein to
"activities". In the context of the present invention, an
"activity" is intended to include a software application, a task, a
document, a page, and/or any other activity that can be performed
in connection with an electronic device. As described herein, the
present invention provides techniques for starting and ending
activities, and for switching among activities.
System Architecture
[0037] The present invention can be implemented on any electronic
device, such as a handheld computer, personal digital assistant
(PDA), personal computer, kiosk, cellular telephone, and the like.
For example, the invention can be implemented as a feature of an
application management paradigm for a software application or
operating system running on such a device. Accordingly, the present
invention can be implemented as part of a graphical user interface
for controlling software on such a device.
[0038] The invention is particularly well-suited to devices such as
smartphones, handheld computers, and PDAs, which have limited
screen space and which are capable of running several software
applications concurrently. One skilled in the art will recognize,
however, that the invention can be practiced in many other
contexts, including any environment in which it is useful to switch
easily and smoothly from one activity to another. Accordingly, the
following description is intended to illustrate the invention by
way of example, rather than to limit the scope of the claimed
invention.
[0039] Referring now to FIG. 1, there is shown an example of an
example of a device 100 including a display screen 101 showing a
launcher including several icons 104 representing applications that
can be opened by the user. A dock 105 is also shown, including
additional icons 106 for launching commonly used applications and
other functions. Dock 105 is not necessary for the present
invention, but is shown for illustrative purposes only.
[0040] In one embodiment, screen 101 is touch-sensitive, so that a
user can activate an application or function by touching a
displayed icon 104, 106. In one embodiment, device 100 also
includes a touch-sensitive gesture area 102 for entering
gesture-based commands, as described in the above-referenced
related application. In another embodiment, screen 101 and/or
gesture area 102 is sensitive to user motion in proximity to the
surface, so as to detect gestures and commands performed near the
surface but without necessarily contacting the surface.
[0041] For illustrative purposes, device 100 as shown in FIG. 1 is
a personal digital assistant or smartphone. Such devices commonly
have telephone, email, and text messaging capability, and may
perform other functions including, for example, playing music
and/or video, surfing the web, running productivity applications,
and the like. The present invention can be implemented in any type
of device having a touch-sensitive screen, and is not limited to
devices having the listed functionality. In addition, the
particular layout shown in FIG. 1 is merely exemplary and is not
intended to be restrictive of the scope of the claimed
invention.
[0042] Touch-sensitive screen 101 and gesture area 102 can be
implemented using any technology that is capable of detecting a
location of contact and/or user motion proximate to the surface.
Alternatively, the present invention can be implemented with other
user input mechanisms, such as a keyboard, trackball, stylus, or
the like. One skilled in the art will recognize that the techniques
of the present invention are well suited to direct manipulation,
but that any input technique can be used. In one embodiment,
gesture area 102 provides a touch-sensitive control area extending
beyond the edges of touch-sensitive screen 101, as described in
related application Ser. No. 12/115,992, filed May 6, 2008, for
"Extended Touch-Sensitive Control Area for Electronic Device," the
disclosure of which is incorporated herein.
[0043] Device 101 as shown in FIG. 1 also has a physical button
103. In one embodiment, physical button 103 can be used to toggle
between full-screen mode and windowed mode, as described in more
detail below. Physical button 103 is not needed for the present
invention, and is shown for illustrative purposes only.
[0044] As described herein, at least two modes are available for
interacting with device 101: a full-screen mode in which an
application or other activity occupies substantially the entire
display screen 101, and a windowed mode in which at least two
windows are presented, at least one of which is only partially
visible, with an application or other activity occupying each
window. The full-screen mode is designed to devote a greater amount
of screen space to the active activity, while the windowed mode
provides a mechanism for navigating among activities and for
rearranging, initiating, and terminating activities.
[0045] Referring now to FIG. 2, there is shown display screen 101
in full-screen mode. In the example, a calendar application
occupies substantially the entire display screen 101; however, one
skilled in the art will recognize that any activity can be
presented in this manner. As shown in FIG. 2, even in full-screen
mode, certain portions of display screen 101 may be reserved for a
title bar, battery indicator, clock, signal strength indicator, and
the like. Accordingly, the term "full-screen mode" as used herein
is intended to refer to any arrangement wherein the primary focus
of the screen 101 is a single activity, even if other, smaller
areas of screen 101 are reserved for other functions.
[0046] The user interacts with the active activity (such as the
calendar application shown in FIG. 2) by conventional user
interface methods, including manipulating on-screen elements,
entering text, and the like. Such techniques are well known in the
art.
[0047] Referring now to FIG. 3, there is shown an example of
display screen 101 in windowed mode. In one embodiment, the user
can toggle between full-screen mode and windowed mode by pressing
physical button 103. In another embodiment, the user can touch or
double-tap an activity 301B in windowed mode to initiate a switch
to full-screen mode. In yet another embodiment, device 100 switches
from windowed mode to full-screen mode after some period of
inactivity. Other mechanisms can also be provided for toggling
between the modes.
[0048] As can be seen in FIG. 3, in windowed mode, window 301B
having focus is fully visible. Other windows 301A, 301C are only
partially visible and do not have focus. Usually, window 301B
having focus represents the same activity that was displayed in
full-screen mode immediately before the switch to windowed mode.
Any number of partially displayed windows 301A, 301C can be
presented. In the example of FIG. 3, two such windows 301A, 301C
are shown, one on either side of window 301B having focus.
Typically, in an arrangement where windows 301 are presented along
a linear axis, one or two partially displayed window(s) 301 can be
displayed adjacent to the window 301 that has focus. Also, as shown
in FIG. 3, in one embodiment, partially displayed windows 301A,
301C are shown slightly smaller than window 301B having focus, so
as to further emphasize the fact that window 301B has focus.
[0049] Partially displayed windows 301A, 301C provide a positional
context for window 301B, and provide a mechanism for navigating to
other activities. In one embodiment, the user can designate a
window 301A, 301C to have focus by touching any area within the
window; this causes the designated window 301 to move to the
central portion of display screen 101, and causes other windows to
move as well, so that the same positional sequence is maintained.
In one embodiment, the user can designate a window 301A, 301C to
have focus by dragging any displayed window 301 to cause the
desired window 301 to move to the central portion of display screen
101; again, other windows 301 move as well, so that the same
positional sequence is maintained. In one embodiment, the user can
move windows 301 left and right by dragging a finger along gesture
area 102. In one embodiment, such a gesture can be performed even
in full-screen mode, causing windows 301 to move left and right in
the same manner as described above for windowed mode.
[0050] As described in more detail below, when the user drags a
window 301 to the left or right within display screen 100, other
windows 301 move in concert with the dragged window 301. Thus, for
example, if the user drags window 301B to the right, windows 301A
and 301C move to the right as well. This would cause window 301C to
move off the screen, and window 301A would move to the central
position of display screen 100. The same result would occur if the
user drags window 301A to the right.
[0051] In one embodiment, if the user drags windows 301 so as to
place a window 301 sufficiently close to the central position to
make it clear that the intention is to give the window 301 focus,
the window 301 snaps into the central position upon completion of
the drag operation. Other windows 301 snap into place accordingly
to maintain the same positional sequence. Thus, the user need not
drag the window 301 all the way to the central position. If, on the
other hand, the user drags windows 301 a small amount that does not
cause a new window 301 to be sufficiently close to the central
position, all windows 301 snap back to their previous positions
upon completion of the drag operation.
[0052] In one embodiment, windows 301 show applications or other
activities in operation. Thus, as the user navigates among windows
301, he or she can see the actual live application or other
activity within each window 301.
[0053] Referring now to FIG. 4, there is shown an example of
display screen 101 in windowed mode, after the user has caused
window 301C (representing an email application) to become centrally
located and to have focus. As can be seen in FIG. 4, window 301B
that previously had focus is now partially visible to the left of
window 301C. Window 301A is no longer visible.
[0054] The user can touch or double-tap window 301C to re-enter
full-screen mode with the new activity having focus and being
active, as shown in FIG. 5. Alternatively, the user can press
button 103 to toggle between full-screen mode and windowed mode.
Thus, in FIG. 5 the user has completed the switch from the calendar
application of FIG. 2 to the email application.
[0055] In the examples described herein, windows 301 are arranged
in a horizontal row. The user moves windows 301 along a horizontal
axis to navigate from one activity to another. One skilled in the
art will recognize that other arrangements are possible. For
example, windows 301 could be arranged vertically instead of
horizontally. Alternatively, a two-dimensional arrangement of
windows 301 can be provided.
[0056] Referring now to FIG. 7, there is shown a conceptual
depiction of a sequence switching from one activity to another
according to one embodiment of the present invention. A number of
activities are open, each represented by a window 301A through
301H. Screen 101 only shows a subset of the windows 301 at any
given time. As can be seen in the Figure, a positional sequence is
maintained even though most of the windows 301 are not visible at
any given time. FIG. 7 depicts movement of the display screen 101
from an initial position where window 301B has focus (and windows
301A and 301C are partially visible) to a second position where
window 301E is has focus (and windows 301D and 301F are partially
visible).
[0057] The movement of display screen 101 is conceptual. In actual
operation, the switch from window 301B to window 301E is
accomplished by moving windows 301 in a leftward direction on
screen 101. For example, the user can repeatedly drag windows 301
in a leftward direction to cause windows 301C, 301D, and 301E to
successively occupy the central position. Alternatively, the user
can click on partially displayed window 301C to move it to the
central position and to cause window 301D to be partially
displayed, then on partially displayed window 301D to move it to
the central position and to cause window 301E to be partially
displayed, and then on partially displayed window 301E to move it
to the central position. Either mechanism operates to shift focus
from the activity represented by window 301B to the activity
represented by window 301E.
[0058] In one embodiment, a transition effect is performed to
enhance the smoothness of the transition as windows 301 move and/or
snap into place. In one embodiment, the window 301 that is
centrally displayed at any given time is shown slightly larger than
other windows 301.
[0059] In one embodiment, more than one window 301 can be
completely visible within screen 101. For example, three windows
301 might be completely visible, with additional partially-visible
windows 301 on either side. The above-described techniques for
moving windows 301 in concert with one another to maintain
positional sequence still apply in such a variation.
[0060] In general, the sequence of windows 301 is persistent, even
when the user moves from one window to another 301. In one
embodiment, the sequence is circular, so that the rightmost window
301 is considered to be to the left of the leftmost window 301.
Thus, moving off one end of the sequence takes the user back to the
other end of the sequence.
[0061] In one embodiment, windows 301 may be moved within the
sequence automatically in some circumstances. For example,
frequently used windows 301 can be moved to more prominent
locations in the sequence, while less frequently used windows 301
can remain in less prominent locations.
[0062] Referring now to FIGS. 6A through 6F, the operation of the
invention is further illustrated by way of an example of a sequence
for switching from one activity to another; specifically, the user
switches from a calendar application to a telephone application.
FIG. 6A shows an initial state in which device 100 shows a calendar
application in full-screen mode. In FIG. 6B, the user has switched
to windowed mode, for example by pressing button 103. Now, the
calendar application is visible in window 301B, and the telephone
application is partially visible in window 301A. FIGS. 6C through
6E show the effect of the user dragging window 301B in a rightward
direction. As the user drags window 301B, window 301A also moves in
a rightward direction, until it is centrally located in display
screen 101, as shown in FIG. 6E. As discussed above, this motion
can also be initiated in response to the user touching the visible
portion of window 301A in FIG. 6B, or by dragging in a horizontal
rightward direction in gesture area 102.
[0063] Once the telephone application is in the central position in
window 301A as shown in FIG. 6E, the user can tap on window 301A or
press button 103 to switch to full screen mode, as shown in FIG.
6F. In one embodiment, the user can also interact with the
telephone application directly in windowed mode as shown in FIG.
6E.
[0064] The user can launch additional activities by returning to
the launch screen as shown in FIG. 1. In one embodiment, this is
performed by performing a gesture or other command. In one
embodiment, the user can also launch additional activities by
touching an icon 106 in dock 105. In one embodiment, newly launched
activities generate new windows that are added to the end of the
sequence of windows shown in FIG. 7. In one embodiment, the window
for the newly launched activity is, by default, given focus and
presented in the central position on screen 101.
[0065] The user can dismiss applications, for example by closing a
window 301. In one embodiment, a window 301 can be closed by
clicking on a control within the window. In another embodiment, a
window 301 can be closed by dragging the window upward off screen
101. Referring now to FIGS. 8A and 8B, there is shown an example of
a sequence where the user drags window 301B upward off screen 101,
causing window 301B to be dismissed.
[0066] As can be seen in FIGS. 8A and 8B, dismissing window 301B
causes 301C to move leftward to fill in the gap caused by window
301B being dismissed. In general, when a window 301 is dismissed,
other windows 301 move to fill the gap.
[0067] In one embodiment, dismissing a window 301 causes the
application associated with the window to close. In another
embodiment, the application remains open even when window 301 is
closed.
[0068] In one embodiment, a window 301 might close automatically in
certain circumstances. For example, if a task associated with an
application is completed, or if an application crashes or
terminates, the window 301 for the application can close
automatically.
[0069] The user can also rearrange windows 301 manually when
desired, by dragging a window 301 from one position to another. An
example is shown in FIGS. 9A through 9D. The user drags window 301B
upward, causing windows 301C and 301D to move to fill the gap. The
user does not release window 301B however; instead, he or she moves
window 301B into a position between windows 301C and 301D, as shown
in FIG. 9C. The result is the sequence shown in FIG. 9D, where
window 301B is now positioned between windows 301C and 301D.
[0070] In one embodiment, the user can resize windows 301 as
desired. For example, the user can drag a corner of a window 301 to
resize it, or can use two fingers to pinch the edges or corners of
a window 301 to resize it.
[0071] To summarize, then, any or all of the following actions may
be enabled for displayed windows 301: [0072] Press button 103:
toggle between full-screen and windowed modes [0073] Drag window
301 left or right: cause windows to move left or right, and change
focus [0074] Horizontal gesture in gesture area 102: cause windows
to move left or right, and change focus [0075] Touch partially
displayed window 301: cause window 301 to gain focus and move to
center [0076] Touch (or double-tap) window 301 having focus: switch
to full-screen mode [0077] Drag window 301 upward: dismiss window
[0078] Drag window 301 downward: zoom out, causing more windows 301
to be shown concurrently on screen 101; the user can zoom back in
by tapping any empty space
[0079] The present invention has been described in particular
detail with respect to one possible embodiment. Those of skill in
the art will appreciate that the invention may be practiced in
other embodiments. First, the particular naming of the components,
capitalization of terms, the attributes, data structures, or any
other programming or structural aspect is not mandatory or
significant, and the mechanisms that implement the invention or its
features may have different names, formats, or protocols. Further,
the system may be implemented via a combination of hardware and
software, as described, or entirely in hardware elements, or
entirely in software elements. Also, the particular division of
functionality between the various system components described
herein is merely exemplary, and not mandatory; functions performed
by a single system component may instead be performed by multiple
components, and functions performed by multiple components may
instead be performed by a single component.
[0080] Reference herein to "one embodiment," "an embodiment," or to
"one or more embodiments" means that a particular feature,
structure, or characteristic described in connection with the
embodiments is included in at least one embodiment of the
invention. Further, it is noted that instances of the phrase "in
one embodiment" herein are not necessarily all referring to the
same embodiment.
[0081] Some portions of the above are presented in terms of
algorithms and symbolic representations of operations on data bits
within a computer memory. These algorithmic descriptions and
representations are the means used by those skilled in the data
processing arts to most effectively convey the substance of their
work to others skilled in the art. An algorithm is here, and
generally, conceived to be a self-consistent sequence of steps
(instructions) leading to a desired result. The steps are those
requiring physical manipulations of physical quantities. Usually,
though not necessarily, these quantities take the form of
electrical, magnetic or optical signals capable of being stored,
transferred, combined, compared and otherwise manipulated. It is
convenient at times, principally for reasons of common usage, to
refer to these signals as bits, values, elements, symbols,
characters, terms, numbers, or the like. Furthermore, it is also
convenient at times, to refer to certain arrangements of steps
requiring physical manipulations of physical quantities as modules
or code devices, without loss of generality.
[0082] It should be borne in mind, however, that all of these and
similar terms are to be associated with the appropriate physical
quantities and are merely convenient labels applied to these
quantities. Unless specifically stated otherwise as apparent from
the following discussion, it is appreciated that throughout the
description, discussions utilizing terms such as "processing" or
"computing" or "calculating" or "displaying" or "determining" or
the like, refer to the action and processes of a computer system,
or similar electronic computing module and/or device, that
manipulates and transforms data represented as physical
(electronic) quantities within the computer system memories or
registers or other such information storage, transmission or
display devices.
[0083] Certain aspects of the present invention include process
steps and instructions described herein in the form of an
algorithm. It should be noted that the process steps and
instructions of the present invention can be embodied in software,
firmware or hardware, and when embodied in software, can be
downloaded to reside on and be operated from different platforms
used by a variety of operating systems.
[0084] The present invention also relates to an apparatus for
performing the operations herein. This apparatus may be specially
constructed for the required purposes, or it may comprise a
general-purpose computer selectively activated or reconfigured by a
computer program stored in the computer. Such a computer program
may be stored in a computer readable storage medium, such as, but
is not limited to, any type of disk including floppy disks, optical
disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs),
random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical
cards, application specific integrated circuits (ASICs), or any
type of media suitable for storing electronic instructions, and
each coupled to a computer system bus. Further, the computers
referred to herein may include a single processor or may be
architectures employing multiple processor designs for increased
computing capability.
[0085] The algorithms and displays presented herein are not
inherently related to any particular computer, virtualized system,
or other apparatus. Various general-purpose systems may also be
used with programs in accordance with the teachings herein, or it
may prove convenient to construct more specialized apparatus to
perform the required method steps. The required structure for a
variety of these systems will be apparent from the description
above. In addition, the present invention is not described with
reference to any particular programming language. It will be
appreciated that a variety of programming languages may be used to
implement the teachings of the present invention as described
herein, and any references above to specific languages are provided
for disclosure of enablement and best mode of the present
invention.
[0086] While the invention has been described with respect to a
limited number of embodiments, those skilled in the art, having
benefit of the above description, will appreciate that other
embodiments may be devised which do not depart from the scope of
the present invention as described herein. In addition, 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
inventive subject matter. Accordingly, the disclosure of the
present invention is intended to be illustrative, but not limiting,
of the scope of the invention, which is set forth in the
claims.
* * * * *