Example embodiments of the present invention relate generally to the presentation of information on a display, and more particularly, to a method for providing multiple levels of interaction with a program.
Advancements in mobile device technology have developed mobile devices, such as cellular telephones and portable digital assistants (PDAs) that have increased capabilities and provide a user with greater access and control of information. Users may have numerous programs and files available, many of which can be used simultaneously. Some programs may be running while other programs may be dormant, but may be invoked upon user interaction with a representation of the program, such as a tile.
Mobile devices, such as cellular telephones, have become smaller and lighter while also becoming more capable of performing tasks that far exceed a traditional voice call. Mobile devices are becoming small, portable computing devices that are capable of running a variety of programs, some of which benefit from a larger display. These devices are comparable in capabilities to laptop or desktop-type computers such that they can execute thousands of available programs. The portability of such devices may be enhanced by reducing their size, and hence, their display size. The number of programs running or the information to be presented to a user may exceed the capacity of the display. Therefore, optimization of the display area to enhance the user experience may be desirable.
In general, an example embodiment of the present invention provides a method of presenting multiple levels of interaction with a program. In particular, the method of example embodiments may include providing for display of a first representation of a first program, where the first representation includes a first interaction level with the first program; providing for display of an intermediate representation of the first program in response to receiving a first input, where the intermediate representation comprises an intermediate interaction level with the first program; and providing for display of a second representation of the first program in response to a second input, where the second representation includes a second interaction level with the first program and the second input is different from the first input. The intermediate representation of the first program may be presented in a size that is larger than the first representation of the first program. The second representation of the first program may be presented in a second size that is larger than the size of the intermediate representation.
Methods according to example embodiments may include providing for display of a plurality of first representations of a plurality of other programs concurrently with the display of the first representation of the first program, and repositioning at least one of the plurality of first representations of a plurality of other programs in response to the display of the intermediate representation of the first program. The intermediate interaction level may include a first plurality of discrete interactive elements and the second interaction level may include a second plurality of discrete interactive elements, where the first plurality of discrete interactive elements is a subset of the second plurality of discrete interactive elements. The intermediate interaction level may include a first set of information and the second interaction level may include a second set of information, where the first set of information is a subset of the second set of information. Methods may include providing for display of a first representation of a second program and providing for display of an intermediate representation of the second program including an intermediate interaction level with the second program in response to a third input. The intermediate representation of the second program may be displayed concurrently with the intermediate representation of the first program.
Example embodiments of the invention may provide an apparatus including at least one processor and at least one memory including computer program code. The at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to provide for display of a first representation of a first program, where the first representation has a first interaction level with the first program; provide for display of an intermediate representation of the first program in response to receiving a first input, where the intermediate representation has an intermediate interaction level with the first program; and provide for display of a second representation of the first program in response to a second input, where the second representation has a second interaction level with the first program and the second input is different than the first input. The intermediate representation of the first program may be presented in a size that is larger than the first representation of the first program. The second representation of the first program may be presented in a second size that is larger than the size of the intermediate representation.
An apparatus according to example embodiments may further be caused to provide for display of a plurality of first representations of a plurality of other programs concurrently with the display of the first representation of the first program, and reposition at least one of the plurality of first representations of a plurality of other programs in response to display of the intermediate representation of the first program. The intermediate interaction level may include a first plurality of discrete interactive elements and the second interaction level may include a second plurality of discrete interactive elements, where the first plurality of discrete interactive elements is a subset of the second plurality of discrete interactive elements. The intermediate interaction level may include a first set of information and the second interaction level may include a second set of information, where the first set of information is a subset of the second set of information. An apparatus according to example embodiments may also be caused to provide for display of a first representation of a second program and provide for display of an intermediate representation of the second program including an intermediate interaction level with the second program in response to a third input. The intermediate representation of the second program may be displayed concurrently with the intermediate representation of the first program.
Embodiments of the present invention may provide a computer program product including at least one non-transitory, computer-readable storage medium having computer executable program code instructions stored therein. The computer executable program code instructions may include program code instructions for providing for display of a first representation of a first program, where the first representation has a first interaction level with the first program; program code instructions for providing for display of an intermediate representation in response to receiving a first input, the intermediate representation including an intermediate interaction level with the first program; and program code instructions for providing for display of a second representation of the first program in response to a second input, where the second representation has a second interaction level with the first program and the second input is different from the first input. The intermediate representation of the first program may be presented in a size that is larger than the first representation of the first program. The second representation of the first program may be presented in a second size that is larger than the size of the intermediate representation.
A computer program product according to example embodiments may further include program code instructions for providing for display of a plurality of first representations of a plurality of other programs concurrent with the display of the first representation of the first program, and program code instructions for repositioning at least one of the plurality of first representations of a plurality of other programs in response to display of the intermediate representation of the first program. The intermediate interaction level may include a first plurality of discrete interactive elements and the second interaction level may include a second plurality of discrete interactive elements, where the first plurality of discrete interactive elements is a subset of the second plurality of discrete interactive elements. The intermediate interaction level may include a first set of information and the second interaction level may include a second set of information, where the first set of information is a subset of the second set of information. A computer program product according to example embodiments may further include program code instructions for providing for display of a first representation of a second program and program code instructions for providing for display of an intermediate representation of the second program including a second interaction level with the second program in response to a third input. The intermediate representation of the second program may be displayed concurrently with the intermediate representation of the first program.
Example embodiments of the invention may provide an apparatus including means for providing for display of a first representation of a first program, where the first representation has a first interaction level with the first program; means for providing for display of an intermediate representation in response to receiving a first input, where the intermediate representation has an intermediate interaction level with the first program; and means for providing for display of a second representation of the first program in response to a second input, where the second representation has a second interaction level with the first program and the second input is different than the first input. The intermediate representation of the first program may be presented in a size that is larger than the first representation of the first program. The second representation of the first program may be presented in a second size that is larger than the size of the intermediate representation.
An apparatus according to example embodiments may further include means for providing for display of a plurality of first representations of a plurality of other programs concurrently with the display of the first representation of the first program, and means for repositioning at least one of the plurality of first representations of a plurality of other programs in response to display of the intermediate representation of the first program. The intermediate interaction level may include a first plurality of discrete interactive elements and the second interaction level may include a second plurality of discrete interactive elements, where the first plurality of discrete interactive elements is a subset of the second plurality of discrete interactive elements. The intermediate interaction level may include a first set of information and the second interaction level may include a second set of information, where the first set of information is a subset of the second set of information. An apparatus according to example embodiments may also include means for providing for display of a first representation of a second program and means for providing for display of an intermediate representation of the second program including an intermediate interaction level with the second program in response to a third input. The intermediate representation of the second program may be displayed concurrently with the intermediate representation of the first program.
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:
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, various embodiments of 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 terms “data,” “content,” “information” and similar terms may be used interchangeably to refer to data capable of being transmitted, received and/or stored in accordance with some embodiments of the present invention. Thus, use of any such terms should not be taken to limit the spirit and scope of embodiments of the present invention.
Additionally, 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.
As defined herein a “computer-readable storage medium,” which refers to a non-transitory, physical storage medium (e.g., volatile or non-volatile memory device), can be differentiated from a “computer-readable transmission medium,” which refers to an electromagnetic signal.
Devices that may benefit from example embodiments of the present invention may include portable devices, such as tablet computers, cellular telephones, portable media devices, or the like, which are enhanced by a graphical user interface presented on a display, such as a touch screen. As portability of these devices often relates to their size, a smaller size may enhance portability while potentially sacrificing the available display area. Therefore it may be desirable to optimize the display to present additional information in an easily intelligible manner while providing multiple levels of interface with available programs. As noted below, the device of other embodiments may be a fixed or non-mobile.
Some embodiments of the present invention may relate to a provision of a mechanism by which the user interface is enhanced by providing multiple levels of interaction with a program. A program may be presented in a first representation including a first interaction level which may be a relatively low interaction level available when the program is not running and is available only as an icon or tile from which the program may be launched. The program may also be presented in a second representation having a second interaction level which may be a relatively high interaction level such as an interaction level of a running program. Further, the program may also be presented in an intermediate representation having an intermediate interaction level, where the intermediate interaction level is higher than the first interaction level, but lower than the second interaction level. The intermediate representation may be presented in response to an input, such as at the first representation of the program. The term “interaction level” or “level of interaction” refers to the information presented to a user as well as operations available to a user as will be described further below. A higher level of interaction indicates more information presented to a user and/or more operations or interactive elements available to a user.
Some embodiments of the present invention may relate to a provision of a mechanism by which the user interface is enhanced by including a graphical transition between the first representation of a program and the intermediate representation of the program, between the intermediate representation and the second representation of the program, and/or between the first representation of the program and the second representation of the program. The graphical transition may provide a visual cue indicative of the relationship between the first representation of the program and the intermediate representation of the program or the representations between which the graphical transition is presented. The graphical transition may resemble a physical manipulation of a tangible object, such as the unfolding of a piece of paper.
One example embodiment of the invention is depicted in
The mobile terminal 10 may include an antenna 12 (or multiple antennas) in operable communication with a transmitter 14 and a receiver 16. The mobile terminal 10 may further include an apparatus, such as a processor 20 or other processing device (e.g., processor 70 of
In some embodiments, the processor 20 may include circuitry desirable for implementing audio and logic functions of the mobile terminal 10. For example, the processor 20 may be comprised of a digital signal processor device, a microprocessor device, and various analog to digital converters, digital to analog converters, and other support circuits. Control and signal processing functions of the mobile terminal 10 are allocated between these devices according to their respective capabilities. The processor 20 thus may also include the functionality to convolutionally encode and interleave message and data prior to modulation and transmission. The processor 20 may additionally include an internal voice coder, and may include an internal data modem. Further, the processor 20 may include 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 conventional Web browser. The connectivity program may then allow the mobile terminal 10 to transmit and receive Web content, such as location-based content and/or other web page content, according to a Wireless Application Protocol (WAP), Hypertext Transfer Protocol (HTTP) and/or the like, for example.
The mobile terminal 10 may also comprise a user interface including an output device such as a conventional earphone or speaker 24, a ringer 22, a microphone 26, a display 28, and a user input interface, all of which are coupled to the processor 20. The user input interface, which allows the mobile terminal 10 to receive data, may include any of a number of devices allowing the mobile terminal 10 to receive data, such as a keypad 30, a touch display (display 28 providing an example of such a touch display) or other input device. In embodiments including the keypad 30, the keypad 30 may include the conventional numeric (0-9) and related keys (#, *), and other hard and soft keys used for operating the mobile terminal 10. Alternatively or additionally, the keypad 30 may include a conventional QWERTY keypad arrangement. The keypad 30 may also include various soft keys with associated functions. In addition, or alternatively, the mobile terminal 10 may include an interface device such as a joystick or other user input interface. Some embodiments employing a touch display may omit the keypad 30 and any or all of the speaker 24, ringer 22, and microphone 26 entirely. Additional input to the processor 20 may include a sensor 31. The sensor 31 may include one or more of a motion sensor, temperature sensor, light sensor, accelerometer, or the like. Forms of input that may be received by the sensor may include physical motion of the mobile terminal 10, whether or not the mobile terminal 10 is in a dark environment (e.g., a pocket) or in daylight, whether the mobile terminal is being held by a user or not (e.g., through temperature sensing of a hand). The mobile terminal 10 further includes a battery 34, such as a vibrating battery pack, for powering various circuits that are required to operate the mobile terminal 10, as well as optionally providing mechanical vibration as a detectable output.
The mobile terminal 10 may further include a user identity module (UIM) 38. The UIM 38 is typically a memory device having a processor built in. The UIM 38 may include, for example, a subscriber identity module (SIM), a universal integrated circuit card (UICC), a universal subscriber identity module (USIM), a removable user identity module (R-UIM), etc. The UIM 38 typically stores information elements related to a mobile subscriber. In addition to the UIM 38, the mobile terminal 10 may be equipped with memory. For example, the mobile terminal 10 may include volatile memory 40, such as volatile Random Access Memory (RAM) including a cache area for the temporary storage of data. The mobile terminal 10 may also include other non-volatile memory 42, which may be embedded and/or may be removable. The memories may store any of a number of pieces of information, and data, used by the mobile terminal 10 to implement the functions of the mobile terminal 10.
As noted above, mobile terminals, including devices such as portable digital assistants (PDAs) and cellular telephones, are becoming smaller in size to allow for greater portability to the user. With the decrease in size of such devices, however, comes a decrease in the space available for displaying information. In other words, the size of the viewing area through which interactive content (e.g., contacts, e-mail messages, games, etc.) is presented to the user has become more limited as a result of more compact devices.
An example embodiment of the present invention will now be described with reference to
The apparatus 50 of
In an example embodiment, the processor 70 may be configured to execute instructions stored in the memory device 76 or otherwise accessible to the processor 70. Alternatively or additionally, the processor 70 may be configured to execute hard coded functionality. As such, whether configured by hardware or software methods, or by a combination thereof, the processor 70 may represent an entity (e.g., physically embodied in circuitry) capable of performing operations according to an embodiment of the present invention while configured accordingly. Thus, for example, when the processor 70 is embodied as an ASIC, FPGA or the like, the processor 70 may be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processor 70 is embodied as an executor of software instructions, the instructions may specifically configure the processor 70 to perform the algorithms and/or operations described herein when the instructions are executed. However, in some cases, the processor 70 may be a processor of a specific device (e.g., a mobile terminal or network device) adapted for employing an embodiment of the present invention by further configuration of the processor 70 by instructions for performing the algorithms and/or operations described herein. The processor 70 may include, among other things, a clock, an arithmetic logic unit (ALU) and logic gates configured to support operation of the processor 70.
Meanwhile, the communication interface 74 may be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and/or transmit data from/to a network and/or any other device or module in communication with the apparatus 50. In this regard, the communication interface 74 may include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network. In some environments, the communication interface 74 may alternatively or also support wired communication. As such, for example, the communication interface 74 may include a communication modem and/or other hardware/software for supporting communication via cable, digital subscriber line (DSL), universal serial bus (USB) or other mechanisms.
The user interface 72 may be in communication with the processor 70 to receive an indication of a user input at the user interface 72 and/or to provide an audible, visual, mechanical or other output to the user. As such, the user interface 72 may include, for example, a keyboard, a mouse, a joystick, a display, a touch screen(s), touch areas, device surfaces capable of detecting objects hovering over the surface, soft keys, a microphone, a speaker, motion sensor, temperature sensor, accelerometer, or other input/output mechanisms. In this regard, for example, the processor 70 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, a speaker, ringer, microphone, display, and/or the like. The processor 70 and/or user interface circuitry comprising the processor 70 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 70 (e.g., memory device 76, and/or the like).
In an example embodiment, the apparatus 50 may include or otherwise be in communication with a display, such as the illustrated display 68. In different example cases, the display 68 may include a touch screen display which may be a two dimensional (2D) or three dimensional (3D) display. Thus, for example, a touch screen display could be configured to enable touch recognition by any suitable technique, such as resistive, capacitive, infrared, strain gauge, surface wave, optical imaging, dispersive signal technology, acoustic pulse recognition, etc. techniques. The user interface 72 may be in communication with a touch screen display to receive indications of user inputs at the touch screen display and to modify a response to such indications based on corresponding user actions that may be inferred or otherwise determined responsive to the indications. In one alternative, a touch input may be provided other than by direct interaction with a display (e.g., in cases where the user interface is projected onto a wall with a projector, or where a cursor is used to direct input on the display).
In an example embodiment, the apparatus 50 may include a user input device 80, such as a keypad, a track-ball, a mouse, or the user input device may be embodied with the display 68 as a touch screen display. The user input device 80 may be any means such as a device or circuitry operating in accordance with software or otherwise embodied in hardware or a combination of hardware and software (e.g., processor 70 operating under software control, the processor 70 embodied as an ASIC or FPGA specifically configured to perform the operations described herein, or a combination thereof) thereby configuring the device or circuitry to perform the corresponding functions of an input received at the user input device 80 as described herein. Thus, in examples in which software is employed, a device or circuitry (e.g., the processor 70 in one example) executing the software forms the structure associated with such means.
In example embodiments where the display 68 is a touch screen display, user input device 80 may be configured to receive an indication of an input in the form of a touch event at the display 68. As such, the user input device 80 may be in communication with the display 68 to receive indications of user inputs at the display 68 and to modify a response to such indications based on corresponding user actions that may be inferred or otherwise determined responsive to the indications.
The first representation of a program, such as a tile 110 or 120 of
The display 105 of the device 100 may further include arrows 130 or other indications alerting a user that more programs beyond those for which first representations are currently presented may exist on the program list or menu, each of which may be accessible through scrolling, panning, or by switching to another “page” on which programs may be presented. The display 105 may further include a page indicator 135 to indicate to a user which page, of available pages that the user is viewing. In the illustrated example, the user is viewing the second page of five available pages, with an indication that one page is available to the left while three pages are available to the right. Upon selection of a first representation of a program (e.g., by selecting a tile representing the program through an input, such as the user interface 72), the program is launched (e.g., by the processor 70) and a second representation of the program may be presented.
The second representation comprising the second interaction level may provide operations that may be represented by interactive elements such as menu functions, buttons, keys, virtual keys, and the ability to select objects, such as a song from a list or an email from a mailbox. The second interaction level may offer substantially all available interactive elements of the program while also requiring the most processing capacity to allow these functions to be performed and to provide the most interactive graphical user interface (GUI).
The operations available to the user through the second representation including the second interaction level may be greater than the operations available to the user through the first representation including the first interaction level. The second representation of the email program as illustrated in
In addition to the interactive elements that are available within the second interaction level of the email program depicted in
While the second interaction level may provide a higher level of interaction with a program relative to the first interaction level, such as a fully functional interaction level with a program running at full capacity, the second interaction level may also provide interactive elements that are seldom used or may not be required by a user during a brief interaction with the program. Further, the second interaction level may consume processing capacity of the processor 70 and memory from memory device 76 that may slow the performance of a device (e.g., apparatus 50) and/or may more rapidly drain power from the battery than when the program is provided in the first representation with a first interaction level. Therefore, it may be desirable to provide an intermediate representation including an intermediate interaction level with a program that offers an interaction level that is less than the second interaction level of the program, but greater than the first interaction level of the program. The intermediate interaction level may provide a useful interaction level for a user which may include commonly used interactive elements and/or a mechanism to interact with a program without launching the program to the second representation including the second interaction level.
The intermediate representation 310 including the intermediate interaction level may consume less processing capacity from processor 70, occupy less memory from memory 76, and may also draw less power from the battery than the second representation including the second interaction level of the program. The intermediate representation including the intermediate interaction level may therefore operate more quickly than the second representation including the second interaction level of the program. Further, the most commonly used interactive elements of the program may be available in the intermediate interaction level such that the intermediate interaction level may be used in place of the second interaction level of the program for relatively non-complex, common functions, such as reading recent emails. In the illustrated embodiment including an email program operating in an intermediate representation including an intermediate interaction level, the relatively non-complex, common functions may include such interactive elements as “read” and “delete” among others. Example embodiments of interactive elements that may not be available may include “reply” or “open attachment” as these interactive elements may require more area on the display or more processing capacity than is allotted the intermediate representation and the intermediate interaction level. However, it is appreciated that any interactive elements may be available to a user short of the full complement provided in the second interaction level of the program according to embodiments of the present invention. The aforementioned examples are merely possible interactive elements to include or exclude from the intermediate interaction level.
The displayed intermediate representation 310 of
The tiles that are repositioned may be repositioned according to a hierarchy or order that is determined by the user or by the device 300 itself (e.g., via processor 70). For example, a user may select their favorite programs and rank them from most important to least important. The most important programs may be represented by tiles closest to the top of the display while the least important programs are presented proximate the bottom of the display. In response to tiles being repositioned, the tiles representing the least important programs may be displaced from the display. Optionally, the device may determine (e.g., via processor 70) the most frequently used programs and maintain the tiles representative of the most frequently used programs closest to the top of the display 305 such that the tiles near the bottom of the display that are displaced represent less frequently used programs.
Further example embodiments of the present invention may include hierarchies that are predictive or based upon device awareness. For example, a device according to embodiments of the present invention may include a calendar program in which a user may store scheduled meetings or appointments. A meeting or appointment scheduled within the calendar program may be scheduled as a video-conference with an agenda for the meeting attached to the appointment as a spreadsheet. The device may be configured with a first hierarchy which organizes program tiles in alphabetical order. At the time of the scheduled meeting, or a predefined amount of time before the scheduled meeting, the processor 70 of the device may be caused to switch to a second hierarchy in response to the anticipated meeting without user intervention, thereby organizing the tiles representing programs according to those that are anticipated for use during the scheduled meeting. In the instant example, the hierarchy may present a video-conference program tile first, a spreadsheet program tile second, and subsequently list the remaining program tiles by the first hierarchy (e.g., alphabetically).
While the illustrated embodiments of
While intermediate interaction levels may be desirable to a user who does not desire to use the interactive elements available in the second interaction level of the program, the second interaction level of the program may be desirable to users who wish to use an a greater interaction level (and interactive elements) not available with the intermediate interaction level. Therefore a user may be able to decide whether to open the intermediate representation or the second representation of a program from the program menu depicting first representations of programs in
The program may be capable of transitioning directly between any one of a first representation including a first interaction level, an intermediate representation including an intermediate interaction level, and a second representation including a second interaction level in response to a particular input configured to effect such a transition.
As detailed above, opening a program to an intermediate representation may cause first representations of other programs or files to be repositioned, be obscured by the intermediate representation, or to be dropped from the display. As such, it may not be abundantly clear to a user which program has been opened to the intermediate representation, particularly when the displayed intermediate representation of multiple programs may resemble one another. As a user may inadvertently open the incorrect program or interact with different intermediate representations differently, it may be desirable to have a visual cue to clarify the first representation from which an intermediate representation was launched.
Example embodiments of the present invention may further provide a graphical transition from the first representation of a program to the intermediate representation of the program to provide a visual cue indicative of the relationship between the first representation of the program and the intermediate representation of the program. As noted above, the first representations of programs may be obscured by the intermediate representation of a program or the first representations of programs surrounding the program that is launched may be repositioned to accommodate the intermediate representation of the launched program. Example embodiments of the graphical transition will be herein described with respect to first representations of programs being repositioned; however, it is appreciated that embodiments may also be implemented wherein first representations of programs surrounding the launched program remain in place and are obscured by the intermediate representation of the launched program.
In an example embodiment, a device, such as device 400 of
Subsequent to, or concurrent with, the repositioning of the tiles representing other programs, the tile representing the first program 410 may begin the graphical transition from the tile to the intermediate representation. The graphical transition may resemble the physical manipulation of a tangible object. Example embodiments of physical manipulations of tangible objects may include the unfolding of a piece of paper, where the unfolding is the manipulation and the piece of paper is the tangible object. Further examples may include a flower blooming where the tile of the program resembles a flower bud and the intermediate representation appears as the tile of the program “blooms” into a “flower.” The graphical transition may provide a visual cue indicative of the relationship between the first representation of the program and the intermediate representation of the program. This visual cue may be particularly useful in example embodiments where the intermediate representation overlies other program tiles as a user may benefit from seeing a visual confirmation of the program tile which is transitioning to the intermediate representation.
Example embodiments of the present invention may further reposition a first representation of a program in response to receiving an input (e.g., via user interface 72) for said program to transition to an intermediate representation. For example, a first representation of a program that is depicted in a lower corner of a display may be moved (e.g., by processor 70) to another, more visible portion of the display prior to, or in concert with a graphical transition to an intermediate representation of the program. In such an embodiment, first representations of other programs may be repositioned to accommodate the intermediate representation of the program.
As noted above, when a program is launched to an intermediate representation of the program from a first representation, a user may subsequently wish to transition from the intermediate representation to the second representation of the program, or the user may wish to close the displayed intermediate representation. In response to a user closing the program from the intermediate representation, a graphical transition may be provided from the presentation of the intermediate representation to the first representation of the program. The graphical transition may be substantially a reversal of the graphical transition with which the tile representing the program transitioned from the first representation to the intermediate representation of the program. For example, the graphical transition from the intermediate representation to the first representation of the program may resemble the folding of a piece of paper. The transition may be substantially a reversal of the unfolding effect shown in
In some example embodiments, as a user launches a program to the second representation from the intermediate representation, a graphical transition may be used to provide a visual cue to the user indicative of the relationship between the intermediate representation and the second representation of the program. The graphical transition may resemble the graphical transition from the first representation of the program to the intermediate representation of the program for continuity. Further, a graphical transition may be provided for transitioning from the second representation of the program to the first representation, or from the first representation directly to the second representation of the program.
Accordingly, blocks of the flowcharts support combinations of means for performing the specified functions and combinations of operations 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, can be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.
In this regard, a method according to one embodiment of the invention, as shown in
Another method according to an example embodiment of the present invention, as shown in
In some embodiments, certain ones of the operations above may be modified or further amplified as described below. Moreover, in some embodiments additional optional operations may also be included. It should be appreciated that each of the modifications, optional additions or amplifications below may be included with the operations above either alone or in combination with any others among the features described herein. With reference to the method of
The method of
With reference to the method of
In an example embodiment, an apparatus for performing the method of
An example of an apparatus according to an example embodiment may include at least one processor and at least one memory including computer program code. The at least one memory and the computer program code may be configured to, with the at least one processor, cause the apparatus to perform the operations 500-520 and/or 600-620 (with or without the modifications and amplifications described above in any combination).
An example of a computer program product according to an example embodiment may include at least one computer-readable storage medium having computer-executable program code portions stored therein. The computer-executable program code portions may include program code instructions for performing operations 500-520 and/or 600-620 (with or without the modifications and amplifications described above in any combination).
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 inventions 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 appended claims. Moreover, although the foregoing descriptions and the associated drawings describe some 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 appended claims. In this regard, for example, different combinations of elements and/or functions than those explicitly described above are also contemplated as may be set forth in some of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
Number | Name | Date | Kind |
---|---|---|---|
6724403 | Santoro et al. | Apr 2004 | B1 |
7249327 | Nelson et al. | Jul 2007 | B2 |
7681134 | Grechishkin et al. | Mar 2010 | B1 |
7702568 | Tanpoco | Apr 2010 | B1 |
7933632 | Flynt et al. | Apr 2011 | B2 |
20040066414 | Czerwinski et al. | Apr 2004 | A1 |
20050091609 | Matthews et al. | Apr 2005 | A1 |
20060143574 | Ito et al. | Jun 2006 | A1 |
20060242602 | Schechter et al. | Oct 2006 | A1 |
20070082707 | Flynt et al. | Apr 2007 | A1 |
20070288860 | Ording et al. | Dec 2007 | A1 |
20080086703 | Flynt et al. | Apr 2008 | A1 |
20080201649 | Mattila et al. | Aug 2008 | A1 |
20080270886 | Gossweiler et al. | Oct 2008 | A1 |
20090013275 | May et al. | Jan 2009 | A1 |
20090267909 | Chen et al. | Oct 2009 | A1 |
20100107116 | Rieman et al. | Apr 2010 | A1 |
20100218144 | Huotari | Aug 2010 | A1 |
20130155112 | Paretti | Jun 2013 | A1 |
20130159900 | Pendharkar | Jun 2013 | A1 |
20140281969 | Kumar | Sep 2014 | A1 |
Number | Date | Country |
---|---|---|
1 394 713 | Mar 2004 | EP |
WO 2010082950 | Jul 2010 | WO |
Entry |
---|
Rob (Stackoverflow, “How can I differentiate between single and double clicks in .Net?”, “http://stackoverflow.com/questions/218555/how-can-i-differentiate-between-single-and-double-clicks-in-net”, Oct. 20, 2008.). |
International Search Report and Written Opinion for Application No. PCT/FI2012/051253 dated Feb. 20, 2013. |
Supratim Nayak et al., Photofold, Jul. 23, 2011, XP055052921, Retrieved from the Internet: URL: http://dribbble.com/shots/324781-Photofold. |
“Animations and Transitions”; Retrieved at <http://msdn.microsoft.com/en-us/library/windows/desktop/aa511285.aspx>>; Retrieved with wayback machine captured date: Sep. 28, 2011. |
International Search Report and Written Opinion from International Application No. PCT/FI2012/051269, dated Feb. 19, 2013. |
Andy Rathbone, “Windows 7 for Dummies”, For Dummies, Sep. 2009, Chapters 3.3 and 3.1, 19 pages. |
International Search Report and Written Opinion from International Application No. PCT/FI2012/051274, dated Apr. 23, 2013. |
Office Action from U.S. Appl. No. 13/331,975, dated Aug. 5, 2013. |
Office Action from U.S. Appl. No. 13/331,975, dated Apr. 7, 2014. |
Final Office Action from U.S. Appl. No. 13/331,975, dated Nov. 29, 2013. |
Final Office Action from U.S. Appl. No. 13/331,975, dated Jul. 25, 2014. |
Office Action from U.S. Appl. No. 13/331,856, dated Jun. 19, 2014. |
Office Action from U.S. Appl. No. 13/331,975 dated Jan. 5, 2015. |
Office Action for U.S. Appl. No. 13/331,856 dated Oct. 7, 2015. |
Office Action for U.S. Appl. No. 13/331,975 dated Jul. 16, 2015. |
TemplatedigitalREEL (https://www.youtube.com/watch?v=jPA184olQoA, Unfolding paper 01, youtube posted Feb. 3, 2011) screen capture 2 pages. |
Number | Date | Country | |
---|---|---|---|
20130155116 A1 | Jun 2013 | US |