Web applications are becoming more popular for client/server communication. Web applications may be located on servers within an enterprise or on servers in an externally-hosted datacenter (hosted offering) and accessed by clients for a wide variety of operations. Document sharing, search, analysis, reporting, and data mining are just a few example tasks that may be performed by a typical web application. Users access a web application usually through a web browsing application that enables them to select among available documents and/or services. During the interaction, a user may be provided a number of nested web pages associated with various levels of services, documents, etc. The user may also edit and/or view documents through the browsing application with the help of a user interface that is similar to one of a local application.
In some web applications, such as those providing document sharing services, page names and their organization may be created by the users. This may result in unusual arrangements and unpredictable nesting of pages within a site. A server executing the web application may not have a way of knowing the location of a page as well as the hierarchical structure above it. Thus, the presentation to the user may also be confusing with regard to determining the location of a particular web page, relationships between web pages, and the like. Directory structures such as collapsible tree structures may be displayed in a dedicated portion of the browsing application, but that approach may consume valuable display space on the user interface. Moreover, as the number and relationships between documents become more complex, a tree structure representation of similar display may not be adequate to provide relevant information in a simple and effective manner.
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 navigational information display panel that may be activated through a control on a browsing application user interface providing a user with information associated with the location and relationship of a particular web page in the context of hierarchical nodes above the web page. According to some embodiments, various display structures may be employed to represent the web page's location in an effective manner along with navigational links for quick navigation to nodes above the web page (and/or at the same level).
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 navigational information display panel may be displayed through a control on a browsing application user interface providing a user with information associated with the location and relationship of the current web page in context of hierarchical nodes above the web page. A number of graphical and/or textual display structures may be employed to display the web page's location in an effective manner along with navigational links for quick navigation to nodes above the web page. The user may also be enabled to quickly navigate to any of the displayed nodes through navigational links. 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 a 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 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.
Throughout this specification, the term “platform” may be a combination of software and hardware components for managing computer and network operations, which may include web applications. Examples of platforms include, but are not limited to, a hosted service executed over a plurality of servers, an application executed on a single server, and comparable systems. The term “server” generally refers to a computing device executing one or more software programs typically in a networked environment. However, a server may also be implemented as a virtual server (software programs) executed on one or more computing devices viewed as a server on the network. More detail on these technologies and example operations is provided below.
An example web application may be managed by one or more servers such as web server 102 executing a web application 110. Services provided by the web application 110 may be accessed by a user through browsing application 114 executed on client device 112, which may communicate with web server 102 through network(s) 107. Client device 112 may be, but is not limited to, a desktop computing device, a laptop computing device, a handheld computing device, a mobile computing device, a terminal, a smart phone, and comparable ones.
According to one example scenario, the web application 110 may provide a document sharing service, where users can store, create, edit, and delete various documents such as word processing documents, spreadsheet documents, presentation documents, and similar ones. Web application 110 may provide user interface elements for creating, editing, and deleting such documents through browsing application 114. The document sharing service may be provided to the user in web pages. For example, when the user first accesses the service, a web page (e.g. web page 118) may display a listing of available documents. The listing of documents may also be displayed through multiple web pages (e.g. categorized according to projects, teams, document types, etc.). Upon selection of a document by the user, a new web page may be presented displaying the document contents along with relevant user interface elements (controls) to manipulate the document. Documents according to the above described example scenario may be stored by the web server 102 at a local data store 104. Alternatively, documents may be stored at (and retrieved from) a number of networked resources such as other servers (106) and their associated data stores (108) through network(s) 105 by the web server 102.
As mentioned previously, navigating through available documents in a service like the one described herein may be challenging as users create large numbers of documents with complex relationships. A web application according to embodiments may enable browsing application 114 to present a navigation information control 116. Upon activating the navigation information control 116, the user may be provided location information associated with the currently displayed web page within context of its hierarchical relationships with other web pages (e.g. those above the web page's level). Furthermore, the navigation information may enable the user to navigate to any of the displayed web pages in an effective manner (e.g. by clicking on a navigational link).
The example system in
In a system according to embodiments, navigational information control 222 may be provided to display a contextual location of the current web page. Navigational information control 222 may be an icon, a textual control, or any form of graphic and/or textual element. According to some embodiments, an information box 226 may be displayed to indicate a nature of the control upon user hovering over (224) the control. Information box 226 also indicates that the area is clickable surface.
Furthermore, each web page name is displayed as a navigational link enabling the user to click on any one of the names and directly navigate to that page. As in
Differently from
The navigation information panel itself is intended to present contextual web page location in an effective manner to the user. Thus, a number of graphical, textual, coloring, and other schemes may be employed in presenting the information within the navigation information panel.
According to the first example navigation information panel 538A, the hierarchy of web pages above the currently displayed web page (“Presentations”) may be presented in a collapsible indented list form. For example, web page(s) between the currently displayed page and the top level page (“Team Site” 544) may be collapsed into the top level web page and displayable upon user activation of an icon (or user hovering on the top level web page). In addition to the navigational links enabling the user to navigate directly to the web pages listed (536) on the navigation information panel, graphical icons 542 may be employed to identify the listed pages.
According to the second example navigation information panel 538B, the hierarchy of web pages may be presented in an organizational structure diagram along with representative icons. Top level web page “Team Site” 546 is at the top of the diagram followed by next level page “Shared Pages” 548. In this example illustration, “Lists” page 552, which has a sibling relationship to the currently displayed page “Presentations” 550 is also displayed. Thus, embodiments are not limited to web pages above the currently displayed web page in the hierarchy. Other relationships may also be presented. For example, one or more levels of child pages below the currently displayed web page may also be presented. Some or all of the listed pages may include navigational links as discussed above.
According to the third example navigation information panel 538C, the hierarchy of web pages “Team Site” 560, “Shared Pages” 556, “Lists” 554, and “Presentations” 558 are presented in a circular connected diagram with each box representing a web page (or node in the hierarchy) being a navigational link. Additionally a shading scheme (see “Team Site” 560) may be employed to accentuate the differences between the different levels or types of web pages.
The examples in
As discussed above, client applications (e.g. browsing applications) executed on any of the client devices 611-613 may enable access for a user to services provided by the servers 614, or individual server 616. The browsing application user interface may include a navigational information control. Upon activation of the navigational information control, a process may retrieve information associated with a hierarchy of the current web page and display nodes above (and/or at the same level as) the current web page further providing navigational links to the displayed nodes, as discussed previously. The service may retrieve relevant data from data store(s) 619 directly or through database server 618.
Network(s) 610 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) 610 may include secure networks such as an enterprise network, an unsecure network such as a wireless open network, or the Internet. Network(s) 610 may also coordinate communication over other networks such as Public Switched Telephone Network (PSTN) or cellular networks. Furthermore, network(s) 610 may include short range wireless networks such as Bluetooth or similar ones. Network(s) 610 provide communication between the nodes described herein. By way of example, and not limitation, network(s) 610 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 implement a web application framework providing navigational information associated with web pages. Furthermore, the networked environments discussed in
Web application 722 may be any application providing web applications in a networked environment. When accessed by a user through their browsing application on a client device, user interface module 724 of web application 722 may provide functionality associated with control elements of the browsing application. One such control element may be a navigational information button (or textual element). Upon activation of the navigational information control, user interface module 724 may retrieve hierarchical information associated with a currently displayed web page and enable display of a transient navigational information panel presenting nodes above and/or at the same level as the displayed web page and enabling the user to navigate to any of the nodes by selecting the displayed link. Web application 722 and user interface module 724 may be separate applications or an integral component of a hosted service. This basic configuration is illustrated in
Computing device 700 may have additional features or functionality. For example, the computing device 700 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 700 may also contain communication connections 716 that allow the device to communicate with other devices 718, such as over a wired or wireless network in a distributed computing environment, a satellite link, a cellular link, a short range network, and comparable mechanisms. Other devices 718 may include computer device(s) that execute communication applications, other web servers, and comparable devices. Communication connection(s) 716 is one example of communication media. Communication media can include therein computer readable instructions, data structures, program modules, or other data. 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 800 begins with operation 810, where a web page is displayed to a user as part of the user's interactions with a web application. The web application may enable presentation of a navigational information control element as part of the browsing application displaying the web page to the user. At operation 820, user activation of the navigational information control may be received. This may be a click on a graphical button, selection of a textual link, or similar activation of a control element. At operation 830, a hierarchical structure of the web pages above and at the same level as the currently displayed web page is determined. The determination may occur on the server before the page is rendered. The control element may un-hide the menu that already contains the hierarchy. The hierarchical structure may change as the user modifies/adds/deletes pages. Therefore, the structure may be determined following the activation of the navigational information control or at least updated after the activation.
At operation 840, a present location of the currently displayed web page is presented in a transient navigational information panel within a context of its hierarchy. Thus, nodes (web pages) above and/or at the same level as the currently displayed web page may be displayed through a graphical and/or textual scheme. The information may be displayed using a linear connected diagram, a branched connected diagram, and/or a circular connected diagram. Furthermore, the user may be enabled to quickly navigate to any of the displayed nodes through navigational links displayed on the transient navigational information panel at operation 850.
The operations included in process 800 are for illustration purposes. A navigational information user interface 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.