U.S. patent application number 14/098480 was filed with the patent office on 2014-06-19 for device, method and user interface for presenting analytic 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 | 20140173501 14/098480 |
Document ID | / |
Family ID | 50932491 |
Filed Date | 2014-06-19 |
United States Patent
Application |
20140173501 |
Kind Code |
A1 |
Wu; Michael |
June 19, 2014 |
Device, Method and User Interface for Presenting Analytic Data
Abstract
A device with one or more processors and memory displays a user
interface, including a data display panel and a plurality of
data-selection interfaces. A first data-selection interface
includes options corresponding to divisions in a first data-set
dimension. A second data-selection interface corresponding to
divisions in a second data-set dimension. The device displays a
visual representation of a subset of the data set in the data
display panel and receives a first input. In response to receiving
the first input, when the option was an option from the first
plurality of options, the device displays previously undisplayed
data corresponding to a respective division in the first data-set
dimension, and when the option was an option from the second
plurality of options, the device displays previously undisplayed
data corresponding to a respective division 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/098480 |
Filed: |
December 5, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61734927 |
Dec 7, 2012 |
|
|
|
Current U.S.
Class: |
715/781 |
Current CPC
Class: |
G06Q 50/01 20130101;
G06F 3/0481 20130101; G06F 16/904 20190101; G06F 16/248 20190101;
G06F 3/04842 20130101 |
Class at
Publication: |
715/781 |
International
Class: |
G06F 3/0484 20060101
G06F003/0484 |
Claims
1. A method, comprising: at a computing device with a display:
displaying a user interface, including: a data display panel,
wherein the data display panel is configured to display a visual
representation of a data set; and a plurality of data-selection
interfaces, including: a first data-selection interface extending
from the data display panel in a first direction, wherein the first
selection interface includes a first plurality of options for
selecting data to display in the data display panel based on
divisions in a first data-set dimension; a second data-selection
interface extending from the data display panel in a second
direction that is different from the first direction, wherein the
second data-selection interface includes a second plurality of
options for selecting data to display in the data display panel
based on divisions in a second data-set dimension, and the second
data-set dimension is different from the first data-set dimension;
displaying a visual representation of a subset of the data set in
the data display panel; receiving a first input corresponding to
selection of an option from one of the data-selection interfaces;
and in response to receiving the first input: in accordance with a
determination that the option was an option from the first
plurality of options, changing the data displayed in the data
display panel to display data corresponding to a respective
division in the first data-set dimension that was not displayed
immediately prior to receiving the first input; and in accordance
with a determination that the option was an option from the second
plurality of options, changing the data displayed in the data
display panel to display data corresponding to a respective
division in the second data-set dimension that was not displayed
immediately prior to receiving the first input.
2. The method of claim 1, wherein the first direction is opposite
to the second direction.
3. The method of claim 1, wherein the first data-set dimension is
independent of the second data-set dimension.
4. The method of claim 1, wherein: the plurality of data-selection
interfaces include a third data-selection interface extending from
the data display panel in a third direction; the third direction is
different from the first direction and different from the second
direction; the third data-selection interface includes a third
plurality of options for selecting data to display in the data
display panel based on divisions in a third data-set dimension; and
the third data-set dimension is different from the first data-set
dimension and different from the second data-set dimension.
5. The method of claim 1, wherein: the plurality of data-selection
interfaces, include a fourth data-selection interface extending
from the data display panel in a fourth direction; the fourth
direction is different from the first direction, the second
direction and the third direction; the fourth data-selection
interface includes a fourth plurality of options for selecting data
to display in the data display panel based on divisions in a fourth
data-set dimension; and the fourth data-set dimension is different
from the first data-set dimension, the second data-set dimension,
and the third data set dimension.
6. The method of claim 1, wherein two or more of the data-selection
interfaces each correspond to a different data-set dimension of a
plurality of data-set dimensions of the data set.
7. The method of claim 6, wherein the plurality of data-set
dimensions includes a metric dimension that divides data units in
the data set by the type of metric that was used to produce the
data units.
8. The method of claim 7, wherein: a respective type of metric,
corresponding to a respective division in the metric dimension,
that was used to produce the data units, includes a plurality of
subdivisions; and a data-selection interface corresponding to the
data-set metric dimension includes options for selecting data to
display in the data display panel based on subdivisions in the
respective division.
9. The method of claim 6, wherein the plurality of data-set
dimensions includes a user dimension that divides data units in the
data set by which user is associated with the data units.
10. The method of claim 6, wherein the plurality of data-set
dimensions includes a data-source dimension that divides data units
in the data set by the data source, of a plurality of data sources,
from which the data units were received.
11. The method of claim 10, wherein the plurality of data sources
includes a first sub-domain and a second sub-domain associated with
a same domain owner.
12. The method of claim 10, wherein the plurality of data sources
includes a first domain associated with a first domain owner and a
second domain associated with a second domain owner different from
the first domain owner.
13. The method of claim 6, wherein the plurality of data-set
dimensions includes a time dimension that divides data units in the
data set by a time associated with the data units.
14. The method of claim 13, wherein a data-selection interface
corresponding to the time dimension includes: a first control for
selecting a time range to display; and a second control for
selecting a step size in the time range.
15. The method of claim 14, wherein: the data set is subject to one
or more known reporting constraints; and the first control and/or
the second control indicate the one or more known reporting
constraints for the data set.
16. The method of claim 1, wherein: the first data-selection
interface includes a first number of slots to display the first
plurality of options for selecting divisions of the first data-set
dimension to display in the data display panel; and the first
data-set dimension includes a second number of divisions that
exceeds the first number of slots.
17. The method of claim 16, further comprising: receiving a second
input corresponding to selection of a respective option in the
first plurality of options, wherein the respective option is
associated with a respective division of the first-data set
dimension; and in response to receiving the second input: in
accordance with a determination that first data corresponds to the
respective division is displayed in the data display panel, ceasing
to display the first data corresponding to the respective division
in the data display panel; and in accordance with a determination
that second data corresponds to the respective division is not
displayed in the data display panel, displaying the second data
corresponding to the respective division in the data display
panel.
18. The method of claim 16, further comprising: receiving a third
input corresponding to a request to view options for selecting one
or more divisions of the first data-set dimension that do not
correspond to currently displayed options in the first
data-selection interface; in response to receiving the third input,
displaying a representation of one or more divisions of the first
data-set dimension that do not correspond to currently displayed
options in the first data-selection interface; receiving a fourth
input corresponding to selection of a respective division in the
representation of the one or more divisions; and in response to
receiving the fourth input, displaying a respective option
corresponding to the respective division in the first data-set
dimension in the first data-selection interface.
19. The method of claim 16, further comprising: receiving a fifth
input corresponding to a request to remove a respective option of
the first plurality of options from the first data-selection
interface; and in response to receiving the fifth input, ceasing to
display the respective option in the first data-selection
interface.
20. The method of claim 1, further comprising, displaying in the
plurality of data-selection interfaces information indicating which
divisions of a plurality of data-set dimensions, corresponding to
the data-selection interfaces, are displayed in the data display
field.
21. 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 a user interface, including: a data display panel,
wherein the data display panel is configured to display a visual
representation of a data set; and a plurality of data-selection
interfaces, including: a first data-selection interface extending
from the data display panel in a first direction, wherein the first
selection interface includes a first plurality of options for
selecting data to display in the data display panel based on
divisions in a first data-set dimension; a second data-selection
interface extending from the data display panel in a second
direction that is different from the first direction, wherein the
second data-selection interface includes a second plurality of
options for selecting data to display in the data display panel
based on divisions in a second data-set dimension, and the second
data-set dimension is different from the first data-set dimension;
displaying a visual representation of a subset of the data set in
the data display panel; receiving a first input corresponding to
selection of an option from one of the data-selection interfaces;
and in response to receiving the first input: in accordance with a
determination that the option was an option from the first
plurality of options, changing the data displayed in the data
display panel to display data corresponding to a respective
division in the first data-set dimension that was not displayed
immediately prior to receiving the first input; and in accordance
with a determination that the option was an option from the second
plurality of options, changing the data displayed in the data
display panel to display data corresponding to a respective
division in the second data-set dimension that was not displayed
immediately prior to receiving the first input.
22. 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 a user interface,
including: a data display panel, wherein the data display panel is
configured to display a visual representation of a data set; and a
plurality of data-selection interfaces, including: a first
data-selection interface extending from the data display panel in a
first direction, wherein the first selection interface includes a
first plurality of options for selecting data to display in the
data display panel based on divisions in a first data-set
dimension; a second data-selection interface extending from the
data display panel in a second direction that is different from the
first direction, wherein the second data-selection interface
includes a second plurality of options for selecting data to
display in the data display panel based on divisions in a second
data-set dimension, and the second data-set dimension is different
from the first data-set dimension; display a visual representation
of a subset of the data set in the data display panel; receive a
first input corresponding to selection of an option from one of the
data-selection interfaces; and in response to receiving the first
input: in accordance with a determination that the option was an
option from the first plurality of options, change the data
displayed in the data display panel to display data corresponding
to a respective division in the first data-set dimension that was
not displayed immediately prior to receiving the first input; and
in accordance with a determination that the option was an option
from the second plurality of options, change the data displayed in
the data display panel to display data corresponding to a
respective division in the second data-set dimension that was not
displayed immediately prior to receiving the first input.
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 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); 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 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 computing
device with a display, displaying a user interface, including a
data display panel, wherein the data display panel is configured to
display a visual representation of a data set; and a plurality of
data-selection interfaces. The plurality of data-selection
interfaces include a first data-selection interface extending from
the data display panel in a first direction, where the first
selection interface includes a first plurality of options for
selecting data to display in the data display panel based on
divisions in a first data-set dimension; and a second
data-selection interface extending from the data display panel in a
second direction that is different from the first direction, where
the second data-selection interface includes a second plurality of
options for selecting data to display in the data display panel
based on divisions in a second data-set dimension, and the second
data-set dimension is different from the first data-set dimension.
The method further includes displaying a visual representation of a
subset of the data set in the data display panel; and receiving a
first input corresponding to selection of an option from one of the
data-selection interfaces. The method also includes, in response to
receiving the first input: in accordance with a determination that
the option was an option from the first plurality of options,
changing the data displayed in the data display panel to display
data corresponding to a respective division in the first data-set
dimension that was not displayed immediately prior to receiving the
first input; and in accordance with a determination that the option
was an option from the second plurality of options, changing the
data displayed in the data display panel to display data
corresponding to a respective division in the second data-set
dimension that was not displayed immediately prior to receiving the
first input.
[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-4F are flow diagrams illustrating a method of
changing views of data in a data viewing interface in accordance
with some implementations.
[0013] FIGS. 5A-5BBB 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-5BBB 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-5BBB 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-4F optionally correspond to instructions stored in a
computer memory or computer readable storage medium.
Methods for Displaying Data
[0048] FIGS. 4A-4F are flow diagrams illustrating a method 400 of
changing views of data 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, combined and/or the order of some
operations is, optionally, changed. As described below, the method
400 provides an intuitive way to change views of data 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) a user interface (e.g., as
illustrated in FIGS. 5A through 5BBB) including a data display
panel (e.g., the central region illustrated in FIGS. 5A-5BBB). The
data display panel is configured to display a visual representation
of a data set. In some implementations, the data set is a
multi-dimensional data set that includes data organized in
accordance with a plurality of different dimensions that correspond
to independent variables that can be used to analyze the data.
[0050] The device also displays (404) a plurality of data-selection
interfaces in the user interface (e.g., one or more of the
peripheral regions illustrated in FIGS. 5A-5BBB). In some
implementations, the device, displays (406) in the plurality of
data-selection interfaces information indicating which divisions of
a plurality of data-set dimensions, corresponding to the
data-selection interfaces, are displayed in the data display field
(e.g., as shown in FIGS. 5HH-5VV).
[0051] The plurality of data-selection interfaces include (408) a
first data-selection interface extending from the data display
panel in a first direction (e.g., the first data-selection
interface is adjacent to or proximate to a first boundary/side of
the data display panel). The first selection interface includes a
first plurality of options for selecting data to display in the
data display panel based on divisions in a first data-set
dimension. In some implementations, some or all of the divisions in
a data-set dimension correspond to respective predefined ranges of
values in an independent variable in the data-set dimension. In
some implementations, some or all of the divisions in a data-set
dimension correspond to a set of one or more discrete values of an
independent variable in the data-set dimension.
[0052] The plurality of data-selection interfaces include (410) a
second data-selection interface extending from the data display
panel in a second direction that is different from the first
direction (e.g., the second data-selection interface is adjacent to
or proximate to a second boundary/side of the data display panel).
The second data-selection interface includes a second plurality of
options for selecting data to display in the data display panel
based on divisions in a second data-set dimension. The second
data-set dimension is (412) different from the first data-set
dimension.
[0053] In some implementations, the first direction is (414)
opposite to the second direction (e.g., the first direction is up
and the second direction is down, or the first direction is right
and the second direction is left). In some implementations, the
data display panel includes data axes that provide information
regarding the data. In some implementations, one or more of these
data axes is different from the data-set dimensions. For example,
the data display area includes at least one axis that corresponds
to a quantity of data units, so as to show a magnitude (e.g., an
absolute magnitude such as the number of data units, or a relative
magnitude such as a percentage of the data units) of data units
(e.g., the dependent variable) that correspond to a particular
division (e.g., value or range of values of an independent
variable) in a respective data-set dimension.
[0054] In some implementations, the first data-set dimension is
(416) independent of (e.g., orthogonal to) the second data-set
dimension. Thus, in some implementations, the user can drill down
in one data-set dimension to look at a specific set of divisions or
subdivisions of data and then as the user switches between
different divisions of data in the second data-set dimension, the
same specific set of divisions or subdivisions of data with respect
to the first data-set dimension will be displayed in the different
divisions of the second data-set dimension. For example, if the
user selects to view data divided by ordinary users, moderators and
administrators, the user can then switch from viewing a comparison
of the activity of these different groups of users in a first
product support discussion forum for a first product to viewing a
comparison of the activity of these different groups of users in a
second product support discussion forum for a second product by
switching an option in a data-selection interface from displaying
the first forum to displaying the second forum, while maintaining
the selection of the division of the data by ordinary users,
moderators and administrators.
[0055] In some implementations, the plurality of data-selection
interfaces include (418) a third data-selection interface extending
from the data display panel in a third direction. In some
implementations, the third direction is different from the first
direction and different from the second direction. In some
implementations, the third data-selection interface includes a
third plurality of options for selecting data to display in the
data display panel based on divisions in a third data-set
dimension, and the third data-set dimension is different from the
first data-set dimension and different from the second data-set
dimension (e.g., the third data-selection interface is adjacent to
or proximate to a third boundary/side of the data display
panel).
[0056] In some implementations, the plurality of data-selection
interfaces, include (420) a fourth data-selection interface
extending from the data display panel in a fourth direction. In
some implementations, the fourth direction is different from the
first direction, the second direction and the third direction. In
some implementations, the fourth data-selection interface includes
a fourth plurality of options for selecting data to display in the
data display panel based on divisions in a fourth data-set
dimension, and the fourth data-set dimension is different from
(optionally, each of) the first data-set dimension, the second
data-set dimension, and the third data set dimension (e.g., the
fourth data-selection interface is adjacent to or proximate to a
fourth boundary/side of the data display panel).
[0057] In some implementations, two or more of the data-selection
interfaces each correspond to (422) a different data-set dimension
of a plurality of data-set dimensions of the data set. In some
implementations (e.g., where two or more of the data-selection
interfaces each correspond to a different data-set dimension), the
plurality of data-set dimensions includes (424) a metric dimension
that divides (e.g., classifies) data units in the data set by the
type of metric that was used to produce the data units (e.g., the
metric dimension answers the question "what is the data?"). For
example, for data of a discussion board, a data unit would be
classified as a response to a post, a post by a user, or other
examples of metrics. An example of a data-selection interface
including options corresponding to divisions in the metric
dimension is described herein with reference to the region on the
left side of the central data display panel in FIGS. 5A-5BBB.
[0058] In some implementations (e.g., where the plurality of
data-set dimensions includes a metric dimension), a respective type
of metric, corresponding to a respective division in the metric
dimension, that was used to produce the data units, includes (426)
a plurality of subdivision. In some implementations, a
data-selection interface corresponding to the data-set metric
dimension (e.g., the first data-selection interface) includes
options (e.g., described herein with reference to the lower portion
of the region on the left side of the central data display panel in
FIGS. 5A-5BBB) for selecting data to display in the data display
panel based on subdivisions in the respective division. In some
implementations, the options for selecting data to display based on
the subdivisions are displayed when (optionally, only when) the
respective division is selected to be displayed.
[0059] In some implementations (e.g., where two or more of the
data-selection interfaces each correspond to a different data-set
dimension), the plurality of data-set dimensions includes (428) a
user dimension that divides (e.g., classifies) data units in the
data set by which user is associated with the data units (e.g., the
user dimension answers the question "who is the data associated
with?"). For example, for data of a discussion board, a data unit
corresponding to a comment written by a respective user would be
classified as comment by the respective user. An example of a
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. 5A-5BBB.
[0060] In some implementations (e.g., where two or more of the
data-selection interfaces each correspond to a different data-set
dimension), the plurality of data-set dimensions includes (430) a
data-source dimension that divides (e.g., classifies) data units in
the data set by the data source, of a plurality of data sources,
from which the data units were received (e.g., the data-source
dimension answers the question "where was the data generated?").
For example, for data of a website, a data unit corresponding to a
comment written on a discussion board would be classified as being
associated with the discussion board, while a comment written in a
wiki would be classified as being associated with the wiki. An
example of a data-selection interface including 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. 5A-5BBB.
[0061] In some implementations (e.g., where the plurality of
data-set dimensions includes a data-source dimension), the
plurality of data sources includes (432) a first sub-domain and a
second sub-domain associated with a same domain owner. For example,
the data sources include different discussion boards within a
hierarchy of discussion boards for a single website, as shown in
the region on the top side of the central data display panel in
FIGS. 5A-5BBB. In some implementations (e.g., where the plurality
of data-set dimensions includes a data-source dimension), the
plurality of data sources includes (434) a first domain associated
with a first domain owner and a second domain associated with a
second domain owner different from the first domain owner. For
example, the data sources include different third party providers,
such as Twitter, Facebook, or other third party providers.
[0062] In some implementations (e.g., where two or more of the
data-selection interfaces each correspond to a different data-set
dimension), the plurality of data-set dimensions includes (436) a
time dimension that divides (e.g., classifies) data units in the
data set by a time associated with the data units (e.g., the time
dimension answers the question "when was the data generated?"). For
example, for data of a website, a data unit corresponding to a
comment written on November 30 would be classified as being a
comment from November, while a comment written in a wiki on
December 2 would be classified as being a comment from December. An
example of a data-selection interface including options
corresponding to divisions in the time dimension is described
herein with reference to the region on the bottom side of the
central data display panel in FIGS. 5A-5BBB.
[0063] In some implementations (e.g., where the plurality of
data-set dimensions includes a time dimension), a data-selection
interface corresponding to the time dimension (e.g., the fourth
data-selection interface) includes (438) a first control for
selecting a time range to display and a second control for
selecting a step size in the time range. In some implementations
(e.g., where the plurality of data-set dimensions includes a time
dimension), the data set is subject to (440) one or more known
reporting constraints (e.g., a beginning of the reporting period,
an end of the reporting period and/or a minimum step size in the
reporting period), and the first control and/or the second control
indicate the one or more known reporting constraints for the data
set. For example, the timeline has ends at the beginning and end of
reportable data and/or the step size selector includes only
available step sizes. In some implementations, the first control
and the second control change when a different data set or a
different subset of the data set with different reporting
constraints is selected to be displayed in the data display
panel.
[0064] The device also displays (442) a visual representation of a
subset of the data set in the data display panel. After displaying
the user interface including the data display panel, the plurality
of data-selection user interfaces and the subset of data, the
device receives (444) a first input (e.g., from the input device)
corresponding to selection of an option from one of the
data-selection interfaces. In response (446) to receiving the first
input the device performs one or more of operations 448-454
depending on which data-selection interfaces was interacted with by
the user. In accordance with a determination that the option was an
option from the first plurality of options, the device changes
(448) the data displayed in the data display panel to display data
corresponding to a respective division in the first data-set
dimension that was not displayed immediately prior to receiving the
first input. In accordance with a determination that the option was
an option from the second plurality of options, the device changes
(450) the data displayed in the data display panel to display data
corresponding to a respective division in the second data-set
dimension that was not displayed immediately prior to receiving the
first input. In some implementations, in response to receiving the
first input, in accordance with a determination that the selected
option was an option from the third plurality of options, the
device changes (452) the data displayed in the data display panel
to display data corresponding to a respective division in the third
data-set dimension that was not displayed immediately prior to
receiving the first input. In some implementations, in response to
receiving the first input, in accordance with a determination that
the selected option was an option from the fourth plurality of
options, the device changes (454) the data displayed in the data
display panel to display data corresponding to a respective
division in the fourth data-set dimension that was not displayed
immediately prior to receiving the first input.
[0065] In some implementations, the first data-selection interface
includes (456) a first number of slots to display the first
plurality of options for selecting divisions of the first data-set
dimension to display in the data display panel, and the first
data-set dimension includes a second number of divisions that
exceeds the first number of slots (e.g., as shown in FIGS. 5D-5GG).
In some implementations, the device receives (458) a second input
corresponding to selection of a respective option in the first
plurality of options, where the respective option is associated
with a respective division of the first-data set dimension. In
response (460) to receiving the second input, in accordance with a
determination that first data corresponds to the respective
division is displayed in the data display panel, the device ceases
(462) to display the first data corresponding to the respective
division in the data display panel (e.g., the device stops
displaying previously displayed data corresponding to a previously
selected division); and in accordance with a determination that
second data corresponds to the respective division is not displayed
in the data display panel, the device displays (464) the second
data corresponding to the respective division in the data display
panel (e.g., the device displays previously undisplayed data
corresponding to a previously unselected division). Examples of
ceasing to display and displaying data in response to user
selection and de-selection of options in the data-selection
interfaces are described in greater detail herein with reference to
FIGS. 5HH-5VV. In some implementations the first data is the same
as the second data.
[0066] In some implementations, the device receives (466) a third
input corresponding to a request to view options for selecting one
or more divisions of the first data-set dimension that do not
correspond to currently displayed options in the first
data-selection interface (e.g., the request includes a search
query). In some implementations, in response to receiving the third
input, the device displays (468) a representation of one or more
divisions of the first data-set dimension that do not correspond to
currently displayed options in the first data-selection interface
(e.g., the response includes displaying a list of search results
matching the search query, as shown in FIGS. 5D-5H). In some
implementations (e.g., after displaying the search results), the
device receives (470) a fourth input corresponding to selection of
a respective division in the representation of the one or more
divisions (e.g., selection of one of the search results). In some
implementations, in response to receiving the fourth input, the
device displays (472) a respective option corresponding to the
respective division in the first data-set dimension in the first
data-selection interface. Examples of adding options to a
data-selection interface based on a search of options corresponding
to divisions of a data-set dimension are as described in greater
detail herein with reference to FIGS. 5G-5J. In some
implementations, the respective option enables the user to have
one-click access to displaying or ceasing to display data
corresponding to the respective division in the data display
panel.
[0067] In some implementations, the device receives (474) a fifth
input corresponding to a request to remove a respective option of
the first plurality of options from the first data-selection
interface and in response to receiving the fifth input, ceasing
(476) to display the respective option in the first data-selection
interface. For example, the user can select a respective option to
remove from a data-selection interface by selecting an option
deletion affordance proximate to the respective option in the
data-selection interface.
[0068] It should be understood that the particular order in which
the operations in FIGS. 4A-4F 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 500, 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-4F. 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
500, 600, 700 and 800 in U.S. Provisional Patent Application No.
61/734,927). For brevity, these details are not repeated here.
[0069] 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.
[0070] 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.
[0071] 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.
[0072] 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.
[0073] FIGS. 5A-5BBB 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.
[0074] FIGS. 5A-5BBB 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.
[0075] FIG. 5A illustrates an example of a user interface for
selectively displaying data of interest from a multi-dimensional
data set. The example user interface shown in FIG. 5A includes a
metric explorer 5000. As illustrated in FIG. 5A, metric explorer
5000 has a data display panel 5028 surrounded by various data
selection interfaces (or data selectors) that determine what subset
of data is to be displayed in the data display panel 5028. Each
data-selection interface of the metric explorer 5000 extends from
the data display panel 5028 in a respective direction. Other
implementations place the selectors in other locations relative to
the data panel (e.g., top and bottom only, or only the sides), and
some implementations utilize fewer selectors (e.g., if there is
only one channel, no channel selector is necessary). Examples of
what data set dimensions and how particular divisions in a data can
be selected in the data selectors are provided below.
[0076] In the implementation illustrated in FIGS. 5A and 5B, the
channel selector 5018 is located in a panel above the data display
panel 5028. The channel selector 5018 specifies the source of the
data (i.e., relates to the "where" aspect of the data). As
illustrated in FIG. 5B, the channel selector 5018 selects where the
data comes from (e.g., a specific online community, Facebook.TM.,
or Twitter.TM.). This is described in more detail below.
[0077] The metric explorer 5000 also includes a metric selector
5020 and a metric attribute selector 5022. The metric selector 5020
and metric attribute selector 5022 specify what type of data is
displayed in the data panel 5028 (i.e., relates to the "what"
aspect of the data). In the implementation shown in FIGS. 5A and
5B, the metric selector 5020 and metric attribute selector 5022
appear on the left side of the data display panel 5028. In some
implementations, all or some of the metric attributes are combined
with the metrics to select the data to be displayed. When the total
number of metrics is large, it is generally better to provide a few
frequently used metrics (e.g., page views, logins, sessions, post
count) in the metric selector 5020, and allow the user to select
additional metrics via a metric selector button 5032 (e.g., as
described in greater detail below). In some implementations one or
more of the metrics has a plurality of attributes and metric
attribute selector 5022 is provided to enable the user to request
display of particular attributes of a respective metric. This is
described in greater detail below. In addition, in some
implementations, only a selected subset of all available metrics
and attributes are provided in the metrics selection interface
(including the metrics selector 5020 and the attribute selector
5022).
[0078] The implementation shown in FIGS. 5A and 5B includes a time
range selector 5024 below the data display panel 5028. Because data
is generated based on many different user interactions with an
online community or social media (potentially 24 hours a day), a
user optionally selects a time range for the data to be displayed.
For example, the time range could be a specific month, a specific
day, or other time period. In general, the time range is a
contiguous span of time (e.g., all of March, 2012), but in some
implementations, a user optionally selects multiple discrete ranges
(e.g., 5:00 PM-10:00 PM on several different days). As illustrated
in FIG. 5B, the time range selector 5024 specifies a time range for
the data of interest. As noted previously, in some implementations,
the time range selector can appear in any location, and is not
necessarily located at the bottom of the metric explorer 5000. The
time range selector 5024 is described in more detail below.
[0079] The metric explorer 5000 illustrated in FIGS. 5A and 5B also
includes a user selector 5026, which enables a user of the metric
explore (e.g., a manager) to selectively display the data
associated with specific users or groups of users. For example, the
user may wish to view the posts of users with certain demographic
characteristics, or users with certain interaction characteristics
(e.g., users who have provided accepted answers to other users'
questions). As illustrated in FIG. 5B, the user selector 5026
specifies whose data will be seen in the data panel 5028. The user
selection panel 5026 is described in greater detail below.
[0080] In FIG. 5C, the channel selector panel 5018, an example of a
data selection interface, includes one or more selectable data
channels (e.g. communities 5030). In some implementations, the
channel selection involves two steps: selection of a category of
data sources (e.g., online communities), then the selection of a
specific data source within that category (e.g., a specific online
community). In some implementations, the selection of the specific
data source is performed using a node selector 5031. In other
implementations, the selection of the specific data source is part
of the channel selector. In the illustrated implementation of FIG.
5C, the selected channel is "Li" that corresponds to a particular
group of users (e.g., a group of users associated with a company
called "Lithium"). In some implementations, the channel selector is
implemented as an expandable menu with one or more levels of
selectable data channels.
[0081] Once a channel is selected using the channel selector 5018
and/or node selector 5031, a user can choose among the metrics
available for that channel using the metric selection interface
(e.g., including the metric selector 5020 and the attribute
selector 5022), as illustrated in FIG. 5D. In the implementation
illustrated in FIG. 5D, certain popular metrics 5034 are provided
within the metric selector 5020 panel, and can be selected
directly. In this implementation, additional less popular metrics
can be shown in the metric selector 5020 for selection when the
metrics button 5042 is selected by the user. In some
implementations, all of the available metrics for the channel are
displayed in the metric selector 5020, and there is no metrics
button 5042. When the number of available metrics is greater than
the size of the metric selector panel 5020, some implementation
have a scroll bar or other scrolling mechanism so that all of the
metrics can be viewed.
[0082] In some implementations, the user can enter a search term in
a search field, and metrics relevant to the search term are
provided in the metric selector 5020 for user selection. In some
implementations where a metrics selector button 5042 is provided,
additional metrics can be seen by clicking on the button 5042, or a
designated portion thereof (e.g., the triangle shown in FIG. 5D).
In some implementations, when the metrics button 5042 is clicked or
otherwise selected, the user interface brings up a pop-up window
5036 including search field 5037 in which the user can enter search
terms and a search result region in which search results are
displayed. A user can enter a search term (e.g., "threads") in the
search field 5037 of pop-up window 5036, and additional metrics
relevant to the search term are provided to the user for selection,
as shown in FIGS. 5E and 5F. In some implementations, the
additional metrics are ordered by popularity, or alphabetically by
the names of the metrics. In some implementations, the pop-up
window 5036 includes both the name of each metric and a
corresponding short description of what the metric measures. When
the number of additional metrics exceeds the size of the pop-up
window 5036, or the required size of the pop-up window 5036 is
greater than the available screen space, some implementations
include a scroll bar or other scrolling mechanism so that all of
the metrics can be viewed. In some implementations, the short
descriptions are omitted when necessary to avoid the use of scroll
bars. In some implementations, longer descriptions of the metrics
are available either by taking an explicit action (e.g., clicking a
certain portion of the display or hovering the mouse cursor over a
metric).
[0083] Additional metrics that appear in the pop-up window 5036 can
be selected by taking certain actions, such as clicking or double
clicking on the metric using the mouse cursor 5038. This is
illustrated in FIG. 5G. In this figure, the metric "resolved
threads" is added to the metric selector list when the metric is
selected in the pop-up window 5036 (e.g., by clicking or double
clicking). The additional metric "resolved threads" appears in the
supplemental list 5040 below the popular metrics 5034. In the
illustrated implementation, the added metrics always appear below
the identified popular metrics, but in other implementations, the
newly added metrics are interspersed within the popular metrics
(e.g., when the list of metrics is displayed alphabetically).
[0084] FIG. 5H shows another metric "thread depth" added to the
supplemental list of metrics 5040. FIG. 5I illustrates that another
search term "response" brings up a number of additional metrics
relevant to the search term in the pop-up window 5036. FIG. 5J
shows another metric "average response time" has been added to the
supplemental list of metrics 5040 when it is selected by the cursor
5038.
[0085] There are various ways that metrics can be removed from the
list 5034 or the list 5040. For example, selecting a metric in the
list and pressing the "Delete" button on the keyboard, or right
clicking on a metric in the list and selecting "delete" or "remove"
from a contextual pop-up menu. It is also to be noted that the
metrics shown in the list 5034 and the list 5040 are available for
selection, but none of them has been selected to filter the data to
be displayed in the data display panel yet. As will be shown later
in the figures, each of the metrics presented in the metric
selector panel can be selected and deselected (toggled on and off)
using any conventional method of selection (e.g., a single mouse
click or a double click).
[0086] FIGS. 5K-5N illustrate operation of the time range selector
5024 according to some implementations (e.g., determines which
divisions of time are displayed in the time dimension). For some
channels, there is data from the original launch date 5044 up to
the present time 5046. For example, a user viewing data for the
online community she manages could view any range of data from the
original launch date 5044 of the online community. For other
channels, only a limited subset of the data is available, according
to what the owner of the data is willing/able to provide. As
illustrated in FIG. 5L, the timeline 5024 from launch to present is
sometimes divided into months. FIG. 5L illustrates an
implementation in which the time range is specified using sliders.
The left slider 5048 specifies the lower end (or beginning) of the
time range, and the right slider 5050 specifies the upper end of
the time range. In some implementations, there is also a bar 5052
that identifies the selected range. In some implementations, the
bar 5052 can be moved along the timeline 5024 directly, which
changes both the upper and lower limits of the time range at the
same time while maintaining a constant duration of the selected
time range. FIG. 5M illustrates an example of a time grain selector
5054 as part of the time selector interface. Time grain selector
5054 specifies the unit of time (or step size) for the time range.
In this implementation, the three available time grains are "day",
"week", and "month". As shown in FIG. 5M, the "month" time grain is
currently selected, so the time range selector 5024 selects entire
months. In some implementations, other time grains are provided,
including hours. In some implementations, the available time grains
can be varied based on the channels currently selected.
[0087] FIGS. 5N-5V illustrate operation of the user selector 5026
according to some implementations. In some implementations, there
is a user selection method control 5056 that determines how users
are selected (e.g., determines which divisions of users are
displayed in the user dimension). In some implementations, there is
a method indicator control 5058, which is located at the bottom of
the user selection interface 5026 in FIG. 5N. In this illustration,
the method indicator 5058 has four dots, indicating that there are
four ways to select users. In addition, the first dot is
"highlighted" in a different color, indicating that in FIG. 5N, the
first user selection method is active. As shown in FIG. 5N, the
first user selection method is "all users," as displayed by control
5056. When this method is selected, no further specification is
required.
[0088] In FIG. 5O, the second user selection method "ranks" is
selected in control 5056, and thus the second dot of the method
indicator 5058 is highlighted. In the example presented here, the
data corresponds to an online community for "ACME HiFi", so some of
the ranking names 5060 are customized to that company. The lowest
rank is "Newbie," indicating users who are new to the community.
Going up the ranking scale, different names are assigned to
different levels of involvement with the community. At the top of
the high are VIP participants who have measurable extensive
involvement with the community, HiFi employees, and the Moderator,
who is the user (or users) who actively moderate or manage the
community. Even though some of the ranking names sound like audio
components (e.g., "Pre-Amp" and "Amplifier"), they are used to
define a ranking within the community. In general, each of the
ranking levels has a well-defined rule for what it takes to attain
that rank (e.g., number of posts, number of posts that receive
kudos from other users, etc.). In general, users of different ranks
have different achievements in the community, which optionally
leads to different authorities and/or access privileges in the
community. The criteria for achieving certain ranks in the
community are predefined by the community provider and made known
to users of the community.
[0089] A user using the metric explorer can select one or more of
the ranks of users and view the data in the data panel 5028 for
just those users. For example, in some circumstances, the user
wishes to review the activity of Newbies to see how new users
interact with the community. In some implementations, "All" is
included in the rank list 5060, which selects that data for all
users, regardless of rank. Because this is equivalent to selecting
"all users," some implementations do not include the "All"
option.
[0090] FIG. 5P illustrates using "roles" to select users whose data
would be displayed. Whereas ranks are generally earned based on a
user's contributions and reputation with a community, roles are
assigned to individuals so that they have permission to perform
certain actions. For example, a "Moderator" moderates a community
by reviewing interactions, removing inappropriate content, and so
on. A "BlogAuthor" has permission to post content to a specific
blog. In some implementations, the role list 5062 includes Customer
Intelligence Center users ("CIC"), Tribal Knowledge Base ("TKB")
authors, and so on. In this context, a tribal knowledge base is
something like a "Wiki," but goes through a workflow process before
the data is published. The number and types of roles depends on the
community, and the current disclosure places no limits on what
roles are available to be used. In some implementations, an
individual user is, optionally, assigned to more than one role.
When the number of roles exceeds to the space provided in the user
selection panel 5026, scroll bars or other scrolling mechanism are
automatically added so that all of the roles are accessible. In
some implementations, a single role can be selected by clicking on
it.
[0091] FIGS. 5Q and 5R illustrate one way that multiple roles can
be selected at the same time. In this illustration, one of the
shift keys 5064 on the keyboard is held down while clicking or
dragging across multiple roles, such as the group of selected roles
5066 in FIG. 5R. In general, a representation of the shift key is
not actually displayed on the screen, however in FIGS. 5Q and 5R,
the representations of shift key 5064 is displayed to indicate that
the shift key is being pressed. FIG. 5S shows a second way to
select a non-contiguous set of roles using one of the keyboard
control keys 5068. While holding down a Ctrl key on the keyboard,
multiple roles can be selected by clicking on the desired ones. In
FIG. 5S, the group of selected roles 5066 has expanded to include
two more roles, creating a non-contiguous list. Just like the
representation of Shift key 5064, the representation of Ctrl key
5068 is generally not actually displayed on the screen. These
techniques of selecting multiple roles can also be applied to
selecting multiple ranks, when using ranks to select users.
[0092] Whereas the ranks and roles in FIGS. 5Q-5S select users
indirectly, the fourth method of selecting users is to select them
directly. Because there are generally a very large number of
individual users, some implementations provide a two step process
for selecting individual users. In some circumstances, a user
(e.g., a community manager) is not interested in the specific data
for an individual user unless the user is heavily involved in the
community (e.g., a "superuser"). In those cases, the user is likely
to review the data for the same small set of individuals
repeatedly, so some implementations allow the manger to place those
individuals on the "short list" 5070 of users to review. In FIG.
5T, the short list 5070 includes has only nine users, and any of
those nine users can be quickly selected (e.g., by clicking on them
with a Shift or Ctrl key held down). The short list is saved so
that future interaction with the data can be done quickly.
[0093] When a user wishes to review the data for a user who is not
currently on the short list 5070, the add users button 5072 can be
used to select additional users. Although not illustrated,
invocation of the "add users" button 5072 would pop up a user
selection list, which could be very long, and enable selection of
one or more users. Once the selection is done, the pop up user
selection window closes, and any additional users that were
selected are added to the short list 5070. For example, FIG. 5U
shows that user MikeW 5074 was added to the short list 5070. From
the short list, one or more individual users can be selected for
inclusion in the data for the data panel 5028, as previously
explained with respect to the roles.
[0094] As illustrated in FIG. 5U, selecting individual users is the
fourth selection method in this implementation, so the method
selection indicator 5058 highlights the fourth dot. If selection is
returned to all users (the first selection method), the first dot
is highlighted again, as illustrated in FIG. 5V. Although only four
methods of selecting users in the user selection interface are
presented in this example, more or fewer methods of selecting users
are, optionally, provided. In some implementations, other methods
of switching between the different methods of selecting users can
be provided. For example, a two-tier drop-down menu can be provided
for selecting the method in a first tier and then selecting the
particular categories of users in a second tier of the menu.
[0095] FIGS. 5W-5EE illustrate the operation of the channel
selector 5018 according to some implementations. Within a source
channel (such as "Li" as shown in FIG. 5C), there are, optionally,
many sub-channels (e.g., sub-communities and/or forums), and a user
is enabled to select which sub-channel (e.g., sub-communities or
forums) to review. If a community is considered as a domain,
sub-communities, and sub-topics within the community are considered
sub-domains of that domain. Each domain optionally includes
multiple sub-domains on several different levels. Similarly, a
channel can have sub-topics, sub-forums, and sub-divisions. When a
channel is viewed as a domain, the sub-topics and sub-divisions of
that channel are sub-domains of the domain. In some
implementations, the device (e.g., device 110) displaying the user
interface shown in FIGS. 5W-5EE displays a node list 5076 of
sub-communities and/or forums by clicking on the community selector
5030 or node selector 5031. Each node in the node list represents a
sub-domain associated with the same domain owner. In some
implementations, the node list 5076 is hierarchical, but some
implementations use a single linear list, especially when the
number of nodes is small. FIG. 5W illustrates an example of a node
list 5076 for a community "ACME Hi Fi", and FIGS. 5X-5Z illustrates
the same list with some of the sub-communities and/or forums
expanded. As illustrated in FIG. 5Z, the hierarchical nesting
optionally include several levels, e.g., as represented by the
folder "Developers Only" with its subfolder "Alloy Test."
[0096] In some implementations, selection of one or more nodes
(e.g., communities or forums) in the node list 5076 is similar to
the selection of users. This is illustrated in FIGS. 5AA-5DD. As
shown in FIGS. 5AA-5BB, while holding the Shift key 5064 on the
keyboard, a user is enabled to select a contiguous set of nodes,
such as selected nodes 5078. Alternatively (or in addition), a user
is enabled to select a non-contiguous set of nodes by holding down
the keyboard Ctrl key 5068 and clicking on the desired nodes. This
is illustrated in FIGS. 5CC-5DD. In this way, the selected nodes
5078 are expanded to include three additional nodes (e.g.,
"Community Suggestions", "HiFi Ideas", and "Show us your Home
Theater!"). Additionally, the desired set of nodes are optionally
configured to be selected in other ways. Once the desired set of
nodes has been selected, a user closes the node list 5076 (e.g., by
pressing a close button or save button), and the device (e.g.,
device 110) displaying the user interface shown in FIGS. 5AA-5DD
displays the selected nodes 5080 in the channel selector 5018. This
is illustrated in FIG. 5EE, showing the six selected nodes 5080
corresponding to the six selected nodes 5078 in the node list
5076.
[0097] FIG. 5FF illustrates that a user selects a particular metric
5082 in the metric selector panel 5020. Each metric has zero or
more corresponding metric attributes, which the device (e.g.,
device 110) displaying the user interface shown in FIG. 5FF
displays in the metric attribute selector panel 5022. The metric
attribute list 5098 is illustrated in FIG. 5GG. Examples of
individual attributes 5084-5096 are described with respect to FIG.
5GG, corresponding to the metric "post count" 5082.
[0098] For the post count metric 5082, one relevant attribute is
the interaction state 5084. This is illustrated in FIG. 5GG. For
example, a post can have replies, have no replies, may have
received kudos (e.g., an indicator of positive review) from other
users (or not), may be identified as an accepted solution of an
issue, or may identify a problem (which may or may not have
solutions posted by other users). Various implementations can use
various combinations of these factors to define the "states" of a
post. Depending on the implementation, there are two or more
interaction states. In some implementations, there are several
distinct attributes that track the state(s) of a post, such as one
attribute that specifies whether there have been any replies,
another attribute that specifies whether the post has received any
kudos, and another attribute that indicates whether there is an
accepted solution to an issue identified in the original post.
Although not illustrated in FIG. 5GG, implementations include user
interface controls for specification of attribute values. For
example, some implementations include a drop-down box next to the
"interaction state" label, and the drop-down box enables selection
of the desired attribute value. In addition to the specific
attribute values, a user can also select "all," which means that
the data will not be limited to any specific interaction state. In
some implementations, a user can select more than one interaction
state without selecting all of the interaction states.
[0099] FIG. 5GG illustrates a second attribute "interaction style"
5086 corresponding to the post count metric 5082. Typical values
for interaction style are forum, blog, ideas, tribal knowledge base
(TKB), contest, review, and so on. Just like "interaction state,"
implementations of user interface include a user interface control
for selection of an interaction style. For interaction style 5086,
a user optionally selects a single style, so some implementations
restrict the interface to a single selection. However, other
implementations allow selection of multiple interaction styles, and
some implementations provide a simple selection of "all"
interaction styles.
[0100] FIG. 5GG illustrates the metric attribute "publication
state" 5088, which is included in some implementations. In some
implementations, the publication states 5088 are "draft,"
"published," and "revision." This example also demonstrates that
not all metric attributes necessarily work together. For example,
for a blog interaction style, publication states of draft,
published, and revision are, optionally, all be meaningful, whereas
a forum interaction style optionally does not support drafts or
revisions. Some implementations include a user interface control
for selection of publication state, and various implementations
generally allow selection of one or all publication states. Some
implementations enable selection of multiple states without
selecting all publication states.
[0101] Some implementations provide a "content type" metric
attribute 5090, which allows for selection of specific content
types. This is illustrated in FIG. 5GG. For example, the content
type attribute 5090 can allow for selection of content that
contains text only, content containing images (e.g., JPEGs),
content that includes video, or content that includes attachments.
As with other metric attributes, the user interface control for
selection of content type optionally allows any combination of
content types, optionally limits the selection to a single content
type, and/or optionally allows selection of "all" content
types.
[0102] FIG. 5GG includes the metric attribute "device type" 5092.
Here, the device type is the type of device that a user used to
create a post. In some implementations, devices are considered
"desktop" or "mobile," but in other implementations, device type is
implemented with greater granularity. For example, the device type
optionally indicates the operating system (e.g., Windows.RTM., Mac
OS X, iOS.RTM., Android). The level of granularity provided in
reporting is determined by what level of data was collected at the
time of the post. User interface provides a drop down box with
values "desktop", "mobile", and "all" as the selections for device
type.
[0103] FIG. 5GG includes a metric attribute "origination" 5094,
which selects posts based on where they originated. For examples,
posts to an online community will, in some circumstances, originate
from within the community, or from other third-party social media
platforms (e.g., FaceBook.TM., or Twitter.TM.). The list above is
an example list, but not exhaustive. For example, a post could
originate from Google+ or other social media source. Like the other
metric attributes discussed previously, the device (e.g., device
110) displaying the user interface shown in FIG. 5GG provides a
screen control for selection of with origination locations are
included in the data. In some implementations, the options are
"community" (indicating origination within the community),
"Facebook", "Twitter", and "all". Some implementations allow
selection of any subset of origination locations.
[0104] All illustrated in FIG. 5GG, some implementations include
additional metric attributes 5096. In general, attributes are
measurable from a user's interaction, and provide some useful
context information to a user who reviews the data regarding the
metrics associated with the interaction. In some instances the
context information can be retrieved from a user profile (e.g.,
gender).
[0105] The metric attribute list 5098 illustrated in FIG. 5GG
includes all of the metric attributes that correspond to the
selected metric 5082. When the complete attribute list is larger
than the space in the metric attribute panel 5022, the user
interface shown in FIG. 5GG provides scroll bars or other scrolling
mechanism so that all of the attributes are enabled to be viewed.
In some implementations, a user selects just the needed attributes
and the values for those attributes, and the data is
correspondingly filtered. In some implementations, unselected
attributes do not affect the data selection (equivalent to
selecting "all" values for those attributes). In some
implementations, a user using the attribute selector is required
select a value for each of the attributes. In some implementations,
the default value for each attribute is typically "all."
[0106] Because the metric attributes are generally independent of
each other, the number of attribute combinations is very large.
Indeed, even with the small number of attributes in the list 5098,
there can be over 2000 combinations of attribute values, creating
more than 2000 distinct metrics involving post counts 5082. Without
greater resources for computing and data storage, some
implementations compute and store the post counts for all of the
various combinations of attributes. In some implementations, the
data for each type of post count is quickly available. In some
implementations, however, this is too many metrics to track
individually. But a user will, in some circumstances, desire post
counts for any attribute combination, so the system cannot just
omit the data. The system does not know which specific counts will
be useful to users reviewing the data.
[0107] To overcome this problem, some implementations automatically
aggregate some standard counts (e.g., total counts) based on
historical information about what data people generally review. In
addition, the system has an event logging framework that logs every
atomic event. For example, when a user makes a post, the logging
framework saves context information such as the interaction style,
content type, device type, and origination of the post. Other
events related to the post change over time, such as the
interaction state and publication state, and as those states
change, the logging framework tracks the changes. Therefore, even
if a certain post count has not been computed, the underlying data
is available, so the count can be computed later if needed. This
allows a user to slice and dice the data according to the user's
needs.
[0108] In some implementations, the system itself "learns" from the
way people select aggregations. For example, if more people are
viewing a metric with a certain combination of metric attributes,
that combination of attributes can be promoted to a standard
metric. In some implementations, promotion of customized metrics to
standard metrics is applied to individual communities or forums
rather than universally. For example, if a user of the "ACME Hi Fi"
community frequently uses a specific combination of attributes for
a metric, then that combination is, optionally, computed
automatically on all future data for the "ACME Hi Fi" community.
This can occur automatically, or based on a decision by the user
(e.g., saving a metric with a specific combination of attributes as
a named metric).
[0109] Although the preceding discussion of metric attributes was
based on the example of the "post count" metric 5082, the same
analysis applies to the other metrics as well. Some attributes
depend on the specific metric (e.g., interaction state and
interaction style), but other attributes are independent of the
selected metric (e.g., device type).
[0110] FIGS. 5HH-5BBB illustrate how selected data from the
multi-dimensional data set is displayed in the data display panel
5028 according to some implementations, based on the selection
criteria in the various data selection interfaces (e.g., channel
selector 5018, metric selector 5020, metric attribute selector
5022, time range selector 5024, and user selector 5026). In FIGS.
5HH-5VV, the time grain selector 5054 is set to "day," so range
sliders 5048 and 5050 can be set to any day, giving a time range of
one or more days. Each respective point on the corresponding graph
5100 aggregates data for a corresponding single day. In the
examples in FIGS. 5HH-5VV, the lower slider 5048 is placed
somewhere in July, 2010, and the upper slider 5050 is placed
somewhere in November, 2010. As seen in the graph 5100 in data
display panel 5028, a subset of the available data for this time
range are selectively displayed in the data display panel 5028. In
some implementations, the y-axis range is selected to match the
value range of the actual data (e.g., 1100 to 1700), as shown in
FIG. 5HH.
[0111] In FIG. 5HH, the data displayed represents posts by all
users, as indicated in the user selector panel 5026. FIG. 511
illustrates switching to selection of users by ranks, as indicated
in the user selection method control 5056. In some implementations,
the previous graph 5100 (or graphs) remains displayed until there
is an actual selection of specific ranks, which is shown in FIG.
5JJ. In some implementations, the device (e.g., device 110)
displaying the user interface shown in FIGS. 5HH-5II immediately
clears the data panel 5028 when a new user selection method (e.g.,
by "ranks") is selected to replace the previous user selection
method (e.g., "All users").
[0112] In FIG. 5JJ, a user has selected the "VIP Member" rank,
which becomes the set of selected ranks 5114. The data display
panel 5028 displays a graph 5102 corresponding to the "VIP member"
rank (e.g., the selected division in the "who" dimension). In some
implementations, the color or pattern used to display graph 5102
corresponds to the highlighted color or pattern of the
corresponding selected rank. This correspondence is particularly
useful when displaying multiple graphs 5102 and 5104 corresponding
to multiple selected ranks 5114, as shown in FIG. 5KK. The
blue-colored graph 5102 corresponds to the post count of the blue
highlighted rank "VIP Members" over time, and the orange-colored
graph 5104 corresponds to the post count of the orange highlighted
rank "HiFi Employee" over time. This concept is illustrated further
in FIG. 5LL, where a green-colored graph 5106 is added,
corresponding to the post count of the green highlighted rank
"Moderator" over time.
[0113] In FIG. 5MM, a user has switched the user selection method
control 5056 to "users," but has not yet selected any specific
users. In this implementation, the three graphs 5102, 5104, and
5106 remain displayed in the data display panel 5028. In this way,
if the user switches back to the previous view (by rank), there is
no need to reselect the desired ranks for display. In other
implementations, the device (e.g., device 110) displaying the user
interface shown in FIG. 5MM immediately clears the graphs 5102,
5104, and 5106 from the data panel 5028 as soon as the user
selection method is switched to "users."
[0114] FIGS. 5NN and 5OO display graphs 5110 and 5112 corresponding
to users Tim and Jason, respectively. In FIG. 5NN, the selected
users 5108 is just "Tim," so only graph 5110 including a post count
for "Tim" over time, is displayed in the data display panel 5028.
In FIG. 5OO, the selected users 5108 includes "Jason" as well, so
the data display panel 5028 includes the additional graph 5112
corresponding to a post count of posts made by Jason over time.
Just like in the user selection by "ranks" where the colors of the
individual graphs correspond to the highlighting color of the
selected ranks, here, the colors of the individual graphs
correspond to the highlighting color of the selected users. In some
implementations, shading or patterns are used to differentiate the
individual graphs, with the same shading or pattern used to
highlight the corresponding users in the selected user list 5108.
In some implementations, labels are provided in the data display
panel 5028 to identify the user associated with each graph, similar
to the reference characters "5110" and "5112" in FIG. 5OO. In some
implementations, a limit on the number of users that can be
selected concurrently is imposed in order to prevent the data
display panel from becoming too cluttered. In some implementations,
the user is allowed to determine what and how much data is to be
presented in the 5PP-5VV illustrate graphs in the data display
panel 5028 with various channel selections. In some
implementations, when no specific forum or node has been selected,
the data display panel is empty as illustrated in FIG. 5PP where
only axes are displayed in the data display panel. In some
implementations, when no specific forum or node is selected, the
graph 5116 displays data for the entire community, as illustrated
in FIG. 5QQ.
[0115] In FIG. 5RR, 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. 5SS, 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. 5TT, 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. 5SS to FIG. 5TT 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. 5TT, the graph 5126 extends more
vertically because of the change in scaling of the y-axis. In FIG.
5UU, 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. 5SS).
[0116] In FIG. 5VV, 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. 5VV has
adjusted the scale on the y-axis. The graphs 5124 and 5126 are the
same as in FIG. 5UU, but are compressed vertically so that they can
appear with the graph 5128.
[0117] FIGS. 5PP-5VV 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.
[0118] FIGS. 5WW-5XX illustrate various implementations of a user
interface for the display of data when the selected time range is
just one unit of time (i.e., the size of the time range equals the
size of one time grain). In some implementations, the user
interface elements correspond to those of prior figures, including
a data display panel (e.g., the data display panel 5028), various
data selection interfaces (e.g., the channel selector 5018, metric
selectors 5020, 5022, time range selector 5024, and the user
selector 5026), a time grain selector 5054, lower and upper time
selection sliders 5048, 5050 and a time range indicator 5052. In
the preceding figures, the time grain has been "day," but in FIGS.
5WW-5XX, the time grain selector 5054 is set to "month" as
illustrated in FIG. 5WW. In some implementations, when the time
grain selector 5054 is change to a larger grain (e.g., "day" to
"month"), the sliders 5048 and 5050 automatically align or "snap"
to the nearest position that aligns with the new grain. For
example, with a time grain of "month," the sliders 5048 and 5050
optionally align with month boundaries in order to select entire
months.
[0119] FIGS. 5WW and 5XX illustrate how the treemap is updated in
the data panel 5028 when a user switches metrics. In FIG. 5XX, a
user has switched to the "page view" metric 5170, which has much
higher numbers (e.g., 58,901 page views for "Cutting edge Hi-Fi")
than the "post count" metrics shown in other Figures (e.g., 60
posts for "Cutting edge Hi-Fi" for March, 2010, as shown in FIG.
5WW). The contrast of these two metrics shows an interesting point:
whereas "Cutting edge Hi-Fi" has a greater number of page views
than "Show us your Home Theater," more users have made posts to
"Show us your Home Theater." By comparing the data for different
metrics, different time ranges, different users, etc., a user is
enabled to identify important information about an online
community.
[0120] FIGS. 5YY-5BBB 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." In FIG. 5YY, nodes "HiFi
Ideas" 5184, "Coder Ideas" 5186, and "CodeCave Blog" 5188 are
selected, and the device (e.g., device 110) displaying the user
interface shown in FIG. 5YY 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 FIG. 5YY. 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. 5YY, the font and bars for the "Engage with HiFi" and
"HiFi Ideas" nodes are blue and orange respectively.
[0121] In FIGS. 5ZZ and 5AAA, 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. 5ZZ and
5AAA 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. 5YY is 300, which drops
to 200 in FIG. 5ZZ, and drops further to 160 in FIG. 5AAA. In FIG.
5BBB, a user has unselected user role "TKB Editor" 5180, and the
device (e.g., device 110) displaying the user interface shown in
FIGS. 5ZZ-5AAA 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. 5AAA, removing the bar causes the x-axis of
the bar graph to be resealed again.
[0122] 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.
[0123] 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.
[0124] 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.
[0125] 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.
[0126] 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 above with
reference to FIGS. 5A-5BBB), 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.
[0127] 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.
[0128] 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.
[0129] 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.
[0130] 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. 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, and
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.
[0131] 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.
[0132] 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.,
the user interfaces described with reference to FIGS. 5A-5BBB) 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.
[0133] 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.
[0134] 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.
[0135] 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.
[0136] 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.
[0137] 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.
* * * * *