Embodiments of the present invention relate generally to user interface technology and, more particularly, some example embodiments relate to methods and apparatuses for facilitating task switching.
The modern computing era has brought about a tremendous expansion in computing power as well as increased affordability of computing devices. This expansion in computing power has led to a reduction in the size of computing devices and given rise to a new generation of mobile devices that are capable of performing functionality that only a few years ago required processing power provided only by the most advanced desktop computers. Consequently, mobile computing devices having a small form factor have become ubiquitous and are used for execution of a wide range of applications. Some mobile computing devices even have multiple display screens. However, evolution of user interface technology taking advantage of the capabilities, such as multiple displays, offered by modern mobile computing devices has lagged the evolution of the computing devices themselves.
Methods, apparatuses, and computer program products are herein provided for facilitating task switching. Methods, apparatuses, and computer program products in accordance with various embodiments may provide several advantages to computing devices and computing device users. Some example embodiments provide for display of a task selection interface in response to activation of a second display on a multi-display computing device. Activation of the second display may be triggered by physical manipulation of the multi-display computing apparatus, such as by expanding a slide-out portion of the device or unfolding a folding portion of the device. In this regard, some example embodiments enable a user to trigger display of the task selection interface by physically manipulating a multi-display computing device to an expanded state when the task selection interface is needed. The task selection interface of some example embodiments comprises a task switcher having selectable indications of tasks running on a multi-display computing device. Accordingly, a user may be enabled to quickly switch between active tasks even when using a mobile computing device having a constrained task display area. Some example embodiments further provide an enhanced task selection interface enabling a user to manipulate selection and display of tasks on a multi-display computing device.
In a first example embodiment, a method is provided, which comprises detecting activation of a second display on a multi-display computing apparatus comprising a first and second display. The first display of this example embodiment is in an active state prior to activation of the second display. The method of this example embodiment further comprises causing a task selection interface to be displayed in response to the detected activation.
In another example embodiment, an apparatus is provided. The apparatus of this example embodiment comprises at least one processor and at least one memory storing computer program code, wherein the at least one memory and stored computer program code are configured, with the at least one processor, to cause the apparatus to at least detect activation of a second display on a multi-display computing apparatus comprising a first and second display. The first display of this example embodiment is in an active state prior to activation of the second display. The at least one memory and stored computer program code are configured, with the at least one processor, to further cause the apparatus of this example embodiment to cause a task selection interface to be displayed in response to the detected activation.
In another example embodiment, a computer program product is provided. The computer program product of this example embodiment includes at least one computer-readable storage medium having computer-readable program instructions stored therein. The program instructions of this example embodiment comprise program instructions configured to detect activation of a second display on a multi-display computing apparatus comprising a first and second display. The first display of this example embodiment is in an active state prior to activation of the second display. The program instructions of this example embodiment further comprise program instructions configured, in response to the detected activation, to cause a task selection interface to be displayed.
In another example embodiment, an apparatus is provided that comprises means for detecting activation of a second display on a multi-display computing apparatus comprising a first and second display. The first display of this example embodiment is in an active state prior to activation of the second display. The apparatus of this example embodiment further comprises means for causing a task selection interface to be displayed in response to the detected activation.
The above summary is provided merely for purposes of summarizing some example embodiments of the invention so as to provide a basic understanding of some aspects of the invention. Accordingly, it will be appreciated that the above described example embodiments are merely examples and should not be construed to narrow the scope or spirit of the invention in any way. It will be appreciated that the scope of the invention encompasses many potential embodiments, some of which will be further described below, in addition to those here summarized.
Having thus described embodiments of the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
a-3b illustrate display of an example task selection interface according to an example embodiment of the invention;
a-4c illustrate physical manipulation of an example multi-display computing apparatus to trigger display of a task selection interface according to an example embodiment of the invention;
a-5c illustrate physical manipulation of an example multi-display computing apparatus to trigger display of a task selection interface according to an example embodiment of the invention;
a-6d illustrate selection and display of a task using an example task selection interface according to an example embodiment of the invention;
a-7d illustrate selection and display of a task using an example task selection interface according to an example embodiment of the invention;
a-8d illustrate selection and display of a task using an example task selection interface according to an example embodiment of the invention;
a-9c illustrate moving an example task selection interface between displays according to an example embodiment of the invention;
Some embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the invention are shown. Indeed, the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout.
As used herein, the term ‘circuitry’ refers to (a) hardware-only circuit implementations (e.g., implementations in analog circuitry and/or digital circuitry); (b) combinations of circuits and computer program product(s) comprising software and/or firmware instructions stored on one or more computer readable memories that work together to cause an apparatus to perform one or more functions described herein; and (c) circuits, such as, for example, a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation even if the software or firmware is not physically present. This definition of ‘circuitry’ applies to all uses of this term herein, including in any claims. As a further example, as used herein, the term ‘circuitry’ also includes an implementation comprising one or more processors and/or portion(s) thereof and accompanying software and/or firmware. As another example, the term ‘circuitry’ as used herein also includes, for example, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, other network device, and/or other computing device.
The multi-display computing apparatus 102 may be embodied as a desktop computer, laptop computer, mobile terminal, mobile computer, mobile phone, mobile communication device, one or more servers, one or more network nodes, game device, digital camera/camcorder, audio/video player, television device, radio receiver, digital video recorder, positioning device, any combination thereof, and/or the like. In this regard, the multi-display computing apparatus 102 may comprise any computing device comprising or operatively connected to two or more displays.
In some example embodiments, the multi-display computing apparatus 102 is embodied as a mobile computing device having a physically manipulable form factor. The mobile computing device of such embodiments may have a compressed state wherein one of the displays of the device is at least partially obscured or hidden by and/or within a housing of the computing device. For example, a mobile computing device of such example embodiments may comprise a flip phone or other device having a folding form factor (e.g., a clamshell design) wherein a portion of the computing device may be folded onto another portion of the device. A display of a multi-display computing device having a folding form factor may accordingly be exposed by unfolding the folding portion of the device such that the device is in an expanded state. As another example, a mobile computing device according to such example embodiments may have a sliding form factor and comprise a slide-out portion that when compressed is hidden by an overlying and/or underlying portion of the device. A display of a multi-display computing device having a sliding form factor may accordingly be exposed by expanding the slide-out portion such that the device is in an expanded state.
In an example embodiment, the multi-display computing apparatus 102 is embodied as a mobile terminal, such as that illustrated in
As shown, the mobile terminal 10 may include an antenna 12 (or multiple antennas 12) in communication with a transmitter 14 and a receiver 16. The mobile terminal 10 may also include a processor 20 configured to provide signals to and receive signals from the transmitter and receiver, respectively. The processor 20 may, for example, be embodied as various means including circuitry, one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more coprocessors, one or more multi-core processors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits such as, for example, an ASIC (application specific integrated circuit) or FPGA (field programmable gate array), or some combination thereof. Accordingly, although illustrated in
Some Narrow-band Advanced Mobile Phone System (NAMPS), as well as Total Access Communication System (TACS), mobile terminals may also benefit from embodiments of this invention, as should dual or higher mode phones (e.g., digital/analog or TDMA/CDMA/analog phones). Additionally, the mobile terminal 10 may be capable of operating according to Wireless Fidelity (Wi-Fi) or Worldwide Interoperability for Microwave Access (WiMAX) protocols.
It is understood that the processor 20 may comprise circuitry for implementing audio/video and logic functions of the mobile terminal 10. For example, the processor 20 may comprise a digital signal processor device, a microprocessor device, an analog-to-digital converter, a digital-to-analog converter, and/or the like. Control and signal processing functions of the mobile terminal may be allocated between these devices according to their respective capabilities. The processor may additionally comprise an internal voice coder (VC) 20a, an internal data modem (DM) 20b, and/or the like. Further, the processor may comprise functionality to operate one or more software programs, which may be stored in memory. For example, the processor 20 may be capable of operating a connectivity program, such as a web browser. The connectivity program may allow the mobile terminal 10 to transmit and receive web content, such as location-based content, according to a protocol, such as Wireless Application Protocol (WAP), hypertext transfer protocol (HTTP), and/or the like. The mobile terminal 10 may be capable of using a Transmission Control Protocol/Internet Protocol (TCP/IP) to transmit and receive web content across the internet or other networks.
The mobile terminal 10 may also comprise a user interface including, for example, an earphone or speaker 24, a ringer 22, a microphone 26, a display 28, a user input interface, and/or the like, which may be operationally coupled to the processor 20. In this regard, the processor 20 may comprise user interface circuitry configured to control at least some functions of one or more elements of the user interface, such as, for example, the speaker 24, the ringer 22, the microphone 26, the display 28, and/or the like. The processor 20 and/or user interface circuitry comprising the processor 20 may be configured to control one or more functions of one or more elements of the user interface through computer program instructions (e.g., software and/or firmware) stored on a memory accessible to the processor 20 (e.g., volatile memory 40, non-volatile memory 42, and/or the like). Although not shown, the mobile terminal may comprise a battery for powering various circuits related to the mobile terminal, for example, a circuit to provide mechanical vibration as a detectable output. The user input interface may comprise devices allowing the mobile terminal to receive data, such as a keypad 30, a touch display (not shown), a joystick (not shown), and/or other input device. In embodiments including a keypad, the keypad may comprise numeric (0-9) and related keys (#, *), and/or other keys for operating the mobile terminal.
As shown in
The mobile terminal 10 may comprise memory, such as a subscriber identity module (SIM) 38, a removable user identity module (R-UIM), and/or the like, which may store information elements related to a mobile subscriber. In addition to the SIM, the mobile terminal may comprise other removable and/or fixed memory. The mobile terminal 10 may include volatile memory 40 and/or non-volatile memory 42. For example, volatile memory 40 may include Random Access Memory (RAM) including dynamic and/or static RAM, on-chip or off-chip cache memory, and/or the like. Non-volatile memory 42, which may be embedded and/or removable, may include, for example, read-only memory, flash memory, magnetic storage devices (e.g., hard disks, floppy disk drives, magnetic tape, etc.), optical disc drives and/or media, non-volatile random access memory (NVRAM), and/or the like. Like volatile memory 40 non-volatile memory 42 may include a cache area for temporary storage of data. The memories may store one or more software programs, instructions, pieces of information, data, and/or the like which may be used by the mobile terminal for performing functions of the mobile terminal. For example, the memories may comprise an identifier, such as an international mobile equipment identification (IMEI) code, capable of uniquely identifying the mobile terminal 10.
Returning to
The processor 110 may, for example, be embodied as various means including one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more coprocessors, one or more multi-core processors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits such as, for example, an ASIC (application specific integrated circuit) or FPGA (field programmable gate array), or some combination thereof. Accordingly, although illustrated in
The memory 112 may comprise, for example, volatile memory, non-volatile memory, or some combination thereof. Although illustrated in
The communication interface 114 may be embodied as any device or means embodied in circuitry, hardware, a computer program product comprising computer readable program instructions stored on a computer readable medium (e.g., the memory 112) and executed by a processing device (e.g., the processor 110), or a combination thereof that is configured to receive and/or transmit data from/to an entity, such as over a network. The communication interface 114 may include, for example, an antenna, a transmitter, a receiver, a transceiver and/or supporting hardware or software for enabling communications with one or more remote computing devices, such as over a network. The communication interface 114 may be configured to receive and/or transmit data using any protocol that may be used for communications between computing devices. In this regard, the communication interface 114 may be configured to receive and/or transmit data using any protocol that may be used for transmission of data over a wireless network, wireline network, some combination thereof, or the like by which the multi-display computing apparatus 102 and one or more computing devices may be in communication. In an example embodiment, the communication interface 114 is at least partially embodied as or otherwise controlled by the processor 110. In this regard, the communication interface 114 may be in communication with the processor 110, such as via a bus. The communication interface 114 may additionally be in communication with the memory 112, user interface 116, stimulus and/or interface control circuitry 118, such as via a bus.
The user interface 116 may be in communication with the processor 110 to receive an indication of a user input and/or to provide an audible, visual, mechanical, or other output to a user. As such, the user interface 116 may include, for example, a keyboard, a mouse, a joystick, a display, a touch screen display, a microphone, a speaker, and/or other input/output mechanisms. In some example embodiments, the user interface 116 comprises a plurality of displays. One or more of the displays may comprise a touch screen display. One or more of the displays may also be embodied on the multi-display computing apparatus 102 such that it is at least partially obscured by a portion of the multi-display computing apparatus 102 when the apparatus 102 is in a compressed state. The user interface 116 may be in communication with the memory 112, communication interface 114, and/or interface control circuitry 118, such as via a bus.
The interface control circuitry 118 may be embodied as various means, such as circuitry, hardware, a computer program product comprising computer readable program instructions stored on a computer readable medium (e.g., the memory 112) and executed by a processing device (e.g., the processor 110), or some combination thereof and, in one embodiment, is embodied as or otherwise controlled by the processor 110. In embodiments wherein the interface control circuitry 118 is embodied separately from the processor 110, the interface control circuitry 118 may be in communication with the processor 110. The interface control circuitry 118 may further be in communication with one or more of the memory 112, communication interface 114, or user interface 116, such as via a bus.
As previously described, the multi-display computing apparatus 102 may comprise and/or be in operative communication with two or more displays. For purposes of example, several example embodiments are described below with respect to two displays. However, it will be appreciated that these embodiments can be applied to apparatuses having more than two displays. In one operation state of a multi-display computing apparatus 102 according to some example embodiments, a first display (or more than one display) may be in an active state and a second display (or more than one display) may be deactivated. In this regard, content, a user interface, and/or the like may be displayed on a display in an active state so as to enable a user to interact with one or more tasks implemented on or otherwise accessible from the multi-display computing apparatus 102. In contrast, a deactivated display may, for example, not display any content.
A deactivated display may be activated in response to user interaction with the multi-display computing apparatus. Such user interaction may, for example, comprise physical manipulation of a form factor of the multi-display computing apparatus. For example, in accordance with respective example embodiments, a user may expand a slide-out portion or unfold a folding portion in order to expose and activate a deactivated display. As another example, a user may “turn on” a deactivated display by selecting a toggle or other input for controlling the display, such as via the user interface 116.
The interface control circuitry 118 may be configured to detect activation of a second display. In this regard, the interface control circuitry 118 may, for example, be configured to receive or otherwise detect an indication of a user input or manipulation triggering activation of the display. Depending on the embodiment, the indication may comprise any appropriate indication indicating activation of the display. By way of example and not by way of limitation an indication received or otherwise detected by the interface control circuitry 118 may comprise an electrical signal generated by powering the display; an input signal generated in response to user selection of a toggle, button, soft key, or the like for activating the display; a signal generated by an electromechanical switch or trigger in response to a state change caused by physical manipulation of a form factor (e.g., expanding a slide-out portion, unfolding a folding portion, or the like) of the multi-display computing apparatus 102; and/or the like.
The interface control circuitry 118 may be further configured to cause a task selection interface to be displayed in response to a detected activation. In this regard, the interface control circuitry 118 may, for example, be configured to cause the task selection interface to be displayed on a first display that was in an active state prior to the activation or may be configured to cause the task selection interface to be displayed on the newly activated second display. The display on which the interface control circuitry 118 causes the task selection interface to be displayed may be predefined by a particular embodiment or may be determined by the interface control circuitry 118 based on detected use conditions and/or other criteria, several examples of which are described in conjunction with various example embodiments described below.
The task selection interface may comprise a user interface including one or more selectable indications of tasks. In this regard, a user may select a task indication from the task selection interface and the associated task may be launched and/or displayed on a display of the multi-display computing apparatus 102 in response to the selection. The tasks which may be selected by way of the task selection interface may comprise an application, program, and/or other type of task.
In some example embodiments, the task selection interface comprises a task switcher including indications of tasks running on the multi-display computing apparatus 102. In this regard, the interface control circuitry 118 may be configured to determine the task(s) running on the multi-display computing apparatus 102 and cause selectable indications of those running tasks to be displayed on the task switcher. Accordingly, a user may utilize the task switcher to switch between running tasks. This task switching functionality may be particularly beneficial in embodiments wherein the multi-display computing apparatus 102 is embodied as a mobile computing device, which may have a smaller display area wherein it may not be practical to concurrently display several tasks.
Additionally or alternatively, the task selection interface may comprise indications of tasks that are not running such that a user may utilize the task selection interface to launch an application that is not running. In embodiments wherein the task selection interface comprises indications of tasks that are not running, at least some of the displayed task indications may correspond to a predefined number of most recently used tasks, tasks used within a predefined period of time (e.g., the past 7 days), most frequently used tasks, a user's favorite tasks, and/or the like.
In some example embodiments, the task selection interface may comprise indications of a history of content resources accessed, edited, created, and/or otherwise used on the multi-display computing apparatus 102. For example, a task (e.g., a running task, recently used, frequently used task, favorite task, and/or the like) may have been used to access one or more content resources. The task selection interface may accordingly comprise indications of one or more content resources used recently and/or frequently used. An indication of a content resource may, for example, be associated with a task used to access the content resource. Thus, as an example, a web browsing application may be active and the task selection interface may comprise a plurality of indications of web pages recently accessed using the web browsing application. As another example, a word processing application may be active and the task selection interface may comprise a plurality of indications of documents recently accessed, edited, and/or created using the word processing application. In such embodiments, the indications of content resources may be ordered chronologically in an order in which they were last accessed and may, for example, be displayed as a scrollable list. Accordingly, a user may select from an indication of a content resource and the content resource may be launched using the appropriate associated task that was previously used to access the content resource.
Referring now to
In embodiments such as that illustrated in
As one example, the interface control circuitry 118 may be configured to cause display of a compact task selection interface on a slide-out display when less than a predefined portion of the slide-out portion is exposed. However, if at least the predefined portion of the slide-out portion is exposed, the interface control circuitry 118 may be configured to cause a default size and/or expanded task selection interface to be displayed on the slide-out display. In this regard, if less than a predefined portion is exposed, the exposed area of the display may not be large enough to allow the entirety of a default size task selection interface to be displayed. The compact version may be a scaled down replica of a default size task selection interface. Alternatively, the compact version may comprise a different design, which may, for example, have smaller selectable task indications and/or a different arrangement of selectable task indications. Still as a further example, the compact task selection interface may comprise a subset of task indications that would be displayed in a default size task selection interface. The subset of task indications displayed in a compact version may be selected by the interface control circuitry 118 in accordance with any predefined policy, such as only active tasks, only favorite tasks, only most frequently used tasks, only most recently used tasks, and/or the like.
As a second example, if less than a predefined portion of the slide-out portion is exposed, the interface control circuitry 118 may be configured to cause display of the task selection interface to be displayed on the slide-out display. However, if at least a predefined portion of the slide-out portion is exposed, the interface control circuitry 118 may be configured to cause the task selection interface to be displayed on the first display that was activated prior to expanding the slide-out portion and may cause content that was displayed on the first display prior to expansion of the slide-out portion to be transferred to the slide-out display. In this regard, in some example embodiments, when fully expanded, the slide-out display may have a larger surface area than a first display. This larger surface area may make the slide-out display more suited than the first display for display of applications or the like.
Referring now to
Having described activation of a display and display of a task selection interface in response to activation of a display in accordance with several example embodiments, usage of a task selection interface in accordance with several example embodiments will now be described with respect to
Referring first to
In
Referring now to
As illustrated in
In the illustration of
It will be appreciated that the embodiment illustrated in
In some example embodiments, a user may be able to move a task selection interface among the displays of a multi-display computing apparatus 102. In this regard, a user may be able to select to move a displayed task selection interface between displays using any appropriate input option provided by the user interface 116. Such input options may include, by way of example, dragging a task selection interface between screens with a mouse, joystick, cursor, touch input, and/or the like; selecting a display from a command menu; selecting a task selection interface icon in the status bar area of either display; and/or the like. The interface control circuitry 118 may accordingly be configured to detect a user input commanding a displayed task selection interface to be moved to another display and, in response to the command, cause the task selection interface to be moved to the selected display.
a-9c illustrate moving an example task selection interface between displays according to one example embodiment. Referring now to
Accordingly, blocks of the flowcharts support combinations of means for performing the specified functions. It will also be understood that one or more blocks of the flowcharts, and combinations of blocks in the flowcharts, may be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer program product(s).
The above described functions may be carried out in many ways. For example, any suitable means for carrying out each of the functions described above may be employed to carry out embodiments of the invention. In one embodiment, a suitably configured processor (e.g., the processor 110) may provide all or a portion of the elements. In another embodiment, all or a portion of the elements may be configured by and operate under control of a computer program product. The computer program product for performing the methods of embodiments of the invention includes a computer-readable storage medium (e.g., the memory 112), such as the non-volatile storage medium, and computer-readable program code portions, such as a series of computer instructions, embodied in the computer-readable storage medium.
Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the embodiments of the invention are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the invention. Moreover, although the foregoing descriptions and the associated drawings describe example embodiments in the context of certain example combinations of elements and/or functions, it should be appreciated that different combinations of elements and/or functions may be provided by alternative embodiments without departing from the scope of the invention. In this regard, for example, different combinations of elements and/or functions than those explicitly described above are also contemplated within the scope of the invention. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.