Synchronized presentation of data in different representations

A horizontal toolbar presents a hierarchical path terminating at a currently-selected element, beginning at a root element, and including intermediate elements from a hierarchically-related subset of elements having parent-child relationships. A tree representation, provided simultaneously with the horizontal toolbar, includes nodes matching the elements included in the hierarchical path. The tree representation uses branches connecting adjacent parent-child nodes to indicate parent-child relationships and highlights a current node-of-interest in relation to other displayed nodes and matching the currently-selected element in the horizontal toolbar. A side panel, provided simultaneously with the horizontal toolbar and tree representation, presents side panel entries corresponding to elements displayed in the hierarchical path and nodes displayed in the tree representation, and identifies a currently-selected entry matching the currently-selected element in the horizontal toolbar and the current node-of-interest in the tree representation. Updates in one area automatically update the other areas.

BACKGROUND

Information that is provided to users in user interfaces can be provided in various ways. For example, the information can be provided in textual form, table form, or graphically, and relationships among data elements can be indicated in various ways. User updates to, or selection from, the information can be made based on the hierarchical relationships.

SUMMARY

The present disclosure describes methods and systems, including computer-implemented methods, computer program products, and computer systems for providing information in various ways, specifically in different views of the same information.

In an implementation, a horizontal toolbar presents, in a first area of a user interface, a hierarchical path terminating at a currently-selected element, beginning at a root element, and including intermediate elements from a hierarchically-related subset of elements having parent-child relationships. A tree representation, provided in a second area of the user interface and provided simultaneously with the horizontal toolbar, includes nodes matching the elements included in the hierarchical path. The tree representation uses branches connecting adjacent parent-child nodes to indicate parent-child relationships and highlights a current node-of-interest in relation to other displayed nodes and matching the currently-selected element in the horizontal toolbar. A side panel, provided in a third area of the user interface and provided simultaneously with the horizontal toolbar and tree representation, presents side panel entries corresponding to elements displayed in the hierarchical path and nodes displayed in the tree representation, and identifies a currently-selected entry matching the currently-selected element in the horizontal toolbar and the current node-of-interest in the tree representation. Using the user interface, user inputs within a currently-active area of the first area, the second area, and the third area are received. Based on the received user inputs, inactive areas of the first area, the second area, and the third area are automatically updated.

The above-described implementation is implementable using a computer-implemented method; a non-transitory, computer-readable medium storing computer-readable instructions to perform the computer-implemented method; and a computer-implemented system comprising a computer memory interoperably coupled with a hardware processor configured to perform the computer-implemented method/the instructions stored on the non-transitory, computer-readable medium.

The subject matter described in this specification can be implemented in particular implementations so as to realize one or more of the following advantages. First, users are provided with an advantage of a visual overview on all the solutions available in a huge knowledge base that provides insights on the state, trend, structure, popularity, and different levels of importance of displayed nodes. Second, users can quickly browse through a data-set and identify an appropriate solution to a specific problem by means of a synced view between a visual representation and textual details. Third, users can add solutions to the data-set in a collaborative and simple way. Fourth, different levels of detail are provided in node representations at different zoom levels. For example, the complexity of the representation can be varied by the user, and the cognitive demand for users can be reduced. Other advantages will be apparent to those of ordinary skill in the art.

DETAILED DESCRIPTION

The following detailed description describes techniques for presenting information and is presented to enable any person skilled in the art to make and use the disclosed subject matter in the context of one or more particular implementations. Various modifications to the disclosed implementations will be readily apparent to those of ordinary skill in the art, and described principles may be applied to other implementations and applications without departing from scope of the disclosure. Thus, the present disclosure is not intended to be limited to the described or illustrated implementations, but is to be accorded the widest scope consistent with the principles and features disclosed herein.

FIG. 1is a screenshot100of an example user interface102that includes different areas for presenting similar information in different ways. For example, the user interface102can be used to simultaneously present hierarchically-related information using a breadcrumb trail, a tree representation, and a side panel, though other display representations are possible. The breadcrumb trail can indicate a user's navigation, for example, on the Web or among a collection of hierarchically-related options or elements. The tree representation, for example, can identify relationships among nodes in the tree, including a root node, intermediate nodes, and leaf nodes, together indicating possible paths to select particular information. The side panel, for example, can indicate similar information as in the breadcrumb trail and the tree representation, but can use indentation to indicate hierarchical relationships and can include, or provide access to, detailed information to entries in the side panel that match or correspond to elements in the breadcrumb trail and nodes in the tree representation.

A horizontal toolbar104, for example, can serve as a breadcrumb trail for displaying and facilitating selection among elements, sub-elements, and so on, starting at a root element110such as Node1. At the same time, a currently-selected element112can be displayed during the selection process. Initially, the currently-selected element112can be the root element110, such as before specific user selections are made. For example, selecting the root element104acan cause the user interface102to display sub-elements of the root element110. The sub-elements can be related to the root element104a,for example, by parent-child relationships (or by other relationships). In some implementations, user-selectable sub-elements, such as for the root element110, can be displayed in a popup or in another control. For example, the sub-elements of Node1from which a user can make a selection can include Node1.1, Node1.2, Node1.3, Node1.4, Node1.5, Node1.6, Node1.7, Node1.8. While information is displayed and selections are made in the horizontal toolbar104, matching updates can be made simultaneously to presented information in a tree representation106and a side panel108, as will described in more detail below.

In the horizontal toolbar104, if sub-element Node1.6is selected, for example, then the currently-selected element112that is displayed can be updated to show, for example, Node1>Node1.6, meaning that the Node1.6element has been selected from the Node1element. Sub-elements of Node1.6can then be presented, such as in a popup that includes sub-elements1.6.1,1.6.2and1.6.3. If the sub-element1.6.2is selected, for example, then the currently-selected element112that is displayed can indicate Node1>Node1.6>Node1.6.2. As another example involving hierarchical-related elements, possible currently-selected elements112can be fish>trout>rainbow trout, or in an example related to cars, make>model>year. Hierarchies involving more than three levels are possible.

The tree representation106can be presented simultaneously with the other areas, including the horizontal toolbar104and side panel108, and updated automatically based on updates that occur in the other areas. The tree representation106can include, for example, nodes114that match the elements in the horizontal toolbar104and entries in the side panel108. The tree representation106can use branches, such as connections116, to connect adjacent parent-child nodes114and to indicate parent-child relationships, such as between Node1and Node1.6, among other children nodes of Node1. The tree representation106can highlight a current node-of-interest118in relation to other displayed nodes114. For example, the current node-of-interest118can match the currently-selected element112in the horizontal toolbar104.

The side panel108can be presented simultaneously with the horizontal toolbar104and the tree representation106. The side panel108can include side panel entries120that correspond to elements displayed in the horizontal toolbar104and nodes114displayed in the tree representation106. The side panel108can identify a currently-selected entry122that matches the currently-selected element112in the horizontal toolbar104and the current node-of-interest118in the tree representation106. Initially, before a selection has been made from Node1, the root node of the horizontal toolbar104and a starting point for selecting an option or a topic, for example, the currently-selected entry122can be Node1. The currently-selected entry122can be highlighted, for example, and other side panel entries120, including sub-entries to Node1, can be included in the side panel108.

Any area in the user interface102in which the user is working can be considered an active area. As user inputs are received within a currently-active area of the horizontal toolbar104, the tree representation106, and the side panel108, the other areas can be updated automatically. For example, a selection of a sub-element from the horizontal toolbar104in order to designate a new currently-selected element112can cause a change in the display of nodes114in the tree representation106and can also change the display of side panel entries120in the side panel108. For example, a different current node-of-interest118can be indicated, such as using highlighting, in relation to other displayed nodes114, and a different side panel entry120can be highlighted, indicating a change in the currently-selected entry122. In some implementations, automatic updates can be delayed, such as explicitly by the user, as described below.

FIG. 2is a flowchart of an example method200for displaying different representations of data, according to an implementation. For clarity of presentation, the description that follows generally describes method200in the context of the other figures in this description. However, it will be understood that method200may be performed, for example, by any suitable system, environment, software, and hardware, or a combination of systems, environments, software, and hardware as appropriate. In some implementations, various steps of method200can be run in parallel, in combination, in loops, or in any order.

At202, a horizontal toolbar is provided for display in a first area of a user interface. For example, the user interface102can include the horizontal toolbar104. The horizontal toolbar presents a hierarchical path terminating at a currently-selected element. For example, the horizontal toolbar104can include the currently-selected element112that initially is Node1and can change based on user input using the horizontal toolbar104. The hierarchical path begins at a root element and includes intermediate elements from a hierarchically-related subset of elements. For example, Node1is the root element of the currently-selected element112. If the currently-selected element112later becomes Node1.6.2, for example, then Node1.6is an intermediate node and Node1.6.2is the currently-selected element112at which the path terminates. The elements are related by parent-child relationships indicated in the hierarchical path using a left-to-right placement of adjacent parent and child elements. For example, if the path includes Node1>Node1.6>Node1.6.2, then Node1.6is a child of parent Node1, and Node1.6.2is a child of parent Node1.6. From202, method200proceeds to204.

At204, a tree representation is provided for display in a second area of the user interface and presented simultaneously with the horizontal toolbar. For example, the user interface102can include the tree representation106. The tree representation includes nodes matching the elements included in the hierarchical path, including the currently-selected element. For example, the tree representation106includes the nodes114, including the current node-of-interest118that matches the currently-selected element112. The tree representation uses branches connecting adjacent parent-child nodes to indicate parent-child relationships. For example, connections116, shown as branches in the tree of the tree representation106, are used to connect adjacent nodes114that have parent-child relationships, such as Node1to Node1.6. The tree representation highlights a current node-of-interest in relation to other displayed nodes, and the current node-of-interest matches the currently-selected element in the horizontal toolbar. For example, the current node-of-interest118can be bolded in the tree representation106and matches the currently-selected element112. From204, method200proceeds to206.

In some implementations, the tree representation106can be a radial tree visualization, such as with the root node of the tree at the center, and branches of the tree extending out, much like how the nodes114are shown inFIG. 2. In some implementations, the tree representation106can be represented as a tree in a different arrangement, such as a tree that includes the root node at the top of the tree representation106, in which related nodes114are shown below the root node, and so on. In some implementations, the default tree representation106is a radial tree visualization, but can be changed by the user. For example, using controls in the user interface102, the user can provide a user input specifying that a different tree representation is to be used, such as a horizontal tree, a vertical tree, a tree map, or an icicle chart. In response to the provided user input, the tree representation to match the specified different tree representation.

In some implementations, nodes114presented in the tree representation106can be displayed using different node representations for different levels. For example, instead of displaying the sub-nodes of a given node114, the given node114can be displayed using a different symbol, such as indicating expandability. In another example, the given node114can include a label that indicates a number of corresponding sub-nodes, such as a label indicating that three sub-nodes exist for Node1.6if the node's sub-nodes are not yet displayed.

In some implementations, the method200can further include labeling nodes114in the tree representation106at a default labeling level relative to a number of levels of nodes in the tree representation106, such as to prevent a situation in which too much information is presented at once in the tree representation106. The user interface102can subsequently receive user inputs to change labeling, including to hide or show labels on presented nodes114. The tree representation106can then be updated to adjust the labeling based on the received user input.

In some implementations, sub-nodes of a given node at a given level in the tree representation are not displayed but sub-node metadata is provided, the metadata including a number of sub-nodes for the given node. Subsequently, selection of the given node can cause presentation of the sub-nodes.

In some implementations, the tree representation106, when initially presented, can include a level of detail that does not exceed a threshold complexity level, for example, a threshold indicating that no more than N levels are to be displayed or that no more than M nodes114are to be displayed. The tree representation106, when initially presented, can include the current node-of-interest118and adjacent nodes114, excluding excludable nodes114at the level of detail.

In some implementations, the tree representation106can be replaced with any of various types of other representations. For example, nodes114can be represented as a series of regions, sub-regions, and so on. In some implementations, the size or other visual appearance of specific regions can indicate various types of information, such as a hierarchical level within a tree or other structure, an amount of data or some other quantity associated with the region, or some other information. In some implementations, controls can be provided by which regions can be expanded to show sub-regions, or sub-regions associated with a region can be hidden.

At206, a side panel is provided for display in a third area of the user interface and is presented simultaneously with the horizontal toolbar and the tree representation. For example, the user interface102includes the side panel108. The side panel presents side panel entries corresponding to elements displayed in the hierarchical path and nodes displayed in the tree representation. For example, the side panel entries120correspond to nodes114. The side panel identifies a currently-selected entry matching the currently-selected element in the horizontal toolbar and the current node-of-interest in the tree representation. For example, the currently-selected entry122that matches the currently-selected element112in the horizontal toolbar104and also matches the current node-of-interest118in the tree representation106. From206, method200proceeds to208.

In some implementations, the side panel can present, such as for the currently-selected entry122and other displayed side panel entries120, other information124, such as including at least a title, a creation date-time, and a version. Other information can be presented, and other information can be accessible using drill-down or other features. Controls125can allow hierarchically-related side panel entries120to be hidden or exposed, as needed.

At208, user inputs are received using the user interface. The user inputs are received within a currently-active area of the first area, the second area, and the third area. For example, user inputs can occur in any of the areas of the user interface102, including any of the horizontal toolbar104, the tree representation106, and the side panel108, depending on where the user is working. From208, method200proceeds to210.

At210, based on the received user inputs, inactive areas of the first area, the second area, and the third area are automatically updated. For example, based on user selections on the horizontal toolbar104, changes can occur regarding the nodes114that are displayed in the tree representation106, and changes can occur regarding the presentation of side panel entries120in the side panel108. From210, method200stops.

In some implementations, the method200can further include receiving, when the currently-active area is the tree representation106, user inputs to retain an active branch of the tree representation106and to hide selected branches of the tree representation106. For example, using controls provided by the user interface102, a selection can be made of a branch126, including, Node1and the Node1's sub-nodes. Upon selection of the branch126, for example, the tree representation106can be re-presented, such as to exclude other nodes114from the display. In some implementations, the tree representation106can be updated to present an active branch of the tree representation, the active branch including the current node-of-interest118. In some implementations, the method200can further include receiving user input to restore hidden branches of the tree representation106. The tree representation106can then be updated to restore the hidden branches.

In some implementations, the method200can further include procedures to suspend updates to various areas in the user interface102. For example, tools128can include tools used to prevent updates to the tree representation106from being propagated to other areas until the user decides that updates are to occur.

The computer302can serve in a role as a client, network component, a server, a database or other persistency, or any other component (or a combination of roles) of a computer system for performing the subject matter described in the instant disclosure. The illustrated computer302is communicably coupled with a network330. In some implementations, one or more components of the computer302may be configured to operate within environments, including cloud-computing-based, local, global, or other environment (or a combination of environments).

At a high level, the computer302is an electronic computing device operable to receive, transmit, process, store, or manage data and information associated with the described subject matter. According to some implementations, the computer302may also include or be communicably coupled with an application server, e-mail server, web server, caching server, streaming data server, or other server (or a combination of servers).

The computer302can receive requests over network330from a client application (for example, executing on another computer302) and responding to the received requests by processing the said requests in an appropriate software application. In addition, requests may also be sent to the computer302from internal users (for example, from a command console or by other appropriate access method), external or third-parties, other automated applications, as well as any other appropriate entities, individuals, systems, or computers.

Each of the components of the computer302can communicate using a system bus303. In some implementations, any or all of the components of the computer302, both hardware or software (or a combination of hardware and software), may interface with each other or the interface304(or a combination of both) over the system bus303using an application programming interface (API)312or a service layer313(or a combination of the API312and service layer313). The API312may include specifications for routines, data structures, and object classes. The API312may be either computer-language independent or dependent and refer to a complete interface, a single function, or even a set of APIs. The service layer313provides software services to the computer302or other components (whether or not illustrated) that are communicably coupled to the computer302. The functionality of the computer302may be accessible for all service consumers using this service layer. Software services, such as those provided by the service layer313, provide reusable, defined functionalities through a defined interface. For example, the interface may be software written in JAVA, C++, or other suitable language providing data in extensible markup language (XML) format or other suitable format. While illustrated as an integrated component of the computer302, alternative implementations may illustrate the API312or the service layer313as stand-alone components in relation to other components of the computer302or other components (whether or not illustrated) that are communicably coupled to the computer302. Moreover, any or all parts of the API312or the service layer313may be implemented as child or sub-modules of another software module, enterprise application, or hardware module without departing from the scope of this disclosure.

The computer302includes an interface304. Although illustrated as a single interface304inFIG. 3, two or more interfaces304may be used according to particular needs, desires, or particular implementations of the computer302. The interface304is used by the computer302for communicating with other systems in a distributed environment that are connected to the network330(whether illustrated or not). Generally, the interface304comprises logic encoded in software or hardware (or a combination of software and hardware) and operable to communicate with the network330. More specifically, the interface304may comprise software supporting one or more communication protocols associated with communications such that the network330or interface's hardware is operable to communicate physical signals within and outside of the illustrated computer302.

The computer302includes a processor305. Although illustrated as a single processor305inFIG. 3, two or more processors may be used according to particular needs, desires, or particular implementations of the computer302. Generally, the processor305executes instructions and manipulates data to perform the operations of the computer302and any algorithms, methods, functions, processes, flows, and procedures as described in the instant disclosure.

The computer302also includes a database306that can hold data for the computer302or other components (or a combination of both) that can be connected to the network330(whether illustrated or not). For example, database306can be an in-memory, conventional, or other type of database storing data consistent with this disclosure. In some implementations, database306can be a combination of two or more different database types (for example, a hybrid in-memory and conventional database) according to particular needs, desires, or particular implementations of the computer302and the described functionality. Although illustrated as a single database306inFIG. 3, two or more databases (of the same or combination of types) can be used according to particular needs, desires, or particular implementations of the computer302and the described functionality. While database306is illustrated as an integral component of the computer302, in alternative implementations, database306can be external to the computer302.

The computer302also includes a memory307that can hold data for the computer302or other components (or a combination of both) that can be connected to the network330(whether illustrated or not). For example, memory307can be random access memory (RAM), read-only memory (ROM), optical, magnetic, and the like storing data consistent with this disclosure. In some implementations, memory307can be a combination of two or more different types of memory (for example, a combination of RAM and magnetic storage) according to particular needs, desires, or particular implementations of the computer302and the described functionality. Although illustrated as a single memory307inFIG. 3, two or more memories307(of the same or combination of types) can be used according to particular needs, desires, or particular implementations of the computer302and the described functionality. While memory307is illustrated as an integral component of the computer302, in alternative implementations, memory307can be external to the computer302.

The application308is an algorithmic software engine providing functionality according to particular needs, desires, or particular implementations of the computer302, particularly with respect to functionality described in this disclosure. For example, application308can serve as one or more components, modules, applications, etc. Further, although illustrated as a single application308, the application308may be implemented as multiple applications308on the computer302. In addition, although illustrated as integral to the computer302, in alternative implementations, the application308can be external to the computer302.

There may be any number of computers302associated with, or external to, a computer system containing computer302, each computer302communicating over network330. Further, the term “client,” “user,” and other appropriate terminology may be used interchangeably as appropriate without departing from the scope of this disclosure. Moreover, this disclosure contemplates that many users may use one computer302, or that one user may use multiple computers302.

For example, in a first implementation, a computer-implemented method includes: providing, for display in a first area of a user interface, a horizontal toolbar presenting a hierarchical path terminating at a currently-selected element, the hierarchical path beginning at a root element and including intermediate elements from a hierarchically-related subset of elements related by parent-child relationships indicated in the hierarchical path using a left-to-right placement of adjacent parent and child elements; providing, for display in a second area of the user interface and presented simultaneously with the horizontal toolbar, a tree representation including nodes matching the elements included in the hierarchical path and including the currently-selected element, the tree representation using branches connecting adjacent parent-child nodes to indicate parent-child relationships, the tree representation highlighting a current node-of-interest in relation to other displayed nodes, the current node-of-interest matching the currently-selected element in the horizontal toolbar; providing, for display in a third area of the user interface and presented simultaneously with the horizontal toolbar and the tree representation, a side panel presenting side panel entries corresponding to elements displayed in the hierarchical path and nodes displayed in the tree representation, the side panel identifying a currently-selected entry matching the currently-selected element in the horizontal toolbar and the current node-of-interest in the tree representation; receiving, using the user interface, user inputs within a currently-active area of the first area, the second area, and the third area; and automatically updating, based on the received user inputs, inactive areas of the first area, the second area, and the third area.

A first feature, combinable with any of the following features, the computer-implemented method further includes identifying, using received horizontal toolbar inputs made using the horizontal toolbar, a selection of the currently-selected element, wherein the horizontal toolbar inputs include selecting a selected element at an existing level, the selected element being the currently-selected element.

A second feature, combinable with any of the previous or following features, the tree representation is, by default, a radial tree visualization, and the computer-implemented method of further includes: receiving a user input specifying a different tree representation selected from a group comprising a horizontal tree, a vertical tree, a tree map, or an icicle chart; and changing the tree representation to match the specified different tree representation.

A third feature, combinable with any of the previous or following features, the side panel presents, for the currently-selected entry and other displayed side panel entries, at least a title, a creation date-time, and a version.

A fourth feature, combinable with any of the previous or following features, nodes presented in the tree representation are displayed using different node representations for different levels.

A fifth feature, combinable with any of the previous or following features, the computer-implemented method further includes: labeling nodes in the tree representation at a default labeling level relative to a number of levels of nodes in the tree representation; receiving user input to change labeling; and updating the tree representation to adjust the labeling based on the received user input

A sixth feature, combinable with any of the previous or following features, the computer-implemented method further includes: receiving, when the currently-active area is the first area, user inputs to retain the active branch of the tree representation and to hide selected branches of the tree representation; and updating the tree representation to present an active branch of the tree representation, the active branch including the current node-of-interest.

A seventh feature, combinable with any of the previous or following features, the computer-implemented method further includes: receiving user input to restore hidden branches of the tree representation; and updating the tree representation to restore the hidden branches.

An eighth feature, combinable with any of the previous or following features, sub-nodes of a given nodes at a given level in the tree representation are not displayed but sub-node metadata is provided, the metadata including a number of sub-nodes for the given node, and wherein selection of the given node presents the sub-nodes.

A ninth feature, combinable with any of the previous or following features, the computer-implemented method further includes: limiting updates receiving, using the user interface, user inputs within a currently-active area of the first area, the second area, and the third area.

A tenth feature, combinable with any of the previous or following features, the tree representation, when initially presented: includes a level of detail not exceeding a threshold complexity level; includes the current node-of-interest and adjacent nodes; and excludes excludable nodes at the level of detail.

In a second implementation, a non-transitory, computer-readable medium stores one or more instructions executable by a computer system to perform operations comprising: providing, for display in a first area of a user interface, a horizontal toolbar presenting a hierarchical path terminating at a currently-selected element, the hierarchical path beginning at a root element and including intermediate elements from a hierarchically-related subset of elements related by parent-child relationships indicated in the hierarchical path using a left-to-right placement of adjacent parent and child elements; providing, for display in a second area of the user interface and presented simultaneously with the horizontal toolbar, a tree representation including nodes matching the elements included in the hierarchical path and including the currently-selected element, the tree representation using branches connecting adjacent parent-child nodes to indicate parent-child relationships, the tree representation highlighting a current node-of-interest in relation to other displayed nodes, the current node-of-interest matching the currently-selected element in the horizontal toolbar; providing, for display in a third area of the user interface and presented simultaneously with the horizontal toolbar and the tree representation, a side panel presenting side panel entries corresponding to elements displayed in the hierarchical path and nodes displayed in the tree representation, the side panel identifying a currently-selected entry matching the currently-selected element in the horizontal toolbar and the current node-of-interest in the tree representation; receiving, using the user interface, user inputs within a currently-active area of the first area, the second area, and the third area; and automatically updating, based on the received user inputs, inactive areas of the first area, the second area, and the third area.

A first feature, combinable with any of the following features, the operations further include identifying, using received horizontal toolbar inputs made using the horizontal toolbar, a selection of the currently-selected element, wherein the horizontal toolbar inputs include selecting a selected element at an existing level, the selected element being the currently-selected element.

A second feature, combinable with any of the previous or following features, the tree representation is, by default, a radial tree visualization, and the computer-implemented method of further includes: receiving a user input specifying a different tree representation selected from a group comprising a horizontal tree, a vertical tree, a tree map, or an icicle chart; and changing the tree representation to match the specified different tree representation.

A third feature, combinable with any of the previous or following features, the side panel presents, for the currently-selected entry and other displayed side panel entries, at least a title, a creation date-time, and a version.

A fourth feature, combinable with any of the previous or following features, nodes presented in the tree representation are displayed using different node representations for different levels.

In a third implementation, a computer-implemented system comprises a computer memory and a hardware processor interoperably coupled with the computer memory and configured to perform operations comprising providing, for display in a first area of a user interface, a horizontal toolbar presenting a hierarchical path terminating at a currently-selected element, the hierarchical path beginning at a root element and including intermediate elements from a hierarchically-related subset of elements related by parent-child relationships indicated in the hierarchical path using a left-to-right placement of adjacent parent and child elements; providing, for display in a second area of the user interface and presented simultaneously with the horizontal toolbar, a tree representation including nodes matching the elements included in the hierarchical path and including the currently-selected element, the tree representation using branches connecting adjacent parent-child nodes to indicate parent-child relationships, the tree representation highlighting a current node-of-interest in relation to other displayed nodes, the current node-of-interest matching the currently-selected element in the horizontal toolbar; providing, for display in a third area of the user interface and presented simultaneously with the horizontal toolbar and the tree representation, a side panel presenting side panel entries corresponding to elements displayed in the hierarchical path and nodes displayed in the tree representation, the side panel identifying a currently-selected entry matching the currently-selected element in the horizontal toolbar and the current node-of-interest in the tree representation; receiving, using the user interface, user inputs within a currently-active area of the first area, the second area, and the third area; and automatically updating, based on the received user inputs, inactive areas of the first area, the second area, and the third area.

A first feature, combinable with any of the following features, the operations further include identifying, using received horizontal toolbar inputs made using the horizontal toolbar, a selection of the currently-selected element, wherein the horizontal toolbar inputs include selecting a selected element at an existing level, the selected element being the currently-selected element.

A second feature, combinable with any of the previous or following features, the tree representation is, by default, a radial tree visualization, and the computer-implemented method of further includes: receiving a user input specifying a different tree representation selected from a group comprising a horizontal tree, a vertical tree, a tree map, or an icicle chart; and changing the tree representation to match the specified different tree representation.

A third feature, combinable with any of the previous or following features, the side panel presents, for the currently-selected entry and other displayed side panel entries, at least a title, a creation date-time, and a version.

The term “real-time,” “real time,” “realtime,” “real (fast) time (RFT),” “near(ly) real-time (NRT),” “quasi real-time,” or similar terms (as understood by one of ordinary skill in the art), means that an action and a response are temporally proximate such that an individual perceives the action and the response occurring substantially simultaneously. For example, the time difference for a response to display (or for an initiation of a display) of data following the individual's action to access the data may be less than 1 ms, less than 1 sec., less than 5 secs., etc. While the requested data need not be displayed (or initiated for display) instantaneously, it is displayed (or initiated for display) without any intentional delay, taking into account processing limitations of a described computing system and time required to, for example, gather, accurately measure, analyze, process, store, or transmit the data.

The methods, processes, logic flows, etc. described in this specification can be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output. The methods, processes, logic flows, etc. can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, for example, a CPU, an FPGA, or an ASIC.