The embodiments relate generally to user interfaces for document management.
With the rise of multi-processors and multi-processing operating systems, it is not unusual for a user to have multiple documents, applications, programs or web pages (hereinafter together referred to collectively as documents) simultaneously open and running on a single machine. While the processor may be able to handle user desired operations such as browsing or modifying the documents, after a user selects or activates a particular document, the user may desire an effective way by which to organize, view, switch between or manage multiple open or active documents.
Conventional operating systems have proposed several different alternatives for managing a plurality of open documents. For example, older conventional systems displayed a plurality of windows that a user may tile or cascade on the screen. Newer conventional systems have provided the user the capability of opening an application, such as a web browser, with multiple tabs that allow a user to view multiple documents (or web pages) of the same application or program. The user can then select any of the various tabs to activate the corresponding document. However, a user may find it difficult to quickly determine what portion of each document is displayed, relative to the rest of the document.
Methods and systems for providing a carousel user interface display for document management are disclosed herein. According to an embodiment, a plurality of open document representations is displayed in a carousel display. Each representation displays a document viewport portion of a corresponding open document. A document viewport portion is the portion of a document that would be shown in a full view of the application, such as a web page in an opened web browser. Upon determining a first gesture associated with a selected representation, a full view of the document viewport portion may be displayed. The content of the open document that is displayed in the document viewport portion may be adjusted based upon a user action, such as a navigation to a next position in the open document. For example, a user may have scrolled up and down the document to show content not previously displayed.
Upon determining a second gesture, the full view of the document viewport portion may be closed and the selected representation may be displayed in the carousel display. A greater portion of content from the open document than what is visible in the document viewport portion may be displayed in the carousel display. For example, content that falls outside of the document viewport portion may also be shown. Greater portions of documents may be shown for each of the document representations in the carousel display.
Other embodiments of this aspect include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices. Further embodiments, features, and advantages, as well as the structure and operation of the various embodiments are described in detail below with reference to accompanying drawings.
Embodiments are described with reference to the accompanying drawings. In the drawings, like reference numbers may indicate identical or functionally similar elements. The drawing in which an element first appears is generally indicated by the left-most digit in the corresponding reference number.
Embodiments are described herein with reference to illustrations for particular applications. It should be understood that the invention is not limited to the described embodiments. Those skilled in the art with access to the teachings provided herein will recognize additional modifications, applications, and embodiments within the scope thereof and additional fields in which the embodiments would be of significant utility.
It would also be apparent to one of skill in the relevant art that the embodiments, as described herein, can be implemented in many different embodiments of software, hardware, firmware, and/or the entities illustrated in the figures. Any actual software code with the specialized control of hardware to implement embodiments is not limiting of the detailed description. Thus, the operational behavior of embodiments will be described with the understanding that modifications and variations of the embodiments are possible, given the level of detail presented herein.
Disclosed herein is a carousel display system for providing a carousel for document management. The system herein provides a carousel for managing a number of open or active documents. Unlike conventional displays of multiple documents, the carousel display user interface, described in the embodiments herein, provides a quick way to toggle between multiple open documents and preview what portion of the document was last viewed in its corresponding application. This document viewport portion may be displayed in the context of what the user previously viewed or may yet view. The carousel display system described herein further allows a user to activate or browse amongst the open documents directly from the carousel display.
The carousel display user interface allows the user to see not only a representation of the current document but also representations of any other documents in the carousel display. According to one embodiment, the carousel display also provides the user a preview of each document in the carousel display corresponding to a user's previous operation. Conventional displays do not allow a user to view what portion of a document is being viewed in relation to the rest of the document. For example, a scroll position of a document is not provided. However, the carousel display, described herein, allows a user to view portions of a document outside of the viewport view while the documents are in the carousel display.
Open document representations 102, 104, 106 and 108 may represent any documents, application, programs or web pages that may be active or open. The documents may include documents or applications that the user is using in an application, but may have minimized. For example, the document associated with representation 102 may be an open word processing document, document representation 104 may represent an open presentation document, and document representations 106 and 108 may represent open webpage documents. In other examples, document representations 102, 104, 106 and 108 represent any kind of documents or applications, including, but not limited to, web, spreadsheet, presentation, word processing or multimedia documents. In some cases, a document may have been closed in application software, but remains open to some degree in the carousel display. In a further embodiment, carousel display 100 is used to manage a plurality of applications that are running on a mobile phone, tablet or other mobile computing device.
A user may preview, toggle or switch between what documents to work with by selecting the document representations in carousel display 100. To help ease the user's decision making process, viewport 110 emphasizes document viewport portions of each prominent document as a preview to each open or active document. Carousel display 100 provides a carousel viewport 110 that highlights one or more portions of a document that would be visible in a full view of the opened document.
Full-view 202 may include any fall or expanded view of the selected document(s) as it is opened in its corresponding application. For example, rendering full-view 202 may include rendering the selected document in a web browser application at the same location of the document as when the user had last activated the document. A user may operate on fall-view 202 in the appropriate application, scroll through or otherwise access the document as need be and return to carousel view 100 (as shown in
From the normal, full view, the carousel display may be enabled. According to one embodiment, a pinch zoom-out enables the carousel display. The zoom out may need to be beyond a certain zoom scale threshold to activate the carousel display.
When a carousel display is enabled, document viewport portions of one or more open document representations are displayed, such as document viewport portion 106A of document representation 106. A document viewport portion may also be a last portion of a document that was viewed or accessed by a user. For example, as shown for document representation 106, the user may have scrolled to a webpage about violent storms; however, the user may not have scrolled further down document 106 before switching to another application. Thus document viewport portion 106A shows an initial portion of the webpage. Document viewport portion 104A of document representation 104, by contrast, includes a middle portion 104A of the document that the user was last viewing, as shown in
Document viewport portions allow a user to quickly view the portion of a document last accessed by a user. Carousel display 100 allows a user to see the document viewport portions which may not only be representations of the underlying or corresponding documents, but also actual portions (e.g., text, images, etc.) thereof. In one embodiment, the user may see dynamic content or a video playing in a document viewport portion on the carousel display. In other embodiments, a user may select to halt active display of dynamic content. A user may also pin content in a representation. Document viewport portions may be used to assist accessing, browsing or activating the documents in a carousel display. In some cases, applications that have been minimized, or even closed, may operate in a limited fashion to provide such a display in the representation in the carousel display. In other cases, the carousel display system has the functionality needed to display the actual live content of the document viewport portions.
The size or zoom level of viewport 110 may be adjustable or configurable by a user. The size of the document viewport portions in carousel display 100 may be determined by the number of viewports or representations in carousel display 100. For example, a carousel display that includes ten open documents displays ten representations, and corresponding viewports, at a smaller average size than a carousel display displaying only four open document representations. As the number of document representations displayed in the carousel increases or decreases (e.g., as a result of a user opening or closing documents), the size of the remaining representations and/or document viewport portions of the representations is adjusted to be greater or smaller until a certain limit (e.g., there may be a defined maximum and/or minimum size for the representations and document viewport portions of a carousel display). Carousel display 100 may display a priority or activity indication associated with the documents of representations 102, 104, 106 and 108 based on a user's preferences.
Though the document viewport portions of document representations 102, 104, 106 and 108 are all shown to be of the same size, other embodiments may include document viewports of varying sizes. For example, a user may vary the sizes of particular document viewports based on their relative importance to the user. For example, a more recently accessed document may include a larger document viewport portion in carousel display 100 than another document that has not been accessed for some time. It may be that after the passage of a period of time during which the user has not accessed the document (inactivity period), perhaps every 30 minutes, the size of the document viewport portion corresponding to the inactive document may decrease or the size of the document viewport portion of more active documents may increase. However, there may be a limit as to how small or large a viewport may appear in carousel display 100.
Each document viewport portion may also be associated with a particular zoom or zooming scale relating to how much of a corresponding document may be visible in viewport 110 of carousel display 100. The zooming scale may determine the ratio between the original zoom of the document and the zoom of the corresponding document viewport portion in carousel display 100. For example a ΒΌ or 25% zooming scale renders a document viewport portion that is a quarter-smaller horizontally and vertically and has a final area that is 16 times smaller than full view size. Conversely, a scale of 2 or 200% produces a document viewport portion that is twice as large horizontally and vertically, and has an area that is 4 times bigger. One example of a reduced sized representation that may be visible or accessible via the carousel is a thumbnail or a favicon, which may include a visual and/or textual representation of the document. In some examples, an integer scale factor (e.g., n=2, 3, 4 . . . nmax) is chosen for the zoom scale of the representations or document viewports of the representations. For instance, n pages will fit on the screen at 1/n of a screen height. All other representations are added at the same size in an adjacent fashion. In some cases, some document representations have a greater zoom level than other document representations because a greater portion of a document representation is visible in carousel display 100.
As may be seen in the embodiment of
In another embodiment, documents of representations 102, 104, 106, 108 may include dynamic content. Dynamic content includes any changing or variable content that may be displayed in a document. For example, dynamic content includes moving images, sounds, updating text, etc. Dynamic content of documents may be active or inactive within carousel display 100. In another example, content in the greater portion that is outside the viewport may or may not be rendered dynamically with the content in the document viewport portion. Documents with dynamic content in carousel display 100 may be configured per a user's preferences. For example, the carousel display system pauses or deactivates the dynamic content included in or amongst the document viewport portions displayed in carousel display 100. In other cases, the dynamic content in all but one (e.g., the most recently activated) document may be paused, thereby preventing a scenario whereby multiple documents with dynamic images and sounds are running simultaneously. Dynamic content in any number of the documents may be allowed to run simultaneously if the user prefers. In another example, every predetermined period of time (e.g., 5 seconds) the dynamic content of a first document is paused, to allow the dynamic content of a second document to run, which then runs through on a round robin basis.
According to one embodiment, carousel display 100 includes a strip of smaller representations, such as tabstrip 112 with one or more tab icons 114A, 114B. Tabstrip 112 may be used to indicate the presence of additional documents which do not appear in carousel display 100. For example, as shown, carousel display 100 includes representations of four documents; however, the user may have six total documents open or active, in which case the additional two documents may be viewable in tabstrip 112 and represented by icons 114A and 114B. In another embodiment, tabstrip 112 includes icons for all six documents, where the documents currently viewable in carousel display 100 are highlighted. Icons 114A and 114B may include any representations of documents including, but not limited to, smaller document viewport portions and visual and/or textual iconic representations of documents. For example, icons 114A and 114B may be represented by a particular symbol or icon generally associated with the document.
In an embodiment, a user has multiple documents open and desires to switch amongst them. Using the carousel display system allows the user to quickly navigate or reorder the various open documents. The user, using the document representations with displayed portions greater than document viewport portions, quickly sees what portion(s) of the documents the user was previously using and easily navigates among the documents using the carousel display.
Also, because the document in representation 106 is positioned higher in carousel display 300 of
In an embodiment where the carousel display system is implemented on a touch screen display, closed document representation 402 is used to indicate to a user that the document is about to close. For example, if the user selects document representation 102 with a close-finger-pinch (on the touch screen) to a certain zoom level, closed document representation 402 may start to appear within carousel display 400. Closed document representation 402 may warn or indicate to the user that the user is about to remove or delete the document from carousel display 400. If, for example, the user removes contact with the touch screen while closed document representation 402 is displayed, the corresponding document representation is removed from carousel display 400 and deactivated. If the user expands the pinch beyond a certain threshold, the corresponding representation of the document reappears. If the user then removes contact from the touchscreen, the representation remains in carousel display 400. The touchscreen implementation is only one possible embodiment of the system described herein. Other embodiments may include non-touchscreen devices or systems.
Carousel manager 512 may manage carousel display 100. Carousel manager 512 determines which documents are represented in carousel display 100. Carousel manager 512 may determine or track a user's operation of the documents and provide the representations and viewports within carousel display 100. Similarly, carousel manager 512 may receive user preferences and operations for the carousel display and viewport and adjust the rendering of carousel display 100 accordingly.
Carousel display system 510 is implemented on or implemented with a computing device. For example, carousel display system 510 may be software, firmware, or hardware or any combination thereof in a computing device. A computing device can be any type of computing device having one or more processors. For example, a computing device can be a computer, server, workstation, mobile device (e.g., a mobile phone, personal digital assistant, navigation device, tablet, laptop or any other user carried device), game console, set-top box, kiosk, embedded system or other device having at least one processor and memory. A computing device may include a communication port or I/O device for communicating over wired or wireless communication link(s).
Computing devices such as a monitor, all-in-one computer, smartphone, tablet computer, etc., may include a touch screen that accepts user input via touching operations performed by a user's fingers or other instrument. For example purposes, a touch sensor grid may overlay the display area. The touch sensor grid contains many touch sensitive areas or cells which may be used to locate the area closest to the input of a user's touch.
System 500 may include touchscreen display 520 and gesture determiner 516. Touchscreen display 520 may be a screen on any device on which a user is operating one or more document representations, such as 102, 104, 106 and 108. Touchscreen display 520 may receive user input as keystrokes, pinches and/or other senses detected from the user. These inputs from the user are received by gesture determiner 516 that interprets the inputs as commands on how to operate or manipulate carousel display 100 (e.g., as performed by carousel manager 512).
Example touch operations using the touchscreen display 520 may include (but are not limited to) pinching, finger (or other stylus or object) touches, finger releases, and finger slides. The touch operations are interpreted by gesture determiner 516 as commands by which to manipulate or operate carousel display 100. For example, a user may zoom out on a viewport (e.g., by pinching a representation and then expanding the fingers), however if the representation is already scaled near 100% (e.g., 80% or above), then gesture determiner 516 or carousel manager 512 determines that the pinch was unintentional and upon finger release, scale the viewport to 100%. In an embodiment, a 100% scale for a representation of a document may result in the top edge of the document being aligned with the top edge of carousel display 100 and the bottom edge of the document being aligned with the bottom edge of carousel display 100.
Gesture determiner 516 may interpret a horizontal swipe of the fingers on the touchscreen display 520 to represent an action to cause the representations of a carousel display to scroll horizontally in the direction of the swipe. A vertical swipe of the fingers on touchscreen display 520 may be interpreted to represent an action to cause the representations of a carousel display to scroll vertically in the direction of the swipe. In another embodiment, pinch zoom-in and zoom-out gestures cause gesture determiner 516 to provide a signal to carousel manager 512 to zoom in and zoom out of the entire carousel display.
Gesture determiner 516 interprets a pinch zoom-in or zoom-out gesture that exceeds a threshold to suggest a deletion or initial removal of a representation from the carousel display. Such an action may cause the representation to appear with a closed document representation 402 in lieu of and/or in conjunction with the representation. If the user releases a pinch zoom-in while the threshold is exceeded, the representation is removed from the carousel display. If the user continues the pinch and zooms out beyond the threshold, the representation remains or is re-zoomed as a representation based on the pinched scaling.
At step 604, upon determining a first gesture associated with a selected representation, a full view of the document viewport portion of the open document corresponding to the selected representation is displayed. For example, gesture determiner 516 interprets a gesture selection of the document representation 106 from
At step 606, the content of the open document displayed in the document viewport portion is adjusted based upon a user navigation to a next position in the open document. For example, the selected document representation 106 from
At step 608, upon determining a second gesture, the full view of the document viewport portion is removed and the selected representation is displayed in the carousel display with a greater portion of the open document than what is visible in the document viewport portion. For example, when returning carousel display 100, as shown in
System 500 may also include a display interface (which may include input and output devices such as keyboards, mice, etc.) that forwards graphics, text, and other data from communication infrastructure (or from a frame buffer not shown) for display on a display unit such as touchscreen display 520. The system may also include secondary memory and/or removable storage for allowing computer programs or other instructions to be loaded into computer system 500. Examples of such means may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units and interfaces which allow software and data to be transferred from the removable storage unit to computer system 500.
Embodiments may be directed to computer program products comprising software stored on any computer useable medium. Such software, when executed in one or more data processing device, causes a data processing device(s) to operate as described herein. Embodiments of the invention employ any computer useable or readable medium. Examples of computer useable mediums include, but are not limited to, primary storage devices (e.g., any type of random access memory), secondary storage devices (e.g., hard drives, floppy disks, CD ROMS, ZIP disks, tapes, magnetic storage devices, and optical storage devices, MEMS, nanotechnological storage device, etc.).
The Summary and Abstract sections may set forth one or more but not all exemplary embodiments contemplated by the inventor(s), and thus, are not intended to limit the present invention and the appended claims in any way.
Embodiments have been described above with the aid of functional building blocks illustrating the implementation of specified functions and relationships thereof. The boundaries of these functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternate boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed.
The foregoing description of the specific embodiments will so fully reveal the general nature of the invention that others can, by applying knowledge within the skill of the art, readily modify and/or adapt for various applications such specific embodiments, without undue experimentation, without departing from the general concept of the present invention. Therefore, such adaptations and modifications are intended to be within the meaning and range of equivalents of the disclosed embodiments, based on the teaching and guidance presented herein. It is to be understood that the phraseology or terminology herein is for the purpose of description and not of limitation, such that the terminology or phraseology of the present specification is to be interpreted by the skilled artisan in light of the teachings and guidance.
The breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.