WO2016137479A1 - Recommending visualizations - Google Patents

Recommending visualizations Download PDF

Info

Publication number
WO2016137479A1
WO2016137479A1 PCT/US2015/017921 US2015017921W WO2016137479A1 WO 2016137479 A1 WO2016137479 A1 WO 2016137479A1 US 2015017921 W US2015017921 W US 2015017921W WO 2016137479 A1 WO2016137479 A1 WO 2016137479A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
visualization
type
interface
instructions
Prior art date
Application number
PCT/US2015/017921
Other languages
French (fr)
Inventor
Luis Miguel Vaquero Gonzalez
Suksant SAE LOR
Rycharde Hawkes
Original Assignee
Hewlett Packard Enterprise Development Lp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Enterprise Development Lp filed Critical Hewlett Packard Enterprise Development Lp
Priority to PCT/US2015/017921 priority Critical patent/WO2016137479A1/en
Publication of WO2016137479A1 publication Critical patent/WO2016137479A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user

Definitions

  • FIG. 1A is a block diagram of an example computing device for recommending visualizations
  • FIG. 1 B is a block diagram of an example computing device for recommending visualizations including receiving visualization selection instructions and operation highlighting instructions;
  • FIG. 2 is a diagram of an example system for recommending visualizations
  • FIG. 3 is a flowchart of an example method for recommending visualizations
  • FIG. 4 is a flowchart of an example method for recommending visualizations including adding random visualizations to a visualization list when a user is associated with an unclassified user type.
  • a system may have difficulty determining relevant information for a user as well as how to visually present that information.
  • a user may also have difficulty determining, via a graphic user interface presented by a system, how to focus on relevant information, especially when navigation paths are needed to access the particular information.
  • These technical challenges are exacerbated when different user interfaces are used. For example, the user experience may be dramatically different when viewing data on a mobile device as opposed to a desktop computer.
  • different types of users may have different needs for the data.
  • some users may desire an overview of all of the data, while some other users may desire to pinpoint certain areas for analysis.
  • FIG. 1 A depicts an example computing device 100 for recommending visualizations.
  • Computing device 100 may be, for example, a cloud server, a local area network server, a web server, a mainframe, a mobile computing device, a notebook or desktop computer, a smart TV, a point-of-sale device, a wearable device, any other suitable electronic device, or a combination of devices, such as ones connected by a cloud or internet network, that perform the functions described herein.
  • computing device 100 includes a processor 1 10 and a non-transitory machine-readable storage medium 120 encoded with instructions to recommend visualizations.
  • Processor 1 10 may be one or more central processing units (CPUs), semiconductor-based microprocessors, and/or other hardware devices suitable for retrieval and execution of instructions stored in machine-readable storage medium 120.
  • Processor 1 10 may fetch, decode, and execute instructions 121 , 122, 223, 124, 125, and/or other instructions to implement the procedures described herein.
  • processor 1 10 may include one or more electronic circuits that include electronic components for performing the functionality of one or more of instructions 121 , 122, 123, 124, and 125.
  • the program instructions 121 , 122, 123, 124, 125, and/or other instructions can be part of an installation package that can be executed by processor 1 10 to implement the functionality described herein.
  • memory 120 may be a portable medium such as a CD, DVD, or flash drive or a memory maintained by a computing device from which the installation package can be downloaded and installed.
  • the program instructions may be part of an application or applications already installed on computing device 100
  • Machine-readable storage medium 120 may be any electronic, magnetic, optical, or other physical storage device that contains or stores executable data accessible to computing device 100.
  • machine-readable storage medium 120 may be, for example, a Random Access Memory (RAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a storage device, an optical disc, and the like.
  • Storage medium 120 may be a non-transitory storage medium, where the term "non-transitory" does not encompass transitory propagating signals.
  • Storage medium 120 may be located in computing device 100 and/or in another device in communication with computing device 100.
  • machine-readable storage medium 120 may be encoded with activity tracking instructions 121 , user association instructions 122, user interface association instructions 123, visualization list instructions 124, and visualization recommendation instructions 125.
  • Activity tracking instructions 121 when executed by processor 1 10, may track activities of a user in a user interface.
  • a user may be a person, organization, virtual system, and/or other entity for which visualizations may be recommended using computing device 100.
  • the user may be directly interacting with computing device 100 via the user interface or the user may be interacting with a remotely-located user interface which communicates with computing device 100.
  • Activity tracking instructions 121 when executed by processor 1 10, may track user activities.
  • a user activity may comprise information related to an action from, for example, a list of actions that may be performed responsive to user interaction with the user interface.
  • Examples of a user activity e.g., an action from the list of action
  • the list of actions may also comprise a set of associations that may be used to associate the user with a user type from a set of user types. For example, a first subset of actions from the list of actions may be associated with a first user type, while a second subset of actions from the list of actions may be associated with a second user type.
  • the activity tracking instructions 121 when executed by processor 1 10, may form an activity history of the user. For example, each time a user interacts with the user interface, the activity tracking instructions 121 , when executed by processor 1 10, may store, record, and/or otherwise manage information related to the user interaction to augment the user's activity history.
  • a user's activity history may be a database or list of activities that the user has undertaken in the user interface.
  • the user's activity history may comprise, for each activity of the user, information related to the user's interaction with the user interface, information related to the action performed responsive to the user interaction, a time stamp associated with the user interaction, and/or other information related to the user interaction with the user interface.
  • computing device 100 may use a user's activity history (e.g., as determined by activity tracking instructions 121 executed by processor 1 10) to determine which visualizations to recommend to the user.
  • a visualization may comprise a particular presentation of information in the user interface.
  • a visualization may be configured based on the format, layout, and types of information presented to the user, among other factors.
  • User association instructions 122 when executed by processor 1 10, may associate the user with a user type from a plurality of user types based on the user's tracked activities.
  • User association instructions 122 when executed by processor 1 10, may classify the user as a particular user type based on the user's activity history.
  • the user association instructions 122 when executed by processor 1 10, may determine a user type for the user based on, for example, the activities of users of the same user type. For example, user association instructions 122, when executed by processor 1 10, may compare the user's activity history with the activity histories of previous users classified in different user types.
  • User association 122 may determine the user type whose users' have activities that most closely resembles the current user's user activity.
  • User association instructions 122 when executed by processor 1 10, may classify the user under that particular user type due to the similarity of the user's activities with other users of that user type.
  • the user type to be associated with the user may be determined by user association instructions 122, when executed by processor 1 10, by performing a similarity clustering algorithm on the user's tracked activities within a given timeframe.
  • Clustering algorithms may operate to group sets of objects, such as user activities, so that objects in the same group are more similar to each other than to those in other groups. It should be noted that the operation of user association instructions 122 may not be limited to a particular algorithm, but rather includes the general task of clustering in order to determine the user type to be associated. Examples of clustering algorithms may include, but are not limited to, hierarchical clustering, centroid-based clustering, distribution- based clustering, and density-based clustering.
  • the timeframe may be, for example, a predetermined amount of time or at predetermined intervals.
  • the clustering algorithm may be performed responsive to a condition being met.
  • the computing device 100 may store a set of conditions that may be used to determine whether to perform the clustering algorithm.
  • a condition may comprise, for example, the user accessing a particular number of visualizations within a predetermined time frame, the user performing a certain number of activities within a predetermined time frame, the user accessing a threshold number of visualizations, and/or other conditions.
  • the user association instructions 122 when executed by processor 1 10, may maintain counters related to user activity and/or otherwise manage determination of whether a user has met a condition. Responsive to a condition not yet being met, the user association instructions 122, when executed by processor 1 10, may associate the user with a default user type, which may be, for example, an unclassified user type.
  • the user association instructions 122 when executed by processor 1 10, may update association of the user with a user type.
  • the user association instructions 122 when executed by processor 1 10, may update the user type of the user in order to ensure the most accurate association of user type for the user.
  • the set of conditions may be predetermined and/or may depend on the clustering algorithm. In some examples, the set of conditions may be determined by an administrator associated with the computing device 100, and/or may be otherwise determined.
  • the data to be presented by the user interface contains the statuses of computing assets in large datacenters of an organization such as a large business enterprise.
  • this organization various users may have differing reasons for accessing information.
  • a manager may be interested in a visualization showing an overview summary of the entire collection of assets.
  • a technician may be more inclined to a visualization including individual assets or clusters of assets in order to diagnose issues. Managers may have very different activity histories than technicians.
  • user association instructions 122 when executed by processor 1 10, may compare a current user's activity history with those of users of the manager user type and those of users of the technician user type to determine whether the current user should be classified as a manager, a technician, or other type of user, which may lead to computing device 100 recommending very different visualizations.
  • the plurality of user types includes a plurality of existing user types that have been created as a result of previous classifications.
  • the user types of the plurality of user types may be classified based on prior visualizations of users of the same user types. In other words, previous users of a particular role or status may have accessed similar visualizations within the user interface.
  • managers in the enterprise may typically be associated with a user's activity history that comprises a user activity related to accessing the overview summary of the collection of the enterprise's assets.
  • the user association instructions 122 when executed by processor 1 10, may determine that the user activity of the user does not fit well into any existing clusters of user activity (where, for example, a cluster may be associated with an existing user type).
  • user association instructions 122 when executed by processor 1 10, may create a new user type in the plurality of user types based on the visualizations accessed by the user. For example, user association instructions 122, when executed by processor 1 10, may determine that a set of actions is present in an activity history of a predetermined percentage of users greater than a threshold percentage, and create a new user type among the plurality of user types.
  • User interface association instructions 123 when executed by processor 1 10, may associate the user interface with a user interface type from a plurality of user interface types based on the physical properties of the user interface and user preferences.
  • User interface association instructions 123 when executed by processor 1 10, may associate the user with a user interface type in order to know the format, layout, and style of the user interface.
  • Computing device 100 may use the properties of the user interface in order to recommend relevant visualizations to the user.
  • User interface association instructions when executed by processor 1 10, may associate the user interface with a user interface type based on the properties of the user interface.
  • the properties of the user interface may be attributes that potentially affect the presentation of data or the user experience, such as, for example, screen size, screen orientation, operating system, and particular programs used.
  • the user interface may be the screen of a computer. In other instances, it could be a touchscreen device such as a mobile tablet or other device. Furthermore, these user interfaces could even be of differing operating systems. Based on these different factors, optimal visualizations may be different depending on the properties of the user interface.
  • User interface association instructions 123 when executed by processor 1 10, may associate the user interface with a user interface type that is most similar to the user interface.
  • the user interface association instructions 123 when executed by processor 1 10, may manage information related to a set of user interface types.
  • the set of user interface types may comprise a plurality of user interface types created based on past user activity.
  • the user interface association instructions 123 when executed by processor 1 10, may populate the set of user interface types by recording the user interfaces previously used to accessing the data. Responsive to a new interface type not matching any of the set of user interface types, the user interface association instructions 123, when executed by processor 1 10, may add the new user interface type to the set of user interface types.
  • user interface association instructions 123 when executed by processor 1 10, may associate the user interface with a user interface type based on a set of user preferences.
  • a user preference may be stored in the computing device 100, determined based on the user activity history, selected by the user (e.g., a selection of a preferred visualization), and/or otherwise determined.
  • the user interface association instructions 123 when executed by processor 1 10, may determine the user interface type that is associated with the user interface based solely on the set of user preferences associated with the user.
  • a user may select a preference that may not be optimal. For example, a user, for various reasons, may prefer to view a mobile layout despite using a desktop computer. In such examples, user selection may override the attempted user interface association.
  • Visualization list instructions 124 when executed by processor 1 10, may create a visualization list of at least one visualization based on the user type, the user interface type, and/or other factors.
  • the visualization list may include visualizations that may be popular or typical to the user based on the user type and on the user interface type.
  • the visualization list may include one visualization, such as a suggested relevant visualization, or a plurality of visualizations.
  • the visualization list instructions 124 when executed by processor 1 10, may provide a visualization list that includes a ranked list of a number of visualization.
  • the visualization list instructions 124 when executed by processor 1 10, may rank the visualizations according to the most popular or relevant to the user based on the user type and the interface type.
  • the visualization list instructions 124 when executed by processor 1 10, may recommend the visualization list to the user in order to provide guidance in navigating the visualizations of information in the user interface.
  • the visualization list instructions 124 when executed by processor 1 10, may receive information from the user indicating the user's selection of preferred visualization.
  • the user may not be associated with a user type or may be associated with a default (e.g., unclassified) user type. For example, when the user first accesses the user interface, there are no tracked activities to use to associate the user with a user type. In another example, the tracked activities might show that the user may not be accurately associated with an existing user type. In either example, the visualization list may include at least one randomly selected visualization.
  • the user may be associated with at least one specific user type.
  • the visualization list may include at least one visualization classified with the specific user type.
  • Visualization recommendation instructions 125 when executed by processor 1 10, may recommend the visualization list to the user. Recommending the visualization list to the reader may offer the user suggested visualizations based on the user type and the user interface type.
  • the visualization list may offer a number of visualizations that has been determined by visualization list instructions 124, when executed by processor 1 10, as being potentially relevant to the particular user.
  • the visualization recommendation instructions 125 when executed by processor 1 10, may present the visualization list to the user via the user interface.
  • computing device 100 may present visualizations that contain data shown in linearized forms of graphs and related aggregations of entities in the graphs. For example, the total collection of assets in the datacenters may be aggregated into categories, such as servers, storage, and peripherals. Within such categories may be further subcategories. For example, storages devices at full capacity may be clustered together for visualization purposes.
  • FIG. 1 B depicts an example computing device 150 for recommending visualizations, which may be analogous to computing device 100 and which may include additional instructions.
  • computing device 150 includes a processor 160 and a non-transitory machine-readable storage medium 170 encoded with instructions to recommend visualizations.
  • Processor 150 may fetch, decode, and execute instructions 171 , 172, 173, 174, 175, 176, 177, and/or other instructions to implement the procedures described herein.
  • the program instructions 171 , 172, 173, 174, 175, 176, 177, and/or other instructions can be part of an installation package that can be executed by processor 160 to implement the functionality described herein.
  • the program instructions may be part of an application or applications already installed on computing device 150.
  • machine-readable storage medium 170 may be encoded with activity tracking instructions 171 , user association instructions 172, user interface association instructions 173, visualization list instructions 174, visualization recommendation instructions 175, visualization selection instructions 176, and operation highlighting instructions 177.
  • Activity tracking instructions 171 may be analogous to activity tracking instructions 121 of computing device 100 and may, when executed by processor 160, track activities of a user in a user interface.
  • User association instructions 172 may be analogous to user association instructions 122 and may, when executed by processor 160, associate the user with a user type from a plurality of user types based on the user's tracked activities.
  • User interface association instructions 173 may be analogous to user interface association instructions 123 and may, when executed by processor 160, associate the user interface with an interface type from a plurality of interface types based on the physical properties of the user interface and user preferences.
  • Visualization list instructions 174 may be analogous to visualization list instructions 124 and may, when executed by processor 160, create a visualization list of at least one visualization based on the user type and the interface type.
  • Visualization recommendation instructions 175 may be analogous to visualization recommendation instructions 125 and may, when executed by processor 160, recommend the visualization list to the user.
  • Visualization selection instructions 176 when executed by processor 160, may receive a visualization selection from the user.
  • the visualization selection may indicate the visualization that the user has expressed interest in accessing.
  • the visualization selection instructions 176 when executed by processor 160, may receive the visualization selection after the visualization list has been recommended to the user.
  • the selected visualization may be one of the visualizations of the visualization list.
  • the selected visualization may be another visualization.
  • the visualization selection may be received at any point. In the example of the datacenter given above, a technician user may select a visualization that allows him to diagnose issues of a particular group of assets.
  • Operation highlighting instructions 177 when executed by processor 160, may highlight at least one operation to the user.
  • An operation may be an interaction with the user interface which causes an action in the computing device 150, such as causing the user interface to display another visualization. Executing the highlighted operation may lead to the presentation of the selected visualization.
  • operation highlighting instructions 177 when executed by processor 160, may receive a user selection of a particular visualization. Operating highlighting instructions 177, when executed by processor 160, may highlight an operation or a series of operations that will lead the user to the selected visualization.
  • the user may be associated with a technician user type.
  • the visualization list may include a number of suggested visualizations relevant to the typical technician user.
  • one of the visualizations on the list may be a visualization showing all storage devices at full storage capacity.
  • operation highlighting instructions 177 when executed by processor 160, may highlight a number of operations to the user which will lead to the selected visualization.
  • the first operation may allow the user to limit the view from all assets to all storage assets.
  • the next operation may allow the user to limit the view from all storage assets to those at full storage capacity.
  • FIG. 2 depicts an example system 200 for recommending visualizations.
  • System 200 may be a computing device, a cloud server, a local area network server, a web server, a mainframe, a mobile computing device, a notebook or desktop computer, a smart TV, a wearable device, a point-of-sale device, any other suitable electronic device, or a combination of devices, such as ones connected by a cloud or internet network, that perform the functions described herein.
  • the dotted line shows that the components of system 200 may be located together in a single device or that the components may be separate and functionally connected.
  • System 200 may include a user interface 220, to which a user 210 interacts with system 200.
  • processor 230 may be one or more CPUs, microprocessors, and/or other hardware devices suitable for retrieval and execution of instructions.
  • system 200 may include a series of engines 241 -247 for recommending visualizations.
  • Each of the engines may generally represent any combination of hardware and programming.
  • the programming for the engines may be processor executable instructions stored on a non- transitory machine-readable storage medium and the hardware for the engines may include at least one processor of the system 200, such as processor 230, to execute those instructions.
  • each engine may include one or more hardware devices including electronic circuitry for implementing the functionality described below.
  • Activity tracking engine 241 may track activities of a user in user interface.
  • activity tracking engine 241 may track user activities, such as particular visualizations the user has selected, particular information that the user accessed, and/or navigation paths the user used within the user interface to access the information. These tracked activities form a user's activity history, which may be used by system 200 to determine which visualizations to recommend to the user. In some examples, activity tracking engine 241 may perform functionality the same as or similar to activity tracking instructions 121 , when executed by processor 1 10.
  • User association engine 242 may associate the user with a user type from a plurality of user types based on the user's tracked activities. For example, the user may be classified as a particular user type based on the user's activity history. In some examples, user association engine 242 may create a new user type in the plurality of user types based on the visualizations accessed by the user. In some examples, the user type to be associated with the user may be determined by performing a clustering algorithm on the user's tracked activities within a given timeframe. User association engine 242 may perform functionality the same as or similar to user association instructions 122, when executed by processor 1 10.
  • User interface engine 243 may associate the user interface with a user interface type from a plurality of user interface types based on the physical properties of the user interface and user preferences. User interface engine 243 may perform functionality the same or similar to user association instructions 123, when executed by processor 1 10.
  • Visualization list engine 244 may create a visualization list of at least one visualization based on the user type and the user interface type.
  • the visualization list may include visualizations that may be popular or typical to the user based on the user's user type and on the user interface's type.
  • the visualization list may include one visualization, such as a suggested best visualization, or a plurality of visualizations.
  • the visualization list may include a ranked list of a number of visualization, form which the user may select the preferred visualization.
  • the visualization list may be recommended to the user in order to provide guidance in navigating the visualizations of information in the user interface.
  • Visualization list engine 244 may perform functionality the same or similar to visualization list instructions 124, when executed by processor 1 10.
  • Visualization recommendation engine 245 may recommend the visualization list created by visualization list engine 244 to the user. Recommending the visualization list to the reader may offer the user suggested visualizations based on the user type and the user interface type. The visualization list may offer a number of visualizations that has been determined by visualization list engine 244 as being potentially relevant to the particular user. Visualization recommendation engine 245 may perform functionality the same or similar to visualization recommendation instructions 125, when executed by processor 160.
  • Visualization selection engine 246 may receive a visualization selection from the user, which indicates the visualization that the user has expressed interest in accessing.
  • visualization selection engine 246 may receive the visualization selection after the visualization list has been recommended to the user.
  • the selected visualization may be one of the visualizations of the visualization list.
  • the selected visualization may be another visualization.
  • the visualization selection may be received at any point.
  • the visualization selection may indicate a particular visualization that the user expressed interest in accessing.
  • Visualization selection engine 246 may perform functionality the same or similar to visualization selection instructions 166, when executed by processor 160.
  • Operation highlighting engine 247 may highlight at least one operation to the user. Executing the highlighted operations may lead to the presentation of the selected visualization. In some examples, a user may select a particular visualization. Operating highlighting engine 247 may highlight an operation or a series of operations that will lead the user to the particular visualization. Operation highlighting engine 247 may perform functionality the same or similar to operation highlighting instructions 167, when executed by processor 160.
  • System 200 may also include a storage 250 which may store the information and data associated with system 200.
  • storage 250 may store the plurality of user types, the plurality of user interfaces, and activity histories of users.
  • Storage 250 may be any physical storage device or may be, for example, cloud-hosted storage.
  • storage 250 may store information similar or the same as information stored in storage 120 of computing device 100.
  • FIG. 3 depicts an example method 300 for recommending visualizations. Although execution of method 300 is described below with reference to computing device 100 of FIG. 1A, other suitable devices for execution of this method should be apparent, including computing device 150 of FIG. 1 B and system 200 of FIG. 2.
  • Method 300 may be implemented in the form of executable instructions stored on a machine-readable storage medium, such as storage medium 120, and/or in the form of electronic circuitry.
  • user activities in a user interface may be tracked.
  • activity tracking instructions 121 of computing device 100 may track user activities, such as particular visualizations the user has selected, particular information that the user accessed, and/or navigation paths the user used within the user interface to access the information.
  • the computing device 100 (and/or the activity tracking instructions) may track user activities, such as particular visualizations the user has selected, particular information that the user accessed, and/or navigation paths the user used within the user interface to access the information.
  • the computing device 100 (and/or the activity tracking instructions 121 of computing device 100 may track user activities, such as particular visualizations the user has selected, particular information that the user accessed, and/or navigation paths the user used within the user interface to access the information.
  • the activity tracking engine 241 may track user activities.
  • User activities may be tracked in a manner similar or the same as that described above in relation to the execution of the activity tracking instructions 121 , the activity tracking engine 241 , or other resource of computing device 100.
  • the user may be associated with a user type from a plurality of user types based on the user's tracked activities. For example, the user may be classified as a particular user type or a new user type may be created based on the user's activity history. For example, the computing device 100 (and/or the user association instructions
  • the user association engine 242, or other resource may associate the user with the user type.
  • the user may be associated with the user type in a manner similar or the same as that described above in relation to the execution of the user association instructions 122, the user association engine 242, or other resource of computing device 100.
  • the user interface may be associated with an interface type from a plurality of interface types based on the physical properties of the user interface and user preferences.
  • the computing device 100 and/or the user interface association instructions 123, the user interface association engine 243, or other resource
  • the user interface may be associated with the interface type in a manner similar or the same as that described above in relation to the execution of the user interface association instructions 123, the user interface association engine 243, or other resource of computing device 100.
  • a visualization list may be created based on the user type and the user interface type.
  • the visualization list may include visualizations that may be popular or typical to the user based on the user's user type and on the user interface's user interface type.
  • the visualization list may include a ranked list of a number of visualization, form which the user may select the preferred visualization.
  • the computing device 100 and/or visualization list instructions 124, the visualization list engine 244, or other resource
  • the visualization list may be created in a manner similar or the same as that described above in relation to the execution of the visualization list instructions 124, the visualization list engine 244, or other resource of computing device 100.
  • the visualization list may be recommended to the user.
  • Recommending the visualization list to the reader may offer the user suggested visualizations based on the user type and the user interface type.
  • the computing device 100 and/or the visualization recommendation instructions 125, the visualization recommendation engine 245, or other resource
  • the visualization list may be recommended in a manner similar or the same as that described above in relation to the execution of the visualization recommendation instructions 125, the visualization recommendation engine 245, or other resource of computing device 100.
  • FIG. 4 depicts an example method 400 for recommending visualizations. Although execution of method 400 is described below with reference to computing device 150 of FIG. 1 B, other suitable devices for execution of this method should be apparent, including computing device 100 of FIG. 1A and system 200 of FIG. 2.
  • Method 400 may be implemented in the form of executable instructions stored on a machine-readable storage medium, such as storage medium 170, and/or in the form of electronic circuitry.
  • user activities in a user interface may be tracked.
  • the computing device 150 and/or the activity tracking instructions 171 , the activity tracking engine 241 , or other resource
  • User activities may be tracked in a manner similar or the same as that described above in relation to the execution of the activity tracking instructions 171 , the activity tracking engine 241 , or other resource of computing device 150.
  • a clustering algorithm may be performed on the user's tracked activities within a given timeframe to determine a user type to be associated with the user.
  • Clustering algorithms may operate to group sets of objects, such as user activities, so that objects in the same group are more similar to each other than to those in other groups.
  • the clustering algorithm may be performed within certain timeframes or at under particular circumstances.
  • operation 415 may not always be performed.
  • the clustering algorithm may be performed responsive to a condition being met.
  • the computing device 150 and/or the user association instructions 172, the user association engine 242, or other resource
  • the algorithm may be performed in a manner similar or the same as that described above in relation to the execution of the user association instructions 172, the user association engine 242, or other resource of computing device 150.
  • the user may be associated with a user type from a plurality of user types or a new user type may be created based on the user's tracked activities.
  • the computing device 150 and/or the user association instructions 172, the user association engine 242, or other resource
  • the user may be associated with the user type in a manner similar or the same as that described above in relation to the execution of the user association instructions 172, the user association engine 242, or other resource of computing device 150.
  • the user interface may be associated with an interface type from a plurality of interface types based on the physical properties of the user interface and user preferences.
  • the computing device 150 and/or the user interface association instructions 173, the user interface association engine 243, or other resource
  • the user interface may be associated with the interface type in a manner similar or the same as that described above in relation to the execution of the user interface association instructions 173, the user interface association engine 243, or other resource of computing device 150.
  • a visualization list may be created based on the user type and the user interface type.
  • the visualization list may include visualizations that may be popular or typical to the user based on the user's user type and on the user interface's type.
  • the visualization list may include a ranked list of a number of visualization, form which the user may select the preferred visualization.
  • the visualization list may be recommended to the user in order to provide guidance in navigating the visualizations of information in the user interface.
  • the computing device 150 and/or visualization list instructions 174, the visualization list engine 244, or other resource
  • the visualization list may be created in a manner similar or the same as that described above in relation to the execution of the visualization list instructions 174, the visualization list engine 244, or other resource of computing device 150.
  • computing device 150 checks whether the user is associated with an unclassified user type. For example, when the user first accesses the user interface, there may be no tracked activities to use to associate the user with a user type. In another example, the tracked activities might show that the user may not be accurately associated with an existing user type. For example, the computing device 150 (and/or visualization list instructions 174, the visualization list engine 244, or other resource) may check whether the user is associated with an unclassified user type in a manner similar or the same as that described above in relation to the execution of the visualization list instructions 174, the visualization list engine 244, or other resource of computing device 150. Responsive to determining that the user is not associated with an unclassified user type, method 400 proceeds to an operation 445.
  • method 400 proceeds to an operation 440.
  • a random visualization may be added to the visualization list.
  • computing device 150 does not know which visualizations may be most relevant to the particular user.
  • a predetermined set of visualizations may be recommended to the user.
  • the computing device 150 and/or visualization list instructions 174, the visualization list engine 244, or other resource
  • the visualization list may be recommended to the user.
  • Recommending the visualization list to the reader may offer the user suggested visualizations based on the user type and the user interface type.
  • the visualization list may offer a number of visualizations that has been determined as being potential relevant to the particular user.
  • the computing device 150 and/or the visualization recommendation instructions 175, the visualization recommendation engine 245, or other resource
  • the visualization list may be recommended in a manner similar or the same as that described above in relation to the execution of the visualization recommendation instructions 175, the visualization recommendation engine 245, or other resource of computing device 150.
  • computing device 150 may receive a visualization selection from the user.
  • the selected visualization may be one of the visualizations of the visualization list.
  • the selected visualization may be another visualization.
  • the visualization selection may be received at any point, not necessarily after the visualization list has been recommended.
  • the visualization selection may indicate a particular visualization that the user expressed interest in accessing.
  • the computing device 150 and/or the visualization selection instructions 176, the visualization selection engine 246, or other resource
  • an operation 455 at least one operation may be highlighted to the user. Executing the highlighted operations may lead to the presentation of the selected visualization.
  • a user may select a particular visualization.
  • the computing device 150 and/or the operation highlighting instructions 177, the operation highlighting engine 247, or other resource
  • the method 400 may return to operation 410, where it continues to track user activities.
  • the foregoing disclosure describes a number of example embodiments for recommending visualizations to a user of a user interface.
  • the disclosed examples may include systems, devices, computer-readable storage media, and methods for recommending visualizations.
  • certain examples are described with reference to the components illustrated in FIGS. 1 -4.
  • the functionality of the illustrated components may overlap, however, and may be present in a fewer or greater number of elements and components. All or part of the functionality of illustrated elements may co-exist or be distributed among several geographically dispersed locations.
  • the disclosed examples may be implemented in various environments and are not limited to the illustrated implementations.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Human Computer Interaction (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Example embodiments relate to recommending visualizations. The embodiments disclosed herein track activities of a user in a user interface. The user is associated with a user type based on the user's tracked activities. The user interface is associated with an interface type based on the physical properties of the user interface and user preferences. A visualization list is created based on the user type and the interface type, and the visualization is recommended to the user.

Description

RECOMMENDING VISUALIZATIONS
BACKGROUND
[0001 ] Presenting large amounts of data to users presents certain challenges. In order to efficiently present information in digestible ways to human users, the organization of the data may be of high importance. Information may be presented through a graphic user interface in the form of visualizations.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] The following detailed description references the drawings, wherein:
[0003] FIG. 1A is a block diagram of an example computing device for recommending visualizations;
[0004] FIG. 1 B is a block diagram of an example computing device for recommending visualizations including receiving visualization selection instructions and operation highlighting instructions;
[0005] FIG. 2 is a diagram of an example system for recommending visualizations;
[0006] FIG. 3 is a flowchart of an example method for recommending visualizations;
[0007] FIG. 4 is a flowchart of an example method for recommending visualizations including adding random visualizations to a visualization list when a user is associated with an unclassified user type.
DETAILED DESCRIPTION
[0008] The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the following description to refer to the same or similar parts. While several examples are described in this document, modifications, adaptations, and other implementations are possible. Accordingly, the following detailed description does not limit the disclosed examples. Instead, the proper scope of the disclosed examples may be defined by the appended claims.
[0009] With the rapid growth in the use of computers to host business applications, websites, cloud, etc., the amount of data created, stored, and analyzed has also rapidly grown. As a result, systems to manage data and information may allow a user to efficiently access relevant information. When large amounts of data are presented, data is typically aggregated and presented into clusters and groups. Users may need to navigate these clusters to the information they want.
[0010] However, technical challenges may exist for a system to present the appropriate data to a user using a graphic user interface. For example, a system may have difficulty determining relevant information for a user as well as how to visually present that information. As such, a user may also have difficulty determining, via a graphic user interface presented by a system, how to focus on relevant information, especially when navigation paths are needed to access the particular information. These technical challenges are exacerbated when different user interfaces are used. For example, the user experience may be dramatically different when viewing data on a mobile device as opposed to a desktop computer. Furthermore, different types of users may have different needs for the data. In addition, some users may desire an overview of all of the data, while some other users may desire to pinpoint certain areas for analysis.
[001 1 ] Examples disclosed herein address these technical challenges by recommending visualizations to the user based on user type and user interface type. An example computing device accumulate data from different users to build a database of categories of users. The example computing device may also accumulate data from the user interfaces used by the different users to build up a database of categories of interfaces. The example computing device may track user activities, which may include data sets the user has accessed and the navigation sequences taken to access the data, and compares the users with the existing database of user types and interface types to create a list of visualizations to recommend to the user. Furthermore, the example computing device may highlight operations that can be executed to access the recommended visualizations [0012] Referring now to the drawings, FIG. 1 A depicts an example computing device 100 for recommending visualizations. Computing device 100 may be, for example, a cloud server, a local area network server, a web server, a mainframe, a mobile computing device, a notebook or desktop computer, a smart TV, a point-of-sale device, a wearable device, any other suitable electronic device, or a combination of devices, such as ones connected by a cloud or internet network, that perform the functions described herein. In the example shown in FIG. 1A, computing device 100 includes a processor 1 10 and a non-transitory machine-readable storage medium 120 encoded with instructions to recommend visualizations.
[0013] Processor 1 10 may be one or more central processing units (CPUs), semiconductor-based microprocessors, and/or other hardware devices suitable for retrieval and execution of instructions stored in machine-readable storage medium 120. Processor 1 10 may fetch, decode, and execute instructions 121 , 122, 223, 124, 125, and/or other instructions to implement the procedures described herein. As an alternative or in addition to retrieving and executing instructions, processor 1 10 may include one or more electronic circuits that include electronic components for performing the functionality of one or more of instructions 121 , 122, 123, 124, and 125.
[0014] In one example, the program instructions 121 , 122, 123, 124, 125, and/or other instructions can be part of an installation package that can be executed by processor 1 10 to implement the functionality described herein. In this case, memory 120 may be a portable medium such as a CD, DVD, or flash drive or a memory maintained by a computing device from which the installation package can be downloaded and installed. In another example, the program instructions may be part of an application or applications already installed on computing device 100
[0015] Machine-readable storage medium 120 may be any electronic, magnetic, optical, or other physical storage device that contains or stores executable data accessible to computing device 100. Thus, machine-readable storage medium 120 may be, for example, a Random Access Memory (RAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a storage device, an optical disc, and the like. Storage medium 120 may be a non-transitory storage medium, where the term "non-transitory" does not encompass transitory propagating signals. Storage medium 120 may be located in computing device 100 and/or in another device in communication with computing device 100. As described in detail below, machine-readable storage medium 120 may be encoded with activity tracking instructions 121 , user association instructions 122, user interface association instructions 123, visualization list instructions 124, and visualization recommendation instructions 125.
[0016] Activity tracking instructions 121 , when executed by processor 1 10, may track activities of a user in a user interface. A user may be a person, organization, virtual system, and/or other entity for which visualizations may be recommended using computing device 100. The user may be directly interacting with computing device 100 via the user interface or the user may be interacting with a remotely-located user interface which communicates with computing device 100.
[0017] Activity tracking instructions 121 , when executed by processor 1 10, may track user activities. A user activity may comprise information related to an action from, for example, a list of actions that may be performed responsive to user interaction with the user interface. Examples of a user activity (e.g., an action from the list of action) may include a particular visualization the user has selected, particular information that the user accessed, a navigation path the user used within the user interface to access the information, and/or other information related to an action performed responsive to user interaction with the user interface..
[0018] In some examples, the list of actions may also comprise a set of associations that may be used to associate the user with a user type from a set of user types. For example, a first subset of actions from the list of actions may be associated with a first user type, while a second subset of actions from the list of actions may be associated with a second user type.
[0019] The activity tracking instructions 121 , when executed by processor 1 10, may form an activity history of the user. For example, each time a user interacts with the user interface, the activity tracking instructions 121 , when executed by processor 1 10, may store, record, and/or otherwise manage information related to the user interaction to augment the user's activity history. A user's activity history may be a database or list of activities that the user has undertaken in the user interface. The user's activity history may comprise, for each activity of the user, information related to the user's interaction with the user interface, information related to the action performed responsive to the user interaction, a time stamp associated with the user interaction, and/or other information related to the user interaction with the user interface.
[0020] As discussed herein, computing device 100 may use a user's activity history (e.g., as determined by activity tracking instructions 121 executed by processor 1 10) to determine which visualizations to recommend to the user. A visualization may comprise a particular presentation of information in the user interface. A visualization may be configured based on the format, layout, and types of information presented to the user, among other factors.
[0021 ] User association instructions 122, when executed by processor 1 10, may associate the user with a user type from a plurality of user types based on the user's tracked activities. User association instructions 122, when executed by processor 1 10, may classify the user as a particular user type based on the user's activity history. The user association instructions 122, when executed by processor 1 10, may determine a user type for the user based on, for example, the activities of users of the same user type. For example, user association instructions 122, when executed by processor 1 10, may compare the user's activity history with the activity histories of previous users classified in different user types. User association 122 may determine the user type whose users' have activities that most closely resembles the current user's user activity. User association instructions 122, when executed by processor 1 10, may classify the user under that particular user type due to the similarity of the user's activities with other users of that user type.
[0022] In some examples, the user type to be associated with the user may be determined by user association instructions 122, when executed by processor 1 10, by performing a similarity clustering algorithm on the user's tracked activities within a given timeframe. Clustering algorithms may operate to group sets of objects, such as user activities, so that objects in the same group are more similar to each other than to those in other groups. It should be noted that the operation of user association instructions 122 may not be limited to a particular algorithm, but rather includes the general task of clustering in order to determine the user type to be associated. Examples of clustering algorithms may include, but are not limited to, hierarchical clustering, centroid-based clustering, distribution- based clustering, and density-based clustering. The timeframe may be, for example, a predetermined amount of time or at predetermined intervals.
[0023] In some examples, the clustering algorithm may be performed responsive to a condition being met. In some examples, the computing device 100 may store a set of conditions that may be used to determine whether to perform the clustering algorithm. A condition may comprise, for example, the user accessing a particular number of visualizations within a predetermined time frame, the user performing a certain number of activities within a predetermined time frame, the user accessing a threshold number of visualizations, and/or other conditions. The user association instructions 122, when executed by processor 1 10, may maintain counters related to user activity and/or otherwise manage determination of whether a user has met a condition. Responsive to a condition not yet being met, the user association instructions 122, when executed by processor 1 10, may associate the user with a default user type, which may be, for example, an unclassified user type.
[0024] In some examples, the user association instructions 122, when executed by processor 1 10, may update association of the user with a user type. For example, the user association instructions 122, when executed by processor 1 10, may update the user type of the user in order to ensure the most accurate association of user type for the user. In some examples, the set of conditions may be predetermined and/or may depend on the clustering algorithm. In some examples, the set of conditions may be determined by an administrator associated with the computing device 100, and/or may be otherwise determined.
[0025] As an illustrative example, the data to be presented by the user interface contains the statuses of computing assets in large datacenters of an organization such as a large business enterprise. Among different members this organization, various users may have differing reasons for accessing information. For example, a manager may be interested in a visualization showing an overview summary of the entire collection of assets. Meanwhile, a technician may be more inclined to a visualization including individual assets or clusters of assets in order to diagnose issues. Managers may have very different activity histories than technicians. Thus, user association instructions 122, when executed by processor 1 10, may compare a current user's activity history with those of users of the manager user type and those of users of the technician user type to determine whether the current user should be classified as a manager, a technician, or other type of user, which may lead to computing device 100 recommending very different visualizations.
[0026] In some examples, the plurality of user types includes a plurality of existing user types that have been created as a result of previous classifications. For example, the user types of the plurality of user types may be classified based on prior visualizations of users of the same user types. In other words, previous users of a particular role or status may have accessed similar visualizations within the user interface. As an example, managers in the enterprise may typically be associated with a user's activity history that comprises a user activity related to accessing the overview summary of the collection of the enterprise's assets.
[0027] In some examples, there may not be an existing user type among the plurality of user types that correlates well to the user's activity history. In these examples, the user association instructions 122, when executed by processor 1 10, may determine that the user activity of the user does not fit well into any existing clusters of user activity (where, for example, a cluster may be associated with an existing user type). In such examples, user association instructions 122, when executed by processor 1 10, may create a new user type in the plurality of user types based on the visualizations accessed by the user. For example, user association instructions 122, when executed by processor 1 10, may determine that a set of actions is present in an activity history of a predetermined percentage of users greater than a threshold percentage, and create a new user type among the plurality of user types.
[0028] User interface association instructions 123, when executed by processor 1 10, may associate the user interface with a user interface type from a plurality of user interface types based on the physical properties of the user interface and user preferences. User interface association instructions 123, when executed by processor 1 10, may associate the user with a user interface type in order to know the format, layout, and style of the user interface. Computing device 100 may use the properties of the user interface in order to recommend relevant visualizations to the user. [0029] User interface association instructions, when executed by processor 1 10, may associate the user interface with a user interface type based on the properties of the user interface. The properties of the user interface may be attributes that potentially affect the presentation of data or the user experience, such as, for example, screen size, screen orientation, operating system, and particular programs used. For example, the user interface may be the screen of a computer. In other instances, it could be a touchscreen device such as a mobile tablet or other device. Furthermore, these user interfaces could even be of differing operating systems. Based on these different factors, optimal visualizations may be different depending on the properties of the user interface. User interface association instructions 123, when executed by processor 1 10, may associate the user interface with a user interface type that is most similar to the user interface.
[0030] Furthermore, the user interface association instructions 123, when executed by processor 1 10, may manage information related to a set of user interface types. The set of user interface types may comprise a plurality of user interface types created based on past user activity. For example, the user interface association instructions 123, when executed by processor 1 10, may populate the set of user interface types by recording the user interfaces previously used to accessing the data. Responsive to a new interface type not matching any of the set of user interface types, the user interface association instructions 123, when executed by processor 1 10, may add the new user interface type to the set of user interface types.
[0031 ] In some examples, user interface association instructions 123, when executed by processor 1 10, may associate the user interface with a user interface type based on a set of user preferences. A user preference may be stored in the computing device 100, determined based on the user activity history, selected by the user (e.g., a selection of a preferred visualization), and/or otherwise determined. In some examples, the user interface association instructions 123, when executed by processor 1 10, may determine the user interface type that is associated with the user interface based solely on the set of user preferences associated with the user. In some examples, a user may select a preference that may not be optimal. For example, a user, for various reasons, may prefer to view a mobile layout despite using a desktop computer. In such examples, user selection may override the attempted user interface association.
[0032] Visualization list instructions 124, when executed by processor 1 10, may create a visualization list of at least one visualization based on the user type, the user interface type, and/or other factors. The visualization list may include visualizations that may be popular or typical to the user based on the user type and on the user interface type. The visualization list may include one visualization, such as a suggested relevant visualization, or a plurality of visualizations. For example, the visualization list instructions 124, when executed by processor 1 10, may provide a visualization list that includes a ranked list of a number of visualization. The visualization list instructions 124, when executed by processor 1 10, may rank the visualizations according to the most popular or relevant to the user based on the user type and the interface type. The visualization list instructions 124, when executed by processor 1 10, may recommend the visualization list to the user in order to provide guidance in navigating the visualizations of information in the user interface. The visualization list instructions 124, when executed by processor 1 10, may receive information from the user indicating the user's selection of preferred visualization.
[0033] In some examples, the user may not be associated with a user type or may be associated with a default (e.g., unclassified) user type. For example, when the user first accesses the user interface, there are no tracked activities to use to associate the user with a user type. In another example, the tracked activities might show that the user may not be accurately associated with an existing user type. In either example, the visualization list may include at least one randomly selected visualization.
[0034] On the other hand, the user may be associated with at least one specific user type. In such instances, the visualization list may include at least one visualization classified with the specific user type.
[0035] Visualization recommendation instructions 125, when executed by processor 1 10, may recommend the visualization list to the user. Recommending the visualization list to the reader may offer the user suggested visualizations based on the user type and the user interface type. The visualization list may offer a number of visualizations that has been determined by visualization list instructions 124, when executed by processor 1 10, as being potentially relevant to the particular user. The visualization recommendation instructions 125, when executed by processor 1 10, may present the visualization list to the user via the user interface.
[0036] In some examples, particularly in those involving large amounts of data that may be presented by the visualizations, computing device 100 may present visualizations that contain data shown in linearized forms of graphs and related aggregations of entities in the graphs. For example, the total collection of assets in the datacenters may be aggregated into categories, such as servers, storage, and peripherals. Within such categories may be further subcategories. For example, storages devices at full capacity may be clustered together for visualization purposes.
[0037] FIG. 1 B depicts an example computing device 150 for recommending visualizations, which may be analogous to computing device 100 and which may include additional instructions. In the example in FIG. 1 B, computing device 150 includes a processor 160 and a non-transitory machine-readable storage medium 170 encoded with instructions to recommend visualizations.
[0038] Processor 150 may fetch, decode, and execute instructions 171 , 172, 173, 174, 175, 176, 177, and/or other instructions to implement the procedures described herein. In addition or as an alternative, the program instructions 171 , 172, 173, 174, 175, 176, 177, and/or other instructions can be part of an installation package that can be executed by processor 160 to implement the functionality described herein. In other examples, the program instructions may be part of an application or applications already installed on computing device 150.
[0039] As described in detail below, machine-readable storage medium 170 may be encoded with activity tracking instructions 171 , user association instructions 172, user interface association instructions 173, visualization list instructions 174, visualization recommendation instructions 175, visualization selection instructions 176, and operation highlighting instructions 177.
[0040] Activity tracking instructions 171 may be analogous to activity tracking instructions 121 of computing device 100 and may, when executed by processor 160, track activities of a user in a user interface. User association instructions 172 may be analogous to user association instructions 122 and may, when executed by processor 160, associate the user with a user type from a plurality of user types based on the user's tracked activities. User interface association instructions 173 may be analogous to user interface association instructions 123 and may, when executed by processor 160, associate the user interface with an interface type from a plurality of interface types based on the physical properties of the user interface and user preferences. Visualization list instructions 174 may be analogous to visualization list instructions 124 and may, when executed by processor 160, create a visualization list of at least one visualization based on the user type and the interface type. Visualization recommendation instructions 175 may be analogous to visualization recommendation instructions 125 and may, when executed by processor 160, recommend the visualization list to the user.
[0041 ] Visualization selection instructions 176, when executed by processor 160, may receive a visualization selection from the user. The visualization selection may indicate the visualization that the user has expressed interest in accessing. In some examples, the visualization selection instructions 176, when executed by processor 160, may receive the visualization selection after the visualization list has been recommended to the user. In such instances, the selected visualization may be one of the visualizations of the visualization list. Alternatively, the selected visualization may be another visualization. For example, the user does not select one of the recommended visualizations. Furthermore, in some examples, the visualization selection may be received at any point. In the example of the datacenter given above, a technician user may select a visualization that allows him to diagnose issues of a particular group of assets.
[0042] Operation highlighting instructions 177, when executed by processor 160, may highlight at least one operation to the user. An operation may be an interaction with the user interface which causes an action in the computing device 150, such as causing the user interface to display another visualization. Executing the highlighted operation may lead to the presentation of the selected visualization. In some examples, operation highlighting instructions 177, when executed by processor 160, may receive a user selection of a particular visualization. Operating highlighting instructions 177, when executed by processor 160, may highlight an operation or a series of operations that will lead the user to the selected visualization.
[0043] For example, in the example of the datacenter, the user may be associated with a technician user type. The visualization list may include a number of suggested visualizations relevant to the typical technician user. For example, one of the visualizations on the list may be a visualization showing all storage devices at full storage capacity. If the user selects that particular visualization, operation highlighting instructions 177, when executed by processor 160, may highlight a number of operations to the user which will lead to the selected visualization. For example, the first operation may allow the user to limit the view from all assets to all storage assets. The next operation may allow the user to limit the view from all storage assets to those at full storage capacity.
[0044] FIG. 2 depicts an example system 200 for recommending visualizations. System 200 may be a computing device, a cloud server, a local area network server, a web server, a mainframe, a mobile computing device, a notebook or desktop computer, a smart TV, a wearable device, a point-of-sale device, any other suitable electronic device, or a combination of devices, such as ones connected by a cloud or internet network, that perform the functions described herein. The dotted line shows that the components of system 200 may be located together in a single device or that the components may be separate and functionally connected. System 200 may include a user interface 220, to which a user 210 interacts with system 200. As with processor 1 10 of FIG. 1A, processor 230 may be one or more CPUs, microprocessors, and/or other hardware devices suitable for retrieval and execution of instructions.
[0045] As mentioned above and described in detail below, system 200 may include a series of engines 241 -247 for recommending visualizations. Each of the engines may generally represent any combination of hardware and programming. For example, the programming for the engines may be processor executable instructions stored on a non- transitory machine-readable storage medium and the hardware for the engines may include at least one processor of the system 200, such as processor 230, to execute those instructions. In addition or as an alternative, each engine may include one or more hardware devices including electronic circuitry for implementing the functionality described below. [0046] Activity tracking engine 241 may track activities of a user in user interface. In some examples, activity tracking engine 241 may track user activities, such as particular visualizations the user has selected, particular information that the user accessed, and/or navigation paths the user used within the user interface to access the information. These tracked activities form a user's activity history, which may be used by system 200 to determine which visualizations to recommend to the user. In some examples, activity tracking engine 241 may perform functionality the same as or similar to activity tracking instructions 121 , when executed by processor 1 10.
[0047] User association engine 242 may associate the user with a user type from a plurality of user types based on the user's tracked activities. For example, the user may be classified as a particular user type based on the user's activity history. In some examples, user association engine 242 may create a new user type in the plurality of user types based on the visualizations accessed by the user. In some examples, the user type to be associated with the user may be determined by performing a clustering algorithm on the user's tracked activities within a given timeframe. User association engine 242 may perform functionality the same as or similar to user association instructions 122, when executed by processor 1 10.
[0048] User interface engine 243 may associate the user interface with a user interface type from a plurality of user interface types based on the physical properties of the user interface and user preferences. User interface engine 243 may perform functionality the same or similar to user association instructions 123, when executed by processor 1 10.
[0049] Visualization list engine 244 may create a visualization list of at least one visualization based on the user type and the user interface type. The visualization list may include visualizations that may be popular or typical to the user based on the user's user type and on the user interface's type. The visualization list may include one visualization, such as a suggested best visualization, or a plurality of visualizations. For example, the visualization list may include a ranked list of a number of visualization, form which the user may select the preferred visualization. The visualization list may be recommended to the user in order to provide guidance in navigating the visualizations of information in the user interface. Visualization list engine 244 may perform functionality the same or similar to visualization list instructions 124, when executed by processor 1 10.
[0050] Visualization recommendation engine 245 may recommend the visualization list created by visualization list engine 244 to the user. Recommending the visualization list to the reader may offer the user suggested visualizations based on the user type and the user interface type. The visualization list may offer a number of visualizations that has been determined by visualization list engine 244 as being potentially relevant to the particular user. Visualization recommendation engine 245 may perform functionality the same or similar to visualization recommendation instructions 125, when executed by processor 160.
[0051 ] Visualization selection engine 246 may receive a visualization selection from the user, which indicates the visualization that the user has expressed interest in accessing. In some examples, visualization selection engine 246 may receive the visualization selection after the visualization list has been recommended to the user. In such instances, the selected visualization may be one of the visualizations of the visualization list. Alternatively, the selected visualization may be another visualization. Furthermore, in some examples, the visualization selection may be received at any point. The visualization selection may indicate a particular visualization that the user expressed interest in accessing. Visualization selection engine 246 may perform functionality the same or similar to visualization selection instructions 166, when executed by processor 160.
[0052] Operation highlighting engine 247 may highlight at least one operation to the user. Executing the highlighted operations may lead to the presentation of the selected visualization. In some examples, a user may select a particular visualization. Operating highlighting engine 247 may highlight an operation or a series of operations that will lead the user to the particular visualization. Operation highlighting engine 247 may perform functionality the same or similar to operation highlighting instructions 167, when executed by processor 160.
[0053] System 200 may also include a storage 250 which may store the information and data associated with system 200. For example, storage 250 may store the plurality of user types, the plurality of user interfaces, and activity histories of users. Storage 250 may be any physical storage device or may be, for example, cloud-hosted storage. In some examples, storage 250 may store information similar or the same as information stored in storage 120 of computing device 100.
[0054] FIG. 3 depicts an example method 300 for recommending visualizations. Although execution of method 300 is described below with reference to computing device 100 of FIG. 1A, other suitable devices for execution of this method should be apparent, including computing device 150 of FIG. 1 B and system 200 of FIG. 2. Method 300 may be implemented in the form of executable instructions stored on a machine-readable storage medium, such as storage medium 120, and/or in the form of electronic circuitry.
[0055] In an operation 310, user activities in a user interface may be tracked. For example, activity tracking instructions 121 of computing device 100 may track user activities, such as particular visualizations the user has selected, particular information that the user accessed, and/or navigation paths the user used within the user interface to access the information. For example, the computing device 100 (and/or the activity tracking instructions
121 , the activity tracking engine 241 , or other resource) may track user activities. User activities may be tracked in a manner similar or the same as that described above in relation to the execution of the activity tracking instructions 121 , the activity tracking engine 241 , or other resource of computing device 100.
[0056] In an operation 320, the user may be associated with a user type from a plurality of user types based on the user's tracked activities. For example, the user may be classified as a particular user type or a new user type may be created based on the user's activity history. For example, the computing device 100 (and/or the user association instructions
122, the user association engine 242, or other resource) may associate the user with the user type. The user may be associated with the user type in a manner similar or the same as that described above in relation to the execution of the user association instructions 122, the user association engine 242, or other resource of computing device 100.
[0057] In an operation 330, the user interface may be associated with an interface type from a plurality of interface types based on the physical properties of the user interface and user preferences. For example, the computing device 100 (and/or the user interface association instructions 123, the user interface association engine 243, or other resource) may associate the user interface with the interface type. The user interface may be associated with the interface type in a manner similar or the same as that described above in relation to the execution of the user interface association instructions 123, the user interface association engine 243, or other resource of computing device 100.
[0058] In an operation 340, a visualization list may be created based on the user type and the user interface type. The visualization list may include visualizations that may be popular or typical to the user based on the user's user type and on the user interface's user interface type. The visualization list may include a ranked list of a number of visualization, form which the user may select the preferred visualization. For example, the computing device 100 (and/or visualization list instructions 124, the visualization list engine 244, or other resource) may create the visualization list. The visualization list may be created in a manner similar or the same as that described above in relation to the execution of the visualization list instructions 124, the visualization list engine 244, or other resource of computing device 100.
[0059] In an operation 350, the visualization list may be recommended to the user. Recommending the visualization list to the reader may offer the user suggested visualizations based on the user type and the user interface type. For example, the computing device 100 (and/or the visualization recommendation instructions 125, the visualization recommendation engine 245, or other resource) may recommend the visualization list to the user. The visualization list may be recommended in a manner similar or the same as that described above in relation to the execution of the visualization recommendation instructions 125, the visualization recommendation engine 245, or other resource of computing device 100.
[0060] FIG. 4 depicts an example method 400 for recommending visualizations. Although execution of method 400 is described below with reference to computing device 150 of FIG. 1 B, other suitable devices for execution of this method should be apparent, including computing device 100 of FIG. 1A and system 200 of FIG. 2. Method 400 may be implemented in the form of executable instructions stored on a machine-readable storage medium, such as storage medium 170, and/or in the form of electronic circuitry.
[0061 ] In an operation 410, user activities in a user interface may be tracked. For example, the computing device 150 (and/or the activity tracking instructions 171 , the activity tracking engine 241 , or other resource) may track user activities. User activities may be tracked in a manner similar or the same as that described above in relation to the execution of the activity tracking instructions 171 , the activity tracking engine 241 , or other resource of computing device 150.
[0062] In an operation 415, a clustering algorithm may be performed on the user's tracked activities within a given timeframe to determine a user type to be associated with the user. Clustering algorithms may operate to group sets of objects, such as user activities, so that objects in the same group are more similar to each other than to those in other groups. In some examples, the clustering algorithm may be performed within certain timeframes or at under particular circumstances. For example, operation 415 may not always be performed. For example, the clustering algorithm may be performed responsive to a condition being met. For example, the computing device 150 (and/or the user association instructions 172, the user association engine 242, or other resource) may perform the clustering algorithm. The algorithm may be performed in a manner similar or the same as that described above in relation to the execution of the user association instructions 172, the user association engine 242, or other resource of computing device 150.
[0063] In an operation 420, the user may be associated with a user type from a plurality of user types or a new user type may be created based on the user's tracked activities. For example, the computing device 150 (and/or the user association instructions 172, the user association engine 242, or other resource) may associate the user with the user type. The user may be associated with the user type in a manner similar or the same as that described above in relation to the execution of the user association instructions 172, the user association engine 242, or other resource of computing device 150.
[0064] In an operation 425, the user interface may be associated with an interface type from a plurality of interface types based on the physical properties of the user interface and user preferences. For example, the computing device 150 (and/or the user interface association instructions 173, the user interface association engine 243, or other resource) may associate the user interface with the interface type. The user interface may be associated with the interface type in a manner similar or the same as that described above in relation to the execution of the user interface association instructions 173, the user interface association engine 243, or other resource of computing device 150. In an operation 430, a visualization list may be created based on the user type and the user interface type. The visualization list may include visualizations that may be popular or typical to the user based on the user's user type and on the user interface's type. The visualization list may include a ranked list of a number of visualization, form which the user may select the preferred visualization. The visualization list may be recommended to the user in order to provide guidance in navigating the visualizations of information in the user interface. For example, the computing device 150 (and/or visualization list instructions 174, the visualization list engine 244, or other resource) may create the visualization list. The visualization list may be created in a manner similar or the same as that described above in relation to the execution of the visualization list instructions 174, the visualization list engine 244, or other resource of computing device 150.
[0065] In an operation 435, computing device 150 checks whether the user is associated with an unclassified user type. For example, when the user first accesses the user interface, there may be no tracked activities to use to associate the user with a user type. In another example, the tracked activities might show that the user may not be accurately associated with an existing user type. For example, the computing device 150 (and/or visualization list instructions 174, the visualization list engine 244, or other resource) may check whether the user is associated with an unclassified user type in a manner similar or the same as that described above in relation to the execution of the visualization list instructions 174, the visualization list engine 244, or other resource of computing device 150. Responsive to determining that the user is not associated with an unclassified user type, method 400 proceeds to an operation 445.
[0066] Responsive to determining that the user type is unclassified, method 400 proceeds to an operation 440. In operation 440, a random visualization may be added to the visualization list. For example, in such instances, computing device 150 does not know which visualizations may be most relevant to the particular user. As a result, a predetermined set of visualizations may be recommended to the user. For example, the computing device 150 (and/or visualization list instructions 174, the visualization list engine 244, or other resource) may add a random visualization to the visualization list in a manner similar or the same as that described above in relation to the execution of the visualization list instructions 174, the visualization list engine 244, or other resource of computing device 150.
[0067] Responsive to determining that the user type is not unclassified, in operation 445, the visualization list may be recommended to the user. Recommending the visualization list to the reader may offer the user suggested visualizations based on the user type and the user interface type. The visualization list may offer a number of visualizations that has been determined as being potential relevant to the particular user. For example, the computing device 150 (and/or the visualization recommendation instructions 175, the visualization recommendation engine 245, or other resource) may recommend the visualization list to the user. The visualization list may be recommended in a manner similar or the same as that described above in relation to the execution of the visualization recommendation instructions 175, the visualization recommendation engine 245, or other resource of computing device 150.
[0068] In an operation 450, computing device 150 may receive a visualization selection from the user. In some examples, the selected visualization may be one of the visualizations of the visualization list. Alternatively, the selected visualization may be another visualization. Furthermore, in some examples, the visualization selection may be received at any point, not necessarily after the visualization list has been recommended. The visualization selection may indicate a particular visualization that the user expressed interest in accessing. For example, the computing device 150 (and/or the visualization selection instructions 176, the visualization selection engine 246, or other resource) may receive the visualization selection from the user in a manner similar or the same as that described above in relation to the execution of the visualization selection instructions 176, the visualization selection engine 246, or other resource of computing device 150.
[0069] In an operation 455, at least one operation may be highlighted to the user. Executing the highlighted operations may lead to the presentation of the selected visualization. In some examples, a user may select a particular visualization. For example, the computing device 150 (and/or the operation highlighting instructions 177, the operation highlighting engine 247, or other resource) may highlight at least one operation to the user in a manner similar or the same as that described above in relation to the execution of the operation highlighting instructions 177, the operation highlighting engine 247, or other resource of computing device 150.
[0070] After operation 455, the method 400 may return to operation 410, where it continues to track user activities.
[0071 ] The foregoing disclosure describes a number of example embodiments for recommending visualizations to a user of a user interface. The disclosed examples may include systems, devices, computer-readable storage media, and methods for recommending visualizations. For purposes of explanation, certain examples are described with reference to the components illustrated in FIGS. 1 -4. The functionality of the illustrated components may overlap, however, and may be present in a fewer or greater number of elements and components. All or part of the functionality of illustrated elements may co-exist or be distributed among several geographically dispersed locations. Moreover, the disclosed examples may be implemented in various environments and are not limited to the illustrated implementations.
[0072] Further, the sequence of operations described in connection with FIGS. 1 -4 are examples and are not intended to be limiting. Additional or fewer operations or combinations of operations may be used or may vary without departing from the scope of the disclosed examples. Furthermore, implementations consistent with the disclosed examples need not perform the sequence of operations in any particular order. Thus, the present disclosure merely sets forth possible examples of implementations, and many variations and modifications may be made to the described examples. All such modifications and variations are intended to be included within the scope of this disclosure and protected by the following claims.

Claims

CLAIMS What is claimed is:
1 . A method for execution by a computing device for recommending visualizations, the method comprising:
tracking activities of a user in a user interface;
associating the user with a user type from a plurality of user types based on the user's tracked activities;
associating the user interface with an interface type from a plurality of interface types based on the physical properties of the user interface and user preferences;
creating a visualization list of at least one visualization based on the user type and the interface type; and
recommending the visualization list to the user.
2. The method of claim 1 , further comprising:
receiving a visualization selection from the user; and
highlighting at least one operation to the user, wherein executing the highlighted operation leads to the presentation of the selected visualization.
3. The method of claim 1 , wherein:
the user types of the plurality of user types are classified based on prior visualizations of users of the same user types; and
the plurality of users are able to be recreated.
4. The method of claim 1 , further comprising performing a similarity clustering algorithm on the user's tracked activities within a given timeframe to determine the user type.
5. The method of claim 1 , wherein the visualization list comprises at least one randomly selected visualization in response to the user being associated with an unclassified user type.
6. The method of claim 1 , wherein the visualization list comprises at least one visualization classified with a specific user type in response to the user being associated with the specific user type.
7. The method of claim 1 , wherein the visualization presents data comprising a linearized form of a graph and related aggregations of entities in the graph.
8. A computing device for recommending visualizations, the computing device comprising:
an activity tracking engine to track activities of a user in a user interface;
a user association engine to associate the user with a user type from a plurality of user types based on the user's tracked activities, wherein the user types of the plurality of user types are classified based on prior visualizations of users of the same user types; a user interface association engine to associate the user interface with an interface type from a plurality of interface types based on the physical properties of the user interface and user preferences;
a visualization list engine to create a visualization list of at least one visualization based on the user type and the interface type; and
a visualization recommendation engine to recommend the visualization list to the user.
9. The computing device of claim 8, further comprising:
a visualization selection engine to receive a visualization selection from the user; and
an operation highlight engine to highlight at least one operation to the user, wherein executing the highlighted operation leads to presentation of the selected visualization.
10. The computing device of claim 10, wherein the user association engine performs a similarity clustering algorithm on the user's tracked activities within a given timeframe to determine the user type.
1 1 . The computing device of claim 8, wherein the visualization presents data comprising a linearized form of a graph and related aggregations of entities in the graph.
12. The computing device of claim 8, wherein:
the visualization list comprises at least one randomly selected visualization in response to the user being associated with an unclassified user type; and
the visualization list comprises at least one visualization classified with a specific user type in response to the user being associated with the specific user type.
13. A non-transitory machine-readable storage medium encoded with instructions executable by a processor of a computing device, the non-transitory storage medium comprising instructions to:
track activities of a user in a user interface;
associate a user with a user type from a plurality of user types based on the user's tracked activities, wherein the user types of the plurality of user types are classified based on prior visualizations of users of the same user types;
associate the user interface with an interface type from a plurality of interface types based on the physical properties of the user interface and user preferences;
create a visualization list of at least one visualization based on the user type and the interface type, wherein the visualization list comprises at least one randomly selected visualization in response to the user being associated with an unclassified user type and wherein the visualization list comprises at least one visualization classified with a specific user type in response to the user being associated with the specific user type; and
recommend the visualization list to the user.
14. The non-transitory storage medium of claim 13, further comprising instructions to: receive a visualization selection from the user; and
highlight at least one operation to the user, wherein executing the highlighted operations leads to presentation of the selected visualization.
15. The non-transitory storage medium of claim 13, further comprising instructions to perform a clustering algorithm on the user's tracked activities within a given timeframe to determine the user type.
PCT/US2015/017921 2015-02-27 2015-02-27 Recommending visualizations WO2016137479A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2015/017921 WO2016137479A1 (en) 2015-02-27 2015-02-27 Recommending visualizations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2015/017921 WO2016137479A1 (en) 2015-02-27 2015-02-27 Recommending visualizations

Publications (1)

Publication Number Publication Date
WO2016137479A1 true WO2016137479A1 (en) 2016-09-01

Family

ID=56789622

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/017921 WO2016137479A1 (en) 2015-02-27 2015-02-27 Recommending visualizations

Country Status (1)

Country Link
WO (1) WO2016137479A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080243815A1 (en) * 2007-03-30 2008-10-02 Chan James D Cluster-based assessment of user interests
US20110061069A1 (en) * 2009-09-09 2011-03-10 Verizon Patent And Licensing, Inc. Video on demand (vod) recommendations based on user viewing history
US20120066028A1 (en) * 2008-09-25 2012-03-15 Harshal Ulhas Deo Methods and systems for activity-based recommendations
US20130091088A1 (en) * 2011-10-07 2013-04-11 George Forman Making a recommendation to a user that is currently generating events based on a subset of historical event data
WO2014204901A1 (en) * 2013-06-18 2014-12-24 Forbes Media Llc System and method for providing recommended content

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080243815A1 (en) * 2007-03-30 2008-10-02 Chan James D Cluster-based assessment of user interests
US20120066028A1 (en) * 2008-09-25 2012-03-15 Harshal Ulhas Deo Methods and systems for activity-based recommendations
US20110061069A1 (en) * 2009-09-09 2011-03-10 Verizon Patent And Licensing, Inc. Video on demand (vod) recommendations based on user viewing history
US20130091088A1 (en) * 2011-10-07 2013-04-11 George Forman Making a recommendation to a user that is currently generating events based on a subset of historical event data
WO2014204901A1 (en) * 2013-06-18 2014-12-24 Forbes Media Llc System and method for providing recommended content

Similar Documents

Publication Publication Date Title
US11782989B1 (en) Correlating data based on user-specified search criteria
US10614132B2 (en) GUI-triggered processing of performance data and log data from an information technology environment
US10019496B2 (en) Processing of performance data and log data from an information technology environment by using diverse data stores
US9858327B2 (en) Inferring application type based on input-output characteristics of application storage resources
US11119982B2 (en) Correlation of performance data and structure data from an information technology environment
US10997191B2 (en) Query-triggered processing of performance data and log data from an information technology environment
US20190303365A1 (en) Correlating log data with performance measurements using a threshold value
US20190179815A1 (en) Obtaining performance data via an application programming interface (api) for correlation with log data
US9996409B2 (en) Identification of distinguishable anomalies extracted from real time data streams
US9767174B2 (en) Efficient query processing using histograms in a columnar database
US20140324862A1 (en) Correlation for user-selected time ranges of values for performance metrics of components in an information-technology environment with log data from that information-technology environment
US11354836B2 (en) Systems and methods for displaying representative samples of tabular data
US20140337730A1 (en) User interface for presenting contextual information
WO2016093836A1 (en) Interactive detection of system anomalies
CN113396411A (en) System and method for enhanced host classification
US9405775B1 (en) Ranking videos based on experimental data
US11694092B2 (en) Reward-based recommendations of actions using machine-learning on telemetry data
US9727561B1 (en) Context- and activity-aware content selection
US11106758B2 (en) Customized display of filtered social media content using a private dislike button
US10325455B2 (en) Alerts provided based on responder profile
WO2016137479A1 (en) Recommending visualizations
US20180157740A1 (en) Suggested offerings
KR102670080B1 (en) Data processing method for reducing possibility of data re-identification
US20240143666A1 (en) Smart metric clustering
US10748203B2 (en) Serving related content via a content sharing service

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15883573

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15883573

Country of ref document: EP

Kind code of ref document: A1