U.S. patent application number 14/098509 was filed with the patent office on 2014-06-19 for device, method and user interface for emphasizing divisions in data.
This patent application is currently assigned to LITHIUM TECHNOLOGIES, INC.. The applicant listed for this patent is LITHIUM TECHNOLOGIES, INC.. Invention is credited to Michael Wu.
Application Number | 20140173509 14/098509 |
Document ID | / |
Family ID | 50932491 |
Filed Date | 2014-06-19 |
United States Patent
Application |
20140173509 |
Kind Code |
A1 |
Wu; Michael |
June 19, 2014 |
Device, Method and User Interface for Emphasizing Divisions in
Data
Abstract
A device with one or more processors and memory displays, in a
data display panel, a first representation of data from a data set.
The data is selected in accordance divisions in a first data-set
dimension and divisions in a second data-set dimension, and is
organized to emphasize the divisions in the first data-set
dimension. The device receives an input corresponding to switching
the dimension selector from a first state to a second state. In
response to receiving the input, the device displays, in the data
display panel, a second representation of a second subset of data
from the data set, where the second subset of data is selected from
the data set in accordance with the divisions in the first data-set
dimension and the divisions in the second data-set dimension, and
is organized to emphasize the divisions in the second data-set
dimension.
Inventors: |
Wu; Michael; (Oakland,
CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
LITHIUM TECHNOLOGIES, INC. |
EMERYVILLE |
CA |
US |
|
|
Assignee: |
LITHIUM TECHNOLOGIES, INC.
EMERYVILLE
CA
|
Family ID: |
50932491 |
Appl. No.: |
14/098509 |
Filed: |
December 5, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61734927 |
Dec 7, 2012 |
|
|
|
Current U.S.
Class: |
715/800 |
Current CPC
Class: |
G06F 3/0481 20130101;
G06F 16/904 20190101; G06F 16/248 20190101; G06F 3/04842 20130101;
G06Q 50/01 20130101 |
Class at
Publication: |
715/800 |
International
Class: |
G06F 3/0481 20060101
G06F003/0481 |
Claims
1. A method, comprising: at a computing device with a display:
displaying, in a data display panel, a first representation of a
first subset of data from a data set, wherein: the first subset of
data is selected from the data set in accordance with both a first
plurality of divisions in a first data-set dimension and a second
plurality of divisions in a second data-set dimension, wherein the
first data-set dimension is different from the second data-set
dimension; and the first representation of the data is organized to
emphasize the first plurality of divisions in the first data-set
dimension; receiving an input corresponding to switching a current
state of the dimension selector from a first state to a second
state; and in response to receiving the input, displaying, in the
data display panel, a second representation of a second subset of
data from the data set, wherein: the second subset of data is
selected from the data set in accordance with both the first
plurality of divisions in the first data-set dimension and the
second plurality of divisions in the second data-set dimension; and
the second representation of the data is organized to emphasize the
second plurality of divisions in the second data-set dimension.
2. The method of claim 1, wherein the first subset of data is the
same as the second subset of data.
3. The method of claim 1, wherein the first plurality of divisions
in the first data-set dimension and the second plurality of
divisions in the second data-set dimension are selected in response
to inputs received from a user.
4. The method of claim 1, comprising, displaying a visual
indication of the first plurality of divisions in a first
data-selection interface extending in a first direction from the
data display panel.
5. The method of claim 4, comprising, displaying a visual
indication of the second plurality of divisions in a second
data-selection interface extending in a second direction from the
data display panel, wherein the first direction is different from
the second direction.
6. The method of claim 1, further comprising: prior to detecting
the input, displaying a dimension priority icon that indicates that
the first plurality of divisions in the first data-set dimension
are emphasized over the second plurality of divisions in the second
data-set dimension; and after detecting the input, changing display
of the dimension priority icon to indicate that the second
plurality of divisions in the second data-set dimension are
emphasized over the first plurality of divisions in the first
data-set dimension.
7. The method of claim 1, wherein the first representation visually
aggregates data by the second plurality of divisions and visually
separates the aggregated data in accordance with the first
plurality of divisions.
8. The method of claim 7, wherein the second representation
visually aggregates data by the first plurality of divisions and
visually separates the aggregated data in accordance with the first
plurality of divisions.
9. The method of claim 1, wherein the first representation visually
groups data by the first plurality of divisions and shows
subdivisions corresponding to the second plurality of
divisions.
10. The method of claim 9, wherein the second representation
visually groups data by the second plurality of divisions and shows
subdivisions corresponding to the first plurality of divisions.
11. The method of claim 10, wherein: prior to receiving the input,
the subdivisions corresponding to the second plurality of divisions
include a first subdivision shown in a first color and a second
subdivision shown in a second color; and after receiving the input,
the subdivisions corresponding to the first plurality of divisions
include a first subdivision shown in the first color and a second
subdivision shown in the second color.
12. 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 first representation of
a first subset of data from a data set, wherein: the first subset
of data is selected from the data set in accordance with both a
first plurality of divisions in a first data-set dimension and a
second plurality of divisions in a second data-set dimension,
wherein the first data-set dimension is different from the second
data-set dimension; and the first representation of the data is
organized to emphasize the first plurality of divisions in the
first data-set dimension; receiving an input corresponding to
switching a current state of the dimension selector from a first
state to a second state; and in response to receiving the input,
displaying, in the data display panel, a second representation of a
second subset of data from the data set, wherein: the second subset
of data is selected from the data set in accordance with both the
first plurality of divisions in the first data-set dimension and
the second plurality of divisions in the second data-set dimension;
and the second representation of the data is organized to emphasize
the second plurality of divisions in the second data-set
dimension.
13. The device of claim 12, wherein the first subset of data is the
same as the second subset of data.
14. The device of claim 12, wherein the one or more programs
include instructions for, displaying a visual indication of the
first plurality of divisions in a first data-selection interface
extending in a first direction from the data display panel.
15. The device of claim 14, wherein the one or more programs
include instructions for, displaying a visual indication of the
second plurality of divisions in a second data-selection interface
extending in a second direction from the data display panel,
wherein the first direction is different from the second
direction.
16. 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
first representation of a first subset of data from a data set,
wherein: the first subset of data is selected from the data set in
accordance with both a first plurality of divisions in a first
data-set dimension and a second plurality of divisions in a second
data-set dimension, wherein the first data-set dimension is
different from the second data-set dimension; and the first
representation of the data is organized to emphasize the first
plurality of divisions in the first data-set dimension; receive an
input corresponding to switching a current state of the dimension
selector from a first state to a second state; and in response to
receiving the input, display, in the data display panel, a second
representation of a second subset of data from the data set,
wherein: the second subset of data is selected from the data set in
accordance with both the first plurality of divisions in the first
data-set dimension and the second plurality of divisions in the
second data-set dimension; and the second representation of the
data is organized to emphasize the second plurality of divisions in
the second data-set dimension.
17. The non-transitory computer readable storage medium of claim
16, wherein the first subset of data is the same as the second
subset of data.
18. The non-transitory computer readable storage medium of claim
16, comprising instructions which, when executed by the computing
device, cause the computing device to display a visual indication
of the first plurality of divisions in a first data-selection
interface extending in a first direction from the data display
panel.
19. The non-transitory computer readable storage medium of claim
18, comprising instructions, which when executed by the computing
device, cause the computing device to display a visual indication
of the second plurality of divisions in a second data-selection
interface extending in a second direction from the data display
panel, wherein the first direction is different from the second
direction.
Description
RELATED APPLICATIONS
[0001] 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.
[0002] 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 Displaying Relationships between Different Sets of
Data," filed ______, (Attorney Docket No. 070407-5010US); and U.S.
patent application Ser. No. ______, "Device, Method and User
Interface for Switching between Graphical Representations of Data,"
filed ______, (Attorney Docket No. 070407-5011US), which are
incorporated by reference herein in their entirety.
TECHNICAL FIELD
[0003] The disclosed implementations relate generally to methods of
data visualization.
BACKGROUND
[0004] An 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.
[0005] 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.
SUMMARY
[0006] It 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.
[0007] In some implementations, a method includes, at a computing
device with a display, displaying, in a data display panel, a first
representation of a first subset of data from a data set. The first
subset of data is selected from the data set in accordance with
both a first plurality of divisions in a first data-set dimension
and a second plurality of divisions in a second data-set dimension,
where the first data-set dimension is different from the second
data-set dimension. The first representation of the data is
organized to emphasize the first plurality of divisions in the
first data-set dimension. The method further includes receiving an
input corresponding to switching a current state of the dimension
selector from a first state to a second state, and, in response to
receiving the input, displaying, in the data display panel, a
second representation of a second subset of data from the data set.
The second subset of data is selected from the data set in
accordance with both the first plurality of divisions in the first
data-set dimension and the second plurality of divisions in the
second data-set dimension. The second representation of the data is
organized to emphasize the second plurality of divisions in the
second data-set dimension.
[0008] 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.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] FIG. 1 is a conceptual block diagram of an online community
in accordance with some implementations.
[0010] FIG. 2 is a block diagram of a client device in accordance
with some implementations.
[0011] FIG. 3 is a block diagram illustrating the structure of web
servers, database servers, and application servers in accordance
with some implementations.
[0012] FIGS. 4A-4B are flow diagrams illustrating a method of
changing which divisions of data are emphasized in a data viewing
interface in accordance with some implementations.
[0013] FIGS. 5A-5VV illustrate methods of presenting, selecting,
and changing views of data in accordance with some
implementations.
[0014] FIG. 6 illustrates an example of a data flow and
architecture for collection of analytics data for an online
community and presentation of analytic data for that online
community in accordance with some implementations.
[0015] Like reference numerals refer to corresponding parts
throughout the several views of the drawings.
DESCRIPTION OF IMPLEMENTATIONS
[0016] Reference 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.
[0017] FIG. 1 illustrates an example of an environment in which
disclosed implementations operate. In the middle is one or more
communication networks 112, such as the Internet, that link
together the various computing devices. Users 102 are individual
people who access the communication networks 112 using electronic
devices 104, such as desktop computers, laptop computers, tablet
computers, smartphones, PDA's, etc. The communication networks are
also connected to one or more Social Media sites 106, such as
Facebook, Youtube, etc.
[0018] 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).
[0019] 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).
[0020] 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.
[0021] Although FIG. 1 illustrates Web Servers 114, application
servers 116, and database servers 118 as physically distinct
devices, the functionality can be combined in various different
ways. For example, the web server software and application server
software optionally runs on the same server(s).
[0022] FIG. 2 illustrates an example of a client device 110. A
client device 110 generally includes one or more processing units
(CPUs) 202, one or more network or other communications interfaces
204, memory 214, and one or more communication buses 212 for
interconnecting these components. The communication buses 212
optionally include circuitry (sometimes called a chipset) that
interconnects and controls communications between system
components. A client device 110 also includes a user interface 206,
for instance a display 208 and a keyboard or other input mechanism
210. Some client devices 110 display a keyboard 210 on the display
208 as needed. Some client devices 110 utilize a touchscreen or
touch-sensitive display 208. Memory 214 optionally includes
high-speed random access memory, such as DRAM, SRAM, DDR RAM or
other random access solid state memory devices; and optionally
includes non-volatile memory, such as one or more magnetic disk
storage devices, optical disk storage devices, flash memory
devices, or other non-volatile solid state storage devices. Memory
214 optionally includes mass storage that is remotely located from
the central processing unit(s) 202. Memory 214, or alternately the
non-volatile memory device(s) within memory 214, comprises a
computer readable storage medium. In some implementations, memory
214 or the computer readable storage medium of memory 214 stores
the following programs, modules and data structures, or a subset
thereof: [0023] 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; [0024] 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; [0025] 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; [0026] 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. 5A-5VV below and 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";
[0027] 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. 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"; [0028] 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 [0029] one or more browser cookies 226, which save state
or other information for a web page or web application.
[0030] FIG. 3 illustrates an example of a server, such as a web
server 114, an application server 116, or a database server 118. A
server 114/116/118 generally includes one or more processing units
(CPUs) 302, one or more network or other communications interfaces
304, memory 314, and one or more communication buses 312 for
interconnecting these components. The communication buses 312
optionally include circuitry (sometimes called a chipset) that
interconnects and controls communications between system
components. The server 114/116/118 optionally includes a user
interface 306, for instance, a display 308 and a keyboard or other
input device 310. Memory 314 optionally includes high-speed random
access memory, such as DRAM, SRAM, DDR RAM or other random access
solid state memory devices; and optionally includes non-volatile
memory, such as one or more magnetic disk storage devices, optical
disk storage devices, flash memory devices, or other non-volatile
solid state storage devices. Memory 314 optionally includes mass
storage that is remotely located from the central processing
unit(s) 302. Memory 314, or alternately the non-volatile memory
device(s) within memory 314, comprises a computer readable storage
medium. In some implementations, memory 314 or the computer
readable storage medium of memory 314 stores the following
programs, modules and data structures, or a subset thereof: [0031]
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; [0032] 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; [0033] 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; [0034]
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;
[0035] 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.; [0036] 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;
[0037] 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.; [0038] 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); [0039] 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; [0040] one or more community
interaction applications or interfaces 334, which are used by users
102 who participate in the online community 100; [0041] 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. 5A-5VV below and 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";
[0042] 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. 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"; [0043] 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"; [0044] a KPI calculation
engine 336, which computes correlation coefficients between sets of
data; [0045] 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).
[0046] Although FIG. 3 shows examples of servers, it is intended
more as functional description of the various features which are,
in some circumstances, present in a set of servers than as a
structural schematic of the implementations described herein. In
practice, and as recognized by those of ordinary skill in the art,
items shown separately could be combined and some items could be
separated. For example, some items shown separately in FIGS. 1 and
3 could be implemented on single servers and single items could be
implemented by one or more servers. The actual number of servers
used to implement the web servers, application servers, and
database servers, and how features are allocated among them will
vary from one implementation to another, and optionally depends in
part on the amount of data traffic that the system must handle
during peak usage periods as well as during average usage
periods.
[0047] 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
FIGS. 4A-4B optionally correspond to instructions stored in a
computer memory or computer readable storage medium.
Methods for Displaying Data
[0048] FIGS. 4A-4B are flow diagrams illustrating a method 400 of
changing which divisions of data are emphasized in a data viewing
interface in accordance with some implementations. The method 400
is performed at a computing device (e.g., Client Device 110 in FIG.
2, Web Server 114 in FIG. 3, Application Server 116 in FIG. 3, or
Database Server 118 in FIG. 3) with a display and an input device
(e.g., a mouse, a trackpad, a touch screen or voice control
module). Some operations in method 400 are, optionally, be combined
and/or the order of some operations is, optionally, be changed. As
described below, the method 400 provides an intuitive way to change
which divisions of data are emphasized in a data viewing interface.
The method reduces the cognitive burden on a user when viewing
data, thereby creating a more efficient human-machine interface.
For battery-operated electronic devices, enabling a user to view
data faster and more efficiently conserves power and increases the
time between battery charges.
[0049] The device displays (402), in a data display panel, a first
representation of a first subset of data from a data set. The first
subset of data is selected (404) from the data set in accordance
with both a first plurality of divisions in a first data-set
dimension and a second plurality of divisions in a second data-set
dimension. The first data-set dimension is different from the
second data-set dimension (e.g., the first subset of data is
selected so as to exclude data that is not in at least one division
of the first plurality of divisions and at least one division of
the second plurality of divisions). In some implementations, the
first plurality of divisions in the first data-set dimension and
the second plurality of divisions in the second data-set dimension
are selected (406) in response to inputs received from a user
(e.g., as shown in FIGS. 5I-5VV). For example, the first plurality
of divisions and the second plurality of divisions are selected
based on selection of options in data-selection interfaces adjacent
to the data display field, as described herein with reference to
method 400.
[0050] The first representation of the data is organized (408) to
emphasize the first plurality of divisions in the first data-set
dimension (e.g., the first plurality of divisions are prominently
displayed in the visualization of the data displayed in the data
display panels, for example, by displaying the divisions as
separate bars in a bar chart or separate lines in a line graph). In
some implementations, the first representation visually aggregates
(410) data by the second plurality of divisions (e.g., only data
from the second plurality of divisions is included in the subset of
data) and visually separates the aggregated data in accordance with
the first plurality of divisions. For example, the first
representation is a line graph with different lines corresponding
to different divisions in the user dimension of the data set. In
some implementations, the first representation visually groups
(412) data by the first plurality of divisions and shows
subdivisions corresponding to the second plurality of divisions.
For example, the first representation is a bar chart with different
bars corresponding to different divisions in the first user
dimension of the data set as shown in FIGS. 5I-5R, 5W-5X, and
5CC-5JJ.
[0051] In some implementations, the device displays (414) a visual
indication of the first plurality of divisions in a first
data-selection interface (e.g., panel) extending in a first
direction from the data display panel. For example, the
data-selection interface includes options corresponding to
divisions in the data-source dimension is described herein with
reference to the region on the top side of the central data display
panel in FIGS. 5I-5VV. In some implementations, the device displays
(416) a visual indication of the second plurality of divisions in a
second data-selection interface (e.g., panel) extending in a second
direction from the data display panel, where the first direction is
different from the second direction. For example, the
data-selection interface including options corresponding to
divisions in the user dimension is described herein with reference
to the region on the right side of the central data display panel
in FIGS. 5I-5VV. In some implementations, the device displays (418)
a dimension priority icon (e.g., user interface element 5132 in
FIGS. 5I-5VV) that indicates that the first plurality of divisions
in the first data-set dimension are emphasized over the second
plurality of divisions in the second data-set dimension.
[0052] After displaying the first representation of the first
subset of the data in the data-display panel, the device receives
(420) an input (e.g., from the input device) corresponding to
switching a current state of the dimension selector from a first
state to a second state. In response to receiving the input, the
device displays (422), in the data display panel, a second
representation of a second subset of data from the data set. In
some implementations, the first subset of data is (424) the same as
the second subset of data. In some implementations, the first
subset of data is organized or displayed differently from the
second subset of data. The second subset of data is selected (426)
from the data set in accordance with both the first plurality of
divisions in the first data-set dimension and the second plurality
of divisions in the second data-set dimension (e.g., the first
subset of data is selected so as to exclude data that is not in at
least one division of the first plurality of divisions and at least
one division of the second plurality of divisions). The second
representation of the data is organized (428) to emphasize the
second plurality of divisions in the second data-set dimension
(e.g., as shown in FIGS. 5I-5VV).
[0053] In some implementations, the second representation visually
aggregates (430) data by the first plurality of divisions (e.g.,
only data from the second plurality of divisions is included in the
subset of data) and visually separates the aggregated data in
accordance with the first plurality of divisions. For example, the
first representation is a line graph with different lines
corresponding to different divisions in the data-source dimension
of the data set, as shown in FIGS. 5A-5E). In some implementations,
visually aggregating respective data includes displaying a data
visualization that includes one or more elements corresponding to
an aggregation of the respective data. In some implementations, the
second representation visually groups (432) data by the second
plurality of divisions and shows subdivisions corresponding to the
first plurality of divisions. For example, the first representation
is a bar chart with different bars corresponding to different
divisions in the data-source dimension of the data set as shown in
as shown in FIGS. 5S-5V, 5Y-5BB, and 5KK-5VV.
[0054] In some implementations, prior to receiving the input, the
subdivisions corresponding to the second plurality of divisions
include a first subdivision shown in a first color and a second
subdivision shown in a second color, and after receiving the input,
the subdivisions corresponding to the first plurality of divisions
include (434) a first subdivision shown in the first color and a
second subdivision shown in the second color. Thus, in some
implementations, the colors used to show subdivisions for the
representation of the data remain the same, but prior to detecting
the input, the colors are assigned to divisions in the first
data-set dimension and after detecting the input, the same colors
are assigned to divisions in the second data-set dimension. For
example, as shown in FIG. 5JJ, user divisions are displayed in
blue, orange, green and purple, while the data-source divisions are
emphasized by grouping the user divisions into bar graphs by
data-source division. In contrast, in FIG. 5KK, data-source
divisions are displayed in blue, orange, green and purple, while
the user divisions are emphasized by grouping the data-source
divisions into bar graphs by user division.
[0055] In some implementations, prior to detecting the input, the
device displays a dimension priority icon (e.g., user interface
element 5132 in FIGS. 5I-5VV) that indicates that the first
plurality of divisions in the first data-set dimension are
emphasized over the second plurality of divisions in the second
data-set dimension (e.g., by pointing at the first data-selection
interface, as shown in FIG. 5JJ). In some implementations, after
detecting the input, the device changes (436) display of the
dimension priority icon to indicate that the second plurality of
divisions in the second data-set dimension are emphasized over the
first plurality of divisions in the first data-set dimension. For
example the device changes display of the dimension priority icon
so that it points at the second data-selection interface, as shown
in FIG. 5KK.
[0056] It should be understood that the particular order in which
the operations in FIGS. 4A-4B have been described is merely an
example and is not intended to indicate that the described order is
the only order in which the operations could be performed. One of
ordinary skill in the art would recognize various ways to reorder
the operations described herein. Additionally, it should be noted
that details of other processes described in U.S. Provisional
Patent Application No. 61/734,927, filed Dec. 7, 2012, entitled
"Systems and Methods for Presenting Analytic Data" with respect to
other methods described therein (e.g., methods 400, 600, 700 and
800 in U.S. Provisional Patent Application No. 61/734,927) are also
applicable in an analogous manner to method 400 described above
with respect to FIGS. 4A-4B. For example, the inputs, data display
panels, data selection interfaces, and data-set dimensions
described above with reference to method 400 optionally have one or
more of the characteristics of the inputs, data display panels,
data selection interfaces, and data-set dimensions described in
U.S. Provisional Patent Application No. 61/734,927, filed Dec. 7,
2012, entitled "Systems and Methods for Presenting Analytic Data"
with reference to other methods described therein (e.g., methods
400, 600, 700 and 800 in U.S. Provisional Patent Application No.
61/734,927). For brevity, these details are not repeated here.
[0057] 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.
[0058] 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.
[0059] 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.
[0060] 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.
[0061] FIGS. 5A-5VV 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.
[0062] FIGS. 5A-5VV illustrate various implementations that provide
a simpler and more effective user interface for displaying level 1
data and level 2 data. The level 1 data and the level 2 data are
examples of a multi-dimensional data set, where data units within
the multi-dimensional data set can be selectively displayed in the
user interface using various data selection interfaces (or data
selectors). In some implementations, each data set dimension
represents a respective aspect of the data set. For example,
dimensions of the data set can be related to the "who", "what",
"when", and "where" aspects of the data set, respectively. In some
implementations, each data set dimension further includes multiple
"divisions", where each division represents a filter for a subset
of the available data. For example, divisions in the "who"
dimension can include various categories, roles, and/or ranks of
users. Divisions in the "what" dimension can include various types
of raw metrics and analytics (collectively called "metrics").
Divisions in the "what" dimension can be further filtered or
limited by a "how" dimension, which provides attributes or context
for the data in the "what" dimension. Divisions in the "when"
dimension can include various time periods and/or time ranges.
Divisions in the "where" dimension can include various sources or
channels from which the data is collected. For example, the "where"
dimension can include various channels (e.g., community, various
other third-party social media sites, and so on) from which the
metrics data is collected. Sometimes, the "where" dimension also
include subdivisions representing sub-topics and/or sub-communities
within a community or data channel. The "who", "what", "when", and
"where" data-set dimensions are merely illustrative for the kinds
of data-set dimensions that can be represented by the data
selection interfaces shown below. Not all dimensions need to be
present in a data set, and not all dimensions present in the data
set need to have a respective data selection interface in various
implementations.
[0063] In FIG. 5A, the "community Suggestions" node or forum 5118
has been selected in the channel selector interface, so the graph
5124 (e.g., a graph of the number of posts in the "Community
Suggestions" forum of the "Li" community over time) corresponding
to the node 5118 is presented in the data display panel 5028. In
this implementation, the blue color of the graph 5124 corresponds
to the blue highlighting of the "Community Suggestions" node 5118.
In FIG. 5B, the node "Show us your Home Theater!" 5122 is selected
in addition to the "Community Suggestions" node, and graph 5126
(e.g., a graph of the number of posts in the "Show us your Home
Theater!" forum of the "Li" community over time) corresponding to
the node 5122 displays in the data panel 5028. The green color of
the graph 5126 corresponds to the green highlighting of the node
5122. As noted previously with the selection of users, some
implementations use shading, patterns, or labels to correlate
graphs with selected options (in this case, nodes or sub-domains).
In FIG. 5C, the "Community Suggestions" node 5118 has been
unselected, so only the graph 5126 corresponding to the "Show us
your Home Theater" node 5122 is displayed in the data display panel
5028. Comparison of FIG. 5B to FIG. 5C illustrates that some
implementations adjust the range on the y-axis based on the data
range(s) for the selected graphs(s). Whereas graph 5124 required
the larger range of 10 to 70, graph 5126 can be displayed in the
smaller range of 15 to 45. In FIG. 5C, the graph 5126 extends more
vertically because of the change in scaling of the y-axis. In FIG.
5D, the "Community Suggestions" node 5118 has been reselected, and
thus graphs 5124 and 5126 both appear in the data display panel
5028 (as in FIG. 5B).
[0064] In FIG. 5E, the "HiFi Ideas" node 5120 has been selected in
addition to the nodes 5118 and 5122, so three graphs 5124, 5126,
and 5128 are displayed in the data display panel 5028. The orange
color of the graph 5128 (e.g., a graph of the number of posts in
the "HIFI Ideas" forum of the "Li" community over time) corresponds
to the orange highlighting of the "HiFi Ideas" node 5120. Because
the post counts for the "HiFi Ideas" node 5120 are much greater
than the post counts for the other two nodes, the device (e.g.,
device 110) displaying the user interface shown in FIG. 5E has
adjusted the scale on the y-axis. The graphs 5124 and 5126 are the
same as in FIG. 5D, but are compressed vertically so that they can
appear with the graph 5128.
[0065] FIGS. 5A-5E illustrate variations in the channel selection
without changing any of the other selectors. Each of these figures
uses the "post count" metric, with no specific attribute
selections, for the time period mid July, 2010 to mid November,
2010, and includes data for all users.
[0066] FIGS. 5F-5H illustrate how data is displayed in the data
panel 5028 when a user selects multiple nodes in the channel
selector 5018 and multiple users (or multiple groups of users using
ranks or roles) in the user selector 5026. As explained earlier,
selection of multiple users or user groups generally results in a
graph for each of the users or groups of users; similarly,
selection of multiple nodes in the channel selector generally
results in a graph for each of the nodes. In some implementations
(not illustrated), there is a separate graph for each (node, user
selection) combination. In the example in FIG. 5F, there are three
selected nodes in the channel selector, and three selected user
roles in the user selector, so nine distinct (node, user role)
graphs are optionally displayed in the data display panel 5028.
Because each graph corresponds to a node/role combination, colors,
shading, and patterns are insufficient to identify a combination.
In some implementations, each graph is given a label, which
identifies a respective combination of options selected in two
different dimensions (e.g., the channel and user dimensions).
[0067] Creating a separate graph for each (node, user selection)
combination is both visually hard to understand, and generally does
not correspond to what a user wants to see. Instead, preferred
implementations enable grouping of the selected data. For example,
if a user wants a separate graph for each selected role, then the
data for the selected nodes can be grouped together for each
selected role. Conversely, if the user wants a graph for each of
the nodes, then the data for all of the selected roles can be
grouped together for each of the selected nodes. In some
implementations, this is implemented using a "Group By" arrow
button 5132 (i.e., an example of a dimension selector). In some of
some implementations, there is a label "Group By" 5130 adjacent to
the arrow button 5132 to provide more information to the user using
the user interface shown in FIGS. 5F-5H.
[0068] As will be shown in later figures, when the group by arrow
5132 points to the user selector 5026, there is a single graph for
each of the selected roles. The data for each graph is limited to
the selected nodes rather than using data for the entire
community.
[0069] Similarly, as will be shown in later figures, when the group
by arrow 5132 points to the channel selector 5018, as illustrated
in FIG. 5H, there is a single graph for each of the selected nodes.
The data for each graph is limited to the selected users (e.g.,
selected roles "Advanced Studio," "BlogAuthor," and
"HiFi_Employee.")
[0070] In some implementations the "Group By" label 5130 and group
by arrow 5132 only appear when there are multiple selections for
both nodes and users/user groups.
[0071] FIGS. 5I-5V illustrate graphical displays in the data
display panel 5028 when there is a single time grain selected and
the user selection is not "all users." As shown in FIG. 5I, the
device (e.g., device 110) displaying the user interface shown in
FIGS. 5I-5V displays the "group by" label 5130 and group by arrow
5132. Once a user has selected one or more roles, such as "Advanced
Studio" 5174, "CategoryExpert" 5176, and "HiFi_Employee" 5178,
corresponding bar graphs are displayed in the data panel 5028. The
data for each of these bars is limited to the node "Engage with
HiFi" 5172. In FIGS. 5K and 5L, roles "TKB Editor" 5180 and "VIP"
5182 are selected, so the device (e.g., device 110) displaying the
user interface shown in FIGS. 5I-5V displays corresponding bar
graphs in the display panel 5028 that show post counts by users in
the selected roles aggregated over the selected time period.
[0072] In FIGS. 5M-5O, additional nodes "HiFi Ideas" 5184, "Coder
Ideas" 5186 (FIG. 5N), and "CodeCave Blog" 5188 (FIG. 5O) are
selected, and the device (e.g., device 110) displaying the user
interface shown in FIG. 5M-5O updates the bar graphs accordingly.
Because the data is grouped by roles (the "group by" arrow 5132 is
pointing to the user roles), the total length of each bar
corresponds to the sum of the data for each of the nodes. In some
implementations, each bar is subdivided to indicate the
contribution from each of the nodes, as indicated in FIGS. 5M-5O.
In some implementations, each node that is selected is highlighted
with a different color, and the corresponding color is used in the
bar graphs to identify the graph portion corresponding to each
node. For example, in the bar graph for users in the "VIP" role
5182, the blue portion 5190 indicates the number of posts in the
"Engage with HiFi" node 5172. Similarly, in this same bar graph,
the orange portion 5192 identifies the number of posts to the "HiFi
Ideas" node 5184, the green portion 5194 identifies the number of
posts to the "Coder Ideas" node 5186, and the purple portion 5196
identifies the number of posts to the "CodeCave Blog" node 5188 by
users in the various roles. Just like the blue portion 5190, these
other portions are limited to users in the "VIP" role 5182. In some
implementations, the colors of the bars used to display metric
values in the data display panel for respective nodes correspond to
the colors of the font (or other features of the selection icon)
used to indicate selection of the respective nodes. For example, as
shown in FIG. 5O, the font and bars for the "Engage with HiFi" and
"HiFi Ideas" nodes are blue and orange respectively.
[0073] In FIGS. 5P and 5Q, a user unselects nodes 5184 and 5186, so
the corresponding portions are removed from the bar graphs. As
shown here, some implementations continue to display the unselected
nodes 5184 and 5186 in the channel selector 5018. FIGS. 5P and 5Q
also illustrate that the scaling on the x-axis automatically adapts
based on the new sizes of the bars. In this example, the maximum
x-axis scale (post count) in FIG. 5O is 300, which drops to 200 in
FIG. 5P, and drops further to 160 in FIG. 5Q. In FIG. 5R, a user
has unselected user role "TKB Editor" 5180, and the device (e.g.,
device 110) displaying the user interface shown in FIGS. 5P-5Q has
thus removed the corresponding bar graph. Because the bar for the
"TKB Editor" 5180 was the longest one in the bar graph in FIG. 5Q,
removing the bar causes the x-axis of the bar graph to be resealed
again.
[0074] In FIG. 5S, a user has switched the "group by" arrow 5132,
so that the graph in the data panel 5128 is now grouped by nodes.
In this case, there are only two selected nodes "Engage with HiFi"
5172 and "CodeCave Blog" 5188, so there are only two bars. In FIG.
5S, the bars are vertical, corresponding to the new selection for
grouping. This change of grouping also illustrates some other
features of some implementations. In the illustrated
implementation, the node selectors 5172 and 5188 are no longer
colored. Because they are selected, they appear in a bold font,
whereas the unselected nodes 5184 and 5186 appear in a standard
(non bold) font. Now that the grouping is by node, colors are
associated with each of the selected roles. In this example, each
of the select roles 5174, 5176, 5178, and 5182 is highlighted with
a different color, and the corresponding color in the bars identify
the portion of the posts for the corresponding role. In some
implementations, shading, patterns, or labels are used instead of
colors to identify the correspondence between roles and portions of
the bar graphs.
[0075] In FIG. 5T, the user role "VIP" has been unselected, and
thus the device (e.g., device 110) displaying the user interface
shown in FIG. 5T has removed the purple portion of the bar graphs
in the data panel 5028. In FIGS. 5U and 5V, a user reselects nodes
"Coder Ideas" 5186, and "HiFi Ideas" 5184, so the user interface
displays corresponding bar graphs in the data panel 5028.
[0076] As illustrated in FIG. 5W, when a user switches the "group
by" arrow 5132 back to "roles," the grouping is by roles, the bars
in the graph are horizontal, and the colors correspond to the
nodes.
[0077] In some implementations, the user interface provides an
option to view the bar graphs as relative percentages. In some
implementations, there is an indicator or button 5198 that
identifies the current view (either by numbers or relative
percentages). In FIG. 5W, indicator 5198 shows that the data is
displayed as total counts. In some implementations, the indicator
is button control, which a user can use to switch the view. In some
implementations, the option to switch between counts and relative
percentages is selected from a menu or toolbar icon (not shown).
When selected, the scale on the axis becomes 0% to 100%, as
illustrated in the data panel 5028 in FIG. 5X. The display view is
indicated by indicator or button 5200 (which is, optionally, the
same as indicator/button 5198). In FIG. 5X, there are three bars,
corresponding to the three selected user roles 5174, 5176, and
5178, and each bar consists of four shaded portions that correspond
to the selected nodes 5172, 5184, 5186, and 5188. When reviewing
relative percentages of the total, the bar size represents percent
of the total, and not the number of actual post counts. For
example, FIG. 5W shows that the total post count for the
"HiFi_Employee" role 5178 is much less than the post count for the
"CategoryExpert" role 5176, but in FIG. 5X the bars for roles 5178
and 5176 are the same size (representing 100% of the total number
of post counts for each role).
[0078] In FIG. 5Y, the group by arrow 5132 is switched to group by
nodes, but the option to view relative percentages is still active,
so the bars in the data panel now represent nodes, and each bar
illustrates the relative percentages of each user role.
[0079] In FIG. 5Z, the "VIP" role 5182 has been selected as well,
so the relative percentages shown in the bar graphs are adjusted to
include the VIP role. By adding an additional role, the total post
count for each node is different (in general), so the relative
percentages for each of the other roles is reduced.
[0080] FIGS. 5AA and 5BB illustrate changes in the displayed data
in response to a user flipping back and forth between total post
counts (in FIG. 5AA) and relative percentages of the total post
count (in FIG. 5BB). In FIG. 5CC, a user has switched the "group
by" arrow 5132 back to grouping by role, so the bar graphs in the
data panel 5028 update accordingly, each bar corresponding to one
of the selected roles, and showing the relative percent of posts
from each of the selected nodes.
[0081] FIGS. 5DD-5II illustrate how some implementations display
data for an individual bar segment as a user hovers the cursor 5038
over the bar segment. In FIG. 5DD, a user has unselected the VIP
role 5182, so there are only bar graphs for roles "Advanced Studio"
5174, "Category Expert" 5176, and "HiFi_Employee" 5178. In FIG.
5EE, a user has hovered the cursor/pointer 5038 over the region
5202 at least a predetermined length of time (e.g., 1 second or 2
seconds). The region 5202 corresponds to role "Advanced Studio"
5174 and node "Engage with HiFi" 5172. The displayed percentage
"3.3%" identifies the percentage of posts by "Advanced Studio"
users 5174 for the "Engage with HiFi" node/forum 5172. In FIGS.
5FF-5HH, the user hovers the cursor 5038 over the regions 5204,
5206, and 5208, and in each case when the cursor is hovering over a
respective region, the corresponding percentage for the respective
region is displayed by the device displaying the metric explorer
user interface. These are all for the role "Advanced Studio" 5174,
each corresponding to a node or forum. In this implementation, the
correspondence is directly visible because the color of each bar
segment (5204, 5206, and 5208) corresponds to the highlighting
color of the node (5184, 5186, and 5188 respectively). Because of
rounding, each of the percentages, the total of the percentages is
not exactly 100% (3.3%+56.5%+29.4%+10.7%=99.9%). In some
implementations, the user interface employs rounding techniques so
that the sum is guaranteed to be 100%. FIGS. 5II and 5JJ illustrate
the display of the numeric percentages (37.9% and 14.8%) for the
"CodeCave Blog" node 5188 for the user roles "Category Expert" 5176
and "HiFi_Employee" 5178. The percentages display generally over
the corresponding regions 5210 and 5212.
[0082] FIGS. 5KK-5OO illustrate the display of relative percentages
when the data is grouped by nodes rather than user roles. In FIG.
5KK, a user has switched the "group by" indicator 5132, and thus
the bars are displaying vertically, with region sizes as a
percentage of posts for each node. FIGS. 5LL-5OO illustrate
hovering over regions 5214, 5216, 5218, and 5220 with cursor 5038.
Each of these regions corresponds to the user role "Category
Expert" 5176, but the percentage is based on the nodes 5172, 5184,
5186, and 5188 respectively.
[0083] Comparison of FIGS. 5II-5OO illustrates how the relative
percent for a bar region depends on how the data is viewed. In FIG.
5II, bar region 5210 corresponds to the "CodeCave Blog" node 5188
and the "CategoryExpert" user role 5176, and this region is 37.9%
of the total post count for the user role 5176. In FIG. 5OO, the
bar region 5220 corresponds to the "CodeCave Blog" node 5188 and
the "CategoryExpert" user role 5176 (just like bar region 5210 in
FIG. 5II), but in FIG. 5OO, the bar region 5220 represents 73.9% of
the post count for the "CodeCave Blog" node 5188.
[0084] FIGS. 5PP-5VV further illustrate display of numeric data for
a bar region when the cursor hovers over a region for a
predetermined period of time. In FIG. 5PP, the user role 5182 is
reselected, and thus the bars in the bar graphs include this user
role. As shown in the upper left corner of the data panel 5128, the
view indicator/button 5200 indicates that the device (e.g., device
110) displaying the user interface shown in FIGS. 5PP-5VV is
displaying bar graphs with each bar region shown as a relative
percent. In this view mode, all of the bars have the same length,
corresponding to 100%. In FIG. 5QQ, a user has switched the view
mode, now viewing data based on the counts. (The currently selected
metric is "post count" as shown in the metric selector panel 5020.)
In some implementations, the selector 5200 itself acts as a button,
so that a user can switch view modes by clicking on the button
5200. In some implementations, the view mode is selected from a
menu or toolbar icon (not illustrated). In some implementations,
the menu or toolbar selection options are in addition to the
indicator button 5200. As shown in FIG. 5QQ, the view mode
indicator 5198 shown that the view mode is by number/count. In some
implementations, the symbol "#" indicates viewing of data by
counts. As illustrated in FIG. 5QQ, when viewing data by counts
rather than percentages, the bars of unequal length when different
quantities of data are associated with the different nodes (e.g.,
different aggregate post counts for "Engage with HIFI," "HIFI
Ideas," "Coder Ideas," and "CodeCave Blog").
[0085] FIGS. 5RR-5UU illustrate the display of post counts for the
VIP role 5182 for each of the four nodes 5172, 5184, 5186, and
5188. The user interface displays the count for a region when the
cursor hovers over the region for a predetermined length of time,
and the user interface removes the displayed count for a region
when a user moves the cursor 5038 outside of the region. In some
implementations, there is a slight delay before removing the
displayed number (e.g., half a second). In some implementations,
the predetermined length of time that constitutes "hovering" is
configurable, either for an individual user using the user
interface, or for a community, or for other logical groups of
individuals who use the user interface. As shown in FIGS. 5RR and
5SS, the numeric display of the count for a region will, in some
circumstances, exceed the size of the region. In these
circumstances, the numeric display is placed as much as possible
within the boundary of the region so that the user viewing the user
interface can readily correlate the data to a region. As
illustrated in FIG. 5VV, when the cursor 5038 moves to a location
that is not above any graph regions, no numeric counts are
displayed.
[0086] FIG. 6 illustrates examples of a data flow and architecture
supporting the level 1, level 2 and/or level 3 data reporting and
visualization, e.g., in the metric explorers described above. FIG.
6 is merely illustrative, and in actual implementations, more or
fewer components are, optionally, used than those shown. In
addition, some components optionally support a different set of
functions than those described.
[0087] As shown in FIG. 6, application 5602 ("LIA") provides the
platform that supports one or more online communities, e.g., online
communities associated with various business entities (e.g.,
retailers, cosmetic companies, consumer electronics companies,
etc.). The users (e.g., users 102 in FIG. 1) of the online
communities generate content (e.g., blog posts, reviews, comments,
ratings, answers, replies, etc.), and data related to their
interactions (e.g., posting, rating content, registration, replying
to questions, providing comments, etc.) with the communities are
stored in persistent log 5604. Persistent log 5604 is scalable,
fault tolerant, and has built-in redundancy to guard against
failures. Persistent log 5604 stores all the data associated with
the user interaction with the online communities (e.g., community
interaction logs 324, forum data 326 and the like are stored at a
database server 118 that is associated with online community 100 as
shown in FIGS. 1 and 3). The data includes, for example, data
related to the "who", "what", "when", and "where" aspects of the
user interactions with the online communities. In addition,
attributes information (related to the "how" aspect) is also stored
in association with the "what" aspect of the data.
[0088] In some implementations, as shown in FIG. 6, metrics and
attributes are defined by the designer of application 5602, and the
definitions of the metrics and attributes are stored in a
definition store 5606. In general, metrics are raw data concerning
various actions or interactions performed by the users of the
communities. Examples of metrics include page views, posts, kudos,
answers, replies, registrations, comments, logins, etc. Attributes
generally refer to the context information (e.g., device type,
time, community name, topics, keywords, etc.) associated with
particular actions or metrics. Sometimes, attributes also include
environmental variables associated with particular actions or
metrics. In some implementations, the definitions of metrics and
attributes are stored as definition files, and definitions files
can be modified, added, and/or deleted from the definition store
5606.
[0089] In some implementations, as shown in FIG. 6, based on the
definitions of metrics and attributes, some standard aggregation
5608 are defined and stored. Examples of standard aggregations 5608
include total views, average number of posts per day, average
response time, total number of posts, etc. These standard
aggregations are simple computations (e.g., additions,
multiplications, averages, etc.) based on the raw interaction data
recorded for the communities and stored in the persistent logs
5604. The standard aggregations 5608 can be easily defined using
various scripting language, and can be retrieved by queries.
[0090] In some implementations, as shown in FIG. 6, standard
aggregations computed based on actual data recorded on the
communities are stored as standard view data 5610. The standard
view data 5610 can be quickly retrieved and displayed to a viewer
(e.g., a community manager, stakeholder and/or executive) via the
metric explorers described above. As shown in FIG. 6, metric
explorer 5612 (e.g., the user interfaces described with reference
to FIGS. 9-005 to 9-141 and 9-171 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"), and widgets
(e.g., the widgets described 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 dashboard 5614 are supported by a general purpose
visualization engine 5616. The metric explorer 5612, widgets and
dashboard 5614, and the general purpose visualization engine 5616
access the standard view data 5610 directly and present the
standard aggregations and raw metrics to the user, e.g., using the
example user interfaces described earlier. One advantage of
computing and storing the standard view data 5610 is fast response
time during interaction with the metric explorer 5612 and the
widget and dashboard 5614, as indicated in FIG. 6.
[0091] 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 FIG. 6. For
example, advanced analytics algorithms are used to compute various
community health factors (e.g., CHI, FEI, etc.). Other advanced
analytics include metrics for measuring influence of users, hotness
of topics, etc. Typically, these more advanced analytics are not
simple aggregations of raw interactions data recorded on the
communities. Instead, more complex algorithms (e.g., statistical
methods, machine learning methods, non-linear analysis, etc.) are
used to derive these analytics. Typically, these analytics have a
non-linear relationship with the various metrics used to derive the
analytics. In addition, these advanced analytics typically are
based on a large number (e.g., hundreds) of standard metrics.
[0092] 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 FIG. 6. In some
implementations, as shown in FIG. 6, persistent log 5604 and
standard view data 5610 both serve as the data sources for
computing the advanced analytics 5618. In some implementations,
data derivatives 5620 computed based on actual metrics data
according to the advanced analytics algorithms are stored with the
standard view data 5610, for quick retrieval and presentation by
the metric explorer 5612 and widget and dashboard 5614, as shown in
FIG. 6.
[0093] In some implementations, as shown in FIG. 6, an offline data
derivative archive 5622 is implemented to store prior versions of
the data derivatives. In some implementations, the advanced
analytics algorithms are continuously improved and revised
overtime, and the data derivatives 5620 derived using the older
versions of the advanced analytics algorithms are stored in the
offline data derivative archive 5622 with the their respective
version numbers. In some implementations, the data stored in the
offline data derivatives archive 5622 are used to evaluate the
effectiveness of the advanced analytics algorithms, and provide
benchmarking and comparison data for evaluating and validating the
algorithms.
[0094] As described in earlier parts of the specification and shown
in FIG. 6, a customer intelligence center 5624 is used to provide
integrated data service for community managers, and stakeholders
and executives of business entities providing the online
communities. The customer intelligence center 5624 is an integrated
suite of services, providing the metric explorer, and widgets and
dashboard for users to selectively review data associated with
various online communities. As described earlier, the customer
intelligence center 5624 (e.g., as illustrated by the user
interfaces shown in FIGS. 9-150 to 9-161 of U.S. Provisional Patent
Application No. 61/734,927, filed Dec. 7, 2012, entitled "Systems
and Methods for Presenting Analytic Data") not only provides
standard, predefined metrics, advanced analytics to the users, but
also allows users to define customized metrics and customized user
interfaces (e.g., metrics explorers, widgets and dashboards),
customized reports and visualizations. In addition, the customer
intelligence center 5624 also allows a user (e.g., community
manager, stakeholder, and executive) to establish a notification
system which sends an alert to the user when certain predefined
trigger conditions have been met. For example, a trigger condition
can be a threshold value of a particular metric or data derivative,
and/or a combination of different threshold values for a number of
metrics and data derivatives. The customer intelligence center 5624
access data stored in the standard view data 5610 and data
derivatives 5620 to support its functions.
[0095] 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.
[0096] 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 (e.g., as
described above with reference to FIGS. 5A-5VV) and the standard
and customized widgets and dashboards (e.g., the user interfaces
described with reference to FIGS. 9-142 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"). 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.
[0097] In some implementations, as shown in FIG. 6, definitions of
the customized metrics, aggregations, widgets, and reports are
stored in the definition store 5606, together with the definitions
of standard metrics, attributes, and data derivatives. In some
implementations, the stored definitions of the customized metrics,
aggregation, widgets, and reports are reused by their creators. In
some implementations, the stored definitions of the customized
metrics, aggregation, widgets, and reports searchable and utilized
by other users who, in some circumstances, will find them useful
for reviewing their own community data in the customer intelligence
center 5624.
[0098] 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.
[0099] 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 FIG. 6. For example, data
from third-party channels, such as third-party blogs, micro-blogs
(e.g., twitter), social networks (e.g., Facebook, Google+, etc.),
and other social media (e.g., Youtube, Flickr, etc.), can be
selectively presented in the metric explorer as well. The
integration of social media channels 5634 into the metric explorer
allows users to have a broader view of the impact and health of
their online communities and business objectives.
[0100] In some implementations, as shown in FIG. 6, persistent logs
5604 also store data related to the usage of the customer
intelligence center 5624, such as what customization the user has
made to the metrics explorer, widgets and dashboards, what
customized metrics, aggregations, reports, and widgets have been
created by the customers, what notifications have been implemented
by the customers, how frequently each types of metrics,
aggregations, data derivatives are reviewed by the customers, what
times periods the customers typically wish to review, etc. The data
related to the usage of the customer intelligence center 5624 can
be used to generate additional definitions that are useful for many
other customers. The usage data can also be used to determine what
standard and customer view data to compute and store for easy and
fast access. The usage data is in general useful for improving the
overall efficiency and usability of the customer intelligence
center.
[0101] 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.
* * * * *