US20090063517A1 - User interfaces for scoped hierarchical data sets - Google Patents
User interfaces for scoped hierarchical data sets Download PDFInfo
- Publication number
- US20090063517A1 US20090063517A1 US11/897,804 US89780407A US2009063517A1 US 20090063517 A1 US20090063517 A1 US 20090063517A1 US 89780407 A US89780407 A US 89780407A US 2009063517 A1 US2009063517 A1 US 2009063517A1
- Authority
- US
- United States
- Prior art keywords
- scoped
- breadcrumb
- node
- scope
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/54—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/64—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/904—Browsing; Visualisation therefor
Definitions
- a hierarchically organized set of such data items may be organized with one or more items at the topmost level, known as root nodes.
- Each node may contain any number of subordinate items, known as child nodes, which may in turn contain any number of subordinate items, etc.
- a node may also contain no child nodes, therefore serving as a leaf node.
- This organizational structure provides for a hierarchy of containment, where each node except for the root node(s) is contained within one higher-level node (known as a parent node.)
- Hierarchical data organization may be used in several contexts.
- data stored in a format complying with an Extensible Markup Language (XML) schema is organized hierarchically, such that the XML data set contains at most one root node, and each data item except for the root node is contained within exactly one higher-level XML data item.
- containment represents nesting, which leads to a fully nested, strictly hierarchical data set.
- FIG. 1A depicts the hierarchical data set 10 as containing a root node 12 , Node A, that solely comprises the topmost level of the hierarchy, and that directly or indirectly contains all of the other nodes.
- Node A 12 directly contains Node B 14 , Node C 16 , Node F 22 , and Node K 32 , which together comprise the second level of the hierarchy.
- Node C 16 further contains Node D 18 and Node E 20
- Node F 22 further contains Nodes G 24 , H 26 , and J 30
- Node H 26 further contains Node I 28 .
- Treeview user controls may be used to display very large hierarchical data sets comprising millions of nodes, but displaying all of the nodes would be cumbersome for user navigation.
- the treeview therefore allows each node to be displayed in an open or closed state, where a node in an open state (denoted by a “ ⁇ ” sign) is shown with all of the child nodes, while a node in a closed state (denoted by a “+” sign) is shown with its child nodes hidden.
- the open or closed state of a node in the treeview may be toggled by the user (e.g., by clicking on the “+” or “ ⁇ ” symbol to the left of the node with a pointing device, such as a mouse.)
- FIG. 1B illustrates the same data set as the treeview of FIG. 1A , but with Node C 16 , Node H 26 , Node J 30 , and Node K 32 shown in a closed state (thereby hiding Nodes D 18 and E 20 contained within Node C 16 , and Node I 28 contained within Node H 26 .)
- the hierarchical data set illustrated by the treeview of FIG. 1B still contains Nodes D 18 , E 20 , and I 28 , but these child nodes are hidden in the current state of the treeview, and may be shown again by opening the respective parent nodes.
- Node H 26 in FIG. 1A may be described as the child node of Node F 22 , which is in turn the child node of Node A 12 .
- Node H 26 may be reached by traversing the hierarchical data set illustrated in FIG. 1A by beginning at Node A 12 , navigating (among the child nodes of Node A 12 ) to Node F 22 , and navigating (among the child nodes of Node F 22 ) to Node H 26 .
- This sequence forms a hierarchical path of Node A 12 : Node F 22 : Node H 26 , which may be used to describe the organization of Node H 26 within the hierarchical data set.
- FIG. 1C illustrates the breadcrumb list for each node in the hierarchical data set of FIG. 1A .
- the exemplary breadcrumb list 40 of FIG. 1C when each node 42 of the hierarchical data set is selected, it is associated with a breadcrumb list 44 containing breadcrumbs 46 representing each location within the path from a root node of the hierarchical data set to the selected node 42 .
- the breadcrumbs 46 are displayed in order from the root node to the selected node.
- the displayed breadcrumb lists 44 therefore display for the user the path taken through the hierarchical data set to reach the selected node 42 .
- the breadcrumbs 46 of the breadcrumb lists 44 may be activated (e.g., by clicking on a breadcrumb with a pointing device, such as a mouse) to travel to the node represented by the activated breadcrumb (e.g., by causing a treeview displaying the same hierarchical data set to jump to the node represented by the activated breadcrumb.)
- Hierarchical data sets may be “scoped” to facilitate more efficient navigation there-through. That is, nodes within a hierarchical data set may be grouped or otherwise conceptually related according to some desired criteria to establish one or more scopes.
- the portion of a hierarchical data set displayed in a treeview may be limited based on the scope of the selected node, thereby presenting the hierarchical data set as apportioned by scope.
- nodes of a scope may be aggregated into a single breadcrumb of a breadcrumb list, thus effectively shortening the breadcrumb list and making it more navigable.
- FIG. 1A-1B are illustrations of exemplary treeview user interface components for an exemplary non-scoped hierarchical data set.
- FIG. 1C is a table of breadcrumb lists for various nodes in the exemplary non-scoped hierarchical data set illustrated in FIGS. 1A-1B .
- FIG. 2A is a flowchart illustration depicting an exemplary method.
- FIG. 2B is a flowchart illustration depicting another exemplary method.
- FIG. 3A is an illustration of an exemplary scoped hierarchical data set.
- FIG. 3B is a set of exemplary scoped treeviews for the exemplary scoped hierarchical data set illustrated in FIG. 3A .
- FIG. 3C is a table of breadcrumb lists for various nodes in the exemplary scoped hierarchical data set illustrated in FIG. 3A .
- FIG. 4A is an illustration of another exemplary treeview user interface component for another exemplary scoped hierarchical data set.
- FIG. 4B is a set of exemplary scoped treeviews for the exemplary scoped hierarchical data set illustrated in FIG. 4A .
- FIG. 4C is another set of exemplary scoped treeviews for the exemplary scoped hierarchical data set illustrated in FIG. 4A .
- FIG. 4D is a table of exemplary breadcrumb lists for various nodes in the exemplary scoped hierarchical data set illustrated in FIG. 4A .
- FIG. 4E is another table of exemplary breadcrumb lists for various nodes in the exemplary scoped hierarchical data set illustrated in FIG. 4A .
- FIG. 4F is yet another table of exemplary breadcrumb lists for various nodes in the exemplary scoped hierarchical data set illustrated in FIG. 4A .
- FIG. 5A is a table of exemplary hierarchical data scopes and viewer components for accessing nodes within the exemplary hierarchical data scopes.
- FIG. 5B is an illustration of an exemplary scoped treeview user interface component for yet another exemplary scoped hierarchical data set.
- FIG. 5C is a table of exemplary breadcrumb lists for various nodes in the exemplary hierarchical data set illustrated in FIG. 5B and the viewer component associated with each node in accordance with the table of FIG. 5A .
- FIG. 5D is a table of exemplary breadcrumb lists for various nodes in the exemplary scoped hierarchical data set illustrated in FIG. 5B .
- FIG. 6 is a component diagram illustrating an exemplary system.
- FIG. 7 is an illustration of an exemplary integrated development environment comprising a breadcrumb list such as disclosed herein.
- FIG. 8 is an illustration of an exemplary computer-readable medium comprising processor-executable instructions configured to perform a method such as disclosed herein.
- This disclosure relates to techniques for representing scoped hierarchical data sets, and particularly to scoped treeviews and/or scoped breadcrumb lists for navigating through scoped hierarchical data sets.
- An unscoped treeview control may be associated with a very large hierarchical data set, but the amount of information contained therein may be cumbersome for the control.
- navigating through hierarchical data sets having many levels may be very time-consuming, since the user may have to manage the opening and closing of many nodes in an unscoped treeview in order to reach a low-level node.
- an unscoped breadcrumb list for a low-level control may grow onerously long. The display of multiple levels of depth in an unscoped breadcrumb list may overwhelm a user with too much information. It can be appreciated that these drawbacks may diminish the navigational utility of user interface components, and this may be exacerbated on devices with small displays, such as smart cellular phones and ultramobile PCs (UMPCs), which feature scaled-down LCD screens for enhanced portability.
- scoped treeviews and/or scoped breadcrumb lists to display scoped hierarchical data sets as described herein facilitates efficient data navigation and/or management.
- a scoped hierarchical data set various levels of the hierarchy are linked for aggregation.
- the view is generally restricted to the nodes of a particular (selected) scope and child nodes thereof.
- the “scoped treeview” for this “scoped” hiererachical data set is redrawn and illustrated with the scope used for the root of the tree (e.g., as the “root scope.”) Accordingly, the treeview may be redrawn with the scope shown as the root of the tree, e.g., with the treeview limited to the nodes comprising the scope and the child nodes thereof.
- the presentation of the treeview is therefore refocused on the conceptually related nodes and the child nodes thereof; the nodes above and/or outside of the conceptually related nodes (e.g., scope) may be omitted from the displayed treeview until and unless the user navigates out of the current scope.
- a scoped breadcrumb list respective breadcrumbs corresponding to nodes of a particular hierarchical scope may be aggregated into a single breadcrumb within the list.
- a breadcrumb comprising many aggregated breadcrumbs (of the same scope) may be collapsed to further simply the user interface.
- FIG. 2A presents a flowchart illustrating an exemplary method in accordance with principles of scoped treeviews for scoped hierarchical data sets.
- This figure illustrates a method 50 of representing a scoped hierarchical data set that begins at 52 and involves generating a first scoped treeview of the scoped hierarchical data set having a root representing the scope 54 . Having generated this scoped treeview, the method 50 ends at 56 .
- FIG. 2B presents a flowchart illustrating an exemplary method in accordance with principles of scoped breadcrumb lists for scoped hierarchical data sets.
- This figure illustrates a method 60 of identifying a path from a root node to a selected node in a scoped hierarchical data set, the path having at least one scope.
- the exemplary method 60 begins at 62 and involves generating a breadcrumb list representing the path, respective nodes of a scope aggregated into a scoped breadcrumb 64 . Having generated this breadcrumb list, the method 60 ends at 66 .
- FIG. 3A illustrates an exemplary scoped hierarchical data set to which these exemplary methods may be applied.
- This exemplary scoped hierarchical data set 70 contains the same organization of nodes as the non-scoped hierarchical data set 10 of FIG. 1A , but some nodes of the former hierarchical data set have been grouped into hierarchical scopes. Two hierarchical scopes are illustrated therein: one scope comprising the second-level nodes B 74 and C 76 , and the third-level nodes D 78 and E 80 within node C 76 ; and one scope comprising the second-level node F 82 , and the third-level nodes G 84 , H 86 , and J 90 .
- scopes are depicted with different shading for illustrative purposes, but it will be appreciated that the hierarchical scopes are a conceptual relationship; while the user interfaces depicting scoped hierarchies might incorporate such shading, the visual presentation is not a requisite element of this technique.
- FIG. 3A the child nodes of a particular node are not necessarily of the same scope.
- Node A 72 contains as child nodes both Nodes B 74 and C 76 (of one scope), Node F 82 (of another scope), and Node K 92 (unscoped.)
- a node associated with a scope may contain child nodes associated with another scope, or with no scope.
- Node D 78 could be associated with the scope of Nodes F 82 , G 84 , H 86 , and J 90 , instead of the scope of Nodes B 74 , C 76 and E 80 .
- Node I 88 is unscoped in the illustrated example, Node I 88 could have a scope that is different from the scope of Node H 86 (which has the same scope as Nodes F 82 , G 84 , and J 90 in the illustrated example.)
- each scope it is advantageous for each scope to comprise at least one pair of nodes having a parent/child hierarchical relationship (e.g., Node E 80 to Node C 76 ) to permit the aggregation of such nodes in a scoped breadcrumb.
- FIG. 3B illustrates the application of a scoped treeviewing method, such as the scoped treeviewing method 50 illustrated in FIG. 2A , to the exemplary scoped hierarchical data set 70 of FIG. 3A to produce, for each hierarchical scope in the hierarchical data set, a scoped treeview 100 .
- the first scoped treeview 102 is illustrated as the scoped treeview for Node A 104 , which is the root node of the hierarchical data set, and is unscoped.
- a corresponding scoped treeview 114 , 116 , 118 is illustrated, wherein the scoped treeview for each such scoped child node is rooted at the child node.
- Selecting Node B 106 produces a scoped treeview 114 that is rooted in Node B 106 , and includes the child nodes of Node B 106 (which number zero in the illustrated example as Node B 106 is a leaf node.) Because this scoped treeview 114 is rooted at Node B 106 , it does not include parent Node A 104 , nor any of the other child nodes of Node A 104 .
- navigating to Node C 108 produces a treeview 116 of Node C 108 and its child nodes 120 , 122 .
- Navigating within this scope e.g., to Nodes D 120 and E 122 ) produces the same scoped treeview 116 rooted at Node D 120 , since Node D 120 shares a hierarchical scope with Nodes D 120 and E 122 .
- navigating to Node F 110 produces a treeview 118 of Node F 110 and its child nodes 124 , 126 , 130 .
- Navigating within this scope produces the same scoped treeview 118 rooted at Node F 110 , since Node F 110 shares a hierarchical scope with Nodes G 124 , H 126 , and J 130 .
- navigating from Node A 104 to Node K 112 does not produce a separate scoped treeview (e.g., a different treeview from the treeview 102 rooted at Node A 104 ) because unscoped Node K 112 is not of a different scope than unscoped Node A 104 .
- FIG. 3B with FIG. 3A illustrates the improved efficiency of the scoped treeviews 100 in displaying the scoped hierarchical data set 70 .
- FIG. 3C illustrates the application of a scoped breadcrumbing method, such as illustrated in FIG. 2B , to the exemplary scoped hierarchical data set 70 of FIG. 3A to produce, for each node in the hierarchical data set, an exemplary breadcrumb list having scoped breadcrumbs.
- the breadcrumb list for each node advantageously incorporates the hierarchical scoping of nodes in the data set. Because Nodes C 152 , D 154 , and E 156 share a hierarchical scope, the breadcrumbs that reference these nodes are aggregated to produce a scoped breadcrumb.
- the breadcrumb list for Node D 154 features a scoped breadcrumb 166 that comprises both Nodes C 152 and D 154
- the breadcrumb list for Node E 156 features a scoped breadcrumb 168 that comprises both Nodes C 152 and E 156 .
- a node having a scope may contain a child node of a different scope or no scope.
- Node I 162 is an unscoped child node of Node H 160 in the illustrated example, which shares a scope with Node F 158 ; therefore, Nodes F 158 and H 160 are aggregated into one scoped breadcrumb 170 , while Node I 162 is presented as an unscoped breadcrumb in the breadcrumb list. It will be appreciated that this same presentation would be rendered if Node I 162 were of a different scope than Nodes F 158 and H 160 (rather than just being unscoped.)
- a scoped treeview and/or scoped breadcrumb list generated as described herein may be displayed to a user for navigating through a scoped hierarchical data set.
- respective hierarchical scopes are associated with a distinctive visual style
- displaying the scoped treeview or breadcrumb list may comprise displaying at least one scoped treeview node or scoped breadcrumb, respectively, according to the visual style of the associated hierarchical scope.
- a scoped treeview node or scoped breadcrumb comprising nodes within a particular scope may then be displayed for the user according to the visual style of the scope, which may inform the user as to the nature of the hierarchical scope that the treeview node or the breadcrumb (and the scoped nodes comprised therein) represents.
- the distinctive visual style may represent a color that is conceptually associated with the scope, and the scoped treeview nodes or breadcrumbs comprising nodes sharing a hierarchical scope may be displayed in the color of the shared scope.
- the scoped treeview nodes 100 illustrated in FIG. 3B and the scoped breadcrumbs presented in FIG. 3C are illustrated as having the same shading as the hierarchical scopes 70 illustrated in FIG. 3A .
- the nodes representing a hierarchical scope e.g., in an aggregated scoped breadcrumb or in a scoped treeview that has a different root scope
- a hierarchical scope named “User Control 1”, which may comprise components of a user control in an integrated development environment, for example, may be represented as an aggregated breadcrumb displayed with a “User Control 1” label (perhaps even omitting the names of the nodes comprising the aggregated breadcrumb), or as a node in a scoped treeview bearing a “User Control 1” label (where the nodes of the hierarchical scope are hidden until the user navigates into this hierarchical scope.)
- Those of ordinary skill in the art may be capable of choosing many such visual styles while practicing the techniques discussed herein.
- FIG. 4A illustrates another exemplary scoped hierarchical data set 180 , which is deeply nested (e.g., Nodes J 200 and K 202 are eight levels deep in the hierarchy.)
- An unscoped treeview for navigating this deeply nested hierarchical data set 180 might require extensive traversal of the treeview to reach desired nodes, and might similarly require an extensive number of unscoped breadcrumbs to describe the path from the root node to the more deeply nested nodes.
- This exemplary scoped hierarchical data set 180 serves as the basis for the exemplary embodiments of scoped treeviews an scoped breadcrumb lists illustrated in FIGS. 4B-4F .
- FIGS. 4B and 4C illustrate two alternative sets of scoped treeviews for representing the scoped hierarchical data set 180 of FIG. 4A .
- the root Node A 182 of the scoped hierarchical data set 180 is illustrated in FIG. 4B in a first treeview 212 having Node A as the root node of the treeview 214 .
- This treeview also contains child Nodes B, C, D, and E that comprise a first hierarchical scope 218 .
- the system Upon receiving user input representing selection of a node in the first hierarchical scope 218 , the system generates a second scoped treeview 220 of the scoped hierarchical data set 180 having a root representing the scope of the selected node.
- this second scoped treeview 220 is rooted in the first hierarchical scope 218 (and particularly at Node B 184 , as this is the highest node in the first hierarchical scope), the scoped treeview 220 does not include parent Node A 182 .
- selecting (e.g., navigating to) any of Nodes F through I together comprising the second hierarchical scope 222 in either the first scoped treeview 212 or the second scoped treeview 220 presents the third scoped treeview 224 , which is rooted at node F 192 , as the root of the second hierarchical scope.
- this scoped treeview 224 is rooted at Node F 192 (corresponding to the second hierarchical scope)
- this scoped treeview includes neither the unscoped Node A 182 nor Nodes B through E 184 , 186 , 188 , 190 of the first hierarchical scope.
- the scoped treeviews of FIG. 4B illustrate some additional aspects of scoped treeviews that may vary by implementation.
- respective hierarchical scopes are associated with a distinctive visual style
- the scoped nodes of the scoped treeviews are displayed in the distinctive visual style of the represented hierarchical scope.
- the distinctive visual style comprises distinctive hashing for the first hierarchical scope 218 and distinctive shading for the second hierarchical scope 222 .
- Other visual styles e.g., distinctive colors
- scoped treeviews that are not rooted at a root node of the scoped hierarchical data set 180 include a scope departure control 230 , in the form of an “up” arrow icon.
- the purpose of the scope departure control 230 is to enable the user to navigate upward out of the current scope. This functionality is otherwise unavailable in some scoped treeviews 220 , 224 of the scoped hierarchical data set 180 ; because the parent nodes are omitted from the display, the user cannot select them to move upward in the hierarchical data set.
- the scope departure control 230 is included, and upon receiving user input representing activation of the scope departure control (e.g., clicking the icon with a pointing device, such as a mouse), the scope departure control 230 causes the scoped treeview to traverse upward one (or more) hierarchical scopes. For example, activating the scope departure control 230 from the third scoped treeview 224 of FIG. 4B causes an upward traversal to the second scoped treeview 220 .
- a breadcrumb list may be included with the scoped treeview to represent the path from a root node to the root scope of the scoped treeview, and to enable the user to navigate upward and out of the hierarchical scope.
- each scoped treeview of FIG. 4B all child nodes of the nodes comprising the current hierarchical scope are illustrated.
- FIG. 4C An alternative embodiment is illustrated in FIG. 4C , in which, by contrast with FIG. 4B , the scoped treeview omits the child nodes of each node having a different hierarchical scope than the root scope. This omission is different from the opening and closing of nodes in the treeview that (respectively) shows or hides its child nodes. Rather, in the alternative embodiment of FIG. 4C , the omitted nodes are not shown in the scoped treeview even when the parent nodes are opened. For example, in the second treeview 220 of FIG.
- the root scope is the hierarchical scope comprising Nodes B 184 , C 186 , D 188 , and E 190 of the exemplary scoped hierarchical data set 180 of FIG. 4A .
- This second scoped treeview 220 also displays Node F 192 , but since Node F 192 has a different hierarchical scope than the root scope, its child nodes (e.g., nodes are omitted from this scoped treeview. Selecting Node F 192 causes the system to display the third treeview 224 , which includes Node F 192 and all of its child nodes. In this third treeview 224 , the scope 222 of Nodes F 192 , G 194 , H 196 , and I 198 is now the root scope.
- Nodes J 200 and K 202 are unscoped (as opposed to having different scope than the scope 222 of Nodes F-I) and thus are illustrated in the third treeview 224 of FIG. 4C .
- FIGS. 4D illustrates a set of scoped breadcrumb lists 240 that may be used to represent a scoped hierarchical data set 180 .
- an unscoped breadcrumb list for Nodes J and K would require eight breadcrumbs to illustrate the full path.
- the scoped breadcrumb lists 242 , 244 for Nodes J 200 and K 202 are illustrated in FIG. 4D ; due to the aggregation of nodes sharing a hierarchical scope into a scoped breadcrumb, the breadcrumb lists for Nodes J 242 and K 244 only require four breadcrumbs.
- the aggregation reflects the two hierarchical scopes of the exemplary hierarchy of FIG. 4A , where the first scope applies to Nodes B 184 , C 186 , D 188 , and E 190 , and the second scope applies to Nodes F 192 , G 194 , H 196 , and I 198 .
- each scope is illustrated as having a distinctive visual style (e.g., hashing and/or shading) and that the scoped breadcrumbs are displayed with the corresponding style.
- distinctive visual styles e.g., hashing and/or shading
- a variety of such distinctive visual styles may be devised (e.g., distinctive colors associated with the hierarchical scopes), and may be used in accordance with the concepts discussed herein.
- FIGS. 4E and 4F illustrate two alternative embodiments of the scoped breadcrumb lists for the scoped hierarchical data set 180 presented in FIG. 4A .
- These embodiments 240 , 250 include the concept of a collapsed view of one or more scoped breadcrumbs, so as to generate an even more condensed breadcrumb list representing the path to a node in the hierarchy.
- a collapsed view of a scoped breadcrumb displays fewer than all of the nodes in the scoped breadcrumb.
- a scoped breadcrumb representing a scope that spans four levels of a hierarchical data set may reference four nodes within the displayed breadcrumb, but this amount of information may more detailed than needed.
- this scoped breadcrumb may be displayed in a collapsed view, where only a few of the four nodes are displayed to provide a general indication of the nature of the hierarchical scope. It may be beneficial to display an indicator, such as an ellipsis, within the scoped breadcrumb to denote the inclusion of additional nodes that are hidden in the collapsed view.
- FIG. 4E features one exemplary use of collapsed views of breadcrumbs 240 , in which the collapsed view of the breadcrumbs comprises the highest-level node in the scoped breadcrumb and the lowest-level node in the scoped breadcrumb, along with an ellipsis to indicate that one or more intermediate-level nodes are hidden in the collapsed view of the scoped breadcrumb.
- the nodes of the breadcrumb list 244 that comprise the first hierarchical scope are aggregated into a first scoped breadcrumb 254 that is displayed in a collapsed view, displaying only the highest level Node B 184 and the lowest-level Node E 190 .
- nodes of the breadcrumb list 244 that comprise the second hierarchical scope are aggregated into a second scoped breadcrumb 256 that is also displayed in a collapsed view, displaying only the highest level Node F 192 and the lowest-level Node I 198 .
- Other such indicators may be devised, along with other techniques for displaying breadcrumbs in a collapsed view in accordance with the concepts discussed herein. It will be appreciated that some breadcrumbs may be displayed in a collapsed view, while other breadcrumbs may be displayed in an uncollapsed view.
- scoped breadcrumb containing the selected node may be shown in an uncollapsed state, while the other scoped breadcrumbs are shown in a collapsed state (such as in the breadcrumb path 252 for Node I 198 .)
- a collapsed state such as in the breadcrumb path 252 for Node I 198 .
- FIG. 4F features another embodiment of breadcrumb lists 260 for scoped hierarchical data sets 180 that includes the concept of collapsed views of scoped breadcrumbs.
- This embodiment 260 features a manual collapsing aspect, wherein, upon receiving user input representing activation of a scoped breadcrumb, the collapsed view of the activated scoped breadcrumb is toggled.
- each scoped breadcrumb 262 containing more than two is displayed with an indicator 264 of the collapsed or uncollapsed state of the scoped breadcrumb 262 , and activating the indicator 264 (e.g., clicking on the indicator 264 with a pointing device, such as a mouse) toggles the collapsed or uncollapsed view of the scoped breadcrumb 262 .
- the manual collapsing aspect of scoped breadcrumbs may be used alternatively or additionally with automatic collapsed or uncollapsed views of scoped breadcrumbs.
- scoped treeviews and/or scoped breadcrumb lists relates to the effect upon receiving user activation of a scoped treeview node and/or scoped breadcrumb.
- the node upon receiving user input representing activation of a treeview node or a node within a breadcrumb, the node may be presented in a user interface component.
- the activation of a node may simply display the organizational position of the node within the hierarchical data set (e.g., upon selecting a node in a breadcrumb list, the system may display a scoped treeview of the hierarchical data set with the focus set on the node activated in the breadcrumb list.)
- a user may use a pointing device, such as a mouse, to click on a node in the breadcrumb list, or on a node in the scoped treeview, and the system may respond by presenting the information contained in the node.
- the hierarchical data set may comprise a website having hierarchically organized pages, where each node in the hierarchical data set represents a page of the website, and where each node contains other nodes representing subordinate pages within the hierarchically organized website.
- Activating a node might thereby cause a viewer, such as a web browser, to display the page associated with the activated node.
- the page so displayed might include a breadcrumb list to illustrate the path of pages in the website in which the currently viewed page is hierarchically located.
- FIGS. 5A-5D present another embodiment of a scoped treeview and a scoped breadcrumb list that relate to the effect of activating a node in the hierarchical data set.
- the system upon receiving user input representing activation of a node in a treeview or a breadcrumb in the breadcrumb list, displays the activated node in a user interface component.
- the user interface component comprises a viewer configured to display the activated node.
- the user interface component may permit any of several forms of interaction with the data represented by the activated node; e.g., the system may simply display the contained information, or may allow the user to create, edit, or delete information for the selected node.
- a hierarchical scope may be associated with a user interface component, such as an application, configured to view the data comprising nodes of the type associated with the hierarchical scope.
- the user may therefore work with the data organized in the hierarchical data set by activating nodes in the scoped treeview interface or the scoped breadcrumb list.
- “selecting” a node and “activating” a node may comprise two different forms of user input. For example, a node may be “selected” by clicking the node with a pointing device, such as a mouse, whereas the node may be “activated” by double-clicking the node with the pointing device.
- FIG. 5A illustrates an exemplary set 270 of associations between hierarchical scopes 272 and viewers 274 .
- a hierarchical scope 276 representing a media collection (e.g., the hierarchical data set identifying the contents of the media collection) may be associated with a collection organizer 278 , which provides an interface for browsing and organizing the media collection.
- Another hierarchical scope 280 may be created to represent images, e.g., photo files and lists of photos comprising photo albums, and may be associated with a photo viewer application 282 .
- a third scope 284 may be created to represent music sets and playlists, and may be associated with a music organizer application 286 .
- a fourth scope 288 may be created to represent music files, and may be associated with a music player application 290 .
- a fifth scope 292 may be created to represent song lyrics, and may be associated with a lyrics viewer 294 .
- FIG. 5B illustrates an exemplary scoped hierarchical data set 300 representing a media collection, such as a library of multimedia content that may be available to a user on a computer system.
- the media collection in this example contains several forms of media, including music and photos, as well as organizational groupings of such media, including photo albums, playlists, and music sets.
- These different forms of data may be conceptually related, and may be associated as a hierarchical scope, such as the exemplary set of associations illustrated in the table 270 of FIG. 5A .
- one hierarchical scope 302 may be used to group photos with photo albums
- another hierarchical scope 304 may be used to group playlists with music sets.
- each hierarchical scope may be associated with a viewer, such as a particular software application capable of displaying the types of data associated with the hierarchical scope.
- FIG. 5C illustrates the scoped treeviews 310 for each node in the scoped hierarchical data set 300 of FIG. 5B and the related applications.
- selecting each node of the hierarchical data set presents the associated scoped treeview.
- activating a node within the root scope of the scoped treeview causes the activated node to be displayed in a user interface component, such as a viewer, that is configured to display nodes of the type associated with this hierarchical scope.
- each scoped treeview omits the child nodes of nodes having a scope other than the root scope.
- the scoped treeview 322 representing the root scope for music sets and playlists includes the node for “Playlist 2” (of the same scope) and its child node “Song 2” (of a different scope), but omits the children of child node “Song 2”, such as “Song 2 Lyrics.” This latter child node is illustrated in the scoped treeview 324 for “Song 2.”
- FIG. 5D illustrates the scoped breadcrumb lists 330 for each node in the scoped hierarchical data set 300 of FIG. 5B , along with the viewer associated with each node, based on the hierarchical scope with which the node is associated. For example, activating a node representing a photo album or a photo displays the selected item in a photo viewer, whereas activating a node representing a music set or a playlist displays the music set or playlist in a music organizer application.
- the user interface embodying the scoped breadcrumb lists may enable different modes of interaction with the breadcrumbs, wherein one mode comprises “selection” of the node that causes navigation to the selected node (e.g., displaying a scoped treeview for the scope of the selected breadcrumb), and wherein another mode comprises “activation” of the node that causes the activated node to be displayed in a viewer application, for example.
- one mode comprises “selection” of the node that causes navigation to the selected node (e.g., displaying a scoped treeview for the scope of the selected breadcrumb)
- another mode comprises “activation” of the node that causes the activated node to be displayed in a viewer application, for example.
- Many such user interface arrangements may be devised by those of ordinary skill in the art and configured to operate in accordance with the techniques presented herein.
- the hierarchical scopes may be assigned names, and the name of the hierarchical scope may be displayed in a scoped treeview and/or a scoped breadcrumb list according to the name of the hierarchical scope, rather than the nodes contained therein.
- the hierarchical scope including the nodes “Music Set 1,” “Playlist 1,” and “Playlist 2” may be assigned the name “Music,” and this name may be displayed in the scoped treeview and/or scoped breadcrumb list instead of the nodes contained therein.
- a scoped treeview having a root scope other than the “Music” hierarchical scope may simply display one node in the scoped treeview labeled “Music,” and may display the names of the nodes contained herein for the scoped treeviews having “Music” as the root scope.
- some of the nodes comprising a first hierarchical scope may also be associated with a second hierarchical scope, such as a scope of finer granularity.
- the collapsing may toggle between or among a collapsed view of the scoped breadcrumb, an uncollapsed view of the scoped breadcrumb, and a partially collapsed view of the scoped breadcrumb, wherein the breadcrumbs comprising the second hierarchical scope are aggregated into an aggregated breadcrumb within the first hierarchical scope.
- the scoped treeview and/or scoped breadcrumb list may also (individually or together) be implemented as a system, such as a system for identifying a path from a root node to a selected node in a scoped hierarchical data set.
- a system of this nature might comprise a memory configured to represent the scoped hierarchical data set, and a treeviewing component configured to represent a scoped hierarchical data set by generating a scoped treeview of the scoped hierarchical data set having a root representing a scope.
- a system of this nature might comprise a memory configured to represent the scoped hierarchical data set, and a breadcrumbing component configured to generate a breadcrumb list representing the path within the scoped hierarchical data set in the memory, respective nodes of a scope aggregated into a scoped breadcrumb.
- the scoped breadcrumb lists generated by such a system may be aggregated according to the shared hierarchical scopes of the nodes comprising the path, and may therefore comprise a more condensed breadcrumb list as compared with an unscoped breadcrumb list for the selected node.
- Such systems may be combined in many ways to present both a scoped treeview and a scoped breadcrumb list that, individually or together, represent the scoped hierarchical data set stored in the memory.
- the treeviewing component and/or the breadcrumbing component may comprise hardware configured to generate scoped treeviews and/or scoped breadcrumb lists in accordance with these techniques, such as a field-programmable gate array (FPGA).
- the treeviewing component and/or the breadcrumbing component may comprise software instructions encoded for execution on general-purpose hardware, e.g., a desktop processor, and configured to generate scoped treeviews and/or scoped breadcrumb lists according to scoped hierarchies.
- general-purpose hardware e.g., a desktop processor
- the system comprises a display component configured to display the scoped treeview and/or scoped breadcrumb list.
- the display component may comprise a visual display apparatus, such as (e.g.) an LCD monitor, CRT monitor, projector, or printer.
- the display component may also comprise an interface for communicating between the treeviewing component and/or the breadcrumbing component and the visual display apparatus, such as (e.g.) a display adapter, a video memory buffer, a software driver, and/or a visual programming interface.
- the display component may be configured to incorporate any or several of the particular embodiments discussed hereinabove.
- the display component may be configured to display scoped treeviews and/or scoped breadcrumbs with distinctive visual styles, such as (e.g.) a distinctive color or shading style that is associated with the hierarchical scope represented by the scoped nodes and/or scoped breadcrumb.
- the display component may be configured to display a scope departure control configured to navigate out of the selected scope of a scoped treeview.
- the display component may be configured to display at least one breadcrumb in a collapsed view, comprising fewer than all of the nodes in the scoped breadcrumb.
- Many such display components may be devised by those of ordinary skill in the art in the context of systems configured to operate in accordance with the techniques presented herein.
- the system may comprise an input component, such as a keyboard or a mouse, configured to accept user input in relation to the scoped treeview and/or scoped breadcrumb list.
- the input component may be configured to accept user input representing activation of a treeview node and/or breadcrumb, and the display component configured to present a node within the activated treeview node and/or a node within the activated breadcrumb in a user interface component (e.g., a viewer configured to display the activated node.)
- the input component may be configured to accept user input representing activation of a scoped breadcrumb, and the display component may be configured to toggle a collapsed view of an activated scoped breadcrumb.
- Many such input components may be devised by those of ordinary skill in the art in the context of systems configured to operate in accordance with the techniques presented herein.
- FIG. 6 illustrates an exemplary system for generating scoped treeviews and breadcrumb lists that incorporates several of the aspects described herein.
- the system 340 comprises a breadcrumbing component 342 and a treeviewing component 344 , each operably coupled with a memory 346 containing a data representation of the scoped hierarchical data set 348 .
- the system 340 also comprises a display component 350 configured to display the scoped treeview 352 generated by the treeviewing component 344 and/or the scoped breadcrumb list 354 generated by the breadcrumbing component 342 for a selected node in the scoped hierarchical data set 348 , 350 .
- the system 340 also comprises two input devices, a keyboard 356 and a mouse 358 , which may be configured to accept user input in relation to the scoped treeview 352 and/or scoped breadcrumb list 354 .
- these components generate and display a scoped treeview 352 and/or a scoped breadcrumb list 354 for the hierarchical data set 348 , 350 , and allow user interaction with the hierarchical data set 348 , 350 (e.g., facilitated navigation through the nodes of the hierarchical data set 348 , 350 , and viewing of selected nodes in viewer applications.)
- GUI Graphical user interface
- the scoped breadcrumb list may also be utilized in an integrated development environment.
- Graphical user interface (GUI) applications are often created within such an environment, which provides a sophisticated set of tools for designing rich user interfaces with various graphical controls, such as buttons, textboxes, and listboxes, and for writing software that interacts with the user through such controls comprising the graphical user interface.
- One common feature of such applications is the representation of the graphical user interface application (the “form”) as a hierarchical data set, where the root node representing the form contains the various graphical controls, which may contain other controls (e.g., a panel that contains a set of buttons) and a wide number of configurable properties.
- the assortment of user controls has developed in sophistication and complexity.
- Such an integrated development environment may be configured to display one or more activated nodes of a hierarchical data set, for example (e.g., any of the constituent elements of the user interface, or the properties thereof) in an editor appropriate for the type of node selected. For example, activating a button in a hierarchical data set might display the properties of that button in a “button properties” editor.
- the hierarchical data set of information describing the assortment and details of such controls to the programmer has also grown in size.
- the programmer may have difficulty navigating through the expansive hierarchical data set while designing the application.
- a treeview and breadcrumb list may not facilitate efficient navigation, as controls and properties may be located several levels deep in the hierarchical data set, thereby requiring extensive navigation within the treeview to reach a desired node, as well as a cumbersome breadcrumb list to describe the object (e.g., a breadcrumb list for a graphical user interface of “Application Form : Controls: Media Player: Media Control Panel: Progress Slider: Scrollbar”—six nested nodes deep, and hence six unscoped breadcrumbs—might be necessitated to describe the progressive scrollbar in a media player application.)
- hierarchical scopes may be applied to the hierarchical data set of graphical user interface components, and a selected node may be described by generating and displaying a scoped treeview and/or a scoped breadcrumb list (e.g., “Application Form, Controls: Media Player, Media Control Panel : Progress Slider. Scrollbar” requires only three scoped breadcrumbs
- hierarchical scopes may be applied to the hierarchical data set that associatively group some conceptually relate sets of objects in the hierarchical data set (e.g., the data set representing the components and properties that comprise a graphical user interface application.)
- a hierarchical scope may be applied for associatively grouping the elements of a “control template,” e.g., the elements that comprise a control (e.g., a media player component may be defined by a control template specifying a Stop button, a Play button, a progress bar, etc.)
- a hierarchical scope may be applied for logically grouping the properties comprising a “control style,” e.g., the collection of properties defining a visual style to be applied to one or more graphical components (e.g., the font, font style, background color, and border color applied to a graphical user control.)
- a hierarchical scope may be applied for logically grouping the elements of a “root
- the integrated development environment may embody a method of representing a scoped hierarchical data set representing at least one user interface component in the integrated development environment, where the method comprises generating a first scoped treeview of the scoped hierarchical data set having a root representing a scope.
- an integrated development environment may embody a method of displaying a path from a root node to a selected node in a scoped hierarchical data set representing at least one user interface component in the integrated development environment, where the method comprises generating a breadcrumb list representing the path, and where respective nodes of a scope aggregated into a scoped breadcrumb.
- FIG. 7 illustrates an exemplary integrated development environment 360 that features scoped treeviews and scoped breadcrumb lists for navigating through the complex elements that define a graphical user interface application.
- the exemplary integrated development environment 360 is illustrated during its use for creating a media player application.
- the elements of the application are shown as hierarchical nodes displayed in a treeview 362 , and various hierarchical scopes are illustrated for grouping conceptually related nodes.
- the root node 364 of the hierarchical data set 362 represents the form, e.g., the class comprising the graphical user interface application and containing all of the graphical user controls within the application.
- the root node 364 contains a few controls, such as IstAllTracks 366 and objPlayer 368 , each of which is designed with a “control template” scope that conceptually couples each control with some of the sub-controls embedded in it.
- “objPlayer” 368 (an instance of a media player component) shares a hierarchical scope with two sub-controls that the media player component contains: a listbox 370 displaying the currently playing tracks, and a panel containing some media playing controls 372 (Reverse, Stop, Play, Fast-Forward, and Eject.)
- the root node 364 also contains a set of nested properties 374 describing the default visual style of the form 364 , and a hierarchical scope is applied to some of the nested properties contained therein, such as the style of the font 376 .
- the hierarchical scopes in this exemplary figure are represented by distinctive visual styles (e.g., hashing for the hierarchical scopes representing control templates, and
- the exemplary integrated development environment 360 illustrated in FIG. 7 may generate scoped treeviews and/or scoped breadcrumb lists that facilitate navigation.
- the developer is editing two portions of the graphical user interface application: the form 364 (named frmMyMediaPlayer) and the default font style 376 for the default visual style applied to the form and contained controls (named stIForm.)
- the form editor 378 displays a first scoped treeview 380 at the bottom right corner of the editor window, illustrating the selected node (frmMyMediaPlayer) and all of its child nodes (fprForm, lstAlITracks, objplayer, and stlFirm.) Since the latter three objects are members of a hierarchical scope, and therefore represent a different hierarchical scope than the root node (e.g., the unscoped node frmMyMediaPlayer
- the form editor 378 also displays a scoped breadcrumb list 382 at the bottom of the editor window, comprising a breadcrumb representing the form 364 (e.g., the root node of the hierarchical data set 362 .) Additionally, the default font style 376 is being edited in a font style editor 384 , which displays a second scoped treeview 386 at the bottom right corner of the editor window.
- this scoped treeview 386 is rooted in the hierarchical scope comprising stlForm and its constituent properties (clrBackground, fntDefault, etc.), the treeview 386 is rooted in the hierarchical scope for stlForm, and therefore omits all of the nodes above this hierarchical scope (frmMyMediaPlayer, fprForm, lstAllTracks, etc.)
- the form editor 384 also displays a scoped breadcrumb list 388 at the bottom of the editor window.
- This breadcrumb list 388 comprises three breadcrumbs, including a scoped breadcrumb aggregating the nodes associated with the “control style” hierarchical scope. It will now be apparent that this scoped hierarchical data set 362 enables the generation of scoped treeviews and condensed breadcrumb lists that logically group related nodes and consume less space in the integrated development environment 360 .
- the techniques discussed herein may also be embodied as a computer-readable medium comprising processor-executable instructions configured to generate breadcrumb lists as discussed herein.
- An exemplary computer-readable medium that may be devised in these ways is illustrated in FIG. 8 , wherein the implementation 390 comprises a computer-readable medium 392 (e.g., a CD-R, DVD-R, or a platter of a hard disk drive), on which is encoded computer-readable data 394 .
- This computer-readable data 394 in turn comprises a set of computer instructions 396 configured to operate according to the principles set forth herein.
- the processor-executable instructions 396 may be configured to perform a method of representing a scoped hierarchical data set, such as the method 50 illustrated in the flowchart of FIG. 2A , and/or a method of identifying a path from a root node to a selected node in a scoped hierarchical data set, such as the method 60 illustrated in the flowchart of FIG. 2B .
- the processor-executable instructions 396 may be configured to implement a system for representing a scoped hierarchical data set and/or for identifying a path from a root node to a selected node in a scoped hierarchical data set, such as the system illustrated in the component diagram of FIG. 6 .
- the processor-executable instructions 396 may be configured to implement a method of representing a scoped hierarchical data set representing at least one user interface component in an integrated development environment, and/or of displaying a path from a root node to a selected node in such a hierarchical data set, such as the designer illustrated in FIG. 7 .
- Many such computer-readable media may be devised by those of ordinary skill in the art that are configured to operate in accordance with the techniques presented herein.
- a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer.
- an application running on a controller and the controller can be a component.
- One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
- the claimed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed subject matter.
- article of manufacture as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media.
- computer readable media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips . . . ), optical disks (e.g., compact disk (CD), digital versatile disk (DVD) . . .), smart cards, and flash memory devices (e.g., card, stick, key drive . . . ).
- a carrier wave can be employed to carry computer-readable electronic data such as those used in transmitting and receiving electronic mail or in accessing a network such as the Internet or a local area network (LAN).
- LAN local area network
- the word “exemplary” is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the word exemplary is intended to present concepts in a concrete fashion.
- the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise, or clear from context, “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then “X employs A or B” is satisfied under any of the foregoing instances.
- the articles “a” and “an” as used in this application and the appended claims may generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
- Many areas of computing involve hierarchically organized data sets, as well as techniques for display and navigation through such data sets. A hierarchically organized set of such data items, also known as nodes, may be organized with one or more items at the topmost level, known as root nodes. Each node may contain any number of subordinate items, known as child nodes, which may in turn contain any number of subordinate items, etc. A node may also contain no child nodes, therefore serving as a leaf node. This organizational structure provides for a hierarchy of containment, where each node except for the root node(s) is contained within one higher-level node (known as a parent node.)
- Hierarchical data organization may be used in several contexts. As one example, data stored in a format complying with an Extensible Markup Language (XML) schema is organized hierarchically, such that the XML data set contains at most one root node, and each data item except for the root node is contained within exactly one higher-level XML data item. In this example, containment represents nesting, which leads to a fully nested, strictly hierarchical data set.
- Hierarchical data sets are often displayed through a treeview graphical user control, in which the individual nodes may be opened or closed to show or hide (respectively) the child nodes contained therein. An exemplary treeview is illustrated in
FIGS. 1A-1B , each presenting a treeview of the same hierarchical data set in two different view states.FIG. 1A depicts the hierarchical data set 10 as containing aroot node 12, Node A, that solely comprises the topmost level of the hierarchy, and that directly or indirectly contains all of the other nodes. For instance, Node A 12 directly containsNode B 14, Node C 16, Node F 22, and Node K 32, which together comprise the second level of the hierarchy. NodeC 16 further containsNode D 18 and NodeE 20, while Node F 22 further contains NodesG 24,H 26, andJ 30, and NodeH 26 further contains Node I 28. - Treeview user controls may be used to display very large hierarchical data sets comprising millions of nodes, but displaying all of the nodes would be cumbersome for user navigation. The treeview therefore allows each node to be displayed in an open or closed state, where a node in an open state (denoted by a “−” sign) is shown with all of the child nodes, while a node in a closed state (denoted by a “+” sign) is shown with its child nodes hidden. The open or closed state of a node in the treeview may be toggled by the user (e.g., by clicking on the “+” or “−” symbol to the left of the node with a pointing device, such as a mouse.) The treeview depicted in
FIG. 1B illustrates the same data set as the treeview ofFIG. 1A , but withNode C 16, NodeH 26, Node J 30, and Node K 32 shown in a closed state (thereby hidingNodes D 18 andE 20 contained withinNode C 16, and Node I 28 contained withinNode H 26.) The hierarchical data set illustrated by the treeview ofFIG. 1B still containsNodes D 18,E 20, andI 28, but these child nodes are hidden in the current state of the treeview, and may be shown again by opening the respective parent nodes. - The hierarchical organization of the treeview enables the description of nodes according to the respective paths traversed to reach them. For instance, Node H 26 in
FIG. 1A may be described as the child node of Node F 22, which is in turn the child node ofNode A 12. In reverse direction, NodeH 26 may be reached by traversing the hierarchical data set illustrated inFIG. 1A by beginning at Node A 12, navigating (among the child nodes of Node A 12) to Node F 22, and navigating (among the child nodes of Node F 22) to NodeH 26. This sequence forms a hierarchical path of Node A 12: Node F 22:Node H 26, which may be used to describe the organization ofNode H 26 within the hierarchical data set. - When a user is navigating through a hierarchical data set, this sequence may also be presented as a breadcrumb list, e.g., as the hierarchical series of nodes through which the user has navigated to reach the current node.
FIG. 1C illustrates the breadcrumb list for each node in the hierarchical data set ofFIG. 1A . In theexemplary breadcrumb list 40 ofFIG. 1C , when eachnode 42 of the hierarchical data set is selected, it is associated with a breadcrumb list 44 containingbreadcrumbs 46 representing each location within the path from a root node of the hierarchical data set to theselected node 42. In the exemplary breadcrumb lists 44 ofFIG. 1C , thebreadcrumbs 46 are displayed in order from the root node to the selected node. The displayed breadcrumb lists 44 therefore display for the user the path taken through the hierarchical data set to reach theselected node 42. Moreover, in some implementations, thebreadcrumbs 46 of the breadcrumb lists 44 may be activated (e.g., by clicking on a breadcrumb with a pointing device, such as a mouse) to travel to the node represented by the activated breadcrumb (e.g., by causing a treeview displaying the same hierarchical data set to jump to the node represented by the activated breadcrumb.) - 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 identify key factors or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
- The discussion herein pertains to the representation of hierarchical data sets through various user interfaces. Large hierarchies may be difficult to display or describe with treeviews and/or breadcrumb lists, since navigating to some nodes within the hierarchy may require deep navigation within a treeview and/or through long lists of breadcrumbs that present a cumbersome amount of information to a user. Accordingly, as described herein, hierarchical data sets may be “scoped” to facilitate more efficient navigation there-through. That is, nodes within a hierarchical data set may be grouped or otherwise conceptually related according to some desired criteria to establish one or more scopes. In one example, the portion of a hierarchical data set displayed in a treeview may be limited based on the scope of the selected node, thereby presenting the hierarchical data set as apportioned by scope. In another example, nodes of a scope may be aggregated into a single breadcrumb of a breadcrumb list, thus effectively shortening the breadcrumb list and making it more navigable.
- To the accomplishment of the foregoing and related ends, the following description and annexed drawings set forth certain illustrative aspects and implementations. These are indicative of but a few of the various ways in which one or more aspects may be employed. Other aspects, advantages, and/or novel features may become apparent from the following detailed description when considered in conjunction with the annexed drawings.
-
FIG. 1A-1B are illustrations of exemplary treeview user interface components for an exemplary non-scoped hierarchical data set. -
FIG. 1C is a table of breadcrumb lists for various nodes in the exemplary non-scoped hierarchical data set illustrated inFIGS. 1A-1B . -
FIG. 2A is a flowchart illustration depicting an exemplary method. -
FIG. 2B is a flowchart illustration depicting another exemplary method. -
FIG. 3A is an illustration of an exemplary scoped hierarchical data set. -
FIG. 3B is a set of exemplary scoped treeviews for the exemplary scoped hierarchical data set illustrated inFIG. 3A . -
FIG. 3C is a table of breadcrumb lists for various nodes in the exemplary scoped hierarchical data set illustrated inFIG. 3A . -
FIG. 4A is an illustration of another exemplary treeview user interface component for another exemplary scoped hierarchical data set. -
FIG. 4B is a set of exemplary scoped treeviews for the exemplary scoped hierarchical data set illustrated inFIG. 4A . -
FIG. 4C is another set of exemplary scoped treeviews for the exemplary scoped hierarchical data set illustrated inFIG. 4A . -
FIG. 4D is a table of exemplary breadcrumb lists for various nodes in the exemplary scoped hierarchical data set illustrated inFIG. 4A . -
FIG. 4E is another table of exemplary breadcrumb lists for various nodes in the exemplary scoped hierarchical data set illustrated inFIG. 4A . -
FIG. 4F is yet another table of exemplary breadcrumb lists for various nodes in the exemplary scoped hierarchical data set illustrated inFIG. 4A . -
FIG. 5A is a table of exemplary hierarchical data scopes and viewer components for accessing nodes within the exemplary hierarchical data scopes. -
FIG. 5B is an illustration of an exemplary scoped treeview user interface component for yet another exemplary scoped hierarchical data set. -
FIG. 5C is a table of exemplary breadcrumb lists for various nodes in the exemplary hierarchical data set illustrated inFIG. 5B and the viewer component associated with each node in accordance with the table ofFIG. 5A . -
FIG. 5D is a table of exemplary breadcrumb lists for various nodes in the exemplary scoped hierarchical data set illustrated inFIG. 5B . -
FIG. 6 is a component diagram illustrating an exemplary system. -
FIG. 7 is an illustration of an exemplary integrated development environment comprising a breadcrumb list such as disclosed herein. -
FIG. 8 is an illustration of an exemplary computer-readable medium comprising processor-executable instructions configured to perform a method such as disclosed herein. - The claimed subject matter is now described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the claimed subject matter. It may be evident, however, that the claimed subject matter may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form to facilitate describing the claimed subject matter.
- This disclosure relates to techniques for representing scoped hierarchical data sets, and particularly to scoped treeviews and/or scoped breadcrumb lists for navigating through scoped hierarchical data sets. An unscoped treeview control may be associated with a very large hierarchical data set, but the amount of information contained therein may be cumbersome for the control. In particular, navigating through hierarchical data sets having many levels may be very time-consuming, since the user may have to manage the opening and closing of many nodes in an unscoped treeview in order to reach a low-level node. Similarly, an unscoped breadcrumb list for a low-level control may grow onerously long. The display of multiple levels of depth in an unscoped breadcrumb list may overwhelm a user with too much information. It can be appreciated that these drawbacks may diminish the navigational utility of user interface components, and this may be exacerbated on devices with small displays, such as smart cellular phones and ultramobile PCs (UMPCs), which feature scaled-down LCD screens for enhanced portability.
- Implementing scoped treeviews and/or scoped breadcrumb lists to display scoped hierarchical data sets as described herein facilitates efficient data navigation and/or management. For example, in a scoped hierarchical data set various levels of the hierarchy are linked for aggregation. With regard to a scoped treeview user interface, the view is generally restricted to the nodes of a particular (selected) scope and child nodes thereof. If a user selects a node of a particular conceptual section (e.g., a scope) of the hierarchical data set, the “scoped treeview” for this “scoped” hiererachical data set is redrawn and illustrated with the scope used for the root of the tree (e.g., as the “root scope.”) Accordingly, the treeview may be redrawn with the scope shown as the root of the tree, e.g., with the treeview limited to the nodes comprising the scope and the child nodes thereof. The presentation of the treeview is therefore refocused on the conceptually related nodes and the child nodes thereof; the nodes above and/or outside of the conceptually related nodes (e.g., scope) may be omitted from the displayed treeview until and unless the user navigates out of the current scope. Similarly, with regard to a scoped breadcrumb list, respective breadcrumbs corresponding to nodes of a particular hierarchical scope may be aggregated into a single breadcrumb within the list. Moreover, a breadcrumb comprising many aggregated breadcrumbs (of the same scope) (e.g., where a user has navigated deeply into the scoped hierarchical data set) may be collapsed to further simply the user interface.
-
FIG. 2A presents a flowchart illustrating an exemplary method in accordance with principles of scoped treeviews for scoped hierarchical data sets. This figure illustrates amethod 50 of representing a scoped hierarchical data set that begins at 52 and involves generating a first scoped treeview of the scoped hierarchical data set having a root representing thescope 54. Having generated this scoped treeview, themethod 50 ends at 56. -
FIG. 2B presents a flowchart illustrating an exemplary method in accordance with principles of scoped breadcrumb lists for scoped hierarchical data sets. This figure illustrates amethod 60 of identifying a path from a root node to a selected node in a scoped hierarchical data set, the path having at least one scope. Theexemplary method 60 begins at 62 and involves generating a breadcrumb list representing the path, respective nodes of a scope aggregated into a scopedbreadcrumb 64. Having generated this breadcrumb list, themethod 60 ends at 66. -
FIG. 3A illustrates an exemplary scoped hierarchical data set to which these exemplary methods may be applied. This exemplary scoped hierarchical data set 70 contains the same organization of nodes as the non-scoped hierarchical data set 10 ofFIG. 1A , but some nodes of the former hierarchical data set have been grouped into hierarchical scopes. Two hierarchical scopes are illustrated therein: one scope comprising the second-level nodes B 74 andC 76, and the third-level nodes D 78 andE 80 withinnode C 76; and one scope comprising the second-level node F 82, and the third-level nodes G 84,H 86, andJ 90. The scopes are depicted with different shading for illustrative purposes, but it will be appreciated that the hierarchical scopes are a conceptual relationship; while the user interfaces depicting scoped hierarchies might incorporate such shading, the visual presentation is not a requisite element of this technique. It will also be noted fromFIG. 3A that the child nodes of a particular node are not necessarily of the same scope. For example,Node A 72 contains as child nodes bothNodes B 74 and C 76 (of one scope), Node F 82 (of another scope), and Node K 92 (unscoped.) It will also be noted that a node associated with a scope may contain child nodes associated with another scope, or with no scope. For example,Node D 78 could be associated with the scope ofNodes F 82,G 84,H 86, andJ 90, instead of the scope ofNodes B 74,C 76 andE 80. Similarly, although Node I 88 is unscoped in the illustrated example, Node I 88 could have a scope that is different from the scope of Node H 86 (which has the same scope asNodes F 82,G 84, andJ 90 in the illustrated example.) Finally, it will be noted that it is advantageous for each scope to comprise at least one pair of nodes having a parent/child hierarchical relationship (e.g.,Node E 80 to Node C 76) to permit the aggregation of such nodes in a scoped breadcrumb. -
FIG. 3B illustrates the application of a scoped treeviewing method, such as the scopedtreeviewing method 50 illustrated inFIG. 2A , to the exemplary scoped hierarchical data set 70 ofFIG. 3A to produce, for each hierarchical scope in the hierarchical data set, a scopedtreeview 100. The first scopedtreeview 102 is illustrated as the scoped treeview forNode A 104, which is the root node of the hierarchical data set, and is unscoped. For each of the scopedchild nodes Node A 104, a corresponding scopedtreeview Node B 106, for example, produces a scopedtreeview 114 that is rooted inNode B 106, and includes the child nodes of Node B 106 (which number zero in the illustrated example asNode B 106 is a leaf node.) Because this scopedtreeview 114 is rooted atNode B 106, it does not includeparent Node A 104, nor any of the other child nodes ofNode A 104. Similarly, navigating toNode C 108 produces atreeview 116 ofNode C 108 and itschild nodes Nodes D 120 and E 122) produces the same scoped treeview 116 rooted atNode D 120, sinceNode D 120 shares a hierarchical scope withNodes D 120 andE 122. Likewise, navigating toNode F 110 produces atreeview 118 ofNode F 110 and itschild nodes Nodes G 124,H 126, and J 130) produces the same scoped treeview 118 rooted atNode F 110, sinceNode F 110 shares a hierarchical scope withNodes G 124,H 126, andJ 130. By contrast, navigating fromNode A 104 toNode K 112 does not produce a separate scoped treeview (e.g., a different treeview from thetreeview 102 rooted at Node A 104) becauseunscoped Node K 112 is not of a different scope thanunscoped Node A 104. ComparingFIG. 3B withFIG. 3A illustrates the improved efficiency of the scopedtreeviews 100 in displaying the scopedhierarchical data set 70. -
FIG. 3C illustrates the application of a scoped breadcrumbing method, such as illustrated inFIG. 2B , to the exemplary scoped hierarchical data set 70 ofFIG. 3A to produce, for each node in the hierarchical data set, an exemplary breadcrumb list having scoped breadcrumbs. In the table of breadcrumb lists 150 illustrated herein, the breadcrumb list for each node advantageously incorporates the hierarchical scoping of nodes in the data set. BecauseNodes C 152,D 154, andE 156 share a hierarchical scope, the breadcrumbs that reference these nodes are aggregated to produce a scoped breadcrumb. Thus, the breadcrumb list forNode D 154 features a scopedbreadcrumb 166 that comprises both Nodes C 152 andD 154, and the breadcrumb list forNode E 156 features a scopedbreadcrumb 168 that comprises both Nodes C 152 andE 156. As noted in the discussion ofFIG. 3A , a node having a scope may contain a child node of a different scope or no scope. For example, Node I 162 is an unscoped child node ofNode H 160 in the illustrated example, which shares a scope withNode F 158; therefore,Nodes F 158 andH 160 are aggregated into onescoped breadcrumb 170, while Node I 162 is presented as an unscoped breadcrumb in the breadcrumb list. It will be appreciated that this same presentation would be rendered if Node I 162 were of a different scope thanNodes F 158 and H 160 (rather than just being unscoped.) - A scoped treeview and/or scoped breadcrumb list generated as described herein may be displayed to a user for navigating through a scoped hierarchical data set. In one embodiment, respective hierarchical scopes are associated with a distinctive visual style, and displaying the scoped treeview or breadcrumb list may comprise displaying at least one scoped treeview node or scoped breadcrumb, respectively, according to the visual style of the associated hierarchical scope. A scoped treeview node or scoped breadcrumb comprising nodes within a particular scope may then be displayed for the user according to the visual style of the scope, which may inform the user as to the nature of the hierarchical scope that the treeview node or the breadcrumb (and the scoped nodes comprised therein) represents. As one example, the distinctive visual style may represent a color that is conceptually associated with the scope, and the scoped treeview nodes or breadcrumbs comprising nodes sharing a hierarchical scope may be displayed in the color of the shared scope. As another example, as illustrated in
FIGS. 3A-3C , the scopedtreeview nodes 100 illustrated inFIG. 3B and the scoped breadcrumbs presented inFIG. 3C are illustrated as having the same shading as thehierarchical scopes 70 illustrated inFIG. 3A . In another embodiment, the nodes representing a hierarchical scope (e.g., in an aggregated scoped breadcrumb or in a scoped treeview that has a different root scope) may be displayed according to the name of the scope. Thus, a hierarchical scope named “User Control 1”, which may comprise components of a user control in an integrated development environment, for example, may be represented as an aggregated breadcrumb displayed with a “User Control 1” label (perhaps even omitting the names of the nodes comprising the aggregated breadcrumb), or as a node in a scoped treeview bearing a “User Control 1” label (where the nodes of the hierarchical scope are hidden until the user navigates into this hierarchical scope.) Those of ordinary skill in the art may be capable of choosing many such visual styles while practicing the techniques discussed herein. -
FIG. 4A illustrates another exemplary scopedhierarchical data set 180, which is deeply nested (e.g.,Nodes J 200 andK 202 are eight levels deep in the hierarchy.) An unscoped treeview for navigating this deeply nestedhierarchical data set 180 might require extensive traversal of the treeview to reach desired nodes, and might similarly require an extensive number of unscoped breadcrumbs to describe the path from the root node to the more deeply nested nodes. This exemplary scopedhierarchical data set 180 serves as the basis for the exemplary embodiments of scoped treeviews an scoped breadcrumb lists illustrated inFIGS. 4B-4F . -
FIGS. 4B and 4C illustrate two alternative sets of scoped treeviews for representing the scoped hierarchical data set 180 ofFIG. 4A . Theroot Node A 182 of the scopedhierarchical data set 180 is illustrated inFIG. 4B in afirst treeview 212 having Node A as the root node of the treeview 214. This treeview also contains child Nodes B, C, D, and E that comprise a firsthierarchical scope 218. Upon receiving user input representing selection of a node in the firsthierarchical scope 218, the system generates a second scoped treeview 220 of the scopedhierarchical data set 180 having a root representing the scope of the selected node. Since this second scopedtreeview 220 is rooted in the first hierarchical scope 218 (and particularly atNode B 184, as this is the highest node in the first hierarchical scope), the scopedtreeview 220 does not includeparent Node A 182. By extension, selecting (e.g., navigating to) any of Nodes F through I together comprising the secondhierarchical scope 222, in either the first scopedtreeview 212 or the second scopedtreeview 220 presents the third scopedtreeview 224, which is rooted atnode F 192, as the root of the second hierarchical scope. Again, since this third scopedtreeview 224 is rooted at Node F 192 (corresponding to the second hierarchical scope), this scoped treeview includes neither theunscoped Node A 182 nor Nodes B throughE - The scoped treeviews of
FIG. 4B illustrate some additional aspects of scoped treeviews that may vary by implementation. As one example, respective hierarchical scopes are associated with a distinctive visual style, and the scoped nodes of the scoped treeviews are displayed in the distinctive visual style of the represented hierarchical scope. In the example ofFIG. 4B , the distinctive visual style comprises distinctive hashing for the firsthierarchical scope 218 and distinctive shading for the secondhierarchical scope 222. Other visual styles (e.g., distinctive colors) may be devised and displayed in accordance with the techniques described herein. - As another example, the scoped treeviews that are not rooted at a root node of the scoped hierarchical data set 180 (e.g., the treeviews presenting views other than the topmost view of the hierarchical data set 180) include a
scope departure control 230, in the form of an “up” arrow icon. The purpose of thescope departure control 230 is to enable the user to navigate upward out of the current scope. This functionality is otherwise unavailable in some scopedtreeviews hierarchical data set 180; because the parent nodes are omitted from the display, the user cannot select them to move upward in the hierarchical data set. Thus, thescope departure control 230 is included, and upon receiving user input representing activation of the scope departure control (e.g., clicking the icon with a pointing device, such as a mouse), thescope departure control 230 causes the scoped treeview to traverse upward one (or more) hierarchical scopes. For example, activating thescope departure control 230 from the third scoped treeview 224 ofFIG. 4B causes an upward traversal to the second scopedtreeview 220. Those of ordinary skill in the art may devise variations of the navigational component of the scoped breadcrumbs. As one example, a breadcrumb list may be included with the scoped treeview to represent the path from a root node to the root scope of the scoped treeview, and to enable the user to navigate upward and out of the hierarchical scope. - As a third example, in each scoped treeview of
FIG. 4B , all child nodes of the nodes comprising the current hierarchical scope are illustrated. An alternative embodiment is illustrated inFIG. 4C , in which, by contrast withFIG. 4B , the scoped treeview omits the child nodes of each node having a different hierarchical scope than the root scope. This omission is different from the opening and closing of nodes in the treeview that (respectively) shows or hides its child nodes. Rather, in the alternative embodiment ofFIG. 4C , the omitted nodes are not shown in the scoped treeview even when the parent nodes are opened. For example, in thesecond treeview 220 ofFIG. 4C , the root scope is the hierarchical scope comprisingNodes B 184,C 186,D 188, andE 190 of the exemplary scoped hierarchical data set 180 ofFIG. 4A . This second scopedtreeview 220 also displaysNode F 192, but sinceNode F 192 has a different hierarchical scope than the root scope, its child nodes (e.g., nodes are omitted from this scoped treeview. SelectingNode F 192 causes the system to display thethird treeview 224, which includesNode F 192 and all of its child nodes. In thisthird treeview 224, thescope 222 ofNodes F 192,G 194,H 196, and I 198 is now the root scope. As such, child nodes of a scope different from thescope 222 of Nodes F-I would be omitted. Although no such Nodes are illustrated, it can be appreciated that the same may not be true for unscoped Nodes. For example,Nodes J 200 andK 202 are unscoped (as opposed to having different scope than thescope 222 of Nodes F-I) and thus are illustrated in thethird treeview 224 ofFIG. 4C . -
FIGS. 4D illustrates a set of scoped breadcrumb lists 240 that may be used to represent a scopedhierarchical data set 180. Because the exemplary scoped hierarchical data set 180 ofFIG. 4A is deeply nested, an unscoped breadcrumb list for Nodes J and K would require eight breadcrumbs to illustrate the full path. By contrast, the scoped breadcrumb lists 242, 244 forNodes J 200 andK 202 are illustrated inFIG. 4D ; due to the aggregation of nodes sharing a hierarchical scope into a scoped breadcrumb, the breadcrumb lists forNodes J 242 andK 244 only require four breadcrumbs. The aggregation reflects the two hierarchical scopes of the exemplary hierarchy ofFIG. 4A , where the first scope applies toNodes B 184,C 186,D 188, andE 190, and the second scope applies toNodes F 192,G 194,H 196, and I 198. It will again be noted that each scope is illustrated as having a distinctive visual style (e.g., hashing and/or shading) and that the scoped breadcrumbs are displayed with the corresponding style. Again, it will be noted that a variety of such distinctive visual styles may be devised (e.g., distinctive colors associated with the hierarchical scopes), and may be used in accordance with the concepts discussed herein. -
FIGS. 4E and 4F illustrate two alternative embodiments of the scoped breadcrumb lists for the scoped hierarchical data set 180 presented inFIG. 4A . Theseembodiments -
FIG. 4E features one exemplary use of collapsed views ofbreadcrumbs 240, in which the collapsed view of the breadcrumbs comprises the highest-level node in the scoped breadcrumb and the lowest-level node in the scoped breadcrumb, along with an ellipsis to indicate that one or more intermediate-level nodes are hidden in the collapsed view of the scoped breadcrumb. For example, in thebreadcrumb list 244 forNode K 202, the nodes of thebreadcrumb list 244 that comprise the first hierarchical scope (Nodes B 184,D 188, and E 190) are aggregated into a first scopedbreadcrumb 254 that is displayed in a collapsed view, displaying only the highestlevel Node B 184 and the lowest-level Node E 190. Similarly, the nodes of thebreadcrumb list 244 that comprise the second hierarchical scope (Nodes F 192,H 196, and I 198) are aggregated into a second scopedbreadcrumb 256 that is also displayed in a collapsed view, displaying only the highestlevel Node F 192 and the lowest-level Node I 198. Other such indicators may be devised, along with other techniques for displaying breadcrumbs in a collapsed view in accordance with the concepts discussed herein. It will be appreciated that some breadcrumbs may be displayed in a collapsed view, while other breadcrumbs may be displayed in an uncollapsed view. For example, the scoped breadcrumb containing the selected node may be shown in an uncollapsed state, while the other scoped breadcrumbs are shown in a collapsed state (such as in thebreadcrumb path 252 forNode I 198.) Again, other techniques for selecting nodes for a collapsed view or an uncollapsed view may be devised in accordance with the concepts discussed herein. -
FIG. 4F features another embodiment of breadcrumb lists 260 for scopedhierarchical data sets 180 that includes the concept of collapsed views of scoped breadcrumbs. Thisembodiment 260 features a manual collapsing aspect, wherein, upon receiving user input representing activation of a scoped breadcrumb, the collapsed view of the activated scoped breadcrumb is toggled. In this embodiment, each scopedbreadcrumb 262 containing more than two is displayed with anindicator 264 of the collapsed or uncollapsed state of the scopedbreadcrumb 262, and activating the indicator 264 (e.g., clicking on theindicator 264 with a pointing device, such as a mouse) toggles the collapsed or uncollapsed view of the scopedbreadcrumb 262. The manual collapsing aspect of scoped breadcrumbs may be used alternatively or additionally with automatic collapsed or uncollapsed views of scoped breadcrumbs. - Another set of embodiments of scoped treeviews and/or scoped breadcrumb lists relates to the effect upon receiving user activation of a scoped treeview node and/or scoped breadcrumb. As one example, upon receiving user input representing activation of a treeview node or a node within a breadcrumb, the node may be presented in a user interface component. In one such embodiment, the activation of a node may simply display the organizational position of the node within the hierarchical data set (e.g., upon selecting a node in a breadcrumb list, the system may display a scoped treeview of the hierarchical data set with the focus set on the node activated in the breadcrumb list.) In another such embodiment, a user may use a pointing device, such as a mouse, to click on a node in the breadcrumb list, or on a node in the scoped treeview, and the system may respond by presenting the information contained in the node. As one example, the hierarchical data set may comprise a website having hierarchically organized pages, where each node in the hierarchical data set represents a page of the website, and where each node contains other nodes representing subordinate pages within the hierarchically organized website. Activating a node might thereby cause a viewer, such as a web browser, to display the page associated with the activated node. Moreover, the page so displayed might include a breadcrumb list to illustrate the path of pages in the website in which the currently viewed page is hierarchically located.
-
FIGS. 5A-5D present another embodiment of a scoped treeview and a scoped breadcrumb list that relate to the effect of activating a node in the hierarchical data set. In these exemplary embodiments, upon receiving user input representing activation of a node in a treeview or a breadcrumb in the breadcrumb list, the system displays the activated node in a user interface component. In one embodiment, the user interface component comprises a viewer configured to display the activated node. The user interface component may permit any of several forms of interaction with the data represented by the activated node; e.g., the system may simply display the contained information, or may allow the user to create, edit, or delete information for the selected node. In this manner, a hierarchical scope may be associated with a user interface component, such as an application, configured to view the data comprising nodes of the type associated with the hierarchical scope. The user may therefore work with the data organized in the hierarchical data set by activating nodes in the scoped treeview interface or the scoped breadcrumb list. It will be appreciated that “selecting” a node and “activating” a node may comprise two different forms of user input. For example, a node may be “selected” by clicking the node with a pointing device, such as a mouse, whereas the node may be “activated” by double-clicking the node with the pointing device. -
FIG. 5A illustrates anexemplary set 270 of associations betweenhierarchical scopes 272 andviewers 274. For instance, ahierarchical scope 276 representing a media collection (e.g., the hierarchical data set identifying the contents of the media collection) may be associated with acollection organizer 278, which provides an interface for browsing and organizing the media collection. Anotherhierarchical scope 280 may be created to represent images, e.g., photo files and lists of photos comprising photo albums, and may be associated with aphoto viewer application 282. Athird scope 284 may be created to represent music sets and playlists, and may be associated with amusic organizer application 286. Afourth scope 288 may be created to represent music files, and may be associated with amusic player application 290. Finally, afifth scope 292 may be created to represent song lyrics, and may be associated with alyrics viewer 294. -
FIG. 5B illustrates an exemplary scopedhierarchical data set 300 representing a media collection, such as a library of multimedia content that may be available to a user on a computer system. The media collection in this example contains several forms of media, including music and photos, as well as organizational groupings of such media, including photo albums, playlists, and music sets. These different forms of data may be conceptually related, and may be associated as a hierarchical scope, such as the exemplary set of associations illustrated in the table 270 ofFIG. 5A . In this example, onehierarchical scope 302 may be used to group photos with photo albums, and anotherhierarchical scope 304 may be used to group playlists with music sets. Moreover, since each hierarchical scope in this example represents similar data, each hierarchical scope may be associated with a viewer, such as a particular software application capable of displaying the types of data associated with the hierarchical scope. - Associating a hierarchical scope with a viewer may facilitate user interaction with the hierarchical data set.
FIG. 5C illustrates the scopedtreeviews 310 for each node in the scoped hierarchical data set 300 ofFIG. 5B and the related applications. As in the preceding examples, selecting each node of the hierarchical data set presents the associated scoped treeview. Moreover, activating a node within the root scope of the scoped treeview causes the activated node to be displayed in a user interface component, such as a viewer, that is configured to display nodes of the type associated with this hierarchical scope. For example, selecting the “Photo Album 2”node 312 presents a scoped treeview of “Photo Album 2” 314, “Photo 1” 316, and “Photo 2” 318, with “Photo Album 2” 314 being the root node. Activating any of these nodes causes the activated node to be displayed in a “Photo Viewer” 320 user interface component, such as a photo viewer application. In accordance with the implementation variation described and illustrated inFIG. 4C above, each scoped treeview omits the child nodes of nodes having a scope other than the root scope. For example, the scopedtreeview 322 representing the root scope for music sets and playlists includes the node for “Playlist 2” (of the same scope) and its child node “Song 2” (of a different scope), but omits the children of child node “Song 2”, such as “Song 2 Lyrics.” This latter child node is illustrated in the scopedtreeview 324 for “Song 2.” -
FIG. 5D illustrates the scoped breadcrumb lists 330 for each node in the scoped hierarchical data set 300 ofFIG. 5B , along with the viewer associated with each node, based on the hierarchical scope with which the node is associated. For example, activating a node representing a photo album or a photo displays the selected item in a photo viewer, whereas activating a node representing a music set or a playlist displays the music set or playlist in a music organizer application. It will again be appreciated that the user interface embodying the scoped breadcrumb lists may enable different modes of interaction with the breadcrumbs, wherein one mode comprises “selection” of the node that causes navigation to the selected node (e.g., displaying a scoped treeview for the scope of the selected breadcrumb), and wherein another mode comprises “activation” of the node that causes the activated node to be displayed in a viewer application, for example. Many such user interface arrangements may be devised by those of ordinary skill in the art and configured to operate in accordance with the techniques presented herein. - These variations of scoped treeviews and/or scoped breadcrumbs are not intended to be exhaustive; rather, many variations involving scoped treeviews and/or scoped breadcrumbs may be devised that may be present various advantages. As one example, the hierarchical scopes may be assigned names, and the name of the hierarchical scope may be displayed in a scoped treeview and/or a scoped breadcrumb list according to the name of the hierarchical scope, rather than the nodes contained therein. For example, in
FIG. 5B , the hierarchical scope including the nodes “Music Set 1,” “Playlist 1,” and “Playlist 2” may be assigned the name “Music,” and this name may be displayed in the scoped treeview and/or scoped breadcrumb list instead of the nodes contained therein. For example, a scoped treeview having a root scope other than the “Music” hierarchical scope may simply display one node in the scoped treeview labeled “Music,” and may display the names of the nodes contained herein for the scoped treeviews having “Music” as the root scope. As a second example, some of the nodes comprising a first hierarchical scope may also be associated with a second hierarchical scope, such as a scope of finer granularity. Alternatively, the collapsing may toggle between or among a collapsed view of the scoped breadcrumb, an uncollapsed view of the scoped breadcrumb, and a partially collapsed view of the scoped breadcrumb, wherein the breadcrumbs comprising the second hierarchical scope are aggregated into an aggregated breadcrumb within the first hierarchical scope. - The scoped treeview and/or scoped breadcrumb list may also (individually or together) be implemented as a system, such as a system for identifying a path from a root node to a selected node in a scoped hierarchical data set. A system of this nature might comprise a memory configured to represent the scoped hierarchical data set, and a treeviewing component configured to represent a scoped hierarchical data set by generating a scoped treeview of the scoped hierarchical data set having a root representing a scope. Alternatively, a system of this nature might comprise a memory configured to represent the scoped hierarchical data set, and a breadcrumbing component configured to generate a breadcrumb list representing the path within the scoped hierarchical data set in the memory, respective nodes of a scope aggregated into a scoped breadcrumb. The scoped breadcrumb lists generated by such a system may be aggregated according to the shared hierarchical scopes of the nodes comprising the path, and may therefore comprise a more condensed breadcrumb list as compared with an unscoped breadcrumb list for the selected node. Such systems may be combined in many ways to present both a scoped treeview and a scoped breadcrumb list that, individually or together, represent the scoped hierarchical data set stored in the memory.
- Systems embodying these concepts may be assembled in many variations. As one example, the treeviewing component and/or the breadcrumbing component may comprise hardware configured to generate scoped treeviews and/or scoped breadcrumb lists in accordance with these techniques, such as a field-programmable gate array (FPGA). Alternatively or additionally, the treeviewing component and/or the breadcrumbing component may comprise software instructions encoded for execution on general-purpose hardware, e.g., a desktop processor, and configured to generate scoped treeviews and/or scoped breadcrumb lists according to scoped hierarchies. Many such systems may be devised by those of ordinary skill in the art that are configured to operate in accordance with the techniques presented herein.
- Other embodiments of systems implemented in accordance with the concepts described herein may include additional components. In one such embodiment, the system comprises a display component configured to display the scoped treeview and/or scoped breadcrumb list. The display component may comprise a visual display apparatus, such as (e.g.) an LCD monitor, CRT monitor, projector, or printer. The display component may also comprise an interface for communicating between the treeviewing component and/or the breadcrumbing component and the visual display apparatus, such as (e.g.) a display adapter, a video memory buffer, a software driver, and/or a visual programming interface. Also, the display component may be configured to incorporate any or several of the particular embodiments discussed hereinabove. As one example, the display component may be configured to display scoped treeviews and/or scoped breadcrumbs with distinctive visual styles, such as (e.g.) a distinctive color or shading style that is associated with the hierarchical scope represented by the scoped nodes and/or scoped breadcrumb. In another embodiment, the display component may be configured to display a scope departure control configured to navigate out of the selected scope of a scoped treeview. In yet another embodiment, the display component may be configured to display at least one breadcrumb in a collapsed view, comprising fewer than all of the nodes in the scoped breadcrumb. Many such display components may be devised by those of ordinary skill in the art in the context of systems configured to operate in accordance with the techniques presented herein.
- In another set of embodiments, the system may comprise an input component, such as a keyboard or a mouse, configured to accept user input in relation to the scoped treeview and/or scoped breadcrumb list. As one example, the input component may be configured to accept user input representing activation of a treeview node and/or breadcrumb, and the display component configured to present a node within the activated treeview node and/or a node within the activated breadcrumb in a user interface component (e.g., a viewer configured to display the activated node.) Alternatively or additionally, the input component may be configured to accept user input representing activation of a scoped breadcrumb, and the display component may be configured to toggle a collapsed view of an activated scoped breadcrumb. Many such input components may be devised by those of ordinary skill in the art in the context of systems configured to operate in accordance with the techniques presented herein.
-
FIG. 6 . illustrates an exemplary system for generating scoped treeviews and breadcrumb lists that incorporates several of the aspects described herein. In this exemplary figure, thesystem 340 comprises abreadcrumbing component 342 and atreeviewing component 344, each operably coupled with amemory 346 containing a data representation of the scopedhierarchical data set 348. Thesystem 340 also comprises adisplay component 350 configured to display the scopedtreeview 352 generated by thetreeviewing component 344 and/or the scopedbreadcrumb list 354 generated by thebreadcrumbing component 342 for a selected node in the scopedhierarchical data set system 340 also comprises two input devices, akeyboard 356 and amouse 358, which may be configured to accept user input in relation to the scopedtreeview 352 and/or scopedbreadcrumb list 354. Together, these components generate and display a scopedtreeview 352 and/or a scopedbreadcrumb list 354 for thehierarchical data set hierarchical data set 348, 350 (e.g., facilitated navigation through the nodes of thehierarchical data set - The scoped breadcrumb list may also be utilized in an integrated development environment. Graphical user interface (GUI) applications are often created within such an environment, which provides a sophisticated set of tools for designing rich user interfaces with various graphical controls, such as buttons, textboxes, and listboxes, and for writing software that interacts with the user through such controls comprising the graphical user interface. One common feature of such applications is the representation of the graphical user interface application (the “form”) as a hierarchical data set, where the root node representing the form contains the various graphical controls, which may contain other controls (e.g., a panel that contains a set of buttons) and a wide number of configurable properties. However, in recent years, the assortment of user controls has developed in sophistication and complexity. Modern integrated development environments provide programmers with many simple tools for building graphical user interface applications, such as buttons and listboxes, and also a growing assortment of more complex components, such as media players, graphical charting components, complex database interaction components, and even prepackaged neural networks. Such an integrated development environment may be configured to display one or more activated nodes of a hierarchical data set, for example (e.g., any of the constituent elements of the user interface, or the properties thereof) in an editor appropriate for the type of node selected. For example, activating a button in a hierarchical data set might display the properties of that button in a “button properties” editor.
- As the variety and complexity of components that may comprise a graphical user interface application have developed, the hierarchical data set of information describing the assortment and details of such controls to the programmer has also grown in size. The programmer may have difficulty navigating through the expansive hierarchical data set while designing the application. Even the use of a treeview and breadcrumb list may not facilitate efficient navigation, as controls and properties may be located several levels deep in the hierarchical data set, thereby requiring extensive navigation within the treeview to reach a desired node, as well as a cumbersome breadcrumb list to describe the object (e.g., a breadcrumb list for a graphical user interface of “Application Form : Controls: Media Player: Media Control Panel: Progress Slider: Scrollbar”—six nested nodes deep, and hence six unscoped breadcrumbs—might be necessitated to describe the progressive scrollbar in a media player application.) Alternatively, hierarchical scopes may be applied to the hierarchical data set of graphical user interface components, and a selected node may be described by generating and displaying a scoped treeview and/or a scoped breadcrumb list (e.g., “Application Form, Controls: Media Player, Media Control Panel : Progress Slider. Scrollbar” requires only three scoped breadcrumbs.)
- Accordingly, hierarchical scopes may be applied to the hierarchical data set that associatively group some conceptually relate sets of objects in the hierarchical data set (e.g., the data set representing the components and properties that comprise a graphical user interface application.) As one example, a hierarchical scope may be applied for associatively grouping the elements of a “control template,” e.g., the elements that comprise a control (e.g., a media player component may be defined by a control template specifying a Stop button, a Play button, a progress bar, etc.) As another example, a hierarchical scope may be applied for logically grouping the properties comprising a “control style,” e.g., the collection of properties defining a visual style to be applied to one or more graphical components (e.g., the font, font style, background color, and border color applied to a graphical user control.) As a third example, a hierarchical scope may be applied for logically grouping the elements of a “root scene,” e.g., the root node representing the graphical user interface application and its properties (e.g., its default style.) By applying these hierarchical scopes to the hierarchical data set defining the structure of the graphical user interface application under development, the integrated development environment may facilitate efficient navigation through the elements of the application via scoped breadcrumb lists. Thus, the integrated development environment may embody a method of representing a scoped hierarchical data set representing at least one user interface component in the integrated development environment, where the method comprises generating a first scoped treeview of the scoped hierarchical data set having a root representing a scope. Alternatively or additionally, an integrated development environment may embody a method of displaying a path from a root node to a selected node in a scoped hierarchical data set representing at least one user interface component in the integrated development environment, where the method comprises generating a breadcrumb list representing the path, and where respective nodes of a scope aggregated into a scoped breadcrumb.
-
FIG. 7 illustrates an exemplaryintegrated development environment 360 that features scoped treeviews and scoped breadcrumb lists for navigating through the complex elements that define a graphical user interface application. The exemplaryintegrated development environment 360 is illustrated during its use for creating a media player application. The elements of the application are shown as hierarchical nodes displayed in atreeview 362, and various hierarchical scopes are illustrated for grouping conceptually related nodes. For example, theroot node 364 of thehierarchical data set 362 represents the form, e.g., the class comprising the graphical user interface application and containing all of the graphical user controls within the application. Theroot node 364 contains a few controls, such asIstAllTracks 366 andobjPlayer 368, each of which is designed with a “control template” scope that conceptually couples each control with some of the sub-controls embedded in it. For example, “objPlayer” 368 (an instance of a media player component) shares a hierarchical scope with two sub-controls that the media player component contains: alistbox 370 displaying the currently playing tracks, and a panel containing some media playing controls 372 (Reverse, Stop, Play, Fast-Forward, and Eject.) Theroot node 364 also contains a set of nestedproperties 374 describing the default visual style of theform 364, and a hierarchical scope is applied to some of the nested properties contained therein, such as the style of thefont 376. As in previous examples, the hierarchical scopes in this exemplary figure are represented by distinctive visual styles (e.g., hashing for the hierarchical scopes representing control templates, and a shading for the hierarchical scopes representing control styles.) - By including these hierarchical scopes in the hierarchical data set representing the elements of the graphical user interface application, the exemplary
integrated development environment 360 illustrated inFIG. 7 may generate scoped treeviews and/or scoped breadcrumb lists that facilitate navigation. In this exemplaryintegrated development environment 360, the developer is editing two portions of the graphical user interface application: the form 364 (named frmMyMediaPlayer) and thedefault font style 376 for the default visual style applied to the form and contained controls (named stIForm.) Theform editor 378 displays a first scopedtreeview 380 at the bottom right corner of the editor window, illustrating the selected node (frmMyMediaPlayer) and all of its child nodes (fprForm, lstAlITracks, objplayer, and stlFirm.) Since the latter three objects are members of a hierarchical scope, and therefore represent a different hierarchical scope than the root node (e.g., the unscoped node frmMyMediaPlayer), the child nodes of these three nodes (e.g., the constituent properties of these objects) are omitted from the scopedtreeview 380. Theform editor 378 also displays a scopedbreadcrumb list 382 at the bottom of the editor window, comprising a breadcrumb representing the form 364 (e.g., the root node of thehierarchical data set 362.) Additionally, thedefault font style 376 is being edited in afont style editor 384, which displays a second scoped treeview 386 at the bottom right corner of the editor window. Since this scopedtreeview 386 is rooted in the hierarchical scope comprising stlForm and its constituent properties (clrBackground, fntDefault, etc.), thetreeview 386 is rooted in the hierarchical scope for stlForm, and therefore omits all of the nodes above this hierarchical scope (frmMyMediaPlayer, fprForm, lstAllTracks, etc.) Theform editor 384 also displays a scopedbreadcrumb list 388 at the bottom of the editor window. Thisbreadcrumb list 388 comprises three breadcrumbs, including a scoped breadcrumb aggregating the nodes associated with the “control style” hierarchical scope. It will now be apparent that this scopedhierarchical data set 362 enables the generation of scoped treeviews and condensed breadcrumb lists that logically group related nodes and consume less space in the integrateddevelopment environment 360. - The techniques discussed herein may also be embodied as a computer-readable medium comprising processor-executable instructions configured to generate breadcrumb lists as discussed herein. An exemplary computer-readable medium that may be devised in these ways is illustrated in
FIG. 8 , wherein theimplementation 390 comprises a computer-readable medium 392 (e.g., a CD-R, DVD-R, or a platter of a hard disk drive), on which is encoded computer-readable data 394. This computer-readable data 394 in turn comprises a set ofcomputer instructions 396 configured to operate according to the principles set forth herein. In one such embodiment, the processor-executable instructions 396 may be configured to perform a method of representing a scoped hierarchical data set, such as themethod 50 illustrated in the flowchart ofFIG. 2A , and/or a method of identifying a path from a root node to a selected node in a scoped hierarchical data set, such as themethod 60 illustrated in the flowchart ofFIG. 2B . In another such embodiment, the processor-executable instructions 396 may be configured to implement a system for representing a scoped hierarchical data set and/or for identifying a path from a root node to a selected node in a scoped hierarchical data set, such as the system illustrated in the component diagram ofFIG. 6 . In yet another such embodiment, the processor-executable instructions 396 may be configured to implement a method of representing a scoped hierarchical data set representing at least one user interface component in an integrated development environment, and/or of displaying a path from a root node to a selected node in such a hierarchical data set, such as the designer illustrated inFIG. 7 . Many such computer-readable media may be devised by those of ordinary skill in the art that are configured to operate in accordance with the techniques presented herein. - 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.
- As used in this application, the terms “component,” “module,” “system”, “interface”, and the like are generally intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a controller and the controller can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
- Furthermore, the claimed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed subject matter. The term “article of manufacture” as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media. For example, computer readable media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips . . . ), optical disks (e.g., compact disk (CD), digital versatile disk (DVD) . . .), smart cards, and flash memory devices (e.g., card, stick, key drive . . . ). Additionally it may be appreciated that a carrier wave can be employed to carry computer-readable electronic data such as those used in transmitting and receiving electronic mail or in accessing a network such as the Internet or a local area network (LAN). Of course, those skilled in the art will recognize many modifications may be made to this configuration without departing from the scope or spirit of the claimed subject matter.
- Moreover, the word “exemplary” is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the word exemplary is intended to present concepts in a concrete fashion. As used in this application, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise, or clear from context, “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then “X employs A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an” as used in this application and the appended claims may generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form.
- Also, although the disclosure has been shown and described with respect to one or more implementations, equivalent alterations and modifications will occur to others skilled in the art based upon a reading and understanding of this specification and the annexed drawings. The disclosure includes all such modifications and alterations and is limited only by the scope of the following claims. In particular regard to the various functions performed by the above described components (e.g., elements, resources, etc.), the terms used to describe such components are intended to correspond, unless otherwise indicated, to any component which performs the specified function of the described component (e.g., that is functionally equivalent), even though not structurally equivalent to the disclosed structure which performs the function in the herein illustrated exemplary implementations of the disclosure. In addition, while a particular feature of the disclosure may have been disclosed with respect to only one of several implementations, such feature may be combined with one or more other features of the other implementations as may be desired and advantageous for any given or particular application. Furthermore, to the extent that the terms “includes”, “having”, “has”, “with”, or variants thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising.”
Claims (20)
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/897,804 US20090063517A1 (en) | 2007-08-30 | 2007-08-30 | User interfaces for scoped hierarchical data sets |
PCT/US2008/073894 WO2009032544A2 (en) | 2007-08-30 | 2008-08-21 | User interfaces for scoped hierarchical data sets |
JP2010523048A JP2010538367A (en) | 2007-08-30 | 2008-08-21 | User interface for scoped hierarchical data sets |
EP08798396A EP2193431A4 (en) | 2007-08-30 | 2008-08-21 | User interfaces for scoped hierarchical data sets |
CN200880105216A CN101784985A (en) | 2007-08-30 | 2008-08-21 | User interfaces for scoped hierarchical data sets |
TW097132414A TWI570575B (en) | 2007-08-30 | 2008-08-25 | Method, computer-readable medium and system of identifying a path from a root node to a selected node in a scoped hierarchical data set and method and computer-readable medium of displaying the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/897,804 US20090063517A1 (en) | 2007-08-30 | 2007-08-30 | User interfaces for scoped hierarchical data sets |
Publications (1)
Publication Number | Publication Date |
---|---|
US20090063517A1 true US20090063517A1 (en) | 2009-03-05 |
Family
ID=40409112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/897,804 Abandoned US20090063517A1 (en) | 2007-08-30 | 2007-08-30 | User interfaces for scoped hierarchical data sets |
Country Status (6)
Country | Link |
---|---|
US (1) | US20090063517A1 (en) |
EP (1) | EP2193431A4 (en) |
JP (1) | JP2010538367A (en) |
CN (1) | CN101784985A (en) |
TW (1) | TWI570575B (en) |
WO (1) | WO2009032544A2 (en) |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090024940A1 (en) * | 2007-07-18 | 2009-01-22 | Sas Institute Inc. | Systems And Methods For Generating A Database Query Using A Graphical User Interface |
US20090083675A1 (en) * | 2007-09-20 | 2009-03-26 | Arie Gofer | Hierarchical representation of contextual information |
US20090125835A1 (en) * | 2007-11-09 | 2009-05-14 | Oracle International Corporation | Graphical user interface component that includes visual controls for expanding and collapsing information shown in a window |
US20090327904A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Presenting dynamic folders |
US20110179390A1 (en) * | 2010-01-18 | 2011-07-21 | Robert Paul Morris | Methods, systems, and computer program products for traversing nodes in path on a display device |
WO2011142720A1 (en) * | 2010-05-14 | 2011-11-17 | Gabriyel Wong Chee Kien | A self-organizing and contextual graphical user interface |
US8234582B1 (en) * | 2009-02-03 | 2012-07-31 | Amazon Technologies, Inc. | Visualizing object behavior |
US8250473B1 (en) | 2009-02-03 | 2012-08-21 | Amazon Technoloies, Inc. | Visualizing object behavior |
US20120221939A1 (en) * | 2008-07-09 | 2012-08-30 | Hill Matthew D | Methods and Systems for Node-Based Website Design |
US8341540B1 (en) | 2009-02-03 | 2012-12-25 | Amazon Technologies, Inc. | Visualizing object behavior |
WO2012153195A3 (en) * | 2011-05-10 | 2013-01-31 | Terraventure B.V. | N-dimensional data searching and display |
US20130067349A1 (en) * | 2011-09-12 | 2013-03-14 | Microsoft Corporation | Efficiently providing data from a virtualized data source |
US20130238994A1 (en) * | 2012-03-12 | 2013-09-12 | Comcast Cable Communications, Llc | Electronic information hierarchy |
US20130290878A1 (en) * | 2012-04-13 | 2013-10-31 | Huawei Technologies Co., Ltd. | Generation and display method of user interface and user interface device |
US20140125808A1 (en) * | 2011-06-24 | 2014-05-08 | Honeywell International Inc. | Systems and methods for presenting dvm system information |
US20140156591A1 (en) * | 2012-12-03 | 2014-06-05 | Ut-Battelle, Llc | Knowledge catalysts |
US20140244620A1 (en) * | 2013-02-27 | 2014-08-28 | International Business Machines Corporation | Inline graphic scoper integrated with a search navigator |
US8910041B1 (en) * | 2012-02-23 | 2014-12-09 | Google Inc. | Font substitution using unsupervised clustering techniques |
US20150161119A1 (en) * | 2007-10-10 | 2015-06-11 | Yahoo! Inc. | Playlist resolver |
US20150301993A1 (en) * | 2014-04-21 | 2015-10-22 | Inkling Systems, Inc. | User interface for creation of content works |
US9268828B2 (en) | 2011-06-15 | 2016-02-23 | Sas Institute Inc. | Computer-implemented systems and methods for extract, transform, and load user interface processing |
US20160103576A1 (en) * | 2014-10-09 | 2016-04-14 | Alibaba Group Holding Limited | Navigating application interface |
US9383905B1 (en) * | 2013-07-29 | 2016-07-05 | Veritas Technologies Llc | Navigating a large tree structure using summary snippets |
WO2017078958A1 (en) * | 2015-11-06 | 2017-05-11 | Google Inc. | Mobile user interface |
US9672558B2 (en) | 2013-08-30 | 2017-06-06 | Sap Se | Table-form presentation of hierarchical data |
US20180285995A1 (en) * | 2015-09-25 | 2018-10-04 | Nec Patent Service,Ltd. | Information processing device, information processing method, and program-recording medium |
US10223463B2 (en) | 2016-03-22 | 2019-03-05 | International Business Machines Corporation | Node controllers for hierarchical data structures |
US10255084B2 (en) | 2016-06-16 | 2019-04-09 | Entit Software Llc | Manage analytics contexts through a series of analytics interactions via a graphical user interface |
US10362273B2 (en) | 2011-08-05 | 2019-07-23 | Honeywell International Inc. | Systems and methods for managing video data |
US20200004806A1 (en) * | 2015-03-10 | 2020-01-02 | Microsoft Technology Licensing, Llc | Hierarchical navigation control |
US10642580B1 (en) | 2016-09-20 | 2020-05-05 | Amazon Technologies, Inc. | Simplifying and reusing visual programming graphs |
US10678515B1 (en) * | 2016-09-20 | 2020-06-09 | Amazon Technologies, Inc. | Simplifying and reusing visual programming graphs |
US10719220B2 (en) * | 2015-03-31 | 2020-07-21 | Autodesk, Inc. | Dynamic scrolling |
US10860163B1 (en) * | 2011-10-01 | 2020-12-08 | Biofortis Inc. | Generating user interface for viewing data records |
US11030268B2 (en) * | 2009-05-15 | 2021-06-08 | International Business Machines Corporation | Processing tree structure having breadcrumb root node |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5847448B2 (en) * | 2011-06-13 | 2016-01-20 | キヤノン株式会社 | Data processing apparatus, data processing method, and program |
JP6592920B2 (en) * | 2015-03-12 | 2019-10-23 | 日本電気株式会社 | Information display device, information display method, and information display program |
Citations (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4868743A (en) * | 1986-11-25 | 1989-09-19 | Hitachi, Ltd. | Traversal method of processing tree structure information and apparatus using the same |
US5454101A (en) * | 1992-09-15 | 1995-09-26 | Universal Firmware Industries, Ltd. | Data storage system with set lists which contain elements associated with parents for defining a logical hierarchy and general record pointers identifying specific data sets |
US5559945A (en) * | 1993-05-04 | 1996-09-24 | International Business Machines Corporation | Dynamic hierarchical selection menu |
US5675752A (en) * | 1994-09-15 | 1997-10-07 | Sony Corporation | Interactive applications generator for an interactive presentation environment |
US5806077A (en) * | 1993-01-15 | 1998-09-08 | International Business Machines Corporation | Hypertext display system |
US5905498A (en) * | 1996-12-24 | 1999-05-18 | Correlate Technologies Ltd | System and method for managing semantic network display |
US6040829A (en) * | 1998-05-13 | 2000-03-21 | Croy; Clemens | Personal navigator system |
US6112201A (en) * | 1995-08-29 | 2000-08-29 | Oracle Corporation | Virtual bookshelf |
US6233726B1 (en) * | 1997-02-05 | 2001-05-15 | Sybase, Inc. | Development system with reference card and parameter wizard methodologies for facilitating creation of software programs |
US20010045965A1 (en) * | 2000-02-14 | 2001-11-29 | Julian Orbanes | Method and system for receiving user input |
US6341280B1 (en) * | 1998-10-30 | 2002-01-22 | Netscape Communications Corporation | Inline tree filters |
US6348935B1 (en) * | 1998-11-30 | 2002-02-19 | International Business Machines Corporation | Programmable tree viewer graphical user interface with integrated control panel |
US6381611B1 (en) * | 1998-04-01 | 2002-04-30 | Cyberpulse Llc | Method and system for navigation and data entry in hierarchically-organized database views |
US20020107973A1 (en) * | 2000-11-13 | 2002-08-08 | Lennon Alison Joan | Metadata processes for multimedia database access |
US20020154177A1 (en) * | 2001-04-19 | 2002-10-24 | International Business Machines Corporation | System and method for using layer bars to indicate levels within non-indented tree view control |
US6484190B1 (en) * | 1998-07-01 | 2002-11-19 | International Business Machines Corporation | Subset search tree integrated graphical interface |
US6489968B1 (en) * | 1999-11-18 | 2002-12-03 | Amazon.Com, Inc. | System and method for exposing popular categories of browse tree |
US20030088593A1 (en) * | 2001-03-21 | 2003-05-08 | Patrick Stickler | Method and apparatus for generating a directory structure |
US20030172078A1 (en) * | 2002-03-01 | 2003-09-11 | Dirk Stumpf | Hybrid and dynamic representation of data structures |
US6631496B1 (en) * | 1999-03-22 | 2003-10-07 | Nec Corporation | System for personalizing, organizing and managing web information |
US6633316B1 (en) * | 1999-05-13 | 2003-10-14 | International Business Machines Corporation | Method and apparatus for implementing direct link selection of cached, previously visited links in nested web pages |
US6636250B1 (en) * | 2000-04-12 | 2003-10-21 | Emc Corp | Methods and apparatus for presenting information to a user of a computer system |
US20030197738A1 (en) * | 2002-04-18 | 2003-10-23 | Eli Beit-Zuri | Navigational, scalable, scrolling ribbon |
US20030231216A1 (en) * | 2002-06-13 | 2003-12-18 | International Business Machines Corp. | Internet navigation tree with bookmarking and emailing capability |
US20040068521A1 (en) * | 2002-10-04 | 2004-04-08 | Haacke E. Mark | Individual and user group webware for information sharing over a network among a plurality of users |
US20040093562A1 (en) * | 2002-08-23 | 2004-05-13 | Diorio Donato S. | System and method for a hierarchical browser |
US20040177319A1 (en) * | 2002-07-16 | 2004-09-09 | Horn Bruce L. | Computer system for automatic organization, indexing and viewing of information from multiple sources |
US20040193672A1 (en) * | 2003-03-27 | 2004-09-30 | Microsoft Corporation | System and method for virtual folder sharing including utilization of static and dynamic lists |
US20040205659A1 (en) * | 2002-03-01 | 2004-10-14 | David J. Barry | System and method for developing a website |
US20040205638A1 (en) * | 2003-04-08 | 2004-10-14 | Weise Thomas | Interface and method for exploring a collection of data |
US20040207666A1 (en) * | 2003-04-17 | 2004-10-21 | Microsoft Corporation | Virtual address bar user interface control |
US20040239683A1 (en) * | 2003-05-27 | 2004-12-02 | Heng Chu | Methods, systems and computer program products for controlling tree diagram graphical user interfaces and/or for partially collapsing tree diagrams |
US20050080793A1 (en) * | 2003-10-14 | 2005-04-14 | Markus Lauff | Information organization navigation |
US20050091510A1 (en) * | 2003-10-23 | 2005-04-28 | Microsoft Corporation | Element persistent identification |
US20050131945A1 (en) * | 2003-12-16 | 2005-06-16 | International Business Machines Corporation | Compact interface for the display and navigation of object hierarchies |
US20050154988A1 (en) * | 2000-07-13 | 2005-07-14 | Proehl Andrew M. | Modal display, smooth scroll graphic user interface and remote command device suitable for efficient navigation and selection of dynamic data/options presented within an audio/visual system |
US20050166156A1 (en) * | 2004-01-23 | 2005-07-28 | Microsoft Corporation | System and method for automatically grouping items |
US20050234979A1 (en) * | 2004-04-16 | 2005-10-20 | Alcatel | Map navigation with breadcrumb buttons |
US20050278633A1 (en) * | 2003-11-17 | 2005-12-15 | Kemp Richard D | Legal research system |
US20050278351A1 (en) * | 2004-05-28 | 2005-12-15 | Microsoft Corporation | Site navigation and site navigation data source |
US6982708B1 (en) * | 2002-01-25 | 2006-01-03 | Microsoft Corporation | Visually displaying sequentially ordered data for mining |
US20060015504A1 (en) * | 2004-07-15 | 2006-01-19 | Qingfeng Yu | Method and system for site path evaluation using web session clustering |
US20060036568A1 (en) * | 2003-03-24 | 2006-02-16 | Microsoft Corporation | File system shell |
US7017123B2 (en) * | 2000-12-27 | 2006-03-21 | National Instruments Corporation | Graphical user interface including palette windows with an improved search function |
US20060085391A1 (en) * | 2004-09-24 | 2006-04-20 | Microsoft Corporation | Automatic query suggestions |
US20060085790A1 (en) * | 2004-10-14 | 2006-04-20 | International Business Machines Corporation | Goal based user interface for managing business solutions in an on demand environment |
US20060123361A1 (en) * | 2004-12-06 | 2006-06-08 | Oracle International Corporation | Methods and systems for representing breadcrumb paths, breadcrumb inline menus and hierarchical structure in a web environment |
US20060129569A1 (en) * | 2004-12-10 | 2006-06-15 | International Business Machines Corporation | System and method for partially collapsing a hierarchical structure for information navigation |
US7080326B2 (en) * | 2002-07-11 | 2006-07-18 | International Business Machines Corporation | Method and system for managing multi—paned windowed environments |
US20060167760A1 (en) * | 2005-01-25 | 2006-07-27 | Amit Chakraborty | Automated systems and methods to support electronic business transactions for spare parts |
US20060184892A1 (en) * | 2005-02-17 | 2006-08-17 | Morris Robert P | Method and system providing for the compact navigation of a tree structure |
US20060190432A1 (en) * | 2005-02-22 | 2006-08-24 | Sas Institute Inc. | System and method for graphically distinguishing levels of a multidimensional database |
US20060212329A1 (en) * | 2005-03-16 | 2006-09-21 | Microsoft Corporation | Consolidated management of administrative tasks in an aynchronous, multi-application environment |
US7197701B2 (en) * | 2001-10-19 | 2007-03-27 | Sap Aktiengesellschaft | Management of hierarchies |
US7210094B2 (en) * | 2001-07-11 | 2007-04-24 | International Business Machines Corporation | Method and system for dynamic web page breadcrumbing using javascript |
US20070118542A1 (en) * | 2005-03-30 | 2007-05-24 | Peter Sweeney | System, Method and Computer Program for Faceted Classification Synthesis |
US20070150461A1 (en) * | 2005-12-28 | 2007-06-28 | Achim Weigel | Selectively searching restricted documents |
US20070156651A1 (en) * | 2005-12-28 | 2007-07-05 | Achim Weigel | Breadcrumb with alternative restriction traversal |
US20070180051A1 (en) * | 2006-02-02 | 2007-08-02 | Microsoft Corporation | Version-specific content searching |
US7287234B2 (en) * | 2003-09-19 | 2007-10-23 | International Business Machines Corporation | Methods, systems and computer program products for use of color saturation to highlight items in a tree map visualization |
US20080082935A1 (en) * | 2006-10-03 | 2008-04-03 | Verizon Data Services Inc. | Expandable history tab in interactive graphical user interface systems and methods |
US20080250339A1 (en) * | 2007-04-09 | 2008-10-09 | Brian Riggs | Extensible master-slave user interface with distinct interaction models |
US20080256468A1 (en) * | 2007-04-11 | 2008-10-16 | Johan Christiaan Peters | Method and apparatus for displaying a user interface on multiple devices simultaneously |
US20080282199A1 (en) * | 2007-05-11 | 2008-11-13 | Demand Media, Inc. | Cross taxonomy navigation from a bread crumb in a graphical user interface |
US20090044150A1 (en) * | 2007-08-07 | 2009-02-12 | Yahoo! Inc. | System and method for simplified navigation |
US20090055762A1 (en) * | 2007-08-24 | 2009-02-26 | Oracle International Corporation | Navigational tools for large trees |
US20090063547A1 (en) * | 2007-09-04 | 2009-03-05 | Microsoft Corporation | Breadcrumb list supplementing for hierarchical data sets |
US20100179876A1 (en) * | 2007-05-04 | 2010-07-15 | Bjorn Holte | Computer-accessible medium, method and system for assisting in navigating the internet |
-
2007
- 2007-08-30 US US11/897,804 patent/US20090063517A1/en not_active Abandoned
-
2008
- 2008-08-21 EP EP08798396A patent/EP2193431A4/en not_active Withdrawn
- 2008-08-21 JP JP2010523048A patent/JP2010538367A/en not_active Withdrawn
- 2008-08-21 WO PCT/US2008/073894 patent/WO2009032544A2/en active Application Filing
- 2008-08-21 CN CN200880105216A patent/CN101784985A/en active Pending
- 2008-08-25 TW TW097132414A patent/TWI570575B/en not_active IP Right Cessation
Patent Citations (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4868743A (en) * | 1986-11-25 | 1989-09-19 | Hitachi, Ltd. | Traversal method of processing tree structure information and apparatus using the same |
US5454101A (en) * | 1992-09-15 | 1995-09-26 | Universal Firmware Industries, Ltd. | Data storage system with set lists which contain elements associated with parents for defining a logical hierarchy and general record pointers identifying specific data sets |
US5806077A (en) * | 1993-01-15 | 1998-09-08 | International Business Machines Corporation | Hypertext display system |
US5559945A (en) * | 1993-05-04 | 1996-09-24 | International Business Machines Corporation | Dynamic hierarchical selection menu |
US5675752A (en) * | 1994-09-15 | 1997-10-07 | Sony Corporation | Interactive applications generator for an interactive presentation environment |
US6112201A (en) * | 1995-08-29 | 2000-08-29 | Oracle Corporation | Virtual bookshelf |
US5905498A (en) * | 1996-12-24 | 1999-05-18 | Correlate Technologies Ltd | System and method for managing semantic network display |
US6233726B1 (en) * | 1997-02-05 | 2001-05-15 | Sybase, Inc. | Development system with reference card and parameter wizard methodologies for facilitating creation of software programs |
US6381611B1 (en) * | 1998-04-01 | 2002-04-30 | Cyberpulse Llc | Method and system for navigation and data entry in hierarchically-organized database views |
US6040829A (en) * | 1998-05-13 | 2000-03-21 | Croy; Clemens | Personal navigator system |
US6484190B1 (en) * | 1998-07-01 | 2002-11-19 | International Business Machines Corporation | Subset search tree integrated graphical interface |
US6341280B1 (en) * | 1998-10-30 | 2002-01-22 | Netscape Communications Corporation | Inline tree filters |
US6348935B1 (en) * | 1998-11-30 | 2002-02-19 | International Business Machines Corporation | Programmable tree viewer graphical user interface with integrated control panel |
US6631496B1 (en) * | 1999-03-22 | 2003-10-07 | Nec Corporation | System for personalizing, organizing and managing web information |
US6633316B1 (en) * | 1999-05-13 | 2003-10-14 | International Business Machines Corporation | Method and apparatus for implementing direct link selection of cached, previously visited links in nested web pages |
US6489968B1 (en) * | 1999-11-18 | 2002-12-03 | Amazon.Com, Inc. | System and method for exposing popular categories of browse tree |
US20030050916A1 (en) * | 1999-11-18 | 2003-03-13 | Ortega Ruben E. | Computer processes for selecting nodes to call to attention of a user during browsing of a hierarchical browse structure |
US6785667B2 (en) * | 2000-02-14 | 2004-08-31 | Geophoenix, Inc. | Method and apparatus for extracting data objects and locating them in virtual space |
US20020075331A1 (en) * | 2000-02-14 | 2002-06-20 | Julian Orbanes | Method and apparatus for addressing data objects in virtual space |
US20010045965A1 (en) * | 2000-02-14 | 2001-11-29 | Julian Orbanes | Method and system for receiving user input |
US6636250B1 (en) * | 2000-04-12 | 2003-10-21 | Emc Corp | Methods and apparatus for presenting information to a user of a computer system |
US20050154988A1 (en) * | 2000-07-13 | 2005-07-14 | Proehl Andrew M. | Modal display, smooth scroll graphic user interface and remote command device suitable for efficient navigation and selection of dynamic data/options presented within an audio/visual system |
US20020107973A1 (en) * | 2000-11-13 | 2002-08-08 | Lennon Alison Joan | Metadata processes for multimedia database access |
US7099946B2 (en) * | 2000-11-13 | 2006-08-29 | Canon Kabushiki Kaishsa | Transferring a media browsing session from one device to a second device by transferring a session identifier and a session key to the second device |
US7017123B2 (en) * | 2000-12-27 | 2006-03-21 | National Instruments Corporation | Graphical user interface including palette windows with an improved search function |
US20030088593A1 (en) * | 2001-03-21 | 2003-05-08 | Patrick Stickler | Method and apparatus for generating a directory structure |
US20020154177A1 (en) * | 2001-04-19 | 2002-10-24 | International Business Machines Corporation | System and method for using layer bars to indicate levels within non-indented tree view control |
US7210094B2 (en) * | 2001-07-11 | 2007-04-24 | International Business Machines Corporation | Method and system for dynamic web page breadcrumbing using javascript |
US7197701B2 (en) * | 2001-10-19 | 2007-03-27 | Sap Aktiengesellschaft | Management of hierarchies |
US6982708B1 (en) * | 2002-01-25 | 2006-01-03 | Microsoft Corporation | Visually displaying sequentially ordered data for mining |
US20040205659A1 (en) * | 2002-03-01 | 2004-10-14 | David J. Barry | System and method for developing a website |
US7328215B2 (en) * | 2002-03-01 | 2008-02-05 | Sap Ag | Hybrid and dynamic representation of data structures |
US20030172078A1 (en) * | 2002-03-01 | 2003-09-11 | Dirk Stumpf | Hybrid and dynamic representation of data structures |
US20030197738A1 (en) * | 2002-04-18 | 2003-10-23 | Eli Beit-Zuri | Navigational, scalable, scrolling ribbon |
US20030231216A1 (en) * | 2002-06-13 | 2003-12-18 | International Business Machines Corp. | Internet navigation tree with bookmarking and emailing capability |
US7080326B2 (en) * | 2002-07-11 | 2006-07-18 | International Business Machines Corporation | Method and system for managing multi—paned windowed environments |
US20040177319A1 (en) * | 2002-07-16 | 2004-09-09 | Horn Bruce L. | Computer system for automatic organization, indexing and viewing of information from multiple sources |
US20040093562A1 (en) * | 2002-08-23 | 2004-05-13 | Diorio Donato S. | System and method for a hierarchical browser |
US20040068521A1 (en) * | 2002-10-04 | 2004-04-08 | Haacke E. Mark | Individual and user group webware for information sharing over a network among a plurality of users |
US20060036568A1 (en) * | 2003-03-24 | 2006-02-16 | Microsoft Corporation | File system shell |
US20040193672A1 (en) * | 2003-03-27 | 2004-09-30 | Microsoft Corporation | System and method for virtual folder sharing including utilization of static and dynamic lists |
US20040205638A1 (en) * | 2003-04-08 | 2004-10-14 | Weise Thomas | Interface and method for exploring a collection of data |
US20040207666A1 (en) * | 2003-04-17 | 2004-10-21 | Microsoft Corporation | Virtual address bar user interface control |
US20040239683A1 (en) * | 2003-05-27 | 2004-12-02 | Heng Chu | Methods, systems and computer program products for controlling tree diagram graphical user interfaces and/or for partially collapsing tree diagrams |
US7287234B2 (en) * | 2003-09-19 | 2007-10-23 | International Business Machines Corporation | Methods, systems and computer program products for use of color saturation to highlight items in a tree map visualization |
US20050080793A1 (en) * | 2003-10-14 | 2005-04-14 | Markus Lauff | Information organization navigation |
US20050091510A1 (en) * | 2003-10-23 | 2005-04-28 | Microsoft Corporation | Element persistent identification |
US20050278633A1 (en) * | 2003-11-17 | 2005-12-15 | Kemp Richard D | Legal research system |
US20050131945A1 (en) * | 2003-12-16 | 2005-06-16 | International Business Machines Corporation | Compact interface for the display and navigation of object hierarchies |
US20050166156A1 (en) * | 2004-01-23 | 2005-07-28 | Microsoft Corporation | System and method for automatically grouping items |
US20050234979A1 (en) * | 2004-04-16 | 2005-10-20 | Alcatel | Map navigation with breadcrumb buttons |
US20050278351A1 (en) * | 2004-05-28 | 2005-12-15 | Microsoft Corporation | Site navigation and site navigation data source |
US20060015504A1 (en) * | 2004-07-15 | 2006-01-19 | Qingfeng Yu | Method and system for site path evaluation using web session clustering |
US20060085391A1 (en) * | 2004-09-24 | 2006-04-20 | Microsoft Corporation | Automatic query suggestions |
US20060085790A1 (en) * | 2004-10-14 | 2006-04-20 | International Business Machines Corporation | Goal based user interface for managing business solutions in an on demand environment |
US20060123361A1 (en) * | 2004-12-06 | 2006-06-08 | Oracle International Corporation | Methods and systems for representing breadcrumb paths, breadcrumb inline menus and hierarchical structure in a web environment |
US20060129569A1 (en) * | 2004-12-10 | 2006-06-15 | International Business Machines Corporation | System and method for partially collapsing a hierarchical structure for information navigation |
US20060167760A1 (en) * | 2005-01-25 | 2006-07-27 | Amit Chakraborty | Automated systems and methods to support electronic business transactions for spare parts |
US20060184892A1 (en) * | 2005-02-17 | 2006-08-17 | Morris Robert P | Method and system providing for the compact navigation of a tree structure |
US20060190432A1 (en) * | 2005-02-22 | 2006-08-24 | Sas Institute Inc. | System and method for graphically distinguishing levels of a multidimensional database |
US20060212329A1 (en) * | 2005-03-16 | 2006-09-21 | Microsoft Corporation | Consolidated management of administrative tasks in an aynchronous, multi-application environment |
US20070118542A1 (en) * | 2005-03-30 | 2007-05-24 | Peter Sweeney | System, Method and Computer Program for Faceted Classification Synthesis |
US20070156651A1 (en) * | 2005-12-28 | 2007-07-05 | Achim Weigel | Breadcrumb with alternative restriction traversal |
US20070150461A1 (en) * | 2005-12-28 | 2007-06-28 | Achim Weigel | Selectively searching restricted documents |
US20070180051A1 (en) * | 2006-02-02 | 2007-08-02 | Microsoft Corporation | Version-specific content searching |
US20080082935A1 (en) * | 2006-10-03 | 2008-04-03 | Verizon Data Services Inc. | Expandable history tab in interactive graphical user interface systems and methods |
US20080250339A1 (en) * | 2007-04-09 | 2008-10-09 | Brian Riggs | Extensible master-slave user interface with distinct interaction models |
US20080256468A1 (en) * | 2007-04-11 | 2008-10-16 | Johan Christiaan Peters | Method and apparatus for displaying a user interface on multiple devices simultaneously |
US20100179876A1 (en) * | 2007-05-04 | 2010-07-15 | Bjorn Holte | Computer-accessible medium, method and system for assisting in navigating the internet |
US20080282199A1 (en) * | 2007-05-11 | 2008-11-13 | Demand Media, Inc. | Cross taxonomy navigation from a bread crumb in a graphical user interface |
US20090044150A1 (en) * | 2007-08-07 | 2009-02-12 | Yahoo! Inc. | System and method for simplified navigation |
US20090055762A1 (en) * | 2007-08-24 | 2009-02-26 | Oracle International Corporation | Navigational tools for large trees |
US20090063547A1 (en) * | 2007-09-04 | 2009-03-05 | Microsoft Corporation | Breadcrumb list supplementing for hierarchical data sets |
Non-Patent Citations (2)
Title |
---|
Ebert et al., "Collapsible cylindrical trees: a fast hierarchical navigation technique ", IEEE Xplore, August 2002, printout pages 1-8. * |
thefreedictionary, http://www.thefreedictionary.com/scope, printout pages 1-3. * |
Cited By (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090024940A1 (en) * | 2007-07-18 | 2009-01-22 | Sas Institute Inc. | Systems And Methods For Generating A Database Query Using A Graphical User Interface |
US8726177B2 (en) | 2007-07-18 | 2014-05-13 | Sas Institute Inc. | Systems and methods for generating a database query using a graphical user interface |
US20090083675A1 (en) * | 2007-09-20 | 2009-03-26 | Arie Gofer | Hierarchical representation of contextual information |
US8869030B2 (en) * | 2007-09-20 | 2014-10-21 | Flash Networks Ltd. | Hierarchical representation of contextual information |
US20150161119A1 (en) * | 2007-10-10 | 2015-06-11 | Yahoo! Inc. | Playlist resolver |
US8504938B2 (en) * | 2007-11-09 | 2013-08-06 | Oracle International Corporation | Graphical user interface component that includes visual controls for expanding and collapsing information shown in a window |
US20090125835A1 (en) * | 2007-11-09 | 2009-05-14 | Oracle International Corporation | Graphical user interface component that includes visual controls for expanding and collapsing information shown in a window |
US20090327904A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Presenting dynamic folders |
US10002347B2 (en) * | 2008-07-09 | 2018-06-19 | The Interpose Corporation | Methods and systems for node-based website design |
US10217094B2 (en) * | 2008-07-09 | 2019-02-26 | Beguided Inc. | Methods and systems for node-based website design |
US20120221939A1 (en) * | 2008-07-09 | 2012-08-30 | Hill Matthew D | Methods and Systems for Node-Based Website Design |
US8250473B1 (en) | 2009-02-03 | 2012-08-21 | Amazon Technoloies, Inc. | Visualizing object behavior |
US8341540B1 (en) | 2009-02-03 | 2012-12-25 | Amazon Technologies, Inc. | Visualizing object behavior |
US9459766B1 (en) | 2009-02-03 | 2016-10-04 | Amazon Technologies, Inc. | Visualizing object behavior |
US8234582B1 (en) * | 2009-02-03 | 2012-07-31 | Amazon Technologies, Inc. | Visualizing object behavior |
US11030268B2 (en) * | 2009-05-15 | 2021-06-08 | International Business Machines Corporation | Processing tree structure having breadcrumb root node |
US20110179390A1 (en) * | 2010-01-18 | 2011-07-21 | Robert Paul Morris | Methods, systems, and computer program products for traversing nodes in path on a display device |
WO2011142720A1 (en) * | 2010-05-14 | 2011-11-17 | Gabriyel Wong Chee Kien | A self-organizing and contextual graphical user interface |
WO2012153195A3 (en) * | 2011-05-10 | 2013-01-31 | Terraventure B.V. | N-dimensional data searching and display |
US9268828B2 (en) | 2011-06-15 | 2016-02-23 | Sas Institute Inc. | Computer-implemented systems and methods for extract, transform, and load user interface processing |
US9894261B2 (en) * | 2011-06-24 | 2018-02-13 | Honeywell International Inc. | Systems and methods for presenting digital video management system information via a user-customizable hierarchical tree interface |
US20140125808A1 (en) * | 2011-06-24 | 2014-05-08 | Honeywell International Inc. | Systems and methods for presenting dvm system information |
US10863143B2 (en) | 2011-08-05 | 2020-12-08 | Honeywell International Inc. | Systems and methods for managing video data |
US10362273B2 (en) | 2011-08-05 | 2019-07-23 | Honeywell International Inc. | Systems and methods for managing video data |
US20130067349A1 (en) * | 2011-09-12 | 2013-03-14 | Microsoft Corporation | Efficiently providing data from a virtualized data source |
US10860163B1 (en) * | 2011-10-01 | 2020-12-08 | Biofortis Inc. | Generating user interface for viewing data records |
US8910041B1 (en) * | 2012-02-23 | 2014-12-09 | Google Inc. | Font substitution using unsupervised clustering techniques |
US11847300B2 (en) * | 2012-03-12 | 2023-12-19 | Comcast Cable Communications, Llc | Electronic information hierarchy |
US20130238994A1 (en) * | 2012-03-12 | 2013-09-12 | Comcast Cable Communications, Llc | Electronic information hierarchy |
US20130290878A1 (en) * | 2012-04-13 | 2013-10-31 | Huawei Technologies Co., Ltd. | Generation and display method of user interface and user interface device |
US10127292B2 (en) * | 2012-12-03 | 2018-11-13 | Ut-Battelle, Llc | Knowledge catalysts |
US20140156591A1 (en) * | 2012-12-03 | 2014-06-05 | Ut-Battelle, Llc | Knowledge catalysts |
US9146970B2 (en) * | 2013-02-27 | 2015-09-29 | International Business Machines Corporation | Inline graphic scoper integrated with a search navigator |
US20140244620A1 (en) * | 2013-02-27 | 2014-08-28 | International Business Machines Corporation | Inline graphic scoper integrated with a search navigator |
US9383905B1 (en) * | 2013-07-29 | 2016-07-05 | Veritas Technologies Llc | Navigating a large tree structure using summary snippets |
US9672558B2 (en) | 2013-08-30 | 2017-06-06 | Sap Se | Table-form presentation of hierarchical data |
US9910835B2 (en) * | 2014-04-21 | 2018-03-06 | Inkling Systems, Inc. | User interface for creation of content works |
US20150301993A1 (en) * | 2014-04-21 | 2015-10-22 | Inkling Systems, Inc. | User interface for creation of content works |
US20160103576A1 (en) * | 2014-10-09 | 2016-04-14 | Alibaba Group Holding Limited | Navigating application interface |
US11093693B2 (en) * | 2015-03-10 | 2021-08-17 | Microsoft Technology Licensing, Llc | Hierarchical navigation control |
US20200004806A1 (en) * | 2015-03-10 | 2020-01-02 | Microsoft Technology Licensing, Llc | Hierarchical navigation control |
US10719220B2 (en) * | 2015-03-31 | 2020-07-21 | Autodesk, Inc. | Dynamic scrolling |
US20180285995A1 (en) * | 2015-09-25 | 2018-10-04 | Nec Patent Service,Ltd. | Information processing device, information processing method, and program-recording medium |
WO2017078958A1 (en) * | 2015-11-06 | 2017-05-11 | Google Inc. | Mobile user interface |
GB2558487A (en) * | 2015-11-06 | 2018-07-11 | Google Llc | Mobile user interface |
US10242111B2 (en) | 2016-03-22 | 2019-03-26 | International Business Machines Corporation | Node controllers for hierarchical data structures |
US10223463B2 (en) | 2016-03-22 | 2019-03-05 | International Business Machines Corporation | Node controllers for hierarchical data structures |
US10255084B2 (en) | 2016-06-16 | 2019-04-09 | Entit Software Llc | Manage analytics contexts through a series of analytics interactions via a graphical user interface |
US10678515B1 (en) * | 2016-09-20 | 2020-06-09 | Amazon Technologies, Inc. | Simplifying and reusing visual programming graphs |
US10642580B1 (en) | 2016-09-20 | 2020-05-05 | Amazon Technologies, Inc. | Simplifying and reusing visual programming graphs |
Also Published As
Publication number | Publication date |
---|---|
CN101784985A (en) | 2010-07-21 |
EP2193431A2 (en) | 2010-06-09 |
TWI570575B (en) | 2017-02-11 |
EP2193431A4 (en) | 2011-02-02 |
JP2010538367A (en) | 2010-12-09 |
TW200917072A (en) | 2009-04-16 |
WO2009032544A3 (en) | 2009-05-07 |
WO2009032544A2 (en) | 2009-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090063517A1 (en) | User interfaces for scoped hierarchical data sets | |
US8010910B2 (en) | Breadcrumb list supplementing for hierarchical data sets | |
JP5078331B2 (en) | Browsing device control method, graphic menu display device, display device control method, display device, and computer program | |
TWI363295B (en) | File system shell | |
US6968511B1 (en) | Graphical user interface, data structure and associated method for cluster-based document management | |
JP4861988B2 (en) | Computer program that implements a file system shell browser | |
EP1784709B1 (en) | Multi-planar three-dimensional user interface | |
US20050188174A1 (en) | Extensible creation and editing of collections of objects | |
JP2008537253A (en) | Electronic information search, navigation and search | |
Mihalcik et al. | The design and implementation of ViPER | |
Woodruff et al. | DataSplash: A direct manipulation environment for programming semantic zoom visualizations of tabular data | |
Chen | Exploratory browsing: enhancing the browsing experience with media collections | |
US7665022B1 (en) | Media management interfacing with refined data structures | |
Massari et al. | Virtual reality systems for browsing multimedia | |
AU2003284089A1 (en) | Extensible creation and editing of integrated collections | |
Fekete | The infovis toolkit | |
Zloof | Selected ingredients in end-user programming | |
KR20030079819A (en) | The method of composing for multimedia | |
Kajiyama et al. | Self-localization and Navigation in Dynamic Search Hierarchy for Video Retrieval Interface | |
Plaisant et al. | Interactive Information Visualization of a Million Items | |
Miller | The Internet Experience: Getting Conceptual about Interface Design | |
Su | Enhanced visual authoring using operation history | |
Fischer | Automatic Generation of Spatial Configurations in User Interfaces | |
Burns et al. | Building the User Interface | |
Troelsen | The Animation Editor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WRIGHT, DAWN;JASINSKI, AARON;WAN, SAMUEL;REEL/FRAME:020305/0525;SIGNING DATES FROM 20071016 TO 20071210 |
|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WRIGHT, DAWN;JASINSKI, AARON;WAN, SAMUEL;REEL/FRAME:021351/0640;SIGNING DATES FROM 20071016 TO 20071210 |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034542/0001 Effective date: 20141014 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |