With the proliferation of computing and networking technologies, capabilities and features of software applications have increased in breadth and depth. Locally installed applications providing a single tool are increasingly replaced by hosted services that combine multiple interrelated capabilities. Outlook® from Microsoft Corporation of Redmond, Wash. is an example of such a suite of tools. Available in locally installed or hosted service versions, this program enables users to interact via email or text messaging, schedule appointments and meetings, manage tasks and/or contacts, and perform comparable actions. The services provided by such a program are interrelated in many aspects. For example, email and text messaging (as well as meeting scheduling) services may be associated with contacts of a user, scheduled meetings may be forwarded to others via email, and so on.
A software program (or service) such as Outlook® provides a multitude of features and capabilities for each of the services it includes. These features and capabilities are compounded when the number of tools provided by the program increases. A result of this compounding is the increasing complexity of the user interface making navigation for the user more difficult. While menus and different user interfaces enable a user to navigate through individual aspects of the program, combined user interfaces leave room for improvement of user experience.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to exclusively identify key features or essential features of the claimed subject matter, nor is it intended as an aid in determining the scope of the claimed subject matter.
Embodiments are directed to a navigation bar for switching between modules within an expanded communication service such as email, calendar, contacts, tasks, etc. and for providing preview peeks associated with each module to a user. According to some embodiments, the navigation bar is presented in a minimized state using icons to represent the modules. A temporary preview of a module may be provided upon a hover action over the icons without actually needing to switch to a module. The preview may also be docked or pinned to a location on the main user interface so that it is displayed within the main user interface. New or interesting activity within each module may be highlighted by displaying an information badge next to an icon, for example.
These and other features and advantages will be apparent from a reading of the following detailed description and a review of the associated drawings. It is to be understood that both the foregoing general description and the following detailed description are explanatory and do not restrict aspects as claimed.
As briefly described above, a minimized state dynamic navigation bar may be provided in conjunction with an expanded communication service for email, text messaging, scheduling, task management, contact management, and similar services. The minimized state may be determined automatically based on user interface context, device type, user preferences, etc. or by user action. Enabling a user to switch between different modules of the service seamlessly while preserving valuable user interface space, the navigation bar may also provide temporary previews, summary information in form of information badges, and enable the previews to be docked for permanent viewing.
In the following detailed description, references are made to the accompanying drawings that form a part hereof, and in which are shown by way of illustrations specific embodiments or examples. These aspects may be combined, other aspects may be utilized, and structural changes may be made without departing from the spirit or scope of the present disclosure. The following detailed description is therefore not to be taken in the limiting sense, and the scope of the present invention is defined by the appended claims and their equivalents. While the embodiments will be described in the general context of program modules that execute in conjunction with an application program that runs on an operating system on a personal computer, those skilled in the art will recognize that aspects may also be implemented in combination with other program modules.
Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that embodiments may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and comparable computing devices. Embodiments may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
Embodiments may be implemented as a computer-implemented process (method), a computing system, or as an article of manufacture, such as a computer program product or computer readable media. The computer program product may be a computer storage medium readable by a computer system and encoding a computer program that comprises instructions for causing a computer or computing system to perform example process(es). The computer-readable storage medium is a computer-readable memory device. The computer-readable storage medium can for example be implemented via one or more of a volatile computer memory, a non-volatile memory, a hard drive, a flash drive, a floppy disk, or a compact disk, and comparable media.
An expanded communication service as used herein refers to a hosted service, an enterprise service, or a locally installed application that provides services such as email communications, text message exchange, calendar functionality, task management, contact management, and similar functionality. Such a service may include a number of integrate modules for individual services or some modules may provide multiple services. A main user interface may enable users to interact with the service receiving notifications, viewing different items, providing input for various functions, etc. As discussed below, a variety of devices may be used to execute such a service and different interactions mechanisms such as touch, gesture, voice, gyroscopic input through a finger, a pen, a mouse, or similar device, as well as through predefined keyboard entry combinations may be employed.
Portable devices, many of which employ touch or gesture based input, tend to have smaller screen size, which means less available space for user interfaces. For example, in a user interface that enables editing of a document (text and/or graphics), in addition to the presented portion of the document, a virtual keyboard may have to be displayed further limiting the available space (“real estate”). Thus, in such scenarios, providing a full user interface for a multi-faceted communication service may be impractical or confusing to users.
Referring to
In addition to email, the expanded communication service may provide text messaging, scheduling, task management, contact management, and similar functionality. In conventional user interfaces, a user may be enabled to switch between modules providing different functionalities by selecting a menu item or comparable control element. However, switching between modules also results in an interruption of user experience. When the user changes views from email to calendar for example, the information associated with email is no longer available, and vice versa. Thus, the user does not have the ability to check on another module while continuing to view one module without interruption. Some applications may enable a user to view multiple modules on the same user interface, but due to display area limitations, either the displayed views may be limited or the user interface may include too much information and become confusing to navigate for the user.
According to some embodiments, a textual, graphic, or combination navigation bar 208 may be provided on the user interface enabling the user to switch between different modules and view a preview of another module without leaving the current view of the user interface. To preserve valuable display area, the navigation bar 208 may be dynamically placed on a location on the user interface without taking up space from other displayed items such as the bottom (as shown in the figure), either side, top, or comparable location.
Keyboard, mouse, touch, gesture, pen input, voice commands are some example input mechanisms that may be used in conjunction with the navigation bar (and user interface). Other example input mechanisms may include, but are not limited to, accelerometer or orientation sensor based input, optically captured gestures, time-based input, proximity to other devices/people/places, and the like. In some embodiments, the navigation bar may also be presented and/or moved along a left side, a right side, a top, or a bottom of the user interface based on one or more of a left or right handedness of a user, a size of fingers (in touch-based devices), a size of tap action pointer associated with a pointing device, a user credential, an ergonomic characteristic of the computing device, and a location attribute comprising one or more of a language selection for the user interface, geographic location information, time zone information, and/or country information. If the size of the user interface changes (e.g., a change in display or opening of another user interface on the screen, etc.), then the navigation bar 208 may be moved and/or resized.
In some embodiments, a layout of the items displayed on the navigation bar 208 may be arranged and rearranged automatically based on above listed or other factors. A number of schemes may be employed to enhance the effectiveness of the navigation bar 208 such as a color scheme, a graphical scheme, a shading scheme, and comparable ones. For example, the items may be displayed in dark and/or light formats, which may be used interchangeably depending on a background color.
In some embodiments, the notification badges 313, 314, and 315 may be automatically generated and/or configurable by the user. For example, the user may select which type of item (new, most recently viewed, an item of particular type, an item associated with a particular person, etc.) they want to be notified about.
In other embodiments, the navigation bar may be extensible. Thus, items may be added to the navigation bar as new modules are added to the communication service by the service provider or by third parties. Furthermore, size and content of the navigation bar may be dynamically adjustable, fixed, or user configurable. For example, fewer or more items may be displayed depending on available display area. Similarly, a size of the displayed items (e.g., icons) may be modified in response to changes in available display area, user interface size, etc. In further embodiments, a user may be enabled to customize individual items in the navigation bar. For example, the view activated by each item, a font/size/style of each item, etc. may be configurable by the user.
Screenshot 318 illustrates a vertical minimized navigation bar with items similar to those of the navigation bar in screen shot 306. In addition to icons 308, 309, and 310 representing email, calendar, and contact management, an icon with a plus sign may represent a function to add icons to the navigation bar and a flag icon may represent functionality to flag an item on the user interface.
The screenshot 400 in
Another aspect of a navigation bar according to embodiments is the preview feature. To enable a user to get a preview of a module without leaving currently displayed module, a preview pane 424 may be displayed temporarily in response to a hover action on one of the items of the navigation bar. In the screenshot 400, a calendar preview pane 424 is displayed in response to the user hovering over the calendar item 422 in minimized state navigation bar 420. The calendar preview pane may include a summary view of the user's calendar 426 (e.g., month, week, day, etc.) and a summary 428 listing of some of the items (e.g., appointments) on the calendar.
The preview pane 424 may enable limited interaction for the user. For example, the user may be enabled to select one of the displayed summary items and view more details on that item. The information displayed on a preview pane may be automatically determined based on default parameters, learned from user behavior, manually configurable by the user, or obtained from other applications associated with the user. Moreover, the display and removal of the preview pane may be in an animated fashion.
In some embodiments, a design of the preview pane may be selected such that consistency is provided across different devices/applications. For example, the preview pane for a desktop user interface may be same as or similar to the user interface for that module on a handheld device user interface (e.g., a smart phone), thereby providing the user with a consistent look and feel across devices.
Diagram 500 shows display of preview panes in different states in response to a hover action on one of the icons of minimized navigation bar. The navigation bar in minimized state includes icons 532, 534, 536, and 538 representing email, calendar, contacts, and tasks modules, respectively. In response to the user hovering over the email icon 532, the newest email 540 may be displayed over that icon in a minimal state such as a picture of the sender and the subject line of the email. Alternatively, the newest email may be displayed with just the subject line and the sender's name (542) over the email icon 532. This enables the user to stay in the current view of the user interface (e.g., calendar, tasks, etc.) without disruption while checking the latest email arrival. The email (or any other item associated with one of the other modules) to be displayed may be selected based on chronological status, source (e.g., sender), type, or other attributes that may be selected based on default parameters or user configuration.
Another configuration may present the preview pane in full state, for example a listing of multiple emails as shown in preview pane 544. In some embodiments, the state of the preview pane may also be automatically determined based on user interface context, available display area, preview type, user preferences, etc. As discussed above, the full state preview pane—differently from the minimized state preview panes—may provide limited interaction for the user.
The preview panes shown in diagram 600 are example preview panes for illustration purposes. As discussed previously, a navigation bar according to embodiments may be extensible and include items representing a number of default or added modules. Thus, preview panes associated with each of the items on the navigation bar may be provided. For example, productivity or customer relationship management (CRM) functionality modules may be added to an expanded communication service along with associated navigation bar items and preview panes.
Each preview pane may provide summary information related to the associated module with limited interaction for the user. For example, an email preview pane 650 may list a number of emails (e.g., top few, newest few, etc.) and enable the user to open, delete, mark the listed items or start a new email. Which items are to be listed may be automatically determined and/or user configurable. A contacts preview pane 652 may display summary contact information for favorite contacts, most recent contacts, etc. A task list preview pane 654 may display a summary listing of some of the tasks chronologically or otherwise and enable the user to mark the tasks as completed, important, etc. Calendar preview pane 656 may display a summary calendar (month, week, day, etc.) and a listing of a number of most important, newest, current, etc. calendar items (appointments, meetings, etc.).
While the listing of items (emails, calendar items, tasks, contacts, etc.) may be limited to the available space on the preview pane, additional items may also be displayed through the use of a scroll bar or similar mechanism. In some embodiments, the preview types may be active or inactive based on the context of the user interface. For example, if the user interface is displaying email module related information, displaying the preview for email may be unnecessary and that preview may be inactivated as long as email is the main displayed module. Along the same lines, the displayed items on the navigation bar may also be modified based on the context of the user interface. Thus, the email item on the navigation bar may be replaced with another item when email is the main displayed module on the user interface.
The above described preview pane configurations are examples only and do not constitute a limitation on embodiments. A minimized or full state preview pane associated with a dynamic navigation bar according to embodiments may be provided with any configuration and combination of textual, graphic, and other items using the principles described herein. Moreover, similar configurations and presentations may be used for other modules such as email, contact, tasks, etc.
In the example of diagram 700, a calendar preview pane 752, a contacts preview pane 756, and a tasks preview pane 758 are docked together. A docking icon 754 indicates that the preview panes are currently docked and may be used to undock (or hide) the preview panes. The location for docking the preview panes may be user selectable or dynamically determined by the program based on displayed information on the user interface and available display area. Similarly, a size and content of the docked preview panes may also be selected and modified based on the display area and context of the user interface.
According to some embodiments, the preview panes may be docked and undocked according to an animation scheme. Moreover, a color scheme, a graphical scheme, and/or a shading scheme may be employed to enhance a visual effect of the preview panes in undocked or docked form.
According to some embodiments, a top level menu 862 may be provided for the user to select and customize the navigation bar itself, individual items on the navigation bar, and/or preview pane settings. The configuration menu 800 for customizing preview pane settings may include an option to activate or inactivate some or all of the preview panes. The configuration menu 800 may further include individual sections for different preview pane types such as calendar preview options 864, mail preview options 866, contacts preview options 868, and task preview options 870.
Configurable options for individual preview pane types may be determined based on application capabilities, context of the user interface, device capabilities, user credentials (e.g., permission levels), and so on. The configurable options may also be dynamically modified in response to application, computing device, display device, language or locale selection, or similar changes.
The example navigation bars, items, interactions, and configurations depicted in
Client devices 901-905 are used to access the functionality provided by the hosted service or application. One or more of the servers 906 or server 908 may be used to provide a variety of services as discussed above. Relevant data may be stored in one or more data stores (e.g. data store 914), which may be managed by any one of the servers 906 or by database server 912.
Network(s) 910 may comprise any topology of servers, clients, Internet service providers, and communication media. A system according to embodiments may have a static or dynamic topology. Network(s) 910 may include a secure network such as an enterprise network, an unsecure network such as a wireless open network, or the Internet. Network(s) 910 may also coordinate communication over other networks such as PSTN or cellular networks. Network(s) 910 provides communication between the nodes described herein. By way of example, and not limitation, network(s) 910 may include wireless media such as acoustic, RF, infrared and other wireless media.
Many other configurations of computing devices, applications, data sources, and data distribution systems may be employed to provide a dynamic navigation bar in conjunction with an expanded communication service. Furthermore, the networked environments discussed in
User interface module 1024 may operate in conjunction with the communication application 1022 and provide a user interface enabling a user to interact with different modules of the communication application such as email, text messaging, calendar, task list, and contacts. In addition to providing separate viewing panes for the modules, menus, and textual/graphical controls, user interface module 1024 may also provide a dynamic navigation bar that is switchable between full and minimized states enabling users to switch between viewing panes of different modules while preserving valuable display area. Furthermore, preview module 1026 may enable display of previews in full or minimized state for each module highlighting interesting and new activity associated with each module. This basic configuration is illustrated in
Computing device 1000 may have additional features or functionality. For example, the computing device 1000 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in
Computing device 1000 may also contain communication connections 1016 that allow the device to communicate with other devices 1018, such as over a wireless network in a distributed computing environment, a satellite link, a cellular link, and comparable mechanisms. Other devices 1018 may include computer device(s) that execute communication applications, other directory or policy servers, and comparable devices. Communication connection(s) 1016 is one example of communication media. Communication media can include therein computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
Example embodiments also include methods. These methods can be implemented in any number of ways, including the structures described in this document. One such way is by machine operations, of devices of the type described in this document.
Another optional way is for one or more of the individual operations of the methods to be performed in conjunction with one or more human operators performing some. These human operators need not be collocated with each other, but each can be only with a machine that performs a portion of the program.
Process 1100 begins with operation 1110, where a user interface context is determined or a user selection is received associated with the state of a navigation bar. The user interface context may include currently displayed module, available display area, displayed content, application type, device type, user credentials, or similar factors. At operation 1120, the navigation bar is displayed in the full or minimized state based on the determination or user action received in operation 1110. In minimized state, the navigation bar may include icons representing different modules.
At operation 1130, a user interface context may be determined and a user selection, a gesture, a hover, or similar action indicating user interest on one of the navigation bar items may be detected. Operation 1130 is followed by operation 1140, where a preview pane is temporarily displayed in full or minimized state. The state of the preview pane may also be determined based on the user interface context, user preference, or the state of the navigation bar (e.g., a minimized navigation bar may launch minimized preview panes). At operation 1150, a selection of a navigation bar item may be detected. In response, the main view of the user interface may be switched from the current module to the selected module on the navigation bar at operation 1160. The operations in process 1100 may be iterative. Thus, the display of the navigation bar and presentation of the preview panes may be repeated in response to user actions and/or changes in the display area, user interface, device type, etc.
The operations included in process 1100 are for illustration purposes. Providing a dynamic navigation bar in different states including a minimized state for an expanded communication service according to embodiments may be implemented by similar processes with fewer or additional steps, as well as in different order of operations using the principles described herein.
The above specification, examples and data provide a complete description of the manufacture and use of the composition of the embodiments. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims and embodiments.