Device, Method and User Interface for Displaying Relationships between Different Sets of Data
A device with one or more processors and memory display, in a data display panel, a plurality of nodes associated with a data set. The plurality of nodes include a first set of one or more nodes and a second set of one or more nodes distinct from the first set of nodes. The data set includes information indicating a magnitude of a relationship between nodes in the first set of nodes and nodes in the second set of nodes. The device receives a first input corresponding to selection of a first node in the first set of nodes. In response to receiving the input, the device displays, in the data display panel, a visual indication of a magnitude of a relationship between the first node and one or more nodes in the second set of nodes.
Latest Lithium Technologies, Inc. Patents:
- Device, method and user interface for determining a correlation between a received sequence of numbers and data that corresponds to metrics
- System and method for providing a social customer care system
- Systems and methods for implementing custom privacy settings
- Systems and methods for application plugin deployment for websites
- System and method for providing a social customer care system
This application claims priority to U.S. Provisional Patent Application No. 61/734,927, filed Dec. 7, 2012, entitled “Systems and Methods for Presenting Analytic Data” which is incorporated herein by reference in its entirety.
This application is related to the following applications: U.S. patent application Ser. No. ______, “Device, Method and User Interface for Presenting Analytic Data,” filed ______, (Attorney Docket No. 070407-5001US); U.S. patent application Ser. No. ______, “Device, Method and User Interface for Determining a Correlation between a Received Sequence of Numbers and Data that Corresponds to Metrics,” filed ______, (Attorney Docket No. 070407-5009US); U.S. patent application Ser. No. ______, “Device, Method and User Interface for Switching between Graphical Representations of Data,” filed ______, (Attorney Docket No. 070407-5011US); and U.S. patent application Ser. No. ______, “Device, Method and User Interface for Emphasizing Divisions in Data,” filed ______, (Attorney Docket No. 070407-5012US), which are incorporated by reference herein in their entirety.
TECHNICAL FIELDThe disclosed implementations relate generally to methods of data visualization.
BACKGROUNDAn online community is a website designed for users to interact with each other, usually with some common theme. Unlike a traditional website, in which the website owner controls all of the content, an online community enables and encourages users to participate in the content. Users post comments, replies to comments, questions, and answers to other users' questions; more experienced users develop articles and knowledge bases, and lead forum discussions or blogs.
Business entities now recognize the value of having an online community for the business. In this case, the community focus is on the products or services of the business, and users participate in the community just like any other online community. While online communities can be beneficial for marketing, online communities are not just a marketing gimmick. For example, real users post real questions, and the questions are frequently answered by other users in the community. Of course an online community is much more than just a question and answer board.
SUMMARYIt is import to measure the success and “health” of an online community. To make these measurements, an abundance of data is tracked about user interactions with the community. Every interaction is tracked, as well as information about the interaction, such as where it originated, what time, what type of computing device the user was using, the content of the interaction itself (such as a post), as well as subsequent responses to the interaction, such as other users designating the comment or answer as useful. This abundance of data is almost too much, and previous methods of reviewing the data have been cumbersome or ineffective. Because of the shortcoming of previous attempts, implementations of the present invention provide simpler and more effective ways of reviewing interaction data for an online community.
In some implementations, a method includes, at a computing device with a display, displaying, in a data display panel, a plurality of nodes associated with a data set, where the plurality of nodes include a first set of one or more nodes and a second set of one or more nodes distinct from the first set of nodes, and the data set includes information indicating a magnitude of a relationship between nodes in the first set of nodes and nodes in the second set of nodes. The method further includes receiving a first input corresponding to selection of a first node in the first set of nodes; and in response to receiving the input, displaying, in the data display panel, a visual indication of a magnitude of a relationship between the first node and one or more nodes in the second set of nodes.
In accordance with some embodiments, a computer system (e.g., a search client system or search server system) includes one or more processors, memory, and one or more programs; the one or more programs are stored in the memory and configured to be executed by the one or more processors and the one or more programs include instructions for performing the operations of the method described above. In accordance with some embodiments, a non-transitory computer readable storage medium has stored therein instructions which when executed by one or more processors, cause a computer system (e.g., a search client system or search server system) to perform the operations of the methods described above.
FIGS. 5A-5DD illustrate methods of presenting, selecting, and changing views of analytic data in accordance with some implementations.
Like reference numerals refer to corresponding parts throughout the several views of the drawings.
DESCRIPTION OF IMPLEMENTATIONSReference will now be made in detail to implementations, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the implementations.
Also connected to the communication network 112 is an online community 100 for a business entity. An online community 100 provides public forums, bulletin boards, blogs, and other information. Unlike a traditional business website, an online community is maintained by everyone, including the users 102. Users 102, for example, can post questions about products or services provided by the business entity, or can post answers to other users questions. An online community can increase profitability of the business entity in many ways, including reducing the costs for customer support (users find the information in the community) and reducing the cost of search engine optimization (for example, because search engines review the user generated community content).
An online community 100 includes one or more web servers 114 that handle the incoming web requests, and one or more application server 116 that provide the user interface functionality for the community. The online community 100 also includes one or more database servers 118 that store the data for the community, including logs of user interactions. In some implementations, the database servers 118 also store binary files, image files, video files, and so on. In some implementations, binary, image, and video files are stored on the application servers 116, of other file servers (not shown).
In addition to the users 102 who interact directly with the online community 100, managers, stakeholders, and executives 108 of the business entity review the community interaction data. As described in more detail below, some people (e.g., managers, stakeholders and/or executives) 108 review the raw data, and other people 108 review analytic computed data. The people 108 utilize client devices 110 to access the interaction data over the communication network 112. Like a user device, a client devices can be desktop computers, laptop computers, tablet computers, smartphones, PDA's, etc.
Although
-
- an operating system 216 (e.g., Windows, Mac OS X, iOS, Android, or Linux) that generally includes procedures for handling various basic system services and for performing hardware dependent tasks;
- a network communications module 218 that is used for connecting the client device 110 to servers or other computing devices via one or more communication networks, such as the Internet, other wide area networks, local area networks, metropolitan area networks, and the like;
- a web browser 220 (e.g., Internet Explorer, Safari, Chrome) that is used to access web pages, web applications, and other resources over a communication network, such as the Internet, other wide area networks, local area networks, metropolitan area networks, and the like;
- a metric explorer interface 5000, enabling a user to graphically view data from user interaction with an online community or other social media, and to select many different aspects (or dimensions) of what data is viewed, and how the data is viewed. The metric explorer interface is described in more detail with reference to FIGS. 9-005 to 9-141 of U.S. Provisional Patent Application No. 61/734,927, filed Dec. 7, 2012, entitled “Systems and Methods for Presenting Analytic Data”;
- an actionable analytics interface 222, enabling a user to graphically review calculated analytic data based on users' interactions with an online community or other social media. The actionable analytics interface 222 is described in more detail with reference to FIGS. 5A-5DD below and FIGS. 9-142 to 9-206 of U.S. Provisional Patent Application No. 61/734,927, filed Dec. 7, 2012, entitled “Systems and Methods for Presenting Analytic Data”;
- a return on investment (ROI) calculation interface 224, enabling a user to compute the return on investment for an online community 100, or compute correlations between business key performance indicators (KPIs) and various metrics. The ROI calculation interface 224 is described in greater detail with reference to FIGS. 9-207 to 9-236 of U.S. Provisional Patent Application No. 61/734,927, filed Dec. 7, 2012, entitled “Systems and Methods for Presenting Analytic Data”; and
- one or more browser cookies 226, which save state or other information for a web page or web application.
-
- an operating system 316 (e.g., Linux or Unix) that generally includes procedures for handling various basic system services and for performing hardware dependent tasks;
- a network communications module 318 that is used for connecting the server 114/116/118 to other servers or other computing devices via one or more communication networks, such as the Internet, other wide area networks, local area networks, metropolitan area networks, and the like;
- web server software 320 (e.g. Apache web server or Apache Tomcat) that receives web requests, and delivers appropriate web pages or other resources in response to the requests;
- database server software 322 (e.g., MySQL or other structured query language (SQL) database engine), which stores organized relational data for the online community 100, and provides the data as needed;
- a database 324 that contains one or more community interaction logs. The log database(s) track information about user interactions with the online community. For example, clicking to view a web page generates a “page view” event, which is logged. The log record for this event optionally includes the user name or ID, the time of the page view, which page was viewed, etc.;
- a forum database 326, which includes data for one or more community forums. This includes all data and metadata for posts to each forum, as well as configuration information about each forum;
- a blog database 328, which stores blogs for one or more individuals, including all of the content of the blog, as well as comments, etc.;
- a tribal knowledge base database 330, which is an organized collection of articles that have generally proceeded through a review process, providing useful information on a topic (e.g., how to utilize a feature of a product provided by the business entity);
- an application server 332, which provides the functionality of the online community 100 and functionality to access the interaction data 324 generated by users 102 of the online community 100;
- one or more community interaction applications or interfaces 334, which are used by users 102 who participate in the online community 100;
- a metric explorer interface 5000, which is used by users (e.g., Managers) to review the raw interaction data. This is described in more detail with reference to FIGS. 9-005 to 9-141 of U.S. Provisional Patent Application No. 61/734,927, filed Dec. 7, 2012, entitled “Systems and Methods for Presenting Analytic Data”;
- an actionable analytics interface 222, which is used by users (e.g., Stakeholders) to review computed analytic data based on the interactions of users 102 with the online community 100. The actionable analytics interface 222 is described in more detail with reference to FIGS. 5A-5DD below and FIGS. 9-142 to 9-206 of U.S. Provisional Patent Application No. 61/734,927, filed Dec. 7, 2012, entitled “Systems and Methods for Presenting Analytic Data”;
- a KPI/ROI calculation interface 224, which is used by users (e.g., Executives) to evaluate the return on investment for an online community. In some implementations, the interface 224 computes correlations between business key performance indicators and community metrics. This is described in greater detail with reference to FIGS. 9-207 to 9-236 of U.S. Provisional Patent Application No. 61/734,927, filed Dec. 7, 2012, entitled “Systems and Methods for Presenting Analytic Data”;
- a KPI calculation engine 336, which computes correlation coefficients between sets of data;
- a data export application 338, which converts retrieved data into various external file formats, including CSV (comma separated values), PDF (portable document format), PNG (portable network graphics), and XLS (Microsoft Excel).
Although
Each of the methods described herein are, optionally, performed by instructions that are stored in a computer readable storage medium and that are executed by one or more processors of one or more servers or clients. Each of the operations shown in
The device displays (402), in a data display panel, a plurality of nodes associated with a data set, (e.g., as shown in FIGS. 5B-5DD). The plurality of nodes include (404) a first set of one or more nodes and a second set of one or more nodes distinct from the first set of nodes. In some implementations, the first set of nodes correspond (406) to a first set of divisions in a first data-set dimension. In some implementations, the second set of nodes correspond (408) to a second set of divisions in a second data-set dimension different from the first data-set dimension.
The data set includes (410) information indicating a magnitude of a relationship between nodes in the first set of nodes and nodes in the second set of nodes. In some implementations, a magnitude of a relationship between a first node and a second node is based on a number of data points that are associated with both the first node and the second node relative to a total number of data points in the data set. In some implementations, a magnitude of a relationship between a first node and a second node is based on a number of data points that are associated with both the first node and the second node relative to a total number of data points associated with the first node. For example, if the first node is a respective source of internet traffic (e.g., a search engine such as Google.com) and the second node is a respective section of a website (e.g., user forums) that receives internet traffic, the magnitude of the relationship between the respective source and the respective section of the website is an amount of internet traffic (e.g., a number of requests/communications or a quantity of data transferred) that the respective section of the website receives from the respective source (e.g., as determined based on referrer information in the internet traffic).
After displaying the plurality of nodes in the data display panel, the device receives (412) a first input (e.g., from the input device) corresponding to selection of a first node in the first set of nodes (e.g., as shown in
In some implementations, the visual indication includes a number providing a relative or absolute value corresponding to the magnitude of the relationship between the first node and the one or more nodes in the second set of nodes. In some implementations, the visual indication includes a number providing a relative or absolute value corresponding to the magnitude of the relationship between the first node and the respective node. In some implementations, the first connector width is the same as the second connector width. In some implementations, the first connector width is different from the second connector width. In some implementations, the one or more nodes in the second set of nodes includes a plurality of nodes.
In some implementations, the relationship between the first node and the one or more second nodes is (424) a flow of network traffic. In some implementations, the first node is a source of network traffic and the one or more second nodes are destinations of network traffic. In some implementations, the first node and the one or more second nodes are represented by words (or other symbols) visually identifying the sources and destinations of network traffic.
In some implementations, in response to receiving the first input, the device displays (426) a visual indication of the magnitude of the relationship between the first node and a plurality of nodes in the second set of nodes (e.g., as shown in
In some implementations, after displaying the visual indication of the magnitude of the relationship between the first node and one or more nodes in the second set of nodes, the device receives (430) a second input (e.g., from the input device) corresponding to selection of a second node the second set of nodes for which a respective visual indication of a magnitude of a relationship between the first node and the second node is displayed. In some implementations, in response to receiving the second input, the device ceases (432) to display the respective visual indication of the magnitude of the relationship between the first node and the second node (e.g., as shown in
In some implementations, after displaying the visual indication of the magnitude of the relationship between the first node and one or more nodes in the second set of nodes, while the first node is selected, the device receives (434) a third input (e.g., from the input device) corresponding to selection of a second node the second set of nodes for which a respective visual indication of a magnitude of a relationship between the first node and the second node is not displayed. In some implementations, in response to receiving the third input, the device displays (436) a respective visual indication of the magnitude of the relationship between the first node and the second node (e.g., as shown in
In some implementations, after displaying the visual indication of the magnitude of the relationship between the first node and one or more nodes in the second set of nodes, the device receives (438) a fourth input (e.g., from the input device) corresponding to a request to display sub-nodes of a second node the second set of nodes for which a respective visual indication of a magnitude of a relationship between the first node and the second node is displayed. In some implementations, in response (440) to receiving the fourth input, the device displays (442) a plurality of sub-nodes of the second node, including a first sub-node and a second sub-node, the device displays (444) a visual indication that indicates a magnitude of relationship between the first node and the first-sub node of the second node, and the device displays (446) a visual indication that indicates a magnitude of relationship between the first node and the second-sub node of the second node (e.g., as shown in
In some implementations, the visual indication of the magnitude of the relationship between the first node and one or more nodes in the second set of nodes includes (448) a visual indication of a magnitude of a relationship between the first node and a second node the second set of nodes. In some implementations, after displaying the visual indication of the magnitude of the relationship between the first node and one or more nodes in the second set of nodes, the device receives (450) a fifth input (e.g., from the input device) corresponding to a request to display sub-nodes of the first node. In some implementations, in response (452) to receiving the fifth input, the device displays (454) a plurality of sub-nodes of the first node, including a first sub-node and a second sub-node.
In some implementations, the first node includes (456) more sub-nodes than can be displayed in the data display panel (e.g., there are more sub-nodes that correspond to the first node than there are slots in the data display panel to display representations of the sub-nodes), and displaying the plurality of sub-nodes of the first node includes displaying a subset of (e.g., less than all of) the sub-nodes associated with the first node (e.g., as shown in FIGS. 5W-5DD). In some implementations, the subset of the sub-nodes associated with the first node is selected (458) automatically (e.g., selected by the device without user intervention) based on predefined criteria. For example, the device selects the most popular nodes across multiple data sets or selects the nodes with the highest magnitude relationship with the second node. In some implementations, the subset of the sub-nodes associated with the first node is selected (460) based on user-provided criteria. For example, the device selects sub-nodes that match a user specified search query such as “com,” as shown in FIG. 5AA.
In some implementations in response to receiving the fifth input, the device displays (462) a visual indication that indicates a magnitude of relationship between the first-sub node of the first node and the second, and displays (464) a visual indication that indicates a magnitude of relationship between the second-sub node of the first node and the second node (e.g., as shown in
It should be understood that the particular order in which the operations in
Participation in an online community or other social media generates a lot of data. For example, when a user posts a question, comment, or answer, the post itself is recorded, as well as the date/time of the post, who made the post, etc. Different people related to the community or social media are interested in different aspects of the data. In some implementations, the parties who review the data (e.g., users of the device described above) are categorized into three roles, including Managers, Stakeholders, and Executives.
A manager is someone who participates in the day-to-day management of an online community platform. Manager reviews the direct measurements of participation by community members. For example, a manager would review raw metrics such as the total number of posts, the total number of posts of specific types (e.g., questions, answers), the number of fans, the number of discussion threads and the lengths of those threads, the number of times particular content is viewed by users, the comments or ratings received by each particular user and/or posts, and so on. These quantities are directly measurable by clicks, button presses, and other recorded user interactions, and constitute level 1 data. In general, the level 1 data reviewed by managers comprises raw metrics and simple reports based on the raw metrics.
A business stakeholder is someone who derives business value from the online community. Business stakeholders are less interested in the raw metrics collected about a community, and are more interested in data that shows the success or effectiveness of an online community or other social media. For example, a stakeholder reviews market share or share of the advertising in the market, or other data that demonstrates how well the media content resonates with the participants of the community. The data of interest to the business stakeholders are actionable analytics generated from the raw metrics. Various statistical and analytical techniques can be used to generate the analytics from the raw metrics. Frequently the actionable analytics have complex and non-linear relationships with the raw metrics from which the analytics are derived. The level 2 data reviewed by business stakeholders comprises actionable analytics.
Finally, business executives review data that ties social media directly to business objectives. Generally, the business objectives are financial, such as revenue or profit, but also include less tangible objectives such as customer satisfaction. The level 3 data reviewed by business executives comprise key performance indicators (KPI's), return on investment (ROI), and so on. The level 3 data is derived from the raw metrics and the actionable analytics associated with the community, as well as additional data (e.g., returns, revenues, and customer satisfaction metrics) provided by the entity using the community to promote its business objectives.
FIGS. 4A-4DD below describe a user interface displayed on a display that is coupled to a computing device with one or more processors and memory that store programs that are configured to be executed by the one or more processors. Below, when a user is described as performing an operation associated with a displayed user interface (e.g., selecting an option, activating an affordance, or the like), the computer is detecting an input provided by the user (e.g., using a user input device such as a mouse, a touchpad, a keyboard, voice commands, etc.), and the computing device is responding to the detected input by updating the user interface and/or performing an associated operation in accordance with the detected input. Thus, for example, when a user “selects a time range to be displayed,” the device is detecting an input generated by a user with an input device (e.g., a mouse, trackpad or keyboard) that corresponds to selecting the time range, and the device is responding to the input that corresponds to selecting the time range by selecting the time range.
With this grouped bipartite structure, a user can select a single group node in the referrer column (e.g., a first set of nodes), such as by selecting node 5382 in
In some implementations, a data display panel is used to present the relationship data between a first group of nodes and a second group of nodes. As illustrated in
In some implementations, a user can select one of the nodes in the first column, and in response to the selection, a visual indication of a magnitude of a relationship between the selected node in the first column and one or more nodes in the second column is presented. As shown in
In some implementations, a user can select one of the nodes in the second column, and in response to the selection, a visual indication of a magnitude of a relationship between the selected node in the second column and one or more nodes in the first column is presented. As shown in
In
In some implementations, using the same technique to select additional nodes, a user can deselect a currently selected node, which is illustrated in
FIGS. 5S-5DD further illustrate implementations that graphically display Internet referrer traffic. The internet referrer traffic is used as an illustrative example of the kind of hierarchical and relational data that can be selectively visualized using the bipartite user interfaces described in this specification. The hierarchical aspect of the data set means that at least one of the data-set dimensions is hierarchical, and the data can be divided into a hierarchy of groups (represented as nodes and sub-nodes in a respective column in the user interface). The relational aspect of the data set means that the data is associated with at least one group (e.g., represented as a sub-node and the sub-node's parent node(s)) in a first data-set dimension (e.g., represented by a first column in the user interface), and at least another group (represented as a sub-node and the sub-node's parent node(s)) in a second data-set dimension (e.g., represented by a second column in the user interface).
As shown in
In
In
FIG. 5CC provides a simple example of a community 5438 with five sub-nodes “Forums” 5392, “Blogs” 5394, “Ideas” 5396, “Tribal Knowledge Base (TKB)” 5398, and “Events” 5400. Each of these sub-nodes has a respective set of a small number of sub-nodes. When the total number of nodes and sub-nodes in a data set dimension is small enough for the user interface, the filters are, optionally, not needed. However, when the number of nodes and sub-nodes in the second column is large, the same filtering as shown with respect to the nodes in the first column are, optionally, applied.
FIG. 5DD illustrates that selecting a node or sub-node, such as sub-node 5440 in the first column, anywhere within the hierarchy prompts the interface to display a graph of all of the referral traffic involving that node. In FIG. 5DD, only a node in the first column is selected, as a result, the lines representing referral traffic from the selected node in the first column to each of the nodes/sub-nodes shown in the second column are displayed. In some implementations, the thicknesses of the lines would indicate the respective amounts of traffic going to each of the sub-nodes in the second column. In this conceptual figure, the exact counts of the referral traffic have been omitted, and the widths of the curves have not been adjusted to indicate the amount of traffic to or from each node/sub-node. As illustrated previously with respect to
As shown in
In some implementations, as shown in
In some implementations, as shown in
In some implementations, as shown in
In some implementations, in addition to the standard aggregations, more complex analytics and metrics (also referred to as advanced analytics 5618) are defined, as shown in
In some implementations, the definitions of the advanced analytics 5618 (also referred to as “derivative definitions”) are stored with the metric definitions and attribute definitions in the definition store 5606. In some implementations, the advanced analytics algorithms are implemented using various computing languages (e.g., matlab, Java, etc.), as shown in
In some implementations, as shown in
As described in earlier parts of the specification and shown in
Since the customer intelligence center 5624 allows a user to customize the metrics, aggregations, and data derivatives that can be reviewed in the customer intelligence center 5624. The definitions 5626 of the customized metrics, aggregations, and data derivatives are stored with the standard aggregations 5608. In some implementations, a metric/attribute to script/query translator 5628 is implemented and used to provide an interface between the customer intelligence center 5624 and the customized aggregations 5626 and standard aggregations 5608.
In some implementations, the data calculated according to the customized metrics, aggregations, and analytics are stored as custom view data 5630. The custom view data 5630, standard view data 5610, and data derivatives 5620 (e.g., as stored in database server(s) 118) together serve as the data source for the reports and visualizations shown to users via the metric explorer and the standard and customized widgets and dashboards (e.g., the user interfaces described with reference to FIGS. 9-005 to 9-236 of U.S. Provisional Patent Application No. 61/734,927, filed Dec. 7, 2012, entitled “Systems and Methods for Presenting Analytic Data” and FIGS. 5B-5DD above). By storing the custom view data 5630, standard view data 5610, and data derivatives 5620, the responsiveness for the metric explorer and widgets and dashboards can be improved.
In some implementations, as shown in
In some implementations, the customer intelligence center 5624 allows a user (e.g., community manager, stakeholder and/or executives) to establish the criteria for having notifications sent to a user-specified recipient. In some implementations, a general purpose notification system 5632 is utilized. A user defines the trigger event for the notification, the type of information to be included in the notification, the format of the notification, and a rate limit for the notification. Examples of trigger events for a notification include a community health indicator (e.g., CHI) value having dropped below a threshold value, an average response time for a particular sub-community having reached a maximum acceptable value, new registration rate having dropped below a minimum threshold value, etc. In some implementations, a trigger event can also be a combination of several conditions. In some implementations, the user is allowed to specify what information the notification would include. For example, the user can require the notification to include actual values of certain metrics and data derivatives, and/or visualizations and reports of certain metrics/time periods/channels/users, etc. In some implementations, the notifications are provided as an email alert, a text message, or some other kinds of messages. In some implementations, the user is allowed to specify a preferred rate limit for the notifications. For example, a rate limit of 2 notifications per day means even if a trigger event has been met more than twice in a particular day, only two notifications are sent to the user. In some implementations, each notification sent to the user can include an aggregated report related to multiple trigger events that have occurred in the past but not yet been notified to the user due to the rate limit. The rate limit allows the user to control the number of notifications received each month/day/hour, so that the user is not overwhelmed by too many notification messages.
As described earlier, the metric explore 5612 is able to present community data on various metrics filtered by various attributes. The metrics explorer 5612 obtains the definitions of the metrics and attributes from the definition store 5606. In addition to the interaction data recorded on the online communities supported by the platform application 5602, in some implementations, the metric explorer also provides data from other third-party channels 5634, as shown in
In some implementations, as shown in
The foregoing description, for purpose of explanation, has been described with reference to specific implementations. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The implementations were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various implementations with various modifications as are suited to the particular use contemplated.
Claims
1. A method, comprising:
- at a computing device with a display: displaying, in a data display panel, a plurality of nodes associated with a data set, wherein: the plurality of nodes include a first set of one or more nodes and a second set of one or more nodes distinct from the first set of nodes; and the data set includes information indicating a magnitude of a relationship between nodes in the first set of nodes and nodes in the second set of nodes; receiving a first input corresponding to selection of a first node in the first set of nodes; and in response to receiving the input, displaying, in the data display panel, a visual indication of a magnitude of a relationship between the first node and one or more nodes in the second set of nodes.
2. The method of claim 1, wherein the first set of nodes correspond to a first set of divisions in a first data-set dimension.
3. The method of claim 2, wherein the second set of nodes correspond to a second set of divisions in a second data-set dimension different from the first data-set dimension.
4. The method of claim 1, further comprising, in response to receiving the first input, displaying a visual indication of the magnitude of the relationship between the first node and a plurality of nodes in the second set of nodes.
5. The method of claim 1, further comprising, in response to receiving the first input, displaying a visual indication of the magnitude of the relationship between the first node and each node in the second set of nodes.
6. The method of claim 1, further comprising:
- receiving a second input corresponding to selection of a second node the second set of nodes for which a respective visual indication of a magnitude of a relationship between the first node and the second node is displayed; and
- in response to receiving the second input, ceasing to display the respective visual indication of the magnitude of the relationship between the first node and the second node.
7. The method of claim 1, further comprising, while the first node is selected:
- receiving a third input corresponding to selection of a second node the second set of nodes for which a respective visual indication of a magnitude of a relationship between the first node and the second node is not displayed; and
- in response to receiving the third input, displaying a respective visual indication of the magnitude of the relationship between the first node and the second node.
8. The method of claim 1, further comprising:
- receiving a fourth input corresponding to a request to display sub-nodes of a second node the second set of nodes for which a respective visual indication of a magnitude of a relationship between the first node and the second node is displayed; and
- in response to receiving the fourth input: displaying a plurality of sub-nodes of the second node, including a first sub-node and a second sub-node; displaying a visual indication that indicates a magnitude of relationship between the first node and the first-sub node of the second node; and displaying a visual indication that indicates a magnitude of relationship between the first node and the second-sub node of the second node.
9. The method of claim 1, wherein:
- the visual indication of the magnitude of the relationship between the first node and one or more nodes in the second set of nodes includes a visual indication of a magnitude of a relationship between the first node and a second node the second set of nodes; and
- the method further comprises: receiving a fifth input corresponding to a request to display sub-nodes of the first node; and in response to receiving the fifth input: displaying a plurality of sub-nodes of the first node, including a first sub-node and a second sub-node; displaying a visual indication that indicates a magnitude of relationship between the first-sub node of the first node and the second node; and displaying a visual indication that indicates a magnitude of relationship between the second-sub node of the first node and the second node.
10. The method of claim 9, wherein:
- the first node includes more sub-nodes than can be displayed in the data display panel; and
- displaying the plurality of sub-nodes of the first node includes displaying a subset of the sub-nodes associated with the first node.
11. The method of claim 10, wherein the subset of the sub-nodes associated with the first node is selected automatically based on predefined criteria.
12. The method of claim 10, wherein the subset of the sub-nodes associated with the first node is selected based on user-provided criteria.
13. The method of claim 1, wherein:
- the visual indication of the magnitude of the relationship between the first node and one or more nodes in the second set of nodes includes a connector between the first node and the one or more nodes in the second set of nodes;
- a first connector width of the connector proximate to the first node corresponds to an aggregate magnitude of the relationship between the first node and the one or more nodes in the second set of nodes; and
- a second connector width of the connector proximate to a respective node in the second set of nodes corresponds to a magnitude of the relationship between the first node and the respective node.
14. The method of claim 1, wherein the relationship between the first node and the one or more second nodes is a flow of network traffic.
15. A computing device, comprising:
- one or more processors; and
- memory;
- one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for: displaying, in a data display panel, a plurality of nodes associated with a data set, wherein: the plurality of nodes include a first set of one or more nodes and a second set of one or more nodes distinct from the first set of nodes; and the data set includes information indicating a magnitude of a relationship between nodes in the first set of nodes and nodes in the second set of nodes; receiving a first input corresponding to selection of a first node in the first set of nodes; and in response to receiving the input, displaying, in the data display panel, a visual indication of a magnitude of a relationship between the first node and one or more nodes in the second set of nodes.
16. The device of claim 15, wherein the one or more programs include instructions for, in response to receiving the first input, displaying a visual indication of the magnitude of the relationship between the first node and each node in the second set of nodes.
17. The device of claim 15, wherein the one or more programs include instructions for:
- receiving a second input corresponding to selection of a second node the second set of nodes for which a respective visual indication of a magnitude of a relationship between the first node and the second node is displayed; and
- in response to receiving the second input, ceasing to display the respective visual indication of the magnitude of the relationship between the first node and the second node.
18. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a computing device with one or more processors cause the device to:
- display, in a data display panel, a plurality of nodes associated with a data set, wherein: the plurality of nodes include a first set of one or more nodes and a second set of one or more nodes distinct from the first set of nodes; and the data set includes information indicating a magnitude of a relationship between nodes in the first set of nodes and nodes in the second set of nodes;
- receive a first input corresponding to selection of a first node in the first set of nodes; and
- in response to receiving the input, display, in the data display panel, a visual indication of a magnitude of a relationship between the first node and one or more nodes in the second set of nodes.
19. The non-transitory computer readable storage medium of claim 18, wherein the one or more programs include instructions which, when executed by the computing device, cause the device to, in response to receiving the first input, display a visual indication of the magnitude of the relationship between the first node and each node in the second set of nodes.
20. The non-transitory computer readable storage medium of claim 18, wherein the one or more programs include instructions which, when executed by the computing device, cause the device to:
- receive a second input corresponding to selection of a second node the second set of nodes for which a respective visual indication of a magnitude of a relationship between the first node and the second node is displayed; and
- in response to receiving the second input, cease to display the respective visual indication of the magnitude of the relationship between the first node and the second node.
Type: Application
Filed: Dec 5, 2013
Publication Date: Jun 19, 2014
Applicant: Lithium Technologies, Inc. (Emeryville, CA)
Inventor: Michael Wu (Oakland, CA)
Application Number: 14/098,501
International Classification: G06F 3/0481 (20060101);