Graphical interfaces can be used to display many types of data. Data may include, for example, key performance indicators, time-based trends, resource utilization values, and other types. The visual presentation of data on graphical interfaces may enable users to intuitively understand the data.
Various examples will be described below with reference to the following figures.
Graphical interfaces can be used to display many types of data on a screen or other display device. For example, graphical dashboards are a type of graphical interface that lay out graphical elements (e.g., graphs, charts, numerical or textual data, user input options, etc.) side by side. Data may include, for example, key performance indicators (KPIs), time-based trends, resource utilization values, and other types. In particular, a dashboard may plot parameters of a computing system or environment, such as CPU, memory, disk, or networking usage trends. Moreover, artificial intelligence, machine learning, and other analytical techniques may be applied to data, and the output, such as insights and predictions to future values, may be presented in graphical interfaces.
Visually presenting data on graphical interfaces may enable users to more intuitively understand the data. For example, graphical interfaces may provide quick and efficient at-a-glance views of data. Graphical interfaces may also assist users in comparing data to identify aberrations, positive or negative trends, efficiencies and inefficiencies, and the like. Users may then make informed decisions based on the understanding gained.
However, the ever-increasing complexity and pace of society and modern technology is resulting in an increasing amount, complexity, and interdependence of many types of data. Many graphical interfaces fail to cope with such changes in the volume and complexity of data. For example, dashboards may consume significant display real estate in order to present the data. As a result, dashboards may be less useful for assisting users to efficiently focus on relevant data for monitoring and decision-making tasks. Designing useful dashboards is a significant technical challenge for user experience engineers and designers.
Accordingly, it may be useful to provide a three-dimensional rolling interface object on a display device, via a computing system. The interface object may be in the form of an n-sided prism or a cylinder. Different data sets or different views of a same data set may be displayed on lengthwise segments of the rolling interface object, where a primary segment is in a foreground position. The rolling interface object may be controlled to roll the object to display a different segment in the foreground position. By virtue of a rolling interface object, large amounts of data and/or disparate data may be presented to a user in an intuitive and efficient manner.
As will be described,
Data sets may be displayed in respective display segments of the rolling interface object 100. As an illustration, the example of
The display segment 104 is in a foreground position, and may be described as a primary segment. The adjacent display segments 102, 106 are visually diminished relative to the primary segment, display segment 104. Thus, the adjacent display segments 102, 106 may be described as background segments. For example, the background segments may be angled, skewed, and/or slighter than the primary segment, owing to the perspective and geometry of the rolling interface object 100. By virtue of the background segments being visually diminished, the rolling interface object 100 may help a user focus on the data presented in the primary segment. Moreover, the adjacency of the background segments may provide context for viewing and interpreting the primary segment.
At least some of the data sets include dynamic data. For example, dynamic data may be updated over time, and may include monitoring data (e.g., data from monitored resources such as CPU, memory, storage, networking, power, thermal, etc.), KPIs, or the like. The data may be related or unrelated to the computing system causing display of the rolling interface object 100. In this manner, dynamic data may be presented to a user for monitoring, analysis, and/or decision making. In other implementations, some of the data sets may include static elements, such as menu options.
In some cases, some of the plurality of data sets may be of unrelated data types. For example, data sets 112 and 114 may be resource monitoring data from different respective computing systems. In an implementation, adjacent display segments may display the same data set with different scaling. For example, in the illustration of
A user may utilize controls to input a command to roll the rolling interface object 100 along the rotational direction 110. For example, the controls may include a mouse, a keyboard, a touchscreen interface, a gesture-based interface, or other type of interface device. In other examples, the command to roll may be provided by a computing system, may be issued by a system at time intervals, or may be triggered by an event (e.g., an alert). In response to the command, the rolling interface object 100 may be updated on the display device to show a different display segment as the primary segment (and thus a different data set in the foreground), as well as different display segments as the background segments. The rolling interface object 100 may be animated to simulate a rotation or rolling of the object 100. In this manner, a user may select desired data to review on the primary segment. For example, in
A user may utilize controls to issue a command to change the data set displayed in a particular display segment to a different data set such as a data set not already displayed on the rolling interface object 100. In response, that particular display segment may be updated to display the different data set. For example, controls for commanding a change in data set may include mouse, a keyboard, a touchscreen interface, a gesture-based interface, or other type of interface device.
The rolling interface object 200 is rendered in a head-on perspective, rather than in an oblique or angled perspective as is the rolling interface object 100 of
In some cases, one or more of the plurality of display segments 302, 304, 306 (as well as display segments not visible), may be divided into sub-segments in some cases. For example, in some implementations, a design interface may be provided whereby a user selects whether a display segment is divided and what data sets to display in sub-segments. Sub-segments may be utilized to display data sets, and in some examples, to display different data sets or different views of a same data set (e.g., different scale, different portion of the same data set such as a past or future prediction, etc.). Display segments may be divided into different numbers of sub-segments.
In the example of
In some implementations, different types of graphics may be employed to display at least some of the plurality of data sets. To illustrate, in the example of
In some implementations, a data set name may be displayed for some or all of the plurality of data sets. For example, as illustrated in
In some implementations, selection of a particular data set name (e.g., by a user operating controls) may cause display on the rolling interface object 300 of the associated data set in the primary segment, that is, in the foreground. Selection of a data set name and responsive display of the data set in this manner may serve as an additional and/or alternative method of navigating the rolling interface object 300, that is, in addition to or alternatively to rolling through the interface object 300.
In some implementations, a display segment 601, 602, 603 may be further segmented by the tapering, which may be useful for displaying different data sets or different views of a same data set. Thus, the rolling interface object 600 has tapered end sub-segments 601A, 602A, 603A, 601C, 602C, 603C, and center regions 601B, 602B, 603B. The center region 602B of the foreground position in particular is emphasized, thus enabling a user to focus on the data set displayed in that region 602B, with the context of data sets displayed in the adjacent regions. In other implementations, display segments need not be segmented and a data set may be displayed across the full tapered display segment.
The rolling interface object 800 also includes additional data sets that are not visible when the object 800 is rolling or at a standstill. The additional data sets are represented by data set names 834, 836, 838, 840, 842, 844. When a data set name of the additional data sets is selected (e.g., by a user operating controls), the rolling interface object 800 may visually transition (e.g., in an unrolling animation) to a display of an expanded flat dashboard, such as that illustrated in
The machine readable medium 904 may be any medium suitable for storing executable instructions, such as RAM, ROM, EEPROM, flash memory, a hard disk drive, an optical disc, or the like. The machine readable medium 904 may be disposed within a system (e.g., a server or the like), in which case the executable instructions may be deemed “installed” on or “embedded” in the system. Alternatively, the machine readable medium 904 may be a portable (e.g., external) storage medium, and may be part of an “installation package.”
As described further herein below, the machine readable medium 904 may be encoded with a set of executable instructions 910, 912, 914. It should be understood that all or part of the executable instructions and/or electronic circuits included within one box may, in alternate implementations, be included in a different box shown in the figures or in a different box not shown. In some examples, the instructions 910, 912, 914 may be useful for causing display on a display device 906 in communication with the system 900 of a three-dimensional rolling interface object and for handling related interactions. The display device 906 may be, e.g., a monitor, a touchscreen, or other display technology. Aspects of the system 900 may be described below with reference to preceding example rolling interface objects, such as object 100, although the system 900 is not limited to those examples.
Instructions 910, when executed, cause the processing resource 902 to cause display, on the display device 906, of a plurality of data sets 112, 114, 116 in respective display segments 102, 104, 106 of a three-dimensional rolling interface object 100. At least some of the data sets include dynamic data. In some examples, at least some of the plurality of data sets are of unrelated data types. In some examples, some of the data sets displayed in the display segments may be the same data set with different scaling in adjacent display segments. In some implementations, instructions 910 may cause display of at least some of the plurality of data sets using different types of graphics (e.g., graphs, pie charts, etc.). The display segments 102, 104, 106 are arranged lengthwise on a surface of the rolling interface object 100 and are adjacent to each other along a rotational direction 110 of the rolling interface object 100. By virtue of the geometry of the rolling interface object 100, a primary segment 104 of the display segments is in a foreground position and background segments 102, 106 of the display segments are adjacent to the primary segment 104 and visually diminished relative to the primary segment 104. In some implementations, a display segment may be divided into sub-segments (e.g., 304A, 304B, 304C), each of the sub-segments for displaying respective data sets (e.g., 314A, 314B, 314C).
In some implementations, instructions 910 may render the rolling interface object in the form of an n-sided prism (e.g., object 100 or 400). In some implementations, instructions 910 may render the rolling interface object in the form of a cylinder (e.g., object 500). In some implementations, instructions 910 may render the rolling interface object as tapered at opposite ends (e.g., object 600 or 700), which emphasizes a center region (e.g., region 602B or 702B) of the foreground position (e.g., display segment 602 or 702).
Instructions 912, when executed, cause the processing resource 902 to receive a command to roll the rolling interface object 100. For example, the command may be received from a mouse, a keyboard, a touchscreen interface, a gesture-based interface, or other type of interface device. Instructions 914, when executed, cause the processing resource 902 to respond to the command received via instructions 912 by changing which of the plurality of display segments and corresponding data set is shown in the foreground, that is, as the primary segment 104. Instructions 914 may cause display of a rolling animation of the object 100.
The machine readable medium 1004 may be encoded with a set of executable instructions 1010-1020. It should be understood that part or all of the executable instructions and/or electronic circuits included within one box may, in alternate implementations, be included in a different box shown in the figures or in a different box not shown. Some implementations may include more or fewer instructions than are shown in
Instructions 1010, when executed, cause the processing resource 1002 to receive a command to change a displayed data set in an identified display segment to a different data set. The command may be received from a mouse, a keyboard, a touchscreen interface, a gesture-based interface, or other type of interface device. The command may include, as parameters, the identified display segment and the different data set. Instructions 1012, when executed, cause the processing resource 1002 to respond to the command received via instructions 1010 by causing display of the different data set in the identified display segment. For example, instructions 1010, 1012 may enable a user to change the data set displayed in display segment 104.
Instructions 1014, when executed, cause the processing resource 1002 to display a data set name 322, 324, 326, 328, 330, 332 of each of the plurality of data sets at an end of each of the respective display segments. The data set names may be displayed also for display segments that are not visible on the rolling interface object 300, because those display segments are on a back side of the object 300 as rendered. Instructions 1016, when executed, cause the processing resource 1002 to respond to a selection of a particular data set name (e.g., from among 322, 324, 326, 328, 330, 332) by causing display of a data set associated with that particular data set name in the primary segment, that is, in the foreground. For example, in response to a user selecting data set name 332, the processing resource 1002 executing instructions 1014, 1016 will cause display of the corresponding data set (not visible in
Instructions 1018, when executed, cause the processing resource 1002 to respond to a command to unroll the rolling interface object 800 by causing display of a flat dashboard 850 that includes the plurality of data sets (shown in segments 802, 804, 806, 808, 810, 812) and additional data sets not visible in the rolling interface object (shown in segments 816, 818). A command to unroll may include selection of a data set name 834, 836, 838, 840, 842, or 844 of one of the additional data sets not visible in the rolling interface object 800 or selection of a separate “unroll” command (e.g., a button).
Instructions 1020, when executed, cause the processing resource 1002 to respond to a select command directed to a particular segment of the display segments by causing display on the display device of an expanded view of the particular segment separate from the rolling interface. The select command may be made using a mouse, a keyboard, a touchscreen interface, a gesture-based interface, or other type of interface device. For example, a user may select data segment 102 in
Method 1100 may be implemented in the form of executable instructions stored on a machine readable medium and executed by a processing resource and/or in the form of electronic circuitry. For example, method 1100 below may be performed in part or in whole by a system such as system 900 or 1000 that includes a processing resource. Method 1100 may be described below with reference to example elements described above but is not limited to those examples.
The method 1100 starts at block 1102 and continues to block 1104, where a processing resource causes display on a display device of a three-dimensional rolling interface object 100 having a plurality of segments 102, 104, 106. The segments are arranged lengthwise on a surface of the rolling interface object 100 and are adjacent to each other along a rotational direction 110 of the rolling interface object 100. The rolling interface object may be in the form of a cylinder (e.g., 500) or an n-sided prism (e.g., 100, 400). In some implementations, the rolling interface object may be tapered at opposite ends and a center region of the foreground position may thus be emphasized (e.g., 600 or 700).
At block 1106, the processing resource causes display on a display device of a first data set 114 on a first segment 104 of the plurality of segments. The first segment is in a foreground position.
At block 1108, the processing resource causes display on the display device of a second data set 112 or 116 on a second segment 102 or 106 of the plurality of segments. The second segment 102 or 106 is adjacent to the first segment 104 and visually diminished relative to the first segment 104. For example, visually diminished may mean that the second segment is less prominent, is smaller, is skewed, or the like, relative to the first segment.
The first data set or the second data set includes dynamic data. That is, dynamic data may include data that is updated over time. In some cases, the first data set and the second data set may be of unrelated data types. In some cases, the first data set and the second data set may be differently scaled instances of the same data set.
At block 1110, the processing resource receives a command to roll the rolling interface object 100. For example, the command may come from a mouse, a keyboard, a touchscreen display, another computer instruction, etc.
At block 1112, the processing resource responds to the command by causing display on the display device of the second segment in the foreground position and of the first segment as visually diminished relative to the second segment. For example, if in the illustration of
At block 1114, method 1100 ends. In some implementations, method 1100 may include alternative and/or additional steps, particularly to provide the functionality described above with respect to
For example, in some implementations, the method 1100 may include blocks wherein the processing resource receives a select command (i.e., a command making a selection) directed to a particular segment of the plurality of segments and causes display on the display device of an expanded view of the particular segment in response to the select command.
In some implementations, the method 1100 may include blocks wherein the processing resource responds to a command to unroll the rolling interface object 800 by causing display of a flat two-dimensional dashboard 850 that includes the plurality of data sets and additional data sets not visible in the rolling interface object 800. For example, the command to unroll may include a selection of a data set name 834, 836, 838, 840, 842, 844 that corresponds to an additional data set that is not visible in the rolling interface object 800.
In the foregoing description, numerous details are set forth to provide an understanding of the subject matter disclosed herein. However, implementation may be practiced without some or all of these details. Other implementations may include modifications, combinations, and variations from the details discussed above. It is intended that the following claims cover such modifications, combinations, and variations.