[go: up one dir, main page]

HK1193657B - Card metaphor for activities in a computing device - Google Patents

Card metaphor for activities in a computing device Download PDF

Info

Publication number
HK1193657B
HK1193657B HK14104956.8A HK14104956A HK1193657B HK 1193657 B HK1193657 B HK 1193657B HK 14104956 A HK14104956 A HK 14104956A HK 1193657 B HK1193657 B HK 1193657B
Authority
HK
Hong Kong
Prior art keywords
card
mode
display screen
cards
touch
Prior art date
Application number
HK14104956.8A
Other languages
Chinese (zh)
Other versions
HK1193657A (en
Inventor
Daniel Marc Gatan Shiplacoff
Matias Gonzalo Duarte
Jeremy Godfrey Lyon
Original Assignee
Qualcomm Incorporated
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Incorporated filed Critical Qualcomm Incorporated
Publication of HK1193657A publication Critical patent/HK1193657A/en
Publication of HK1193657B publication Critical patent/HK1193657B/en

Links

Description

Card metaphor for activities in a computing device
The present application is a divisional application of an inventive patent application having an application date of 2009, 5/18, application No. 200980128442.1 (international application No. PCT/US 2009/044390) and an invention name of "card metaphor for activity in a computing device".
CROSS-REFERENCE TO RELATED APPLICATIONS
The present application claims priority from U.S. patent application No. 12/126,145 (attorney docket No. PLM 5729) to "navigation between activities in a computing device," filed on 23/5/2008, the disclosure of which is incorporated herein by reference.
The present application further claims priority from U.S. patent application No. 12/416,279 (attorney docket No. PLM 5844) to "card metaphor for activity in a computing Device" filed on 4/1, 2009, the disclosure of which is incorporated herein by reference.
This application is related to U.S. patent application Ser. No. 12/115,992 to "extended touch-sensitive area for electronic Device" (attorney docket No. PLM 5728), filed on 2008, 5, 6, the disclosure of which is incorporated herein by reference.
This application is related to U.S. patent application No. 11/379,552, "keypad and sensor combination to provide a detection area covering keys," filed on 20/4/2006, the disclosure of which is incorporated herein by reference.
Technical Field
In various embodiments, the present invention relates to application management in computing devices, and more particularly to systems and methods for implementing card metaphors for activities (e.g., application software) in such devices.
Background
Many currently available computing devices run operating systems that enable users to run multiple applications simultaneously or even perform activities simultaneously within a single application and/or between two or more applications. For example, a user may open an email application, a word processing application, an on-screen calculator, and a web browser so that all applications are open at the same time. A user may open several documents within a word processing application and may open several email messages. This arrangement allows a user to move from one task to another by simultaneously keeping these various applications and activities open.
Conventionally, this mode of operation is achieved by using multiple overlapping windows within the graphical user interface. A desktop metaphor is often employed in which a user can move and resize a window on a display screen through direct manipulation. Thus, each application may have a window or windows; at any given time, one window has focus (typically so indicated by being located above the other window). Other windows may be visible, invisible, or partially visible (e.g., if they are partially or completely obscured by other windows). A user can switch from one task to another by having a different window have focus, which is generally accomplished by: clicking on a visible portion of the window being activated, or clicking on a button or icon in a taskbar, quick launch area, or similar structure that represents a window or application. In some operating systems, a pop-up menu and/or keyboard shortcuts may be used to switch between applications or documents.
Overlapping windows is a very efficient mechanism for application management. Which utilizes the user's spatial memory by associating particular regions of the screen with particular tasks being performed. The 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 than a list or menu of open windows that does not provide a model of spatial placement and stability.
One problem with conventional window-based mechanisms for application management is that large screen sizes are typically required. Users facing limited screen space must choose between making windows smaller on the one hand and thus reducing the available workspace within each application, and stacking windows on top of each other so that only one window (or very few) can be seen at a time on the other hand. Reducing the workspace can result in very difficult use of applications, particularly for applications such as word processing, photo editing, drawing, and the like. Stacking windows reduces the ease with which a user can switch from one application or document to another application or document because it is more difficult to see what is currently open and to find the appropriate window to activate. When windows are stacked, users often rely on navigating through a taskbar, a quick launch area, a menu, a keyboard shortcut, etc., thus reducing the advantages of overlapping window modes.
Some systems, such as the MacOS operating system provided by apple ltd, cupertino, california, provide a mechanism for navigating among open applications by temporarily moving and shrinking open windows, moving the windows apart from each other so that they do not overlap. The user may then activate one of the windows; the original window position and size is then restored with the activated window on top. This feature is effective in allowing the user to quickly switch between open applications and documents, but still requires a relatively large amount of screen space in order to effectively present the temporarily scaled down windows when the user is to make a selection between them.
Mobile devices such as smart phones, personal digital assistants, music players, handheld computers, and the like are becoming more powerful. Many mobile devices are now capable of running several applications simultaneously and performing complex functions that can compete with traditional computing devices. However, most of these devices have very small screens compared to laptop or desktop computers. Thus, conventional window-based techniques for navigating between open applications and documents do not work well on mobile devices. There is insufficient screen space to display multiple overlapping windows. In fact, many of these devices do not even have enough space to display a taskbar or a quick launch area. In practice, the entire screen is typically dedicated to a single application, document, message, task or activity in order to most efficiently use a very limited amount of available space.
Disclosure of Invention
Related U.S. patent application Ser. No. 12/126,145 to "navigation between Activities in a computing device," filed on 23/5 2008 (attorney docket No. PLM5729, the disclosure of which is incorporated herein), describes various embodiments for running two or more activities simultaneously on a computing device, and provides at least two modes for interacting with the activities. The user may switch between the modes as desired. Buttons or other controls are provided for switching between full screen mode and card mode.
In various embodiments, a card metaphor is created in which each activity may be represented within a region of the screen. For purposes of the description herein, these areas of the screen are referred to as "cards". While the card is similar to windows known in the desktop user interface art in some respects, in various embodiments, the card may be manipulated in a particular manner not generally available with conventional window-based graphical user interfaces, which manipulation is described in more detail herein. Those skilled in the art will recognize that the term "card" is used herein merely as a convenient term for referring to an area of a screen that contains information related to or generated by an activity such as application software.
In various embodiments, any of a number of display modes may be used to view, interact with, manipulate, initiate, and dismiss cards.
In one embodiment, in full screen mode, one activity occupies substantially the entire display screen. Thus, the card substantially fills the entire display screen, but in some embodiments, some area of the screen may be reserved for status indicators, warnings, messages, and the like.
In one embodiment, a second mode is available, which is referred to as a "card mode". In the card mode, one activity is visible within the card and a portion of at least one other card is also visible. Thus, the card with the focus (i.e., the card with which the user is interacting) is fully visible, while at least one other card is only partially visible. In card mode, the user may move the card on the screen to change focus from one card to another. For example, the card with focus may be removed from the screen to be replaced with a new card, which is then brought into focus. In one aspect, the cards are ordered in a sequence. In one aspect, the cards move in coordination with each other, pushing one card away from one edge of the screen so that a new card appears at the opposite edge. A continuous positional relationship may be established between cards based on the established sequence (although the sequence may be rearranged by the user if desired).
In one embodiment, a third mode is available, which is referred to as a "slip mode". In the glide mode, two or more cards are shown in their entirety. The size of the card may be reduced so that more cards may be displayed at the same time. Furthermore, portions of one or more other cards may be visible. For example, in one embodiment, three cards may be shown in full in a horizontal row, with portions of the other two cards shown to the left and right of the fully displayed card. In one embodiment, the shuffle mode facilitates easier card reordering and manipulation and is associated with certain behaviors (described below) that optimize the operation. In one embodiment, the shuffle mode is similar to a zoomed out view of the card presented in a card view. In one embodiment, the user may zoom out to various degrees in order to present several different kinds of shuffle patterns, for example, with different numbers of cards on the screen. In one embodiment, when more cards are displayed, they are displayed in a smaller size. In one embodiment, the cards are presented in a linear arrangement in a shuffle mode, preserving the linear sequence used in the card mode.
In one embodiment, a fourth pattern is available, which is referred to as a "grid pattern". In the grid mode, a large number of cards are shown in their entirety. In one embodiment, the size of the cards is scaled down to display all available cards simultaneously. In another embodiment, all cards are displayed up to a predetermined maximum number of cards; if more than a predetermined maximum is available for display, scrolling is implemented to allow access to the cards not displayed. In one embodiment, the cards are presented in a grid arrangement in a grid pattern.
In one embodiment, the user may manipulate the card in different ways depending on which mode is currently active. In one embodiment, different interactions may occur in different modes, and/or certain user actions may be interpreted differently depending on which mode is currently active. Details of the differences are described below for various embodiments of the invention.
In one embodiment, the card is valid regardless of the current display mode, such that the information represented in the card is substantially current and is updated substantially in real-time. In one embodiment, a user may interact with the card regardless of the display mode, thereby making the user interface elements within the card valid regardless of the display mode. In another embodiment, in some display modes, some or all of the cards may not be active, such that the data presented therein may be "frozen" while in a particular mode; this embodiment may be useful, for example, when available system resources prevent real-time updates to all cards without undesirably degrading system performance. Similarly, a "frozen" card may be temporarily suppressed in some embodiments from accepting user input.
In one embodiment, a continuous positional relationship is established and maintained between cards. The positional relationship may 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 the positional relationship should change, or some other event occurs that indicates that a change is warranted (e.g., the application is not in use, or the application crashes or is being dismissed).
In one embodiment, the cards are initially located according to the order in which the corresponding activities (e.g., applications) are launched. For example, a new card may be launched when a new application or activity is launched, or in some cases for an application that is already running (e.g., if a new message is being composed in an email application). Thus, in embodiments implementing a one-dimensional card sequence, the newly activated card will be placed at the end of the sequence; for example, if horizontal rows are used, the newly activated card may be placed to the right of the rightmost card in the sequence. Of course, the user may reposition the card as desired.
In one embodiment, if the user initiates a new activity (e.g., application), the card (or cards) of that activity is generated, located at the end of the sequence. If the user attempts to initiate an activity that is already running, the card does not move within the card sequence in one embodiment, but the current view of the sequence shifts so that the active card is brought into focus and presented in a central position on the screen. Alternatively, in another embodiment, if the user attempts to initiate an already running activity, the active card is moved to the end of the sequence.
As described above, in one embodiment, the newly opened card is initially positioned at the end of the sequence. In another embodiment, some newly opened cards may be placed at a location other than the end of the sequence. For example, any new cards for activities that are already running are placed adjacent to the application's preexisting cards. Thus, these cards (referred to as "sister cards") are positioned such that the cards of a given activity are positioned adjacent to each other throughout the sequence of cards. For example, when a user initiates a reply to an email message, a new card of the email application may appear, the new sister card of the reply may be positioned adjacent to the existing card of the original message.
In one embodiment, the user may freely move the sister cards so that they are no longer in proximity to each other; in another embodiment, sister cards cannot be separated from each other, but they can be moved as a group.
In one embodiment, a visual pattern may be employed to indicate a group of cards. For example, in one embodiment, a group of cards may be represented by a stack; all cards within a particular group are displayed in a manner similar to a stack of cards. Alternatively, the card groups may be indicated in other ways that distinguish them from ungrouped cards, for example, the card groups may be shown via a distinct color scheme, different sizes, different vertical or horizontal positioning, bracketing, highlighting, spacing, or any other mechanism. In various embodiments, as described below, a user may interact with a group, detach their constituent cards, create new groups, change group order, and so forth, as desired. In one embodiment using stacking to indicate groups, cards may sometimes be "unstacked" (even while retaining their group relationships) automatically or manually to facilitate certain types of interaction and viewing of constituent cards. In some embodiments, when the cards are unstacked, an alternative mechanism (e.g., bracketing or distinct coloring) is used to alert the user that the cards are still members of the group.
It will be apparent to those skilled in the art that the various features described above and herein can be implemented singly or in any combination. Additional features and advantages will become apparent in the description provided below.
Drawings
The drawings illustrate several embodiments of the invention and together with the description serve to explain the principles of the invention. Those skilled in the art will recognize that the particular embodiments illustrated in the figures are merely exemplary and are not intended to limit the scope of the present disclosure.
FIG. 1 depicts a display screen showing a launcher for initiating an activity, such as an application.
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 invention.
FIG. 3 depicts a display screen in card mode according to one embodiment of the invention, including a card with focus and two partially displayed cards.
FIG. 4 depicts a display screen in card mode after a user has removed a card, according to one embodiment of the invention.
FIG. 5 depicts a display screen in full-screen mode after a user has designated a new card with focus, according to one embodiment of the present invention.
Fig. 6A-6F depict a sequence of switching from one card to another according to one embodiment of the present invention.
FIG. 7 is a conceptual depiction of a sequence for switching from one card to another according to one embodiment of the invention.
Fig. 8A and 8B depict a sequence of dismissing cards according to one embodiment of the invention.
Fig. 9A-9D depict a sequence of rearranging cards according to one embodiment of the invention.
FIG. 10A depicts a display screen in card mode according to one embodiment of the invention.
FIG. 10B depicts a display screen in a shuffle mode according to one embodiment of the invention.
FIG. 10C depicts the unraveling of the card in the shuffle mode according to one embodiment of the present invention.
FIG. 10D depicts reordering of cards in shuffle mode according to one embodiment of the present invention.
Fig. 10E, 10F, and 10G depict various examples of grid patterns according to embodiments of the invention.
FIG. 11A depicts a display screen in full screen mode with four cards open, with one card having focus, according to one embodiment of the invention.
FIG. 11B depicts the introduction of a new card in full screen mode in response to the initiation of a new activity according to one embodiment of the invention.
FIG. 11C depicts a rearrangement of the card sequence in full screen mode in response to launching an opened activity according to one embodiment of the present invention.
FIG. 11D depicts a focus shift that does not reorder cards in full screen mode in response to initiating an opened activity, according to one embodiment of the invention.
FIG. 12A depicts a display screen in full screen mode with seven cards open, with one card having focus, according to one embodiment of the invention.
FIG. 12B depicts the introduction of an active sister card in full screen mode, according to one embodiment of the invention.
12C and 12D depict reordering cards to separate sister cards in response to user input, according to one embodiment of the invention.
FIG. 13A depicts a display screen in full screen mode with eight cards open, with one card having focus, according to one embodiment of the invention.
FIG. 13B depicts a display screen in card mode with eight cards open, including four cards forming a group, wherein the grouped cards are depicted in a stacked form, according to one embodiment of the present invention.
FIG. 13C depicts the display screen of FIG. 13B in which the cards that form the group have been reordered according to one embodiment of the present invention.
FIG. 13D depicts a display screen in card mode with eight cards open, including four cards forming a group, wherein the grouped cards are depicted using distinct vertical offsets and sizes, according to one embodiment of the invention.
FIG. 13E depicts the display screen in shuffle mode, with eight cards open, including four cards forming a group, where the grouped cards are depicted using distinct vertical offsets, according to one embodiment of the present invention.
13F and 13G depict an example of transitioning from a view of one of the members of the group having focus to a view of the card having focus that is not part of the group, according to one embodiment of the invention.
13H-13K depict an example of creating a new group of cards and adding cards to the group, according to one embodiment.
FIG. 14 is a flow diagram depicting a method for presenting cards in a grid pattern, according to one embodiment.
FIG. 15 is a flow chart depicting a method for rearranging cards according to one embodiment.
16A-16D depict a sequence of adding cards to a group according to one embodiment of the invention.
17A-17D depict a sequence of removing cards from a group according to one embodiment of the invention.
Detailed Description
In the following description, reference is made herein to "activities". In the context of the present invention, "activity" is intended to include application software, tasks, documents, pages, and/or any other activity that may be performed in connection with an electronic device. As described herein, the present invention provides techniques for displaying and manipulating representations of activities on an electronic device using a card metaphor. Thus, activities are represented by "cards," which term is used herein to refer to areas of the screen that can be moved and manipulated by a user. As described in more detail below, the user interacts with the card to initiate, terminate, and reorder activities, as well as navigate among activities and perform other operations.
System architecture
In various embodiments, the invention may be implemented on any electronic device, such as a handheld computer, a Personal Digital Assistant (PDA), a personal computer, a kiosk (kiosk), a cellular telephone, and so forth. For example, the invention may be implemented as a feature of an application management mode of an operating system or application software running on such a device. Thus, the invention may be implemented as part of a graphical user interface for controlling software on such a device.
In various embodiments, the present invention is particularly suited to devices such as smart phones, handheld computers, and PDAs that have limited screen space and are capable of running several applications simultaneously. However, those skilled in the art will recognize that the invention may be practiced in many other contexts, including any environment in which it is useful to easily and smoothly switch from one activity to another. Accordingly, the following description is intended to be illustrative of the invention and is not intended to limit the scope of the invention.
Referring now to FIG. 1, there is shown an example of a device 100 according to one embodiment, including a display screen 101, the display screen 101 showing a launcher including a number of icons 104, the icons representing applications that can be opened by a user. Also shown is a quick launch area 105 that contains additional icons 106 for launching commonly used applications and other functions. The quick start area 105 is not necessary to the present invention, but is shown for illustration purposes only.
In one embodiment, the screen 101 is touch sensitive, such that a user can activate an application or function by touching the displayed icons 104, 106. In one embodiment, as described in the related applications referenced above, the device 100 also includes a touch-sensitive gesture area 102 for inputting gesture-based commands. In another embodiment, the screen 101 and/or gesture area 102 is sensitive to the user's motion near the surface in order to detect gestures and commands performed near the surface, but not necessarily in contact with the surface.
For purposes of illustration, the device 100 as shown in FIG. 1 is a personal digital assistant or a smart phone. The devices typically have telephone, email, and text messaging functions, and may perform other functions including, for example, playing music and/or video, surfing the internet, running productivity applications, and so forth. The invention may be implemented in any type of device having a touch-sensitive screen according to various embodiments and is not limited to devices having the enumerated functionality. Furthermore, the particular layout shown in FIG. 1 is exemplary only, and is not intended to limit the scope of the present invention.
In various embodiments, the touch-sensitive screen 101 and gesture area 102 may be implemented using any technology capable of detecting a contact location and/or a user's action proximate to a surface. Alternatively, the invention may be implemented with other user input mechanisms (e.g., keyboard, trackball, stylus, etc.). Those skilled in the art will recognize that the techniques of this disclosure are particularly suited for direct manipulation, but that any input technique may be used. In one embodiment, the gesture area 102 provides a Touch sensitive control area that extends beyond the edge of the Touch screen 101 as described in related application Ser. No. 12/115,992 entitled Extended Touch-sensitive area for electronic device, filed on 6.5.2008, the disclosure of which is incorporated herein by reference.
In one embodiment, the device 100 as shown in FIG. 1 also has a physical button 103. In one embodiment, as described in more detail below, physical buttons 103 may be used to transition between full screen mode and card mode. The physical buttons 103 are not required for the present invention and the physical buttons 103 are shown for illustration purposes only.
Card metaphor
As described herein, in one embodiment, two or more modes of interaction with device 100 are available. It is determined which display mode is currently active on the device 100. Card 301 is displayed in a different manner depending on the current display mode. In various embodiments, the display modes may include any combination of:
a "full screen" mode, in which the card representing the application or other activity occupies substantially the entire display screen 101;
a "card" mode in which at least two cards are presented, at least one of which is only partially visible, each card representing an application or other activity;
a "shuffle" mode in which cards are presented in a reduced size relative to the card mode so that more than one card may be presented in its entirety; and
a "grid" pattern in which the size of the card is reduced according to the available screen space.
As described in more detail below, device 100 may receive input from a user. In various embodiments, such an input may cause device 100 to switch from one display mode to another, and/or to reposition a displayed card in response to a user's input specifying a switch to another card.
Those skilled in the art will recognize that the names given to the modes ("full screen," "card," "slide," and "grid") are used herein for identification purposes only, and are not intended to imply any particular characteristic of the modes or to limit the scope of the invention in any other way. In general, and without limiting the scope of the invention: full screen mode is optimal for using screen space to the maximum extent to interact with a single activity; card mode is optimal for easy switching focus from one activity to another and for easy start and stop activities; the shuffle mode is optimal for reordering and manipulating cards representing activities; and the grid pattern is optimal for providing an overview of the opening activity. In more than one mode, many actions may be taken. In one embodiment, the activity is live regardless of the current mode, and is capable of accepting input and displaying output; in another embodiment, an activity may be active in some modes but not in others. The various modes will be described in more detail below.
Full screen mode
Referring now to FIG. 2, a display screen 101 in full screen mode is illustrated, according to one embodiment. In the example, the calendar application occupies substantially the entire display screen 101; however, one of ordinary skill in the art will recognize that any activity may be presented in this manner. As shown in fig. 2, even in full screen mode, certain portions of the display screen 101 may be reserved for title bars, battery indicators, clocks, signal strength indicators, and so forth. Thus, the term "full screen mode" as used herein is intended to refer to any arrangement in which the primary focus of screen 101 is a single activity even though other smaller areas of screen 101 are reserved for other functions.
The user interacts with active activities (e.g., the calendar application shown in fig. 2) through conventional user interface methods including manipulating on-screen elements, typing text, and so forth. Such techniques are well known in the art.
Card mode
Referring now to FIG. 3, an example of a display screen 101 in card mode according to one embodiment is shown. In one embodiment, the user may press physical button 103 to switch between modes. In another embodiment, the user may touch or double-click the card 301 in card mode to initiate a switch to full screen mode. In yet another embodiment, the device 100 switches from card mode to full screen mode after a period of inactivity. Other mechanisms may also be provided to switch between modes.
As can be seen in FIG. 3, in one embodiment in card mode, card 301B with the focus is fully visible. The other cards 301A, 301C are only partially visible and have no focus. In general, card 301B with focus represents the same activity displayed in full screen mode immediately prior to switching to card mode. Any number of partially displayed cards 301A, 301C may be presented. In the example of fig. 3, two such cards 301A, 301C are shown, each located on one side of card 301B having a focus. Generally, in arrangements where cards 301 are presented along a linear axis, one or two partially displayed cards 301 may be displayed adjacent to card 301 having a focus. Further, as shown in FIG. 3, in one embodiment, partially displayed cards 301A, 301C are shown slightly smaller than card 301B having focus in order to further emphasize the fact that card 301B has focus.
In one embodiment, partially displayed cards 301A, 301C provide a context for the location of card 301B and provide a mechanism for navigating to other activities. In one embodiment, the user may specify that cards 301A, 301C have focus by touching any area within the card; this causes the designated card 301 to move to the central portion of display screen 101 and causes the other cards to also move so as to maintain the same sequence of positions. In one embodiment, the user may specify that cards 301A, 301C have focus by dragging any displayed card 301 to cause the desired card 301 to move to the central portion of display screen 101; likewise other cards 301 move in order to maintain the same sequence of positions. In one embodiment, the user may move card 301 left or right by dragging a finger along gesture area 102. In one embodiment, this gesture may be performed even in full screen mode, causing card 301 to move left and right in the same manner as described above for card mode.
In response to the user's command, card 301 moves position on screen 101 such that, for example, card 301B, which currently has focus, becomes only partially visible, and one of the other cards 301A, 301C becomes fully visible and has focus. Cards 301 move in coordination with each other in response to user commands. Thus, for example, if the user indicates that the central card 301 should be moved in a rightward direction, the entire display is shifted rightward as follows:
the central card 301 (which has the focus) is moved to the right so that it is only partially visible along the right hand side of the display screen 101.
If any card 301 is partially visible on the right side of card 301 having the focus, it moves away from the right edge of display screen 101 so that it is no longer visible.
If any card 301 is partially visible on the left side of card 301 having the focus, it moves to the right, so that it is now fully visible and has focus.
In one embodiment, the user indicates this movement, for example, by directly manipulating displayed card 301. This may be performed on a touch screen, for example, by dragging the center card 301 left or right on the screen or by tapping a portion of the displayed card. Alternatively, a trackball, touch sensitive pad, or other input device may be provided to facilitate such direct manipulation.
Thus, in one embodiment, when a user drags card 301 to the left or right within display screen 100, other cards 301 move in cooperation with the dragged card 301. Thus, for example, if the user drags card 301B to the right, cards 301A and 301C also move to the right. This will cause card 301C to move off-screen and card 301A will move to the center of display screen 100. The same result will occur if the user drags card 301A to the right.
In one embodiment, if the user drags card 301 to place card 301 close enough to the center location that the intent is to clearly give focus to card 301, card 301 bounces to the center location after the drag operation is completed. Other cards 301 bounce into place accordingly to maintain the same sequence of positions. Thus, the user does not need to drag card 301 all the way to the center position. On the other hand, if the user drags card 301a small amount (which does not cause new card 301 to be close enough to the center position), all cards 301 bounce back to their previous positions upon completion of the drag operation.
In one embodiment, card 301 exposes an operating application or other activity. Thus, as the user navigates between cards 301, he or she may see the actual running applications or other activities within each card 301.
In various embodiments, the movement of the cards may be limited to a single axis (e.g., a horizontal or vertical axis, but not two axes) in order to simplify the positional relationship between cards 301. Alternatively, two or more axes of movement may be made available. In the example described herein, cards 301 are arranged in horizontal rows. The user moves card 301 along the horizontal axis to navigate from one activity to another. Those skilled in the art will recognize that other arrangements are possible. For example, cards 301 may be arranged vertically rather than horizontally. Alternatively, a two-dimensional arrangement of cards 301 may be provided.
In one embodiment, once the user has moved the desired card 301 to a central position such that it has focus, he or she may indicate that display screen 101 should be returned to full-screen mode, such that card 301 having focus occupies substantially the entire display screen 101. Alternatively, the device 100 may automatically return to full screen mode after the card has not moved for a period of time, or return to full screen mode if the user begins to interact with the activity having focus. In one embodiment, card 301 that currently has focus is fully visible at all times and is displayed in a substantially central location on display screen 101 relative to partially displayed card 301.
Referring now to FIG. 4, there is shown an example of display screen 101 in card mode after the user has caused card 301C (representing an email application) to become centered and have focus in one embodiment. As can be seen in FIG. 4, card 301B, which previously had a focus, is now partially visible to the left of card 301C. Card 301A is now no longer visible.
In one embodiment, with the new activity in focus and in the active state, the user may touch or double-click card 301C to re-enter full screen mode, as shown in FIG. 5. Alternatively, the user may press button 103 to toggle between full screen mode and card mode. Thus, in FIG. 5, the user has completed the switch from the calendar application of FIG. 2 to the email application.
Referring now to FIG. 7, a conceptual depiction of a sequence of switching from one activity to another according to one embodiment of the invention is shown. There are several activities open, each represented by cards 301A-301H. Screen 101 only shows a subset of cards 301 at any given time. It can be seen that the sequence of positions is maintained even though most of cards 301 are not visible at any given time. FIG. 7 depicts display screen 101 moving from an initial position where card 301B has focus (and card 301A and 301C are partially visible) to a second position where card 301E has focus (and card 301D and 301F are partially visible).
The movement of the display screen 101 is conceptual. In one embodiment, in actual operation, the switch from card 301B to card 301E is accomplished by moving card 301 in a leftward direction on screen 101. For example, the user may drag and drop card 301 repeatedly in a leftward direction to cause cards 301C, 301D, and 301E to successively occupy central positions. Alternatively, the user may click on partially displayed card 301C to move it to the central location and cause card 301D to be partially displayed, then click on partially displayed card 301D to move it to the central location and cause card 301E to be partially displayed, and then click on partially displayed card 301E to move it to the central location. Each mechanism operates to shift focus from the activity represented by card 301B to the activity represented by card 301E.
In one embodiment, a transition effect is performed as card 301 moves and/or bounces into place to enhance the smoothness of the transition. In one embodiment, card 301, which is displayed centrally at any given time, is shown to be slightly larger than the other cards 301.
In general, the sequence of cards 301 continues even as the user moves from one card to another 301. In one embodiment, the sequence is circular, such that the rightmost card 301 is considered to be to the left of the leftmost card 301. Thus, moving away from one end of the sequence will return the user to the other end of the sequence. In another embodiment, as depicted in FIG. 4, the sequence is not circular, such that there is a first and last card 301 in the sequence.
In one embodiment, card 301 may be automatically moved within a sequence under some circumstances. For example, frequently used cards 301 may be moved to a more prominent position in the sequence, while less frequently used cards 301 may remain in a less prominent position.
Referring now to fig. 6A-6F, the operation of the present invention according to one embodiment is further illustrated in terms of a sequence of switching from one activity to another; specifically, the user switches from a calendar application to a phone application. FIG. 6A shows the device 100 in the full screen mode showing the initial state of the calendar application. In fig. 6B, the user has switched to card mode, for example by pressing button 103. Now, the calendar application is visible in card 301B, and the phone application is partially visible in card 301A. Fig. 6C-6E show the effect of the user dragging card 301B in the right direction. When the user drags card 301B, card 301A also moves in the right direction until it is centrally positioned on display screen 101 as shown in fig. 6E. As described above, this action may also be initiated in response to the user touching the viewable portion of card 301A in fig. 6B or by dragging in the horizontal rightward direction in gesture area 102.
Once the phone application is in a central location in card 301A as shown in fig. 6E, the user may tap card 301A or press button 103 to switch to full screen mode as shown in fig. 6F. In one embodiment, the user may also interact directly with the phone application in card mode as shown in FIG. 6E.
In one embodiment, the user may initiate additional activities by returning to the launch screen as shown in FIG. 1. In one embodiment, this is performed by executing a gesture or other command. In one embodiment, the user may also initiate additional activities by touching the icon 106 in the quick launch area 105. In one embodiment, the newly initiated activity results in a new card being added to the end of the card sequence shown in FIG. 7. In one embodiment, the newly launched active card has focus by default and is presented in a central location on screen 101.
In one embodiment, the user may dismiss the activity, for example, by turning off card 301. In one embodiment, card 301 may be closed by clicking on a control within the card. In another embodiment, card 301 may be turned off by dragging the card up off screen 101 or performing a flick action in an upward direction. Referring now to FIGS. 8A and 8B, an example of a sequence in which a user drags card 301B upward off screen 101, causing card 301B to dissolve, is shown.
As can be seen in fig. 8A and 8B, in one embodiment, freeing card 301B causes card 301C to move to the left to fill the void created by card 301B being freed. Generally, as card 301 is broken, other cards 301 move to fill the void.
In one embodiment, dismissing card 301 causes the application associated with the card to close. In another embodiment, the application remains open even when card 301 is closed.
In one embodiment, card 301 may automatically shut down under certain circumstances. For example, if a task associated with an application is completed, or if an application crashes or terminates, the application's card 301 may automatically close.
In one embodiment, the user may also rearrange card 301 while in card mode by clicking on card 301 and holding for a period of time (e.g., 500 milliseconds) and then dragging card 301 from one location to another. An example is shown in fig. 9A to 9D. The user clicks on card 301B and holds his or her finger on card 301B, and then drags card 301B upward, causing cards 301C and 301D to move to fill the gap. However, the user does not release card 301B immediately, but he or she moves card 301B to a position between cards 301C and 301D, as shown in FIG. 9C. When the user moves the dragged card 301B between the other two cards 301C and 301D, the two cards 301C and 301D are separated to allow the dragged card 301B to be placed. The result is the sequence shown in FIG. 9D, where card 301B is now located between cards 301C and 301D.
In one embodiment, some visual feedback is provided to indicate that card rearrangement is in progress; for example, once the user has held his or her finger in place for at least a specified period of time, the displayed card 301 may be highlighted in some unique manner, or may include an animation or other effect.
Once the movement action has been initiated, the user may continue to drag card 301 in any direction in order to place card 301 at a desired location within the sequence of cards 301. The sequence of cards 301 scrolls left or right in response to the drag operation; for example, if the user drags card 301 near the right edge of the screen, the screen scrolls to the left so that additional cards 301 in the sequence are presented while the other cards scroll off the screen. When the user releases card 301 to end the drag operation, card 301 is placed at the indicated position, thus completing the card sequence rearrangement action.
Slip mode
In one embodiment, an additional mode, referred to as a "shuffle" mode, provides the user with another mechanism to view and rearrange the cards. In one embodiment, in the shuffle mode, cards 301 are presented in a reduced size, thus permitting more cards 301 to be presented on screen 101 at the same time.
In one embodiment, when device 100 is in the shuffle mode, cards 301 are arranged in a linear fashion as in the card mode. The user may rearrange the card 301 as described above for card mode, and substantially all of the behavior described above with respect to card mode also applies to shuffle mode. Therefore, when the user drags card 301 to the left or right within display screen 100, other cards 301 move in cooperation with the dragged card 301. The shuffle mode provides a way to rearrange cards while being able to view more cards 301 at the same time.
A comparison of fig. 10A and 10B provides an example of the difference between the card mode and the slip mode. Referring now to FIG. 10A, there is shown a display screen 101 in a card mode according to one embodiment of the present invention and as described above; here, seven cards 301 are currently open, but only one card 301D is shown in full, as well as portions of two adjacent cards 301C, 301E. Cards 301A, 301B, 301F, and 301G are shown in FIG. 10A for illustrative purposes to depict their positional relationship to visible cards 301C, 301D, 301E even though cards 301B, 301F, and 301G are not on-screen and are not currently visible on screen 101.
Referring now to FIG. 10B, there is shown the display screen 101 of the same seven cards 301 contained in FIG. 10A in a shuffle mode. Here, three cards 301C, 301D, and 301E are shown in their entirety, as well as portions of two adjacent cards 301B, 301F. In one embodiment, the size of the cards shrinks so that additional displayed cards fit into the screen 301. Those skilled in the art will recognize that the particular number of cards 301 visible on the screen may be different in different embodiments, and the particular display of three fully visible cards plus two partially visible cards is merely exemplary to illustrate one embodiment.
In one embodiment, any number of cards 301 may be fully visible within screen 101. For example, as shown, three cards 301 may be fully visible, with additional partially visible cards 301 on each side. Alternatively, five cards 301 may be fully visible, with additional partially visible cards 301 on each side.
In one embodiment, the user may interact with card 301 in the shuffle mode in substantially the same manner as in the card mode. Card 301 can move back and forth and maintain the positional relationship between cards 301. Cards 301 are rearranged within the sequence by dragging and dropping. Card 301 may be closed and its activity dismissed by dragging card 301 upward off screen 101 or performing a flick action in an upward direction in a manner similar to the operation described above in connection with fig. 8A and 8B. For example, referring now to FIG. 10C, an example of a drag-up or tap action to dismiss card 301E is shown. Upon freeing card 301E, card 301F will be shifted to the left, occupying the space previously occupied by card 301E, and card 301G will be moved to the left, maintaining consistent spacing between cards.
In one embodiment, while in the shuffle mode, the user may initiate a rearrangement of the card sequence without having to first perform a tap and hold input operation for a period of time. For example, as shown in FIG. 10D, the user may immediately initiate a rearrangement of card 301 by dragging card 301D downward; the user does not have to tap and hold for a period of time. If the user wants to tap and hold, he or she may still initiate the rearrangement operation by such an operation. In either case, once the rearrangement operation has begun, the user can drag in any desired direction while continuing to hold his or her finger on the screen 101; when the user's finger is near the rightmost or leftmost edge of screen 101, the display of card 301 scrolls left or right as appropriate.
When card rearrangement occurs, card 301 is displaced to fill the gap in a manner similar to that described above in connection with fig. 9A-9D for the card view. Thus, in the shuffle view, if the user drags card 301D downward a sufficient amount, card 301E will move to the left to fill the gap as shown in FIG. 10D. When the user moves the dragged card 301D between the other two cards, the two cards will separate to allow the dragged card 301D to be placed.
In one embodiment, in the shuffle mode, card 301 exposes the operating application or other activity. Thus, as the user navigates between cards 301, he or she may see the actual running applications or other activities within each card 301.
Grid pattern
As mentioned above, in one embodiment, card mode and shuffle mode both present card 301 in a linear arrangement. In one embodiment, a grid pattern may be used that allows the user to see more cards 301 on screen 101 by presenting cards 301 in a two-dimensional grid.
Referring now to FIG. 10E, there is shown an example of a screen 101 containing four open cards 301 in a grid pattern.
In one embodiment, when in grid mode, cards 301 are presented in a size that permits all cards 301 to be displayed simultaneously. Thus, for example, in FIG. 10F, cards 301 are shown in a size smaller than that used in FIG. 10E so that all nine cards 301 can be shown simultaneously. When card 301 is undone or activated, card 301 may be appropriately scaled to permit all cards 301 to be displayed simultaneously.
In one embodiment, in a grid mode, the smallest card 301 size (or the maximum number of cards 301 displayed) is enforced, even though this means that only a subset of cards 301 can be displayed. Thus, in effect, once cards 301 have been scaled down to a minimum size (or once a maximum number of displayed cards 301 are presented on screen 101), no further scaling down occurs. Instead, scrolling is permitted to allow the user to access the remaining cards 301, which are not shown. Some visual indication may be provided to inform the user that additional cards 301 may be accessed via scrolling (e.g., by showing the edge of card 301 off-screen). The user may scroll, for example, by moving card 301 left or right or performing a gesture in gesture area 102 or by any other known means. In the example of fig. 10G, scrolling is implemented in the horizontal direction so as to position cards 301 that are not on the screen on the left and right sides of the displayed cards 301; however, those skilled in the art will recognize that scrolling may be implemented in any desired direction and/or in two or more directions if desired.
Referring now to FIG. 14, an example of a method for presenting card 301 in a grid mode according to one embodiment is shown. The grid pattern is initiated, for example, in response to a user input 1401. Device 100 determines (1402) the total number of cards 301 opened. Device 100 then determines (1403) whether the number of cards 301 opened exceeds the maximum number displayed on screen 101; this maximum number may depend on factors such as the size of the screen 101, the available resolution, the minimum acceptable size of the card 103, and/or other factors.
If the number of cards 301 opened does not exceed the maximum number, device 100 determines 1404 an appropriate scale factor to maximize screen size. As described above, in one embodiment, the cards are shown in a size that permits all cards 301 to be displayed simultaneously (so long as cards 301 have at least a minimum acceptable size). Apparatus 100 scales (1409) cards 301 according to the scale factor and displays (1405) all open cards 301.
If the number of open cards 301 exceeds the maximum number, device 100 scales (1410) cards 301 to an acceptable minimum size and displays (1406) a subset of open cards 301 at the acceptable minimum size. Cards 301 not shown may be accessed via scrolling. A scroll bar or other scrolling mechanism may be displayed; alternatively, the user may scroll by dragging card 301 in a particular direction. If a scroll command is received (1407), device 100 scrolls (1408) the cards to display a different subset of cards 301. Scrolling can occur repeatedly, if desired.
In grid mode, shuffle mode, and card mode in one embodiment, card 301 shows valid real-time information, and may interact with card 301 in the same manner as in full screen mode. In other embodiments, card 301 is presented in a "frozen" or static form in at least some of these modes.
Switching between modes
In one embodiment, the user may switch between modes by pressing a physical button 103 or some other button on device 100. In another embodiment, the user may touch or double-click the card 301 in the swipe mode to initiate a switch to full screen mode or card mode. In yet another embodiment, the device 100 switches from the shuffle mode to the full screen mode (or the card mode) after a period of inactivity. Other mechanisms may also be provided to switch between modes. In one embodiment, a transitional effect is performed when switching from one mode to another.
In another embodiment, the user can switch between card mode, swipe mode, and grid mode by tapping in a designated area on the screen 101. In one embodiment, the designated area is any area not occupied by any card 301. In another embodiment, the designated area is the area under card 301.
In yet another embodiment, tapping the area under the row of cards, while in card mode, causes switching to sliding mode; while when in the shuffle mode, tapping any area not occupied by card 301 causes a switch to the card mode. In other embodiments, other user input actions may cause switching between modes, including, for example, a typing gesture, tapping a key on a keyboard, pressing a button, selecting a menu command, activating an on-screen button or other element, and so forth.
In another embodiment, the user may switch between the various modes by performing a gesture. One example of such a gesture is a "swipe up" gesture that begins in gesture area 102 and extends onto screen 101. In one embodiment, this gesture switches from full screen mode to card mode, or from card mode to swipe mode, or from swipe mode to grid mode. In another embodiment, this gesture switches from a full screen mode to a card mode, or from a card mode to a grid mode. In another embodiment, the gesture switches from full screen mode to card mode or from card mode to launch the program screen.
Another example of a mode change gesture is a "down-swing" gesture that starts on the screen 101 and extends onto the gesture area 102. In one embodiment, this gesture switches from grid mode to swipe mode, or from swipe mode to card mode, or from card mode to full screen mode. In another embodiment, this gesture switches from a grid mode to a card mode, or from a card mode to a full screen mode. In yet another embodiment, this gesture switches from the launcher screen to card mode, or from card mode to full screen mode.
In other embodiments, other gestures may be used for mode changes, for example, a multi-finger gesture such as a pinch may be used to change from one mode to another.
In another embodiment, the user may switch between modes by initiating a mode change command (e.g., by touching a button on screen 101, or by pressing button 103 or some other physical button on device 100, or by selecting a mode change command from a menu).
In yet another embodiment, a user may switch from one mode to another by changing the orientation of device 100; for example, the device 100 may be equipped with an orientation sensor (e.g., accelerometer) that can detect the change and change the mode accordingly.
Those skilled in the art will recognize that mode changes may occur in response to other types of commands, contexts, and/or environmental factors.
Automatic card rearrangement
In some embodiments, device 100 may automatically rearrange cards 301 in response to certain user actions. For example, if a user attempts to initiate an activity that already has card 301 open, in some embodiments, the card 301 may be moved to any location that will be used for the newly initiated activity. In one embodiment, the new position for card 301 would be the rightmost position in the sequence for card 301. This may be desirable to maintain consistency with the user's desire for the newly launched activity to be located at the rightmost position in the sequence.
Referring now to fig. 11A-11D, examples of this technique and related behavior are shown. An example of display screen 101 in full screen mode according to one embodiment of the present invention is shown in FIG. 11A, where four cards 301 are open, with one card 301C having focus. As previously described, additional open cards 301A, 301B, 301D are depicted in FIG. 11A for illustration purposes only, but are not currently displayed on display screen 101.
In FIG. 11B, for example, new card 301E is introduced in response to the user initiating a new activity via the application launch screen. In one embodiment, new card 301E is positioned at the rightmost position in the sequence of cards 301, although those skilled in the art will recognize that other positions for new card 301E may be used. For example, new card 301E may be located in the leftmost position, or in some other position, such as adjacent to the most recently displayed card 301 when a new activity was initiated.
Further, in one embodiment and as shown in FIG. 11B, all cards 301 are shifted so as to give new card 301E focus.
FIG. 11C depicts an example of a rearrangement of cards that occurs in response to a user attempting to initiate an activity corresponding to card 301B that has been opened. In one embodiment, card 301B is moved to the end of the card sequence (the rightmost position). Further, in one embodiment and as shown in FIG. 11C, all cards 301 are shifted so as to give card 301B focus.
Alternatively, it may be desirable to move the focus so that when the user attempts to initiate activity corresponding to card 301B that has been opened, the focus is given to card 301B without rearranging the card sequence. Figure 11D depicts an example of an embodiment that is responsive to a user attempting to initiate an activity corresponding to card 301B that has been opened. Here, instead of rearranging the card sequence, the focus is changed, and the card sequence remains unchanged.
In one embodiment, the user may select whether the card sequence should be re-arranged when the activity corresponding to the open card 301 is initiated. This selection may be made in advance, such as via a preference or option screen. Alternatively, the user may be provided with an option between two behaviors when the activity corresponding to the open card 301 is initiated. For example, the user may be presented with a dialog box that prompts the activity to have opened and prompts the user to indicate whether to rearrange the card sequence.
11A-11D depict the device 100 in full screen mode, one skilled in the art will recognize that the automatic rearrangement techniques described herein may be performed in any mode, including card mode, shuffle mode, and/or grid mode. Furthermore, the particular arrangement and appearance of screen 101, device 100, and card 301 are intended to be exemplary, and not to limit the scope of the present invention in any way.
Referring now to FIG. 15, shown therein is a flow diagram depicting a method of card rearrangement in accordance with one embodiment. The user initiates (1501) an activity, for example by tapping an icon in the start screen. In step 1502, if there are no cards 301 already open for the initiated activity, a new card 301 is opened and added (1503) to the end of the current sequence of cards 301. For example, the new card 301 may be added 1503 at the rightmost position in the current sequence of the card 301. If no card 301 has been opened, new card 301 becomes the only card 301 in the sequence. Focus is shifted 1504 to new card 301, for example by placing new card 301 in the center of screen 101 or causing the activity represented by new card 301 to occupy substantially the entire screen 101, if in full screen mode.
If active card 301 initiated in step 1502 has been opened, device 100 determines (1505) whether the card sequence should be automatically reset. As described above, in some embodiments, the card sequence is automatically rearranged when an activity corresponding to an open card 301 is initiated, while in other embodiments, the card sequence is not automatically rearranged. Alternatively, the user may be provided with the option of selecting between two behaviors in advance or upon initiating an activity corresponding to an open card 301.
If device 100 determines (1505) that it should automatically rearrange the card sequence, card 301 corresponding to the initiated activity is moved (1507) to the end of the current sequence of cards 301 (e.g., by moving card 301 corresponding to the initiated activity to the rightmost position in the sequence of cards 301).
In one embodiment, regardless of whether the card sequence is rearranged, focus is shifted 1506 to card 301 corresponding to the activated activity, such as by placing card 301 in the center of screen 101, or causing the activity represented by card 301 to occupy substantially the entire screen 101 (if in full screen mode).
Sister card
In one embodiment, when a new card 301 is opened, its placement within the sequence of cards 301 depends on its relationship (if any) to the existing opened card 301. For example, if new card 301 is opened for an activity that is already running, new card 301 may be placed adjacent to the application's open card 301. Thus, these cards 301 (referred to as "sister cards") are positioned such that cards 301 for a given activity are positioned adjacent to each other throughout the sequence of cards. For example, when a user initiates a reply to an email message, a new card 301 for the email application may appear, and the new sister card 301 for the reply may be positioned adjacent to the existing card 301 of the original message. As another example, a new card 301 for a browser application may be located adjacent to any currently open card 301 for a browser application. Placing related cards 301 adjacent to each other allows a user to more easily discern the relationship between cards 301 in the sequence and navigate among cards 301.
Cards 301 may be related to each other (i.e., may be "sisters") due to the fact that the cards are associated with a common application or activity. Alternatively, a card may be considered a sister if it is related to a particular task, thread, contact, topic, company or operation. Sister relationships may be inferred or established based on explicit tags or other indications specified by the user. Those skilled in the art will recognize that regardless of the particular basis for determining sister relationships between cards 301, the mechanism for placing cards 301 according to the sister relationships of cards 301 may be used.
In one embodiment, sister cards 301 may be freely moved and/or separated as desired by the user. Thus, initially placing new card 301 with a sister relationship of new card 301 to open card 301 does not prevent card 301 from later moving to a location that is not adjacent to its sister 301.
Referring now to fig. 12A and 12B, an example of the placement of a sister card 301 according to one embodiment is shown. In FIG. 12A, seven cards 301 are open, and card 301D has focus. Device 100 is in full screen mode such that card 301D occupies substantially the entire screen 101.
In FIG. 12B, sister card 301D' is introduced, for example, in response to a user initiating a task to open a new card corresponding to the activity of card 301D. For example, if card 301D includes an email message, user initiation of a reply message may cause a new card 301D' to be opened for the reply. As shown in fig. 12B, a new card 301D' is introduced at a position adjacent to card 301D within the sequence of cards. As shown in FIG. 12B, in one embodiment there is a new card 301D 'in focus, and new card 301D' now occupies substantially the entire screen 101.
While fig. 12A and 12B depict device 100 in full screen mode, those skilled in the art will recognize that the sister card 301 activation techniques described herein may be performed in any mode, including card mode, shuffle mode, and/or raster mode. Furthermore, the particular arrangement and appearance of screen 101, device 100, and card 301 are intended to be exemplary, and not to limit the scope of the present invention in any way.
Referring now to fig. 12C and 12D, an example of reordering cards to separate sister cards in response to user input is shown, according to one embodiment of the invention. In the example, the user drags card 301D from its initial position to a new position between cards 301B and 301C. As can be seen in fig. 12D, in one embodiment, card 301D' remains in its original position and does not move with card 301D.
In another embodiment, the sister cards do move together, such that dragging card 301D will cause card 301D' to also move. For example, in one embodiment, sister cards 301 cannot be separated from each other.
In another embodiment, the user may specify in advance whether sister cards 301 should be moved together via a preference screen or similar mechanism or when the user initiates a card movement operation involving cards 301 with sisters.
In another embodiment, the user may choose to move more than one card 301 at the same time. For example, a user may highlight two or more cards 301 and then move one of the highlighted cards 301 to cause them all to move together. In one embodiment, selecting a card 301 with at least one sister causes the sister card to be automatically selected such that if the user then moves one of the selected cards 301, the sister card also moves; however, if the user does not want sister cards all to be moved 301 together, the user may deselect the selected card 301 before moving the card 301.
Card group
In one embodiment, cards 301 may be visually grouped with one another. Thus, cards 301 that have a certain relationship with one another (e.g., cards 301 associated with a particular application or activity) may be displayed in a manner that indicates and/or enforces the relationship. For example, cards 301 representing various web pages viewed via a browser application may be grouped together.
One example of a visual pattern for indicating a group of cards 301 is depicting cards 301 in a manner similar to stacking or covering, with a fully viewable front card 301 (or "top card") and one or more additional cards 301 depicted as if they were behind the front card 301. Alternatively, the card groups may be indicated in other ways that distinguish the card groups from ungrouped cards 301, for example, the card groups may be shown via a distinct color scheme, different sizes, different vertical or horizontal positioning, bracketing, highlighting, spacing, or any other mechanism. In various embodiments, as described below, the user may interact with the groups, detach their constituent cards 301, create new groups, change group order, and so forth, as desired. In one embodiment, where stacking is used to indicate groups, cards 301 may sometimes be automatically or manually "unstacked", even while retaining their group relationships, in order to facilitate some type of interaction and viewing of the constituent cards 301. While card 301 is unstacked, in some embodiments, an alternative mechanism (e.g., bracketing or with distinctive coloring) is used to alert the user that card 301 is still a group member. For example, in one embodiment, a group of cards is represented by a stack in a card view, but the stacks are separated in full screen mode so that each constituent card 301 can be seen in its entirety by the user.
Referring now to fig. 13A-13K, various examples of visual depictions of card groups and behaviors according to various embodiments are shown. Fig. 13A depicts the display screen 101 in full-screen mode. Eight cards 301A, 301B, 301C ' ' ', 301D and 301E are open, and card 301C currently has focus. Cards 301C, 301C ', 301C ", and 301C'" form a card group, for example, due to the fact that they are all associated with a common activity or application. However, in the example of FIG. 13A, the grouping of cards 301 is not explicitly shown in full screen mode, and cards 301 behave in the same manner as if they were not grouped with each other. However, those skilled in the art will recognize that in other embodiments, the card groups may be depicted by some visual means (e.g., distinctive color, shading, border, icon, or other indicator).
FIG. 13B depicts display screen 101 in card mode, with the same eight cards 301A, 301B, 301C ', 301C ", 301C'", 301D and 301E open, and card 301C still has focus. Here, grouped cards 301C, 301C ', 301C ", and 301C'" are depicted in stack 1301A, with the front card 301C being shown in full, and the remaining cards 301C ', 301C ", and 301C'" being partially covered by card 301C. In one embodiment, the order of cards 301C, 301C ', 301C ", and 301C'" corresponds to the order in which cards 301C, 301C ', 301C ", and 301C'" appear in full-screen mode. In another embodiment, if one of cards 301C, 301C ', 301C ", and 301C'" in the group has focus when the user switches from full screen mode to card mode, then the card 301 having focus is located in front of stack 1301A, the remaining cards 301 in the group are located elsewhere in the stack.
In one embodiment, a user may move and manipulate stack 1301A as if stack 1301A were a single card 301, including rearranging stack 1301A within a sequence of cards, dismissing stack 1301A, and so on. In one embodiment, the user may dismiss the entire group of cards by performing a card dismissal operation on stack 1301A (e.g., dragging stack 1301A up to the top of screen 101). In another embodiment, this dismissal action only dismisses the top card in the group, while leaving the remaining cards 301 open (and still grouped if there is more than one card 301). In another embodiment, in response to the user's act of dismissing stack 1301A, the user is prompted to specify whether he or she desires to dismiss the entire group or individual cards 301.
In one embodiment, a user may cause cards 301 in stack 1301A to reorder in order to place a different card 301 on top of stack 1301A for ease of viewing. In one embodiment, the user drags the preceding card (e.g., card 301C in FIG. 13B) in a downward direction to rearrange the order of cards 301 in stack 1301A. In response to this action, the front card 301 moves to the back of stack 1301A, and the card immediately behind the front card moves to the front. For example, FIG. 13C depicts display screen 101 with card 301C having moved to the rear of stack 1301A such that card 301C' is now shown after the front position.
If the user causes a switch from card mode to full screen mode, in one embodiment, cards 301 in stack 1301A are "unstacked" such that full screen mode is similar to the mode shown in FIG. 13A. In one embodiment, upon entering full screen mode from card mode, cards belonging to a group are placed in an order corresponding to the most recent arrangement of cards 301 in stack 1301A.
As mentioned above, in various embodiments, the card group may be shown in other ways. For example, in one embodiment, card 301 that is part of a group may be indicated using the size and/or vertical offset of the card. For example, in FIG. 13D, cards 301C, 301C ', 301C ", and 301C'" are shown in larger size and at different vertical offsets as compared to other cards 301A, 301B, 301D, 301E; this indicates that cards 301C, 301C ', 301C ", and 301C'" form part of group 1301B. The particular vertical offset and size shown in fig. 13D is exemplary only.
In one embodiment, some of cards 301 in a group are shown in front of other cards 301 that are not part of the group and partially cover the other cards 301. For example, in FIG. 13D, card 301C partially covers card 301B (which is not part of group 1301B); similarly, card 301C' "(if it is in display 101) would partially obscure card 301D. In one embodiment, where and when covered card 301 has focus, covered card 301 is brought into full view.
In one embodiment, if focus changes such that card 301 with focus is not a member of group 1301B, the depiction of group 1301B becomes a stacked view. Thus, in this embodiment, the mechanism for delineating a group in FIG. 13D is used only when one member of the group has focus; otherwise the group is shown as a stack. In general, in one embodiment, the description of the stack may change from one view to another depending on whether cards 301 in the stack currently have focus. Referring now to fig. 13F and 13G, an example is shown of transitioning from a view of one of the members of group 1301B having a focus to a view of a card not part of the group having a focus. In FIG. 13F, card 301C (which is a member of group 1301B) has focus; accordingly, the members of group 1301B are indicated using the vertical offset and difference in size compared to other cards 301. In FIG. 13G, card 301D (which is not a member of group 1301B) has focus; accordingly, the members of group 1301B are indicated as stack 1301A.
In one embodiment, the size and/or vertical offset of the card may be used to delineate a group of cards in both card mode and shuffle mode. In another embodiment, the card group is depicted by a vertical offset and distinct card sizes in card mode (as shown in FIG. 13D), but is depicted by a vertical offset in shuffle mode without changing the size of the card. An example of such an arrangement is shown in fig. 13E, which depicts the screen 101 in a shuffle mode. In FIG. 13E, cards 301C, 301C ', 301C ", and 301C'" are shown at different vertical offsets as compared to other cards 301A, 301B, 301D, 301E to indicate that cards 301C, 301C ', 301C ", and 301C'" are members of group 1301B. However, in this example, all cards 301 are shown at the same size.
In one embodiment, cards 301 are automatically grouped with one another, such as when several cards 301 are associated with a common application or other activity. In one embodiment, a user may manually add card 301 to a group or remove card 301 from a group. In the swipe mode and/or in the card mode, the user may add card 301 to the group by dragging card 301 to the area of the screen occupied by the card group. 16A-16D, an example is shown in which a user drags card 301B to a location within group 1301B between cards 301C' and 301C "; this causes card 301B to be added to group 1301B, at a location between cards 301C' and 301C ″. The example depicts operation in card mode, but the operation may also be performed in a similar manner in shuffle mode.
In the swipe mode and/or in the card mode, the user may remove card 301 from the group by dragging card 301 to an area of the screen not occupied by the card group. 17A-17D, an example is shown in which a user drags card 301C' to a location between cards 301D and 301E; this causes card 301C' to be removed from group 1301B and placed in a position between cards 301D and 301E. The example depicts operation in card mode, but the operation may also be performed in a similar manner in shuffle mode. In one embodiment, upon completion of the operation, card 301C' will have focus; accordingly, card 301C' (and adjacent cards 301D and 301E) will be shown in a conventional card view size. Further, in one embodiment, as described above, the remaining cards 301C, 301C ', and 301C' ″ in group 1301B will form a stack because they no longer have focus.
In one embodiment, the user may manually create a new group and add card 301 thereto. For example, referring now to FIG. 13H, when in the swipe mode, the user drags card 301D slightly downward; this creates a new group 1301B containing a single card 301D. Card 301D is then held in an offset position relative to other cards 301 to indicate that it is a member of group 1301B. Referring now to FIG. 13I, the user drags another card 301E down to add it to existing group 1301B. Referring now to FIG. 13J, the user drags another card 301G down to add it to an existing group 1301B; as shown in fig. 13K, the card sequence is rearranged such that cards 301D, 301E, and 301G are positioned adjacent to each other.
Those skilled in the art will recognize that the techniques depicted in FIGS. 13H-13K are merely exemplary, and other techniques may be used to create a group and add cards 301 to a group. For example, a button, drop down menu, gesture, or other user input mechanism may be used to activate the "create group" command. Alternatively, the user may place a finger on each of the two or more cards 301 to be grouped together and pinch the fingers together to create a new group including the two or more cards 301. Alternatively, the user may group two or more cards by dragging one card 301 onto another card. Subsequently, additional cards 301 may be added to the group by dragging or by an additional pinch input operation.
In one embodiment, visual feedback is provided when the user is dragging card 301 onto a group or otherwise performing an input operation that may add card 301 to a group. For example, when the user drags card 301 over a group but before he or she completes the drag and drop operation, a distinct highlighting effect, such as a glow, may be applied to the group. This highlighting effect may be used to inform the user that if he or she drops card 301, then card 301 will be placed in the group.
In one embodiment, the vertical offset at which the user drops card 301 is only involved when it is necessary to distinguish between a card rearrangement action and an action intended to add/remove card 301 to/from a group. For example, if a user drags a card 301 and drops that card 301 between two cards 301 that are already part of a group, then no vertical offset of the dragged card is involved; card 301 joins the group once it is dropped. On the other hand, if the user drags card 301 and drops card 301 between card 301 that is part of a group and an adjacent card that is not part of a group, a vertical offset when card 301 is dropped is involved in determining whether to a) add card 301 to a group or b) move card 301 to a position adjacent to (but not part of) a group.
For example, referring back to FIG. 13K, if the user drags and drops card 301A to a position between cards 301E and 301G, card 301A joins group 1301B regardless of the vertical position of card 301A when dropped. However, if the user drags and drops card 301A to a position between cards 301G and 301F, the vertical position of card 301A determines whether card 301A joins group 1301B. Specifically, if the vertical position is close to that of card 301F, then card 301A is not added to group 1301B, but is placed on the left side of card 301F without grouping. However, if the vertical position is closer to that of card 301G, then card 301A joins group 1301B and is placed within group 1301B, to the right of card 301G.
In one embodiment, the user may open or close the card grouping, for example, via a preferences or options screen. If the card grouping is closed, all cards 301 are represented individually and no group reference is made. In one embodiment, the grouping relationship is preserved internally when card groupings are closed, so that the group can be re-established if the card groupings are opened later.
In one embodiment, groups may be nested such that a group may contain another group as one of its members. Any number of levels of such nesting may be implemented. In one embodiment, successively nested groups may be indicated, for example, by different offsets in vertical position on screen 101.
In various embodiments, the present invention may be implemented as a system or method for performing the above-described techniques, either alone or in any combination. In another embodiment, the invention may be implemented as a computer program product comprising a computer readable storage medium and computer program code encoded on the medium for performing the techniques described above.
It will be apparent to those skilled in the art that the various features described above may be implemented alone or in any combination.
The invention has been described in detail with respect to one possible embodiment. Those skilled 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, or entirely in hardware elements, or entirely in software elements, as described. Moreover, 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 alternatively be performed by multiple components, and functions performed by multiple components may alternatively be performed by a single component.
Reference herein to "one embodiment," "an embodiment," or "one or more embodiments" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Moreover, it is noted that the examples of the phrase "in one embodiment" herein do not necessarily all refer to the same embodiment.
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, understood 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 has proven 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. Moreover, it is also convenient at times, to refer to certain specific arrangements of steps requiring physical manipulations of physical quantities as modules or code devices, without loss of generality.
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 discussions, 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.
Certain aspects of the present disclosure 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 could be embodied in software, firmware or hardware, and when embodied in software, could be downloaded to reside on and be operated from different platforms used by a variety of operating systems.
The present invention also relates to 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 not limited to: any type of disk including floppy disks, optical disks, CD-ROMs, and magneto-optical disks; read Only Memory (ROM), Random Access Memory (RAM), EPROM, EEPROM, magnetic or optical cards, Application Specific Integrated Circuits (ASIC), 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 comprise a single processor, or may be architectures employing multiple processor designs seeking increased computing capability.
The algorithms and displays presented herein are not inherently related to any particular computer, visualization 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 invention as described herein, and any references above to specific languages are provided for disclosure of enablement and best mode of the present invention.
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 can be devised which do not depart from the scope of the invention as described herein. Furthermore, 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 following claims.

Claims (20)

1. A computer system, comprising:
a processor;
a touch sensitive display screen coupled to the processor, the processor receiving gesture input on the touch sensitive display screen and operating the computer system in any one of at least two display modes, wherein:
during a given duration, the processor simultaneously operating at least a first application and a second application;
in a full screen mode, the processor providing a user interface for only one of the at least first or second applications on the touch-sensitive display screen;
in the window mode, the processor:
providing a first card corresponding to the first application and providing a first portion of a second card on the touch-sensitive display screen such that a second portion of the second card is not visible on the touch-sensitive display screen, the second card corresponding to the second application, wherein at least the first card displays content from an operation of the first application, the content corresponding to: (i) output from an application, (ii) a task, (iii) a message, (iv) a document or (v) a web page;
responding to a directional contact along a first direction on the touch-sensitive display screen by changing a position of the first card in the first direction relative to the touch-sensitive display screen; and
responsive to a directional contact moving the first or second card in a second direction on the touch-sensitive display screen that is different from the first direction, by (i) identifying one of the first or second cards as selected based on the directional contact in the second direction, and (ii) dismissing the selected first or second card from the touch-sensitive display screen in the second direction such that the corresponding first or second application is closed;
wherein, in response to receiving user input, the processor converts the computer system at least to: (i) transition from the full-screen mode to the windowed mode, or (ii) transition from the windowed mode to the full-screen mode.
2. The computer system of claim 1, wherein the first direction is substantially horizontal on the touch-sensitive display screen, and wherein the second direction is substantially vertical on the touch-sensitive display screen.
3. The computer system of claim 1, wherein the second direction is generally upward.
4. The computer system of claim 1, wherein in the windowed mode, each card includes a user interface for a corresponding application activity, and wherein the user interface is adapted to display content from operations of the corresponding application activity and to receive input for the corresponding application activity.
5. The computer system of claim 1, wherein, in the window mode, at least one of the first card or the second card includes a static representation of a user interface for corresponding application activity.
6. The computer system of claim 1, wherein the processor is configured to operate the computer system in a third mode in which the second and third cards are stacked, the second and third cards each corresponding to the second application.
7. The computer system of claim 1, wherein in the window mode, the processor provides only one of the first card or the second card as having focus, and wherein in the window mode, the processor responds to a directional contact along the first direction on the touch-sensitive display screen by selecting which of the first card or second card is in focus.
8. The computer system of claim 1, wherein the computer system is implemented on a mobile computing device.
9. The computer system of claim 8, wherein the mobile computing device is a handheld device.
10. The computer system of claim 1, wherein the first direction is substantially vertical on the touch-sensitive display screen, and wherein the second direction is substantially horizontal on the touch-sensitive display screen.
11. The computer system of claim 1, wherein, when operating the computer system in the windowed mode, the processor is further configured to respond to directional contact moving the first or second card in the second direction by moving at least the other of the first or second card to fill in a void left by the disintegrated first or second card.
12. A method for operating a computing device, the method being implemented by one or more processors and comprising:
operating the computing device in a full screen mode in which at least a first application and a second application are operated simultaneously, and wherein a user interface is displayed on a touch-sensitive display screen for only one of the first application or second application;
receiving a user input while operating the computing device in the full screen mode;
in response to receiving the user input, transitioning from operating the computing device in the full-screen mode to operating the computing device in a windowed mode, wherein in the windowed mode, (i) at least a first card is displayed on the touch-sensitive display screen, the first card corresponding to the first application, and (ii) a first portion of a second card is displayed on the touch-sensitive display screen such that a second portion of the second card is not visible on the touch-sensitive display screen, the second card corresponding to the second application;
while operating the computing device in the windowed mode:
responding to a directional contact along a first direction on the touch-sensitive display screen by changing a position of the first card in the first direction relative to the touch-sensitive display screen; and
responsive to the directional contact moving the first or second card in a second direction on the touch-sensitive display screen that is different from the first direction, by (i) identifying one of the first or second cards as selected based on the directional contact in the second direction, and (ii) dismissing the selected first or second card from the touch-sensitive display screen in the second direction such that the corresponding first or second application is exited.
13. The method of claim 12, wherein the first direction is substantially horizontal on the touch-sensitive display screen, and wherein the second direction is substantially vertical on the touch-sensitive display screen.
14. The method of claim 12, wherein the first direction is substantially vertical on the touch-sensitive display screen, and wherein the second direction is substantially horizontal on the touch-sensitive display screen.
15. The method of claim 12, wherein responding to the directional contact moving the first or second card along the second direction when operating the computing device in the windowed mode comprises moving at least the other of the first or second card to fill a void left by the disintegrated first or second card.
16. The method of claim 12, wherein, in the windowed mode, in response to receiving a tap input on the first card or the second card displayed on the touch-sensitive display screen, the computing device is transitioned from operating in the windowed mode to operating in the fullscreen mode.
17. A system for operating a computing device, the system comprising:
means for operating the computing device in a full screen mode, wherein in the full screen mode, a user interface is displayed on a touch-sensitive display screen for only one of a first application or a second application;
means for receiving user input while operating the computing device in the full screen mode;
means for transitioning from operating the computing device in the full-screen mode to operating the computing device in a windowed mode in response to receiving the user input, wherein in the windowed mode, (i) at least a first card is displayed on the touch-sensitive display screen, the first card corresponding to the first application, and (ii) a first portion of a second card is displayed on the touch-sensitive display screen such that a second portion of the second card is not visible on the touch-sensitive display screen, the second card corresponding to the second application;
means for responding to a directional contact along a first direction on the touch-sensitive display screen by changing a position of the first card relative to the touch-sensitive display screen in the first direction while operating the computing device in the windowed mode; and
means for responding to a directional contact moving the first or second card in a second direction different from the first direction on the touch-sensitive display screen while operating the computing device in the windowed mode by (i) identifying one of the first or second cards as selected based on the directional contact in the second direction and (ii) dismissing the selected first or second card from the touch-sensitive display screen in the second direction such that the corresponding first or second application is exited.
18. The system of claim 17, wherein the first direction is substantially horizontal on the touch-sensitive display screen, and wherein the second direction is substantially vertical on the touch-sensitive display screen.
19. The system of claim 17, wherein the first direction is substantially vertical on the touch-sensitive display screen, and wherein the second direction is substantially horizontal on the touch-sensitive display screen.
20. The system of claim 17, further comprising means for:
responding to a directional contact moving the first or second card along the second direction by moving at least the other of the first or second card to fill a void left by the disintegrated first or second card when operating the computing device in the windowed mode.
HK14104956.8A 2008-05-23 2014-05-27 Card metaphor for activities in a computing device HK1193657B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/126,145 2008-05-23
US12/416,279 2009-04-01

Publications (2)

Publication Number Publication Date
HK1193657A HK1193657A (en) 2014-09-26
HK1193657B true HK1193657B (en) 2018-04-06

Family

ID=

Similar Documents

Publication Publication Date Title
US20220283682A1 (en) Application management in a computing device
US11880551B2 (en) Navigating among activities in a computing device
US8159469B2 (en) User interface for initiating activities in an electronic device
HK1228528A (en) Card metaphor for activities in a computing device
HK1228528A1 (en) Card metaphor for activities in a computing device
HK1193657B (en) Card metaphor for activities in a computing device
HK1193657A (en) Card metaphor for activities in a computing device
HK1228528B (en) Card metaphor for activities in a computing device