Redirecting dashboard content into interactive data snapshots for collaboration platforms

Through the Philo system and user interface, the data dashboard content is redirected into interactive data snapshots, solving the problems of data sharing and updates in the existing technology, realizing the timeliness and adaptability of data, and improving the effectiveness of user experience and data dialogue.

CN119790419APending Publication Date: 2025-04-08SALESFORCE INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380062655.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-08-30
Filing Date
2023-08-31
Publication Date
2025-04-08

AI Technical Summary

Technical Problem

The prior art has difficulty effectively sharing and updating data dashboard snapshots, especially on collaborative platforms, resulting in data stale, unsuitable for different devices and screen contexts, and difficult to track and update.

Method used

Through the Philo system and user interface, dashboard content is redirected to interactive data snapshots, supporting the creation and orchestration of snapshot components, realizing template-based visual design transformations, providing flexible time filtering, annotation and description text, snapshot status indicators, snapshot update management and telemetry monitoring.

Benefits of technology

It realizes efficient sharing and update of data snapshots, adapts to different devices and screen contexts, improves data timeliness and visibility, and enhances the effectiveness and user experience of data conversations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119790419A_ABST
    Figure CN119790419A_ABST
Patent Text Reader

Abstract

A computing device receives a user selection of a first data element from a first data dashboard displayed on the computing device. A user selects a first snapshot component that designates a first data element as a first snapshot. In response to receiving the user selection, the computing device displays a plurality of component properties of the first snapshot component in the first user interface. The computing device receives, via the first user interface, a user specification of a first value of a component property of at least a first subset of the plurality of component properties. In accordance with receiving the user specification, the computing device updates the first snapshot component in accordance with the first value, generates a first snapshot including the first snapshot component, and causes the first snapshot to be displayed as a message on a messaging application executed by the electronic device.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] priority

[0002] This application is a continuation of U.S. Patent Application No. 18 / 240,322, filed on August 30, 2023, U.S. Patent Application No. 18 / 240,340, filed on August 30, 2023, and U.S. Patent Application No. 18 / 240,342, filed on August 30, 2023, each of which claims priority to U.S. Provisional Application No. 63 / 403,167, filed on September 1, 2022, U.S. Provisional Application No. 63 / 404,518, filed on September 7, 2022, U.S. Provisional Application No. 63 / 407,986, filed on September 19, 2022, and U.S. Provisional Application No. 63 / 409,165, filed on September 22, 2022. Each of the foregoing applications is hereby incorporated by reference herein in its entirety. Technical Field

[0003] The disclosed implementations relate generally to data visualization, and more particularly to systems, methods, and user interfaces that enable users to share selections from a data dashboard as interactive snapshots on a collaborative platform and track usage of the snapshots on the collaborative platform. Background Art

[0004] Across enterprise organizations, people use data to support conversations and inform decisions. "With and around data" communications often involve stakeholders who play roles other than data scientists or analysts. Data professionals are those who tend to have relatively strong data analysis skills, and whose roles include sharing data artifacts with other team members through various communication channels (e.g., email or cloud storage). Business users, on the other hand, tend to consume data artifacts, ask follow-up questions, initiate discussions, and make decisions. Many business users are in management or communication-based roles and tend to have superficial and brief exposure to data artifacts.

[0005] While data dashboards are useful tools for analyzing and displaying data, they may not be ready for sharing with an audience, such as business users, because they typically contain large amounts of information with high complexity.

[0006] In practice, timeliness plays a crucial role in communicating with data, especially when people discuss and make decisions using valid and up-to-date evidence. Summary of the invention

[0007] Many enterprise organizations are in the process of transforming their culture to promote a data-driven approach to communication and decision making. Recently, this shift has been accompanied by another change in workplace culture: the move to a distributed, asynchronous work model. To facilitate communication between groups across time zones and locations, collaboration platforms such as Slack TM and Teams TM However, in organizations where business intelligence dashboards are frequently used, data professionals often need to share dashboard snapshots via collaborative platforms to communicate with an audience consisting of business users and others who do not play the role of data analysts.

[0008] A data snapshot is a form of data reporting that relates to the state of data at a specific point in time and is intended to convey the status quo. In some cases, "data snapshot" is a term called when referring to large-scale data (e.g., a cloud platform or an organization's data center), and the snapshot can be presented as a set of charts or spreadsheets. Assuming that business intelligence dashboards remain widely used within an organization, the term "dashboard snapshot" as used herein refers to the state of a dashboard at a certain point in time.

[0009] The sharing of data artifacts (such as dashboard snapshots) is a frequent routine and often requires some back-and-forth communication between those doing the sharing and their audience. Data professionals need to keep updating their reports as new data arrives, as their analytical goals change, as they observe important anomalies or deviations from the status quo, or as they receive feedback from business users. In doing so, data professionals need to employ different techniques (e.g., filtering, summarizing, or formatting), which is often accomplished by switching between different tools.

[0010] Current strategies for sharing dashboard snapshots on collaborative platforms include taking screenshots, rebuilding dashboards to reduce their complexity, and sending dashboard links with some filter options. However, these technologies do not adequately and effectively support dashboard users to share dashboard snapshots. For example, static screenshots are limited because (i) they may become obsolete at any time as updated data becomes available, (ii) they do not support format changes and may not be suitable for the viewer's device or screen context (e.g., mobile devices, full-screen devices, or windows transferred to peripheral displays), and (iii) they are difficult to track easily and are almost impossible to update after their channels across collaborative platforms proliferate. Recreating dashboards not only imposes additional workload on dashboard authors, but also imposes additional workload on those who tend to share insights from dashboards that they did not create themselves. Simply providing a link to a dashboard on a collaborative platform is unlikely to lead to a productive conversation because many viewers have difficulty accessing or orienting themselves within a complex dashboard.

[0011] In order to enable data professionals to have an effective means of communicating dashboard content to their colleagues, improved methods, systems, and user interfaces that facilitate redirecting dashboard content are needed.

[0012] Visual retargeting generally refers to transforming a graphic to fit a different context, including audience, device size and screen type, and style guide.

[0013] Disclosed herein are methods, user interfaces, and systems for redirecting dashboard content as interactive data snapshots for a collaborative platform. The disclosed system and user interface (also referred to herein as "Philo") support authoring and orchestrating dashboard snapshots as well as sharing and monitoring dashboard snapshots on a collaborative platform. Philo also supports template-based visual design transformations, simple interactivity to support predictable questions, flexible time filtering, annotations and captions, snapshot status indicators, snapshot update management, and monitoring of snapshot telemetry.

[0014] The public text includes design guidelines for sharing dashboard snapshots on a collaborative platform, which were distilled from co-design workshops. These guidelines outline support for conversations around data, flexible authoring, and the post-sharing lifecycle of snapshots.

[0015] The public text also presents a formalization of dashboard snapshots, defining components as building blocks and snapshots as compositions of components.

[0016] According to some implementations, a method for redirecting dashboard content as a data snapshot of a collaboration platform is performed at a computing device having a display, one or more processors, and a memory storing one or more programs configured to be executed by the one or more processors. The method includes receiving a user selection of a first data element from a first data dashboard displayed on the computing device. The user selection designates the first data element as a first snapshot component of the first snapshot. The method includes: in response to receiving the user selection of the first data element from the first data dashboard, displaying multiple component properties of the first snapshot component in a first user interface. The method includes receiving a user specification of corresponding first values ​​of component properties of at least a first subset of the multiple component properties via the first user interface. The method includes, based on receiving the user specification of corresponding first values ​​of component properties of at least the first subset: (i) updating the first snapshot component based on the corresponding first value; (ii) generating a first snapshot including the first snapshot component; and (iii) causing the first snapshot to be displayed as a message on a messaging application executed by the electronic device. The messaging application is associated with the collaboration platform.

[0017] In some implementations, the first data element is one of: one or more data units from a first data dashboard; one or more data values ​​from a data field from the first data dashboard; one or more data tags from a data visualization from the first data dashboard; or one or more data visualizations from the first data dashboard.

[0018] In some implementations, the method further includes, in response to receiving a user selection to designate the first data element as a first snapshot component: generating a first component specification corresponding to the first snapshot component. The first component specification includes a plurality of component properties. The method populates the first component specification with corresponding first values ​​in response to a user specification of corresponding first values ​​for at least a subset of the properties.

[0019] In some implementations, the method includes receiving, via a first user interface, a user selection of a dimension data field and a sort order. Generating a first snapshot component includes: (1) generating a bar chart having a plurality of data bars, each of the data bars representing a respective data value of the dimension field and having a respective length representing a portion of a first data element corresponding to the respective data value; and (2) arranging the data bars in the sort order according to the respective lengths of the data bars.

[0020] In some implementations, the first snapshot includes a second snapshot component that is different from the first snapshot component. The method also includes, after generating the first snapshot component and before generating the second snapshot component: receiving a user selection of a second data element, the user selection designating the second data element as a second snapshot component of the first snapshot. The method includes: based on receiving the user selection, generating a second component specification corresponding to the second snapshot component. The second component specification includes a plurality of component properties.

[0021] According to some implementations, a method for generating a data snapshot of a collaboration platform is performed at a computer system having one or more processors and a memory storing one or more programs configured to be executed by the one or more processors. The method includes receiving a user specification of corresponding values ​​of multiple snapshot properties of a first snapshot. The first snapshot includes one or more snapshot components, including a first snapshot component extracted from a first data dashboard. The first data dashboard is associated with a first data source. The user specification includes a first date / time when the data in the first snapshot is valid until then and a first collaboration platform to which the first snapshot is to be exported. The method includes, based on receiving the user specification: (i) generating a first snapshot specification of the first snapshot based on corresponding values ​​of multiple snapshot properties; and (ii) generating the first snapshot based on the first snapshot specification. The method includes causing the first snapshot to be displayed as a message on a messaging application of an electronic device. The messaging application is associated with the first collaboration platform.

[0022] In some implementations, a method includes receiving a first request from a first collaboration platform to update a first snapshot. The method includes: in response to the first request, determining that a current date / time of the first request exceeds a first date / time at which data in the first snapshot was valid until then. The method includes, based on the determination: (i) obtaining one or more updated data values ​​of the first snapshot component from a first data source; (ii) generating an updated snapshot using the one or more updated data values ​​of the first snapshot component; and (iii) causing the updated snapshot to be displayed on an electronic device.

[0023] In some implementations, receiving a user specification of corresponding values ​​for multiple snapshot properties of a first snapshot includes receiving a user specification of multiple first values ​​corresponding to automatically recurring properties of the first snapshot, the multiple first values ​​including at least two of the following: a recurrence frequency; a recurrence expiration date; and a time of day at which a recurrence of the first snapshot is displayed on a messaging application.

[0024] In some implementations, the method includes, after causing a first snapshot to be displayed as a message on a messaging application: based on a determination by a computer system that a plurality of first values ​​corresponding to an automatic recurrence property are satisfied: (i) obtaining corresponding current data values ​​of one or more snapshot components from one or more data sources corresponding to one or more snapshot components of the first snapshot; (ii) generating a first recurring version of the first snapshot; and (iii) causing the first recurring version of the first snapshot to be displayed on a messaging application of an electronic device.

[0025] According to some implementations, a method of interacting with a data snapshot is performed at a computing device including a display, one or more processors, and a memory storing one or more programs configured to be executed by the one or more processors. The method includes displaying a user interface including a plurality of panes corresponding to a plurality of snapshots, the plurality of snapshots (i) being authored by a user of the computing device and (ii) being displayed on a messaging application of a collaboration platform. Each of the plurality of panes includes a respective view of a respective snapshot. The plurality of snapshots includes a first snapshot having one or more snapshot components. Each of the snapshot components is generated from a respective data element of a respective data dashboard. The method includes displaying information about the first snapshot in an information panel adjacent to the first snapshot, including: (i) metadata of one or more starting dashboards corresponding to the one or more snapshot components of the first snapshot; and (ii) an identification of a first channel of the collaboration platform to which the first snapshot is published. The method includes, in response to detecting a first user selection of a notification displayed in the user interface indicating that the first snapshot has expired: (i) transmitting one or more identifiers of the one or more starting dashboards to a computer system communicatively connected to the computing device; and (ii) receiving update data for the one or more snapshot components of the first snapshot from the computing system. The method includes generating an updated view of the first snapshot based on the received update data, and displaying the updated view of the first snapshot in a user interface.

[0026] In some implementations, the first snapshot is generated based on a user specification of a first date / time at which a first snapshot component of the first snapshot expires. In response to determining that the first date / time has expired, a notification is displayed in a user interface.

[0027] According to some implementations, a computing device includes a display, one or more processors, and a memory connected to the one or more processors. The memory stores one or more programs configured to be executed by the one or more processors. The one or more programs include instructions for executing any of the methods disclosed herein.

[0028] According to some implementations, a computer system includes one or more processors and a memory connected to the one or more processors. The memory stores one or more programs configured to be executed by the one or more processors. The one or more programs include instructions for executing any of the methods disclosed herein.

[0029] According to some implementations, a non-transitory computer-readable storage medium stores one or more programs configured to be executed by a computer system having one or more processors and a memory. The one or more programs include instructions for executing any of the methods disclosed herein.

[0030] According to some implementations, a non-transitory computer-readable storage medium stores one or more programs configured to be executed by a computing device having a display, one or more processors, and a memory. The one or more programs include instructions for performing any of the methods disclosed herein.

[0031] Thus, disclosed herein are methods, systems, and graphical user interfaces that allow users to efficiently redirect dashboard content as interactive data snapshots for a collaborative platform.

[0032] It should be noted that the various implementations described above can be combined with any other implementations described herein. The features and advantages described in the specification are not all-inclusive, and in particular, many additional features and advantages will be apparent to those of ordinary skill in the art based on the drawings, the specification, and the claims. In addition, it should be noted that the language used in the specification is primarily selected for readability and instructional purposes, and may not be selected to limit or delimit the subject matter of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] To better understand the aforementioned systems, methods, and graphical user interfaces, as well as additional systems, methods, and graphical user interfaces that provide data visualization analysis, the following detailed description should be referenced in conjunction with the following figures, wherein like reference numerals refer to corresponding parts throughout the figures.

[0034] Figure 1A An exemplary pipeline for redirecting data dashboard content as a data snapshot for a user on a collaboration platform is shown in accordance with some implementations. Figure 1B An exemplary operating environment according to some implementations is shown.

[0035] Figure 2A and Figure 2B A block diagram of a computing device according to some implementations is provided.

[0036] Figure 3A and Figure 3B A block diagram of a data visualization server according to some implementations is provided.

[0037] Figure 4 is a block diagram illustrating an electronic device according to some implementations.

[0038] Figure 5 is a block diagram illustrating a collaboration platform server according to some implementations.

[0039] FIG. 6A to FIG. 6D A component creator user interface is shown in accordance with some implementations.

[0040] FIG. 7A to FIG. 7CA dashboard user interface is shown in accordance with some implementations.

[0041] Figure 8 A snapshot creator user interface is shown according to some implementations.

[0042] 9A to 9D An exemplary curation method according to some implementations is shown.

[0043] Fig.10 A snapshot home user interface is shown according to some implementations.

[0044] FIG. 11A to FIG. 11C Together, a formalization of a dashboard snapshot according to some implementations is provided.

[0045] FIG. 12A to FIG. 12D Collectively, a formalization of snapshot components according to some implementations is provided.

[0046] Fig.13A and Fig. 13B Together, a formalization of templates according to some implementations is provided.

[0047] Fig.14A A formalization of template specification according to some implementations is provided. Fig. 14B An exemplary template design definition and template assignment for a "target" template is shown in accordance with some implementations.

[0048] FIG. 15A to FIG. 15K Example template designs according to some implementations are provided.

[0049] Fig.16 Relationships among snapshots, components, templates, template assignments, and dashboard selections are shown according to some implementations.

[0050] 17A to 17H Together, usage scenarios of Philo according to some implementations are shown.

[0051] FIG. 18A to FIG. 18I A flow chart of a method of redirecting dashboard content as a data snapshot of a collaboration platform according to some implementations is provided.

[0052] FIG. 19A to FIG. 19E A flowchart of a method of generating a data snapshot of a collaboration platform according to some implementations is provided.

[0053] FIG. 20A to FIG. 20D A flow chart of a method of interacting with a data snapshot according to some implementations is provided.

[0054] Reference will now be made to implementations, examples of which are illustrated in the accompanying drawings. In the following 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.

[0055] Specific implementation method

[0056] In enterprise organizations, data-driven decision-making processes are currently divided between data dashboards (e.g., business intelligence dashboards) and communication platforms (such as Slack). TM and Teams TM ). However, outside of those in data analyst roles, engagement with dashboard content is low due to insufficient context, poor presentation choices, or lack of access and guidance.

[0057] I. Utilize dashboard communication

[0058] Dashboard Use Cases Dashboards are a popular medium for monitoring and communicating aspects of data, especially for data professionals with limited programming expertise. Dashboards range from static, magazine-style, and infographic dashboards to analytical, embedded, and repository dashboards. Data professionals tend to use analytical dashboards enabled by business intelligence tools (e.g., Tableau), which often contain a relatively large number of interactive elements. To answer specific questions, one must make selections and adjust parameters or filters.

[0059] Cases for redirecting dashboard content . Content from an analytical dashboard needs to be modified or redirected before it is shared on a collaborative platform. As used herein, redirection includes transforming a visualization artifact originally designed for one context so that it can be suitable for a different context. This contextual shift may be due to different audiences and communication goals, such as when content originally intended for a research audience is communicated to the general public. This shift may also be due to different device sizes or capabilities, which means that the term "redirection" as used herein also covers responsive visualization design. In addition, redirection can also cover imposing different design guidelines, such as when enforcing a new style guide or applying style transfer. Modifying dashboard content for reporting and sharing with business users typically involves changing the size and layout of the content, arranging elements in a coherent narrative, and adding annotations to provide context.

[0060] Since business intelligence dashboards are typically designed to be consumed as full-screen applications, learnings from the prior art can be applied to responsive visualization design when dashboard content is redirected for collaborative platforms, especially when people interact with these platforms via mobile applications or via peripheral desktop applications. For example, there may be dashboard design trade-offs such that reducing screen real estate requires simpler and more abstract representations, as well as additional affordances for providing interactivity and revealing hidden information. These findings are consistent with the prior art on responsive visualization design. While some business intelligence tools provide mobile app emulators, it is difficult to simulate the way dashboard content can behave in an embedded context (such as within a collaborative platform).

[0061] The sharing of dashboard snapshots also implies the communication of intent and context, and responsive design techniques often assume the continuity of intent and context across devices, especially in the field of data journalism. In an enterprise environment where intent and context may change depending on the audience, we cannot assume this continuity. Data content also needs to be segmented, narrated, and explained in enterprise communications. When curating the content of dashboard snapshots, data professionals should consider that the typical business user audience tends to be more passive with this material. However, this passivity should not be seen as a license to produce static content. While the audience may not interact directly with the content, they can discuss it and pass it on to secondary audiences, so it is critical to keep the content updated and monitor its visibility across the organization.

[0062] Authoring tools for communication data artifacts In research and practice, the prior art offers several alternative approaches for authoring artifacts of various forms to leverage data communications. Whether or not dashboards are involved, a common aspect of prior approaches is that they do not consider how these artifacts propagate after publication. Such considerations are a key aspect of authoring communication data artifacts, such as dashboard snapshots.

[0063] The disclosed systems, methods, and user interfaces extend the scope of redirection to locating content in communications by taking into account the post-sharing lifecycle of a dashboard snapshot on a collaboration platform.

[0064] II. Design Guidelines

[0065] As noted above, Philo refers to the disclosed system and user interface that supports creating dashboard snapshots and sharing dashboard snapshots on a collaborative platform as disclosed herein.

[0066] As disclosed, the inventors have identified three main design criteria (DGs) for a snapshot generation system and interface (e.g., Philo), each with several requisites. These criteria were developed based on a co-design workshop conducted by the inventors with several participants. The details of the workshop are described in the following priority documents: U.S. Provisional Application No. 63 / 404,518, filed on September 7, 2022, and U.S. Provisional Application No. 63 / 407,986, filed on September 19, 2022, which are incorporated herein by reference in their entirety. U.S. Provisional Application No. 63 / 409,165 shows the initial Jambord setup and prototyping assets used during the workshop, which is incorporated herein by reference in its entirety.

[0067] DG1: Design-enabled conversations around data . This includes using the message or bullet point statement for the snapshot to support a conversation with its business user audience. In addition to enabling authors to make selections from their dashboards, snapshot creation tools should provide authors with affordances to: (i) highlight where the audience should look first; (ii) state a call to action inspired by the data; and / or (iii) encourage audience interaction to support simple Q&A. In short, dashboard snapshots must become part of the conversation about the data. They must convey insights and calls to action, rather than just charts.

[0068] DG1a: Adding context and structure In some cases, bullet points and snapshot content can be structured as a status report (e.g., “We have

[500] people in [New York]”) and a call to action. For example, a snapshot might include an informal qualitative explanation of a status report, such as “Our [server health] is taking a hit in environment [US-West],” accompanied by a heat map showing different server health values ​​(e.g., throughput and latency) for the environment over time. An example call to action is: “Please enter your activity so leadership understands the impact we’re having,” accompanied by a table listing the different activity measures taken by their team members and highlighting those whose values ​​are missing.

[0069] DG1b: Clearly indicate time frame To avoid misleading the audience, a temporal reference system can be used to constrain which data is shared. As an example, a snapshot created in mid-June 2022 may want to exclude data points for June 2022 to avoid giving the false impression that the monthly values ​​are lower than typical. As another example, because weekend data values ​​tend to be lower than typical weekday values, data points can be constrained to only Monday through Friday so that only representative values ​​are shared.

[0070] DG1c: Directing the viewer’s attention. Visual emphasis (such as highlighting or using different fonts or colors) can be used to indicate important data points, specify a viewing order, or aid interpretation. For example, arrows can be drawn from one component to another to specify a viewing order. Confidence intervals for the usual range of a metric can be added so that large deviations can "draw attention." Footnotes can be included to mention missing data points. In some cases, macro- or shortcut-based interactions can be used to direct viewers to specific observations: for example, a snapshot author can add a "See what [author] sees" button on a snapshot that reveals a dashboard view with a specific combination of filter settings.

[0071] DG1d: Support for predictable problems with limited interactivity In some cases, the interactions may be curated to allow the viewer to see more detail and stimulate further action. For example, a snapshot on "scores broken down by business unit" may include a drop-down filter for selecting different business units. In some cases, in addition to adding a breakdown option to select a business category, the snapshot may also include follow-up questions for the viewer.

[0072] DG1e: Control what different people see . Because data is often a sensitive asset in a business context, data management rules and processes may apply to re-sharing dashboard content as snapshots. Management for dashboards is typically implemented by setting permissions (e.g., who can read, write, and delete). For example, a snapshot author may not be able to share a dashboard screenshot on a particular collaboration platform channel if the people in that channel do not have the same permission level. Therefore, dashboard snapshots must go beyond static screenshots to include live visualizations, with which existing data management policies can be enforced.

[0073] DG2: Supporting flexible creation In some cases, snapshot authors do not always want to be constrained by the form in which the content appears in the source dashboard. Therefore, snapshot creation tools should support transformations of the appearance of the content in a flexible manner. This can include supplementing the information with additional value and filtering or decomposing existing values ​​to best support the intended message. However, if the system makes such editing difficult by enforcing manual specification of content, this can impose an additional burden on the author, as the author may not have the time and / or skills to be able to go in and change the content in a specific way.

[0074] DG2a: Select dashboard content at different levels of specificity. In some cases, snapshot authors may want to be able to select specific parts of their dashboard to share a focused message. For example, a widget that is unrelated to the message of the snapshot may confuse people who rarely or never visit the dashboard. The snapshot author should be provided with the option to exclude such widgets. Some snapshots may reference content across several completely different dashboards. For example, a snapshot author may add a total sales value from one dashboard and add a time breakdown to it, with information provided by another dashboard to provide further context. In view of these different levels of specificity, the term "dashboard selection" as used herein refers to the dashboard content that the snapshot author selects to include in a dashboard snapshot. In some cases, a dashboard selection is a single numerical value. In some cases, a dashboard selection can be a group of charts from one or more dashboards.

[0075] DG2b: Transforming the way data is represented . Some snapshot messages benefit from a transformation in the way the dashboard content is presented. In some cases, a snapshot author may want to adjust the granularity of the data to simplify the content or provide additional context for business users. For example, an author may want to include a categorization breakdown for business users "to know what I'm talking about," since business users are unlikely to visit the dashboard themselves and apply a categorization filter. Another author may like to break down a field into a ranked list of best or worst performers (e.g., employees or products) to make it "more specific." Others may want to add information that was not in the original dashboard. For example, to show progress toward a team goal, a snapshot author can add values ​​that are not present on the data dashboard.

[0076] DG2c: Selectively propagate design choices from dashboards While some dashboard content is best communicated after its presentation has been transformed, in other cases it is equally important to maintain aspects of the dashboard design. For example, a custom color legend might be included to cater to an audience that "may not be comfortable with this scale." A color legend / scale might be specifically chosen for other reasons, such as "because someone on our team is color blind and these colors were chosen so that they have different [meanings], so we can't change the colors."

[0077] DG2d: Enable multi-part snapshots . A snapshot author may wish to design a multi-part snapshot, including choosing how to present the multiple parts. This can include arranging the parts in a vertical stack to mirror the layout of the original dashboard, using animation to show changes over time, or as an interactive carousel of parts. In some cases, a snapshot author may decide whether to use animation after evaluating the impressions of its viewers.

[0078] DG3: Support for snapshot lifecycleAfter sharing a snapshot, authors need to track and monitor engagement with their snapshot in order to adjust the scope and design of their future snapshots and evaluate how their snapshot is spreading across the organization. Additionally, as dashboard snapshots become stale over time, authors need to manage outdated snapshots and acquire updated versions.

[0079] DG3a: Exploring Snapshots from the Past . Dashboard snapshots on collaboration platform channels become stale over time because data sources can be updated at any time. Dedicated channels or tabs can be used to browse past dashboard snapshots from different collaboration platform channels. For example, past snapshots and current snapshots can be shown via a side-by-side view, with one side showing a reference dashboard snapshot and the other side showing all other dashboard snapshots. Preferably, snapshot authors should not apply changes to past snapshots because, for example, changes to past snapshots may prevent people from understanding their history. Visual indicators (such as grayscale indicators or visual de-emphasis) can be applied to past snapshots to indicate that data in past snapshots is stale or expired, without restricting people from going back and viewing past data.

[0080] DG3b: Tracking Snapshot Telemetry . Types of snapshot telemetry that may be useful to snapshot authors include: (unique) view counts, viewer names, thumbs-up / down votes, interaction logs, and comments. In some cases, a snapshot author may be interested in understanding the distribution of a snapshot across the organization. As an example, telemetry information is useful to a snapshot author when audience viewers make decisions based on information provided by the author. The ability to track telemetry information enables authors to adjust content based on how widespread it is. In some cases, a distinction may be made between active and passive telemetry. Active telemetry refers to logs of specific actions that the creator wants their viewers to achieve, while passive telemetry refers to any kind of log that is automatically recorded by the system. A "home page" that summarizes engagement with shared snapshots may be a suitable avenue for viewing telemetry information.

[0081] DG3c: Automating snapshot updates . Some dashboard snapshots are intended to be shared repeatedly as status reports. Once initially specified, options should be provided so that these snapshots can be automatically re-shared. For example, an automated readout of important values ​​(e.g., top 10 customers) can be provided to the audience on a regular basis. In some cases, dashboard snapshots can be combined with automated alert systems that send out messages when certain predefined conditions are met (e.g., when server health drops below a certain threshold).

[0082] II. Philo

[0083] Philo is a system that supports redirecting dashboard content as interactive snapshots (e.g., data snapshots) for sharing on a collaborative platform. Snapshots are intended for a business user audience, also referred to as "viewers." In public text, dashboard users who create snapshots are also referred to as "authors" or "snapshot authors." According to some implementations, Philo is built using Express, Svelte, DynamoDB (NoSQL), d3.js, Vega, Vega-Lite, and Arquero.

[0084] Figure 1A An exemplary pipeline 100 for redirecting data dashboard content as a data snapshot (e.g., a snapshot or dashboard snapshot) for a user on a collaboration platform is shown according to some implementations. A snapshot author selects (102) dashboard content (e.g., data elements) from a data dashboard 258 (e.g., displayed in a dashboard user interface 232) and creates (104) a snapshot component based on the selection using a component creator user interface 244. The dashboard author can repeat (106) the component creation process by selecting other dashboard content from the same data dashboard or from a different data dashboard to create one or more other snapshot components to include in the (same) data snapshot. In some implementations, after creating multiple snapshot components, the author merges (108) the snapshot components into a single snapshot via the snapshot creator user interface 248 and exports it to a collaboration platform channel (e.g., a messaging application 270). In some cases, the snapshot includes two or more snapshot components. In some cases, the snapshot consists of a single snapshot component. Within the channel, viewers react to the snapshot and comment (110). The author may also view 112 the dashboard snapshot and related telemetry information (eg, view counts, comments) via the “My Snapshot Home” user interface 274 .

[0085] A. Exemplary Operating Environment

[0086] Figure 1B An exemplary operating environment 130 according to some implementations is shown. The operating environment 130 includes one or more computing devices 200, such as a first computing device 200-1, a second computing device 200-2, and a third computing device 200-3. In some implementations, each computing device in the computing devices 200 is associated with a corresponding author of a data snapshot. The computing devices include and can run one or more applications, including a data visualization application 230, a content redirection application 240, and a messaging application 270.

[0087] In some implementations, the data visualization application 230, the content redirection application 240, and the messaging application 270 are three different applications. This is shown with respect to the first computing device 200-1.

[0088] In some implementations, content redirection application 240 (and its associated capabilities) is part of data visualization application 230, and messaging application 270 is distinct from data visualization application 230. This is shown with respect to second computing device 200-2.

[0089] In some implementations, the content redirection application 240 (and its associated capabilities) is part of the messaging application 270, and the data visualization application 230 is distinct from the messaging application 270. This is shown with respect to the third computing device 200-3.

[0090] The operating environment 130 includes an electronic device 400 associated with an audience (eg, viewer) of the data snapshot. The electronic device 400 includes a messaging application 270.

[0091] In some implementations, the data visualization application 230 is communicatively coupled to the data visualization server 300 via the communication network 132. The messaging application 270 is communicatively coupled to the collaboration platform server 500 (eg, a messaging server) via the communication network 132.

[0092] The content redirection application 240 can be communicatively connected to (A) the content redirection server 380 or (B) the data visualization server 300 or (C) the collaboration platform server 500 via the communication network 132, depending on whether it exists as a standalone application (scenario A), as part of the data visualization application 230 (scenario B), or as part of the messaging application 270 (scenario C).

[0093] B. Block Diagram

[0094] Figure 2A and Figure 2B A block diagram of a computing device 200 according to some implementations is provided. In some implementations, the computing device 200 is associated with a snapshot author. The computing device 200 can execute a data visualization application 230 or a data visualization web application to display a dashboard 258. In some implementations, the computing device 200 can execute a content redirection application 240 or a content redirection web application to generate a snapshot component 252 and a data snapshot 256 for a collaboration platform. In some implementations, the computing device 200 can execute a messaging application 270 that includes a user interface (e.g., a snapshot homepage UI 274) for viewing dashboard snapshots and related telemetry information created by a snapshot author.

[0095] Computing device 200 may be a desktop computer, laptop computer, tablet computer, or other computing device having a display and a processor capable of running data visualization application 230, content redirection application 240, and / or messaging application 270. Data visualization application 230 may include a data source generator for database organization (e.g., generating an object model for a database) and generating new data sources using an existing database.

[0096] The computing device 200 typically includes: one or more processing units / cores (CPUs) 202 for executing modules, programs and / or instructions stored in memory 206 to perform processing operations; one or more network or other communication interfaces 204; memory 206; and one or more communication buses 208 for interconnecting these components. The communication bus 208 may include circuits for interconnecting and controlling communications between system components.

[0097] In some implementations, the computing device 200 includes a user interface 210, which includes a display 212 and one or more input devices or mechanisms 214. In some implementations, the input device / mechanism includes a keyboard. In some implementations, the input device / mechanism includes a "soft" keyboard, which is displayed on the display 212 as needed, so that the user can "press" the "keys" that appear on the display 212. In some implementations, the display 212 and the input device / mechanism 214 include a touch screen display (also referred to as a touch-sensitive display). In some implementations, the display is an integrated part of the computing device 200. In some implementations, the display is a separate display device. Some implementations include an audio input device 216 (e.g., a microphone) and / or an audio output device 218 (e.g., a speaker).

[0098] In some implementations, the memory 206 includes a high-speed random access memory, such as DRAM, SRAM, DDRRAM, or other random access solid-state memory devices. In some implementations, the memory 206 includes a 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. In some implementations, the memory 206 includes one or more storage devices located away from the CPU 202. The memory 206 (or alternatively, a non-volatile memory device within the memory 206) includes a non-transitory computer-readable storage medium. In some implementations, the memory 206 or a computer-readable storage medium of the memory 206 stores the following programs, modules, and data structures or a subset thereof:

[0099] An operating system 222, which includes programs for handling various basic system services and for performing hardware-related tasks;

[0100] A communication module 224 for connecting the computing device 200 to other computers and devices via one or more communication network interfaces 204 (wired or wireless) and one or more communication networks (such as the Internet, other wide area networks, local area networks, metropolitan area networks, etc.);

[0101] A web browser 226 (or other client application) that enables a user to communicate with a remote computer or device over a network;

[0102] An audio input module 228 (e.g., a microphone module) for processing audio captured by the audio input device 216. The captured audio can be sent to a remote server and / or processed by an application executing on the computing device 200 (e.g., by the data visualization application 230, the content redirection application 240, or the messaging application 270);

[0103] A data visualization application 230 that provides a dashboard user interface 232 (e.g., a graphical user interface) and a dashboard builder 234 for users to perform data analysis, including building a database, building an object model, and building visual graphics (e.g., a separate data visualization or a dashboard with one or more related data visualizations). In some implementations, the data visualization application 230 is executed as a standalone application (e.g., a desktop application). In some implementations, the data visualization application 230 is executed within the web browser 220 (e.g., as a web application). The data visualization application 230 includes:

[0104] o A dashboard user interface 232 that enables a user to access or build object models and data sources, and also provides a graphical view to build a data dashboard (e.g., data visualization) by visually specifying elements; and

[0105] o a dashboard generator 234 for generating data visualizations and / or data dashboards;

[0106] A content redirection application 240 (e.g., Philo) for redirecting dashboard content as an interactive snapshot of the collaboration platform (e.g., messaging application 270 and collaboration platform server 500). The content redirection application 240 includes:

[0107] o a component generator 242 that enables a user (e.g., a snapshot author) to create a snapshot component from selected data elements of a data dashboard via a component creator user interface 244. In some implementations, a snapshot author can specify respective values ​​for respective component properties, such as metrics, filters, time frames, segments, and optional parameters, via the component creator user interface 244. In some implementations, the author can modify the respective values ​​as desired (e.g., via the component creator user interface 244 or the data visualization server 300) without changing the source dashboard; and

[0108] o Snapshot generator 246, which enables snapshot authors to orchestrate snapshots (e.g., by merging one or more snapshot parts) via snapshot creator user interface 270. In addition to enabling multi-part snapshots, snapshot generator 246 also accommodates selections across multiple dashboards using snapshot generator user interface 248;

[0109] a messaging application 270 for communicating with other users via direct messaging, file sharing, snapshot sharing, live streaming, and / or participating in chat rooms (e.g., channels) organized by topic and / or group. In some implementations, the messaging application 270 executes as a standalone application (e.g., as an application designed to run on the computing device 200 or on other mobile devices). In some implementations, the messaging application 270 executes within a web browser 226 or another application that uses a web page served by a web server. In some implementations, the messaging application 270 includes a messaging user interface 272. In some implementations, the messaging application 270 includes a snapshot homepage user interface 274 that enables a user to view dashboard snapshots authored by the user and telemetry information associated with the dashboard snapshots;

[0110] API 280 for receiving API calls from one or more applications (e.g., web browser 222, data visualization application 230, content redirection application 240, and / or messaging application 270), translating the API calls into appropriate actions, and performing one or more actions;

[0111] Component specifications 250 (or snapshot component specifications) for snapshot components 252, including a first component specification 250-1 corresponding to a first snapshot component 252-1 and a second component specification 250-2 corresponding to a second snapshot component 252-2. Component specifications 250 are used to define characteristics of desired snapshot components. In some implementations, information provided by computing device 200 or electronic device 400 (e.g., via user input) is stored as component specifications;

[0112] Snapshot components 252, including a first snapshot component 252-1 and a second snapshot component 252-2. In some implementations, the snapshot components 252 are generated and stored in a memory of the computing device 200. In some implementations, the snapshot components 252 are generated on the fly by the computing device 200 according to the component specification 250. In some implementations, the computing device 200 creates a placeholder for the snapshot component (e.g., based on the coordinates of a data element of the data dashboard selected by the user), creates a component specification corresponding to the snapshot component, and populates the component specification with values ​​for corresponding properties according to data provided by the computing device 200 or the electronic device 400 (e.g., via user input);

[0113] Snapshot specifications 254 (or data snapshot specifications) for data snapshots 256 (or simply “snapshots”), including a first snapshot specification 254 - 1 corresponding to a first data snapshot 256 - 1 and a second snapshot specification 254 - 6 corresponding to a second data snapshot 256 - 2 ;

[0114] Data snapshots 256, including a first data snapshot 256-1 and a second data snapshot 256-2. In some implementations, the data snapshots 256 are generated and stored in a memory of the computing device 200. In some implementations, the data snapshots 256 are stored by the computing device 200.

[0115] 200 is generated on the fly according to snapshot specification 254;

[0116] Data dashboards 258 , including a first data dashboard 258 - 1 having one or more dashboard elements 260 - 1 and a second data dashboard 258 - 2 having one or more dashboard elements 260 - 2 ;

[0117] Templates 262 (or template designs). Philo allows authors to apply design transformations to snapshot components via templates. Templates 262 collectively correspond to a set of communication intents (e.g., segmenting values ​​by categorizing data fields or discretizing bins, eliciting comparisons between values ​​and goals, supporting calls to action, or communicating trends about thresholds). Templates inherit several properties, such as data and metrics from components, as well as worksheet properties that preserve scale mappings for dashboard selections, thereby allowing authors to selectively preserve some dashboard design choices after applying template-based transformations to content;

[0118] Template specified 264; and

[0119] One or more databases / data sources 266, including a first data source 266-1 and a second data source 266-2. In some implementations, the data sources are stored as spreadsheet files, CSV files, XML files, flat files, or JSON files, or are stored in a relational database. For example, a user selects one or more databases or data sources 266 (which may be stored on the computing device 200 or stored remotely), selects data fields from the data sources 266, and defines a visual graphic using the selected fields.

[0120] Each of the executable modules, applications or program sets identified above can be stored in one or more memory devices in the previously mentioned memory devices, and corresponds to an instruction set for performing the above functions. The modules or programs (i.e., instruction sets) identified above do not need to be implemented as separate software programs, programs or modules, and therefore various subsets of these modules can be combined or otherwise rearranged in various implementations. In some implementations, memory 206 stores a subset of the modules and data structures identified above. In some implementations, memory 206 stores additional modules or data structures not described above. For example, in some implementations, computing device 200 includes a natural language processing interface that receives and parses queries including natural language input functionality. In some implementations, some modules or applications in the modules or applications described in Figure 2 can be implemented on other devices and / or systems such as data visualization servers 300, electronic devices 400 or collaborative platform servers 500.

[0121] Although FIG. 2 shows a computing device 200, FIG. 2 is intended more as a functional description of various features that may be present than as a block diagram of the implementations described herein. In practice, and as recognized by those of ordinary skill in the art, items shown separately may be combined, and some items may be separated.

[0122] Figure 3A and Figure 3B A block diagram of a data visualization server 300 according to some implementations is shown. The server system 300 may host one or more databases 360, or may provide various executable applications or modules. The data visualization server 300 typically includes one or more processing units / cores (CPUs) 302, one or more network interfaces 304, a memory 314, and one or more communication buses 312 for interconnecting these components. In some implementations, the server 300 includes a user interface 306, which includes a display 308 and one or more input devices 310, such as a keyboard and mouse. In some implementations, the communication bus 312 includes circuits (sometimes referred to as a chipset) that interconnect and control communication between system components.

[0123] In some implementations, the memory 314 includes high-speed random access memory, such as DRAM, SRAM, DDRRAM or other random access solid-state memory devices. In some implementations, the memory 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. In some implementations, the memory 314 includes one or more storage devices located away from the CPU 302. The memory 314 (or alternatively, the non-volatile memory device within the memory 314) includes a non-transitory computer-readable storage medium.

[0124] In some implementations, the memory 314 or the computer-readable storage medium of the memory 314 stores the following programs, modules, and data structures, or a subset thereof:

[0125] An operating system 316, which includes programs for handling various basic system services and for performing hardware-related tasks;

[0126] A network communication module 318 for connecting the server 300 to other computers via one or more communication network interfaces 304 (wired or wireless) and one or more communication networks (such as the Internet, other wide area networks, local area networks, metropolitan area networks, etc.);

[0127] A web server 320 (such as an HTTP server), which receives web requests from users and responds by providing responsive web pages or other resources;

[0128] a data visualization web application 330 that can be downloaded and executed by a web browser 220 on a user's computing device 200. In general, the data visualization web application 330 has the same functionality as the desktop data visualization application 230, but provides the flexibility of being accessed from any device with network connectivity at any location, and does not require installation and maintenance. In some implementations, the data visualization web application 330 includes various software modules for performing certain tasks. In some implementations, the data visualization web application 330 includes a dashboard user interface module 332 that provides a user interface for all aspects of the data visualization web application 330. In some implementations, the data visualization web application 330 includes a dashboard builder module 340 for data analysis, including building databases, building object models, and building visual graphics (e.g., individual data visualizations or dashboards each with one or more related data visualizations);

[0129] A data acquisition module 336 that constructs and executes queries to acquire data from one or more databases 360. The databases 360 are stored locally on the server 300 or in an external database system. For example, the data acquisition module 336 can acquire a database 360 ​​storing one or more data sources 266 so that data tables and data fields from the data sources 266 can be used to build a data visualization or a data dashboard having one or more data visualizations;

[0130] Content redirection web application 340, which includes:

[0131] o A component generator module 342 that receives and processes a selection of data elements from a dashboard (provided by the computer system or computer device 200) and generates a corresponding snapshot component. In some implementations, the component generator module 342 includes a component generator user interface module 344 that provides a user interface for all aspects of the content redirection web application 340 associated with generating a snapshot component;

[0132] o a snapshot generator module 346 that generates a data snapshot by merging one or more snapshot components from one or more corresponding data dashboards;

[0133] API 350 for receiving API calls, translating the API calls into appropriate actions, and performing one or more actions;

[0134] One or more databases 260 that store data used or created by the data visualization web application 330, the data visualization application 230, the content redirection web application 340, the content redirection application 240, or the messaging application 270, including:

[0135] ο Component specification 250;

[0136] o Snapshot component 252;

[0137] ο snapshot specification 254;

[0138] o data snapshot 256;

[0139] o data dashboards 258 and data dashboard elements 260;

[0140] o Template 262; Template designation 264;

[0141] o Data source 266; and

[0142] οUser Preferences 362

[0143] Each of the executable modules, applications or program sets identified above can be stored in one or more memory devices in the previously mentioned memory devices, and corresponds to an instruction set for performing the above functions. The modules or programs (i.e., instruction sets) identified above do not need to be implemented as separate software programs, programs or modules, and therefore various subsets of these modules can be combined or otherwise rearranged in various implementations. In some implementations, memory 314 stores a subset of the modules and data structures identified above. In some implementations, memory 314 stores additional modules or data structures not described above.

[0144] Although FIG. 3 shows a server system 300, FIG. 3 is intended more as a functional description of various features that may exist, rather than as a structural diagram of the implementation described herein. In practice, and as recognized by those of ordinary skill in the art, the items shown separately may be combined, and some items may be separated. In addition, some programs, functions, processes or data in the programs, functions, processes or data shown above relative to server 300 may be stored or executed on computing device 200, or electronic device 400, or collaborative platform server 500. In some implementations, functionality and / or data may be distributed between computing device 200 and one or more servers 300. In addition, those skilled in the art recognize that FIG. 3 does not need to represent a single physical device. In some implementations, server functionality is distributed on multiple physical devices including a server system. As used herein, reference to "server" or "data visualization server" includes various groups, sets or arrays of servers providing the described functionality, and physical servers do not need to be physically collocated (e.g., each physical device may be dispersed throughout the United States or the world).

[0145] Figure 4 270 . 270 is a block diagram illustrating an electronic device 400 according to some implementations. In some implementations, the electronic device 400 is also referred to as a computing device. Various examples of the electronic device 400 include a desktop computer, a laptop computer, a tablet computer, a display assistant device, a mobile phone, a voice assistant device, or other computing devices with a display and a processor capable of running the messaging application 270.

[0146] The electronic device 400 typically includes: one or more processing units / cores (CPUs) 402 for executing modules, programs and / or instructions stored in a memory 406 to perform processing operations; one or more network or other communication interfaces 404; memory 406; and one or more communication buses 408 for interconnecting these components. The communication bus 408 may include circuits for interconnecting and controlling communications between system components.

[0147] In some implementations, the electronic device 400 includes a user interface 410, which includes a display 412 and one or more input devices or mechanisms 414. In some implementations, the input device / mechanism includes a keyboard. In some implementations, the input device / mechanism includes a "soft" keyboard, which is displayed on the display 412 as needed, so that the user can "press" a "key" that appears on the display 412. In some implementations, the display 412 and the input device / mechanism 414 include a touch screen display (also referred to as a touch-sensitive display). In some implementations, the display is an integrated part of the electronic device 400. In some implementations, the display is a separate display device.

[0148] In some implementations, the memory 406 includes a high-speed random access memory, such as DRAM, SRAM, DDRRAM, or other random access solid-state memory devices. In some implementations, the memory 406 includes a 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. In some implementations, the memory 406 includes one or more storage devices located away from the CPU 402. The memory 406 (or alternatively, a non-volatile memory device within the memory 406) includes a non-transitory computer-readable storage medium. In some implementations, the memory 406 or the computer-readable storage medium of the memory 406 stores the following programs, modules, and data structures or a subset thereof:

[0149] An operating system 422, which includes programs for handling various basic system services and for performing hardware-related tasks;

[0150] A communication module 424 for connecting the electronic device 400 to other computers and devices via one or more communication network interfaces 404 (wired or wireless) and one or more communication networks (such as the Internet, other wide area networks, local area networks, metropolitan area networks, etc.);

[0151] A web browser 426 (or other client application) that enables a user to communicate with a remote computer or device over a network;

[0152] An audio input module 428 (e.g., a microphone module) for processing audio captured by the audio input device 416. The captured audio can be sent to a remote server and / or processed by an application (e.g., the messaging application 270) executed on the electronic device 400;

[0153] · A messaging application 270 for communicating with other users via direct messaging, file sharing, snapshot sharing, live streaming, and / or participating in chat rooms (e.g., channels) organized by topic and / or group. In some implementations, the messaging application 270 executes as a standalone application (e.g., as an application designed to run on the electronic device 400 or on other mobile devices). In some implementations, the messaging application 270 executes within a web browser 226 or another application that uses a web page served by a web server. In some implementations, the messaging application 270 includes a messaging user interface 272. In some implementations, the messaging application 270 includes a snapshot homepage user interface 274; and

[0154] • API 430, which is used to receive API calls from one or more applications (eg, web browser 222 and messaging application 270), convert the API calls into appropriate actions, and perform one or more actions.

[0155] Each of the executable modules, applications, or sets of programs identified above may be stored in one or more of the memory devices previously mentioned and correspond to a set of instructions for performing the functions described above. The modules or programs (i.e., instruction sets) identified above need not be implemented as separate software programs, procedures, or modules, and thus various subsets of these modules may be combined or otherwise rearranged in various implementations. In some implementations, memory 406 stores a subset of the modules and data structures identified above. In some implementations, memory 406 stores additional modules or data structures not described above. In some implementations, Figure 4 Some of the modules or applications described in the drawings may be implemented on other devices and / or systems such as the computing device 200 or the collaboration platform server 500 .

[0156] although Figure 4 An electronic device 400 is shown, but Figure 4 It is intended more as a functional description of various features that may be present rather than as a schematic diagram of the architecture of the implementations described herein. In practice, and as recognized by one of ordinary skill in the art, items shown separately may be combined, and some items may be separated.

[0157] Figure 4 is a block diagram illustrating an exemplary collaboration platform server 500 according to some implementations.

[0158] The server 500 typically includes one or more processing units (processors or cores, CPUs) 502, one or more network or other communication interfaces 504, memory 514, and one or more communication buses 512 (sometimes referred to as chipsets) for interconnecting these components. The server 500 may optionally include a user interface 506. The user interface 506 may include a display 508 and one or more input devices 510, such as a keyboard, a mouse, and / or other input buttons.

[0159] Memory 514 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, one or more optical disk storage devices, one or more flash memory devices, or one or more other non-volatile solid-state storage devices. Memory 514 optionally includes one or more storage devices located away from one or more processing units. Memory 314 (or alternatively, non-volatile memory within memory 514) includes non-transitory computer-readable storage media. In some implementations, memory 514 or non-transitory computer-readable storage media of memory 514 stores the following programs, modules, and data structures, or subsets or supersets thereof:

[0160] An operating system 516, which includes programs for handling various basic system services and for performing hardware-related tasks;

[0161] A network communication module 518 for connecting the server 500 to other devices and systems (e.g., the computing device 200, the data visualization server 300, and the electronic device 400) via one or more network interfaces 504 (wired or wireless) and a communication network 132 (such as the Internet, other wide area networks, local area networks, metropolitan area networks, etc.);

[0162] API 520, which is used to receive API calls, convert the API calls into appropriate actions, and perform one or more actions;

[0163] A messaging interface 522 for communication (eg, interactions or events) between the server 500 and a messaging service;

[0164] Snapshot Home web interface 524, which has the same functionality as the Snapshot Home user interface 272, but provides the flexibility of access from any device with network connectivity at any location, and requires no installation and maintenance; and

[0165] A conversation repository 530 for storing interaction states and data between the collaboration platform server 500 and the messaging service. In some implementations, the data is grouped by user identifiers (e.g., user accounts) of the messaging application, and within each user identifier, the data is further organized by interaction states 534, snapshots 536 (e.g., a first snapshot 536-1-1 corresponding to a first user identifier 532-1 and a second snapshot 536-2-2 corresponding to a second user identifier 532-2), and user queries 538. In some implementations, the corresponding 536 also includes: an identification of one or more snapshot components of the corresponding snapshot, which in turn can be traced back to the data source, the data fields in the data source, and the data values ​​of the data fields.

[0166] Each of the executable modules, applications or program sets identified above can be stored in one or more memory devices in the previously mentioned memory devices, and corresponds to an instruction set for performing the above functions. The modules or programs (i.e., instruction sets) identified above do not need to be implemented as separate software programs, programs or modules, and therefore various subsets of these modules can be combined or otherwise rearranged in various implementations. In some implementations, memory 514 stores a subset of the modules and data structures identified above. In some implementations, memory 514 stores additional modules or data structures not described above.

[0167] although Figure 5 Server system 500 is shown, but Figure 5 It is intended more as a functional description of various features that may be present than as a block diagram of the implementations described herein. In practice, and as recognized by those of ordinary skill in the art, items shown separately may be combined, and some items may be separated. Additionally, some of the programs, functions, processes, or data shown above with respect to server 500 may be stored or executed on computing device 200, or electronic device 400, or data visualization server 300. In some implementations, functionality and / or data may be distributed between computing device 200, electronic device 400, and one or more servers 500. Furthermore, those skilled in the art recognize that Figure 5 A single physical device need not be represented. In some implementations, server functionality is distributed across multiple physical devices comprising a server system. As used herein, references to a "server" or "collaborative platform server" include various groups, sets, or arrays of servers that provide the described functionality, and the physical servers need not be physically collocated (e.g., individual physical devices may be dispersed throughout the United States or the world).

[0168] C. Philo interface

[0169] Widget Creator

[0170] Fig. 6A A widget creator user interface 244 is shown according to some implementations. According to some implementations of the disclosure, the widget creator user interface 244 enables a snapshot author to specify the scope and format of selected dashboard content that will appear in a snapshot widget.

[0171] In some implementations, the part creator user interface 244 includes a data column 602 , a preview column 604 , and a content column 606 . FIG. 6B to FIG. 6D 602, preview column 604, and content column 606, respectively. Some of the controls in the component creator user interface 244 and their associated concepts are inherited from business intelligence dashboard applications, including quantitative metrics, filtering, and segmenting, ranking, or discretizing bins by categorical dimensions. Other controls are new to the interface, including those associated with template-based transformations and time frames.

[0172] In some implementations, a computing device (e.g., computing device 200) displays a component creator user interface 244 based on (e.g., in response to) a user selection of a data element from a data dashboard. Fig. 7A and Figure 7B Shown in. Fig. 7A A data dashboard 702 is shown displayed (e.g., as a tab) in the dashboard user interface 232 of a computing device. The data dashboard may include one or more data visualizations. For example, Fig. 7A The data dashboard 702 in FIG. 7 includes data visualizations 704 - 1 through 704 - 10 . Figure 7B , a user selects a data element 704-1 in a data dashboard 702 (e.g., a metric data field "sales," or a data value corresponding to a metric data field "sales" (e.g., "$652,989.00"), or a data visualization 704-1), and selects an enable representation 706 (e.g., a user-selectable icon) that designates the data element "sales" as a snapshot component of a data snapshot.

[0173] In some implementations, a data element may be one or more data units of a data dashboard. In some implementations, a data element may be one or more data values ​​of a data field from a data dashboard. In some implementations, a data element may be one or more data tags of a data visualization in a data dashboard. In some implementations, a data element may be one or more data visualizations from a data dashboard.

[0174] refer to Figure 6BIn some implementations, the data column 602 includes a metric panel 612, a filter panel 614 (e.g., a filter and selection panel) (e.g., a static filter), a time frame panel 616, a breakdown panel 618, and a template parameter panel 620. The metric panel 612 includes a metric data field 622 (e.g., a quantitative data field). In some implementations, the metric data field 622 is a metric for a snapshot component and is linked to a data source. In some implementations, the metric panel 612 includes a number format 624 (e.g., currency or percentage) corresponding to the metric data field 622 and an aggregation method 626 (e.g., sum or average) applied to the data value of the metric data field 622.

[0175] In some implementations, Philo obtains an initial configuration including data values, metric data fields, filters, and / or segments (e.g., a categorized data field that segments the data values ​​of a metric data field) from the data dashboard and propagates the initial configuration to the metric panel 612, filter panel 614, and segment panel 616 of the component creator user interface 244. Return to Reference Figure 7B , where a user selects the metric “sales” (e.g., a metric data field) (e.g., data element 704-1) from data dashboard 702, Figure 6B It is shown that according to the user selection of the metric, the component creator user interface 244 pre-populates the metric panel 612 with the metric data field "Sales", and identifies the format 624 (e.g., USD currency) and aggregation type (e.g., sum) corresponding to "Sales". In the event that the user does not want to be constrained by the content as it appears in the source dashboard, the user can modify the pre-populated fields on the component creator user interface 244 as needed without changing the source dashboard. Therefore, the disclosed system and user interface make user-device operations more efficient by pre-populating dashboard selections on the component creator user interface 244 while supporting flexible authoring (DG2).

[0176] Figure 6B In some implementations, data column 602 includes affordance 613 (e.g., a user-selectable icon) (e.g., an "add metric" affordance) that, when selected by a user, enables the user to add one or more metric data fields and create one or more snapshot components based on the added metric data fields (e.g., without having to select the metric data fields from a data dashboard). Continuing with the example of the metric data field "sales" (e.g., and its corresponding data values) of the previous paragraph, assume that the user wishes to compare the "sales" and "profit" values. In this scenario, the user can return to Fig. 7AThe user may select data element 704-2 corresponding to the metric data field "Profit" (e.g., and its corresponding data value) in the data dashboard 702, or the user may select the enable representation 613 to add the metric data field "Profit" and generate a comparison using an appropriate template.

[0177] In some implementations, Philo also loads the filters from the original dashboard onto the Filters and Selections 614 panel. A user can turn a set of filters into a macro-type interactive filter.

[0178] Figure 6B Also shown is that in some implementations, the data column 602 includes a time frame panel 616 that reflects the timeliness of the component. The time frame panel 616 includes options for specifying a time dimension data field 628 of the component (e.g., a reference data field such as "Order Date") with selectable attributes, such as a semantic time interval filter 630 with a start date 632 (e.g., 1 week from May 1st), a time unit 634 (e.g., monthly, weekly, or daily), and a periodicity filter 636 (e.g., every Monday). The input fields specified by the time frame panel 616 determine the behavior of snapshot updates (DG3: Shared Post-Lifecycle and DG3c: Automate Updates) and precise time filtering (DG1b: Time Range). In some implementations, when a filter or time frame is applied to a snapshot component (e.g., via specification of fields 628, 630, 632, 634, or 636), a filter annotation 652 appears above the main content in the preview column 604, as shown in FIG. Figure 6C shown.

[0179] In some implementations, the component creator user interface 244 includes a segmentation panel 618 that enables a user to specify one or more segmentation fields 638 (e.g., categorical data fields, dimensional data fields, or nominal and ordinal fields). Each segmentation field 638 allows a metric to be decomposed using a sort. For example, a user can specify a metric data field as a ranking field 640, a number of top items 641, a number of bottom items 642, and a rank 643 (e.g., a sort order, such as descending or ascending).

[0180] Figure 6B In some implementations, data column 602 includes affordance 645 (e.g., a user-selectable icon) (e.g., an "add segment" affordance) that, when selected by a user, enables the user to add one or more dimensional data fields and create one or more snapshot components based on the added dimensional data fields (e.g., without having to select the dimensional data fields from the data dashboard). For the example of the dimensional data field "category" (e.g., and its corresponding breakdown), assume that the user wishes to add another segment "region". In this scenario, the user can return to Fig. 7A 702 to select data element 704-9 corresponding to the dimensional data field "Region" (e.g., and its corresponding decomposition), or the user can select the enabling representation 645 to add the dimensional data field "Region" and generate a comparison using an appropriate template.

[0181] In some implementations, data column 603 includes an affordance 644 (e.g., a user-selectable icon) (e.g., a "delete breakdown" affordance) that, when selected by a user, enables the user to delete the corresponding dimension data field and create one or more snapshot components based on the removed dimension data field (e.g., without having to return to the data dashboard). Continuing with the example of the dimension data field "category" (e.g., and its corresponding breakdown) and the metric data field "sales" (e.g., and its corresponding data values) of the previous paragraph, assume that the user wishes to aggregate the "sales" values ​​into a single value. In this scenario, the user can select affordance 644 to remove the dimension data field "category."

[0182] In some implementations, the data column 602 also includes a template parameter field panel 620 that enables the snapshot author to set parameter values, such as threshold preset values ​​and minimum and / or maximum values ​​for threshold ranges, as required by the template-based component, as will be described in further detail below. Parameter values ​​are values ​​that do not appear in the original dashboard selection. In some implementations, for template-based components, the user can choose to rank the decomposed items by sort order and the number of top and bottom items.

[0183] Figure 6C A view of a preview column 604 according to some implementations is shown. In some implementations, the preview column 604 presents a preview 650 (e.g., a view) of a snapshot component. In some implementations, the snapshot component can include filter annotations 652, main content 653, and interactive filters 654.

[0184] Fig.6D A view of a content column 606 according to some implementations is shown. In the content column, the author can annotate (672) and format (674) the snapshot component, optionally apply a template transformation (e.g., via selecting a template icon 676), edit the caption (678, 680, and 682), and add interactive filters (684).

[0185] In some implementations, in relation to annotations (672), the author can freely draw (e.g., on the preview 650 of the snapshot component) to visually emphasize the content or indicate a viewing order. The ability to annotate on the snapshot improves user communication about the data and directs the viewer to portions of the component that require the viewer's attention.

[0186] In some implementations, the user may choose to preserve the existing look of the dashboard selection, or apply a template-based transformation (674 and 676) (DG2c: Design Preservation, DG2b: Design Transformation). Philo suggests using a template based on the suitability of a heuristic, taking into account the number of metrics and dimensions associated with the dashboard selection (see discussion below and Fig.15A 15L). As described above, some templates require the author to specify parameter values ​​in the template parameter 620 input field. For the component description text, the author can edit the provided text expression associated with the template (680) or add their own text (682). The user can add one or more interactive filters (684) that will allow their viewers to answer simple predefined questions (DG1d: Interactivity of predictable questions); any filters added are appended below the main component content (e.g., as interactive filters 654), such as Figure 6C shown.

[0187] In some implementations, the snapshot creator user interface 244 includes an option 686 for saving the component. In some implementations, when the component is saved, the dashboard user interface 244 displays a representation 712 of the component of the dashboard user interface 244 (e.g., in the filter and snapshot panel 714), such as Figure 7C shown.

[0188] In some implementations, the snapshot creator user interface 244 includes an option 688 for deleting a component.

[0189] Snapshot Orchestrator

[0190] Figure 8 A snapshot creator user interface 248 (eg, snapshot orchestrator) is shown according to some implementations.

[0191] In some implementations, to combine multiple snapshot components into a single snapshot, the snapshot author can invoke Philo's snapshot orchestrator from the dashboard user interface 232 (e.g., the data visualization application 230). Figure 7C In some implementations, dashboard user interface 232 includes affordance 708 (e.g., a user selectable icon) that, when selected by a user, enables the user to export a snapshot. User selection of affordance 708 causes computing device 200 to display snapshot creator user interface 248. Figure 7CIn some implementations, the dashboard user interface 232 includes an affordance 710 (e.g., a user-selectable icon) that, when selected by a user, enables the user to create a snapshot component from scratch. In some implementations, the user selects affordance 710 and then selects a data element on the data dashboard, causing the dashboard to display an option for making a snapshot component for the selected data element.

[0192] In addition to enabling multi-part snapshots (DG2d), the snapshot orchestrator also accommodates selections across multiple dashboards (DG2a).

[0193] In some implementations, the snapshot creator user interface 248 includes a settings column 802 , a preview column 804 , and a parts column 806 .

[0194] Setting columns 802 enables the author to select a curation method 808 (e.g., curation options) and / or a layout type 810. In some implementations, the curation method 810 is one of: a single view, a vertical stack (e.g., a vertical view stack), an interactive carousel, an automated slideshow, a mini dashboard, or an animated GIF. 9A to 9D An exemplary vertical stack planning method, an exemplary carousel planning method, an exemplary mini dashboard planning method, and an exemplary automated slide planning method according to some implementations are illustrated, respectively. For each of these planning methods, the placement or order of components in the component column 806 can be adjusted (e.g., by dragging and / or arranging snapshot components in a preferred order).

[0195] The export panel 812 enables the author to select the collaboration platform channel on which to publish their snapshot. The author may also choose to give viewers the ability to re-share the snapshot to other channels (e.g., via checkbox 814) and control whether the snapshot will automatically re-recur (e.g., via checkbox 816) according to a specified time interval 818 (e.g., a recurrence frequency, such as one month, one week, or every 20 days), a recurrence expiration date 820, and a time of day 822 at which recurrences of the snapshot will be displayed on the collaboration platform channel (DG3: Automated Updates).

[0196] In some implementations, snapshot authors can author dashboard snapshots directly from the collaboration platform. For example, in some implementations, rather than setting up a channel to export snapshots to (e.g., via export panel 812), snapshot authors can copy the URL of the snapshot and paste it into a draft channel, which can utilize tools (such as Microsoft Teams' GraphToolkit or Slack's Block Kit) to prompt in-situ authoring options presented within the collaboration platform. To this end, the collaboration platform can also integrate Philo's component creator user interface 244 and snapshot creator user interface 248 as embedded applications called from within a channel.

[0197] A freshness panel 824 enables authors to specify a "fresh until" (e.g., "shelf life," expiration time, validity time) for a snapshot (DG3a: Past Snapshots). Philo can also infer freshness dates from the timeframe of its components. In some implementations, via a checkbox 826, authors can allow viewers of a snapshot to obtain or request an updated snapshot when the snapshot becomes stale. For stale snapshots, Philo will prepend a freshness indicator 828 (e.g., a text box) to the snapshot. In some implementations, such as Figure 8 As shown, freshness indicator 8218 informs the viewer that portions of the snapshot may not be up to date. In some implementations, freshness indicator 828 indicates a recurrence schedule and, if enabled (e.g., when the author selects box 826), presents the viewer with an option to obtain or request an updated snapshot. When viewed as a whole, freshness indicator 828 increases user confidence in the data (e.g., by notifying the viewer of the validity or timeliness of the data) and minimizes the chance of miscommunication with the viewer.

[0198] Additionally, alternative snapshot update options, such as an option to allow others to share the snapshot (e.g., option 814), an automatic recurrence option (e.g., option 816 (e.g., automatic recurrence), and an option to allow others to refresh the snapshot (e.g., option 826)) ensure author agency, support data dialogue, and minimize the chance of miscommunication between the author and his or her viewers. For example, in some cases, where there are goals for certain key performance indicators (KPIs) that are tracked on a regular (e.g., monthly) basis, such as a monthly sales target, an automatic recurrence feature may be useful. In the example, it would be useful to set an automatic recurrence feature for a sales snapshot to be generated and distributed monthly, since the audience may want to see the sales graph move. In another example, the auto-reproduce feature may be useful in short-lived emergencies (such as cloud service outages and logistical incidents) when snapshots will need to be updated in short order (e.g., every 5 minutes). In this case, it may be useful to enable option 826 that allows viewers to refresh snapshots; that way, viewers can get updated information themselves without having to rely on the author to update. In some cases, some snapshots require a series of checks before publishing updates (e.g., they have a large audience or a significant executive audience), so the author should retain control of the updates (e.g., by deselecting option 826 that would allow others to refresh, or deselecting option 814 that would allow others to share) to prevent any miscommunication.

[0199] In some implementations, the snapshot creator user interface 248 displays a completeness panel 830 including an option 832 (e.g., a check box). User selection of option 832 causes the snapshot to be displayed with an indicator 834 (e.g., a text box) indicating that the underlying snapshot has potentially missing and / or incomplete data. The presence of the indicator 834 improves communication with the viewer by alerting the viewer to the presence of missing data. This in turn results in increased user confidence in the data, as most users typically do not spend time looking for missing data.

[0200] In some implementations, the preview column 804 includes a preview panel 836 that displays a rendering 838 of the snapshot, simulating a collaboration platform interface.

[0201] In some implementations, in the component column 806, the author can change the order of the corresponding component (e.g., by selecting a corresponding "move up" button 842 or a corresponding "move down" button 844 adjacent to the corresponding component). In some implementations, in the component column 806, the author can remove the corresponding component (e.g., by selecting a corresponding "remove" button 846 adjacent to the corresponding component). In some implementations, the author can also choose (840) to edit the component in the component creator (e.g., the component creator user interface 244).

[0202] In some implementations, the snapshot creator user interface 248 includes one or more options (eg, buttons, affordances, or selectable icons) for the author to save (848), export (850), or delete (852) the snapshot.

[0203] In some implementations, snapshot creator user interface 248 may be invoked from a dashboard user interface (eg, dashboard user interface 232 ) (eg, via user selection of affordance 708 ).

[0204] My Snapshot Home

[0205] Fig.10 A snapshot home user interface 274 (eg, a telemetry monitoring interface) is shown according to some implementations.

[0206] According to some implementations of public texts, the collaborative platform interface simulates platforms such as Slack TM and Microsoft Teams TM The basic functionality of , which means that snaps can be posted and shared across multiple channels, generate comment threads, and receive emoji-based reactions. These interactions can provide the snap author with an impression of the impact of the snap after it is shared.

[0207] In some implementations, the snapshot home user interface 274 is a dedicated channel within the collaboration platform that collects an author's dashboard snapshots (1002) and associated telemetry information (1004) for each snapshot, thereby alleviating the need for authors to search for snapshots and estimate the visibility and impact of snapshots across the platform (DG3b: Telemetry).

[0208] In some implementations, the snapshot home user interface 274 is part of a messaging application (e.g., messaging application 270) associated with the collaboration platform server 500. In some implementations, the collaboration platform server 500 dynamically collects (e.g., in real time, automatically, and without user intervention) corresponding telemetry information for each snapshot composed by the snapshot author and presents it (e.g., in real time or near real time) on the author's snapshot home user interface 274.

[0209] In some implementations, the snapshot home user interface 274 is part of a data visualization application (e.g., the data visualization application 230) associated with the data visualization server 300. For example, the dashboard user interface 232 may include one or more tabs, each corresponding to a respective data dashboard, and the snapshot home user interface may be implemented as a separate tab in the dashboard user interface 232. In some implementations, the data visualization server 300 dynamically collects (e.g., in real time, automatically, and without user intervention) telemetry information associated with each snapshot composed by a snapshot author from the collaboration platform server 500 and presents it (e.g., in real time or near real time) on the author's snapshot home user interface 274, which is part of the data visualization application.

[0210] In some implementations, the snapshot home user interface 274 indicates, for each snapshot, which channel(s) the corresponding snapshot was shared to, the unique number of views (1006), comments (1008), reaction counts (1010), and interactive views (1012), and the identity of the viewer (1014) who interacted with the snapshot, with more details provided in the hover tooltips (B1, B2). As used herein, an interactive view occurs when a snapshot includes an interactive filter 654 with which a viewer (e.g., while viewing the snapshot) interacts. In some implementations, the snapshot home user interface 274 also lists any comments received by the snapshot.

[0211] In some implementations, the snapshot home user interface 274 indicates for each snapshot whether an interactive filter has been used.

[0212] In some implementations, the snapshot home user interface 274 indicates general metadata properties for each snapshot, such as the name of the snapshot (e.g., an identifier), the owner of the snapshot, the date the snapshot was originally published (or the date the snapshot was republished), and metadata information of the starting (e.g., original) dashboard corresponding to the components of the snapshot.

[0213] In some implementations, if the snapshot is indicated as stale, the snapshot home UI 274 lists update requests and retrievals (B3), as well as the ability to directly republish the updated snapshot without returning to Philo's snapshot orchestrator (e.g., snapshot creator UI 248).

[0214] D. Formalization

[0215] The inventors took a systematic approach to designing Philo, formalizing the way snapshots, snapshot components, and templates are constructed and related, considering how each of them can be extensible or interoperable with existing dashboard applications and collaboration platforms.

[0216] Snapshot Specifications

[0217] FIG. 11A to FIG. 11C Together, a formalization of a dashboard snapshot according to some implementations is provided. In a particular curated approach, a dashboard snapshot is composed of one or more components.

[0218] A snapshot (or dashboard snapshot) is formally declared as a tuple of metadata, widgets, text message, curation, export, auto-reproduce, freshness, and completeness (see Fig.11A , Fig. 11B , Fig. 11C and Fig.16 ). Metadata properties include the name, identifier (e.g., unique ID), and owner of the snapshot, as well as a pointer to the actual chat message for the snapshot. A snapshot then requires a list of one or more parts and an optional text message covering those parts. Curation properties specify the curation method and details (e.g., slide timing, mini dashboard layout). Export properties include the publication date and time, supplementary material channels for the original share, sharing permissions, and additional sharing channels. Auto-recurrence properties specify whether to automatically recur, the interval for obtaining updates, and the time of day when the updated snapshot is published. Philo uses interval expressions consisting of a length and a unit (e.g., 1 month, 2 weeks, or 5 days). Freshness properties include the date before which the snapshot is fresh (or the interval from the publication date) and the permissions for non-owners to obtain updated versions. Completeness indicates whether the underlying data of the snapshot has missing data points.

[0219] Part Specification (or Snapshot Part Specification)

[0220] FIG. 12A to FIG. 12D Together, a formalization of snapshot components according to some implementations is provided. A component is a building block of a dashboard snapshot.

[0221] A component (or snapshot component) is formalized as a tuple of metadata, data, metrics, timeframe, segment, filter, content type, worksheet, text message, template, template specification, annotation, and interactive filter (see Fig. 12A , Fig. 12B , Fig. 12C , Fig.12D and Fig.16 ). Metadata properties include a name, an identifier, and a pointer to the starting dashboard cell. Data properties store the entire data at creation time to enable interactive snapshots. Each measure item consists of a measure field, a formatting expression (e.g., $2 for USD), and an aggregation method.

[0222] The timeframe properties contain reference time fields (e.g., time field), time ranges, time units (e.g., weeks, months), and periodic filters. The time range can be specified using: (i) only the start date or the end date, (ii) the start date and the end date, or (iii) the start date and an interval. Periodic filters indicate the time points to be filtered within a time range consisting of an index and a unit (e.g., 1 to 5 days for weekdays).

[0223] A segmentation item consists of a dimension data field, a metric data field by which the items are ranked (e.g., a ranking field), the top and bottom N items (Top N, Bottom N), and a ranking (e.g., a sort order, such as descending or ascending). For example, a segmentation item with a category dimension and a sales metric sorts the category items by their sales value. If Top N and Bottom N are provided, a specified number of top-ranked items and bottom-ranked items are shown. Each filter item represents a filter expression, such as a field and data value / range. When a component is initially created, Philo loads the data, metrics, segments, and filters from the original dashboard unit.

[0224] The content type property defines whether to use the content (worksheet) or template of the dashboard unit. The worksheet property stores the design specifications of the original dashboard unit. If the content type is a worksheet, the worksheet property and the text message (string) are presented.

[0225] An annotation item is defined by shape type (eg, circle, square, ellipse, or rectangle), size, location, stroke (eg, color, width, and / or opacity), and fill (eg, color and opacity).

[0226] Interactive filters include a name, a type, and corresponding options. For the "automatic" filter type, the user only needs to specify the filter data field. For the "drop-down" or "slider" filter types, the user can provide selectable values ​​or limit ranges, respectively. For the "macro" filter type, the user should provide a filter expression written in a supported format. For example, when a viewer interacts with a snapshot, the interaction is counted and reflected in the snapshot home page user interface 274. The purpose is to help snapshot authors understand how their snapshots are used and how they can modify future snapshots to improve data communication with viewers.

[0227] template

[0228] Fig.13A and Fig. 13B

[0013] A formalization of templates (eg, template designs) according to some implementations is collectively provided.

[0229] Philo allows authors to apply design transformations to snapshot widgets via templates (DG2: flexible and easy to create). At a high level, the template design for Philo widgets is defined by supported tasks (task keywords), reactive design (written in Svelte), applicability, text templates, and parameter definitions (parameters) (see Fig. 13B and Fig.16 ).

[0230] Fig.14A A formalization of template specification according to some implementations is provided.

[0231] Template specification is distinguished from template design to ensure the reusability of templates: components use template specification to feed data to template design.

[0232] Fig. 14B An exemplary template design definition and template assignment for a "target" template is shown in accordance with some implementations.

[0233] like Fig. 14B As outlined in , the template is fed with template specifications. Fig. 14B As shown in (iii), the template specification consists of appearance, parameters (parameters), custom text, data, metrics, time frames, segments, filters and scales (see also Fig.16 ). The appearance of the template declares the design details, such as the use of text, graphics, and instructions ( Fig. 14B (iii), line 9). The parameter properties contain the actual parameter values ​​provided by the user ( Fig. 14B (ii), lines 6 to 8). If custom text is provided, it overrides the text template provided by the template designer, which can be static text or an expression string. Import data, metrics, timeframes, segments, filters and scales from the current component (see Fig.16 ).

[0234] FIG. 15A to FIG. 15K Exemplary template designs according to some implementations are shown. Fig.15A The corresponding task keywords, applicability and parameters of the template design for the corresponding template design (identified by its name) are shown. According to some implementations, FIG. 15B to FIG. 15K Each figure in shows the original dashboard selection (on the left) and the corresponding template design (on the right). In summary, the template designs correspond to a small set of communication intents (DG1: Support data dialogue) that the inventors derived from their co-design workshop findings. For example, Fig. 15B is intended to convey a simple breakdown by dimension or discretized bins, whereas Fig.15H is designed to derive a comparison between a value and a goal in order to support a call to action, and Figure 15KDesigned to convey trends about a threshold. For some templates, the author can provide a target or threshold via a parameter (DG2a: Transform).

[0235] Fig.16 Illustrated is the relationship between snapshots (A), components (B), templates (C), template assignments (D), and dashboard selections according to some implementations.

[0236] refer to Fig.16 , snapshot components include properties such as content type (determines whether to inherit the original representation from the dashboard selection or use a template) and interactive filters, such as Fig.16 As outlined in column B in . Philo launches a component by propagating data, metrics, segments, and filters from the original dashboard selection (E→B), while worksheet properties store the design specifications of the original dashboard selection to enable interactivity (DG1d) and selective design propagation (DG2c). Template properties contain a pointer to the template design selection (C→B), while template specification properties contain the data required for the selected template (D→B). Using properties such as components and curation, a snapshot specification combines multiple components into a single snapshot to be shared on the collaboration platform (B→A). Components contain content such as data and formatting selections, while snapshots manage how these components are orchestrated and exported. For example, export properties declare the channel to share the snapshot, while freshness and completeness indicate the state of the snapshot. Templates inherit several properties from components, such as data and metrics (B→D). This includes worksheet properties, which preserve the scale mapping of dashboard selections ( Figure 7B →D), thereby allowing authors to selectively retain some dashboard design choices after applying template-based transformations to the content (DG2c: Selective Design Propagation).

[0237] Update snapshot

[0238] When an updated snapshot is retrieved manually or automatically reproduced, the snapshot references the timeframe properties of its components. Philo first retrieves the most recent date associated with the data source for each snapshot component. Next, Philo infers the new timeframe of the component at the update time in order to filter the data. As an example, assume that the original timeframe is a quarter starting on January 1st. If today is May 1st, the timeframe remains unchanged because the next timeframe (a quarter from April 1st to June 30th) has not yet been completed. However, if today is July 10th, the timeframe is updated to reflect a quarter starting on April 1st. Once Philo updates the component timeframe, it applies the corresponding data filter and publishes the updated snapshot on the collaboration platform channel where the snapshot was originally shared, along with a visual indication associating it with an earlier snapshot. In some implementations, Philo does not propagate comments from earlier versions of the snapshot (e.g., Philo removes comments by default) to reduce the possibility of erroneous communication.

[0239] In some implementations, if the snapshot author chooses to manually update the snapshot, Philo allows them to edit their comments and captions before sharing the update.

[0240] III. Usage scenarios

[0241] 17A to 17H Together, use scenarios of Philo according to some implementations are shown. Additional details can also be found in priority application 63 / 404,518 filed on September 7, 2022, which is incorporated herein by reference in its entirety.

[0242] In the example, Jamie is a national sales analyst for a large retail company. Jamie's manager Chris uses a collaboration platform (e.g., a chat application) to send a message to Jamie, asking her to share a dashboard snapshot spanning the previous month (e.g., March 2022) with the regional sales representatives for each U.S. region. Fig.17A ). Chris's message indicates the sales target for the previous month and the corresponding sales target for each region.

[0243] exist Fig. 17B In , Jamie opens her dashboard (e.g., data visualization application 230, user interface 232) and selects a dashboard element indicating total sales value, and she uses the dashboard element to create an initial snapshot component ( Fig. 17B (i) and 17B(ii)).

[0244] exist Fig. 17BIn the component creator shown in (ii), the metric data fields (e.g., Sales) have been loaded. Jamie sets the time frame to a month starting on March 2, 2022. Since her original dashboard selection did not specify any regions, Jamie sets the segmentation based on region (e.g., Segmentation field 638). Chris also communicates the team sales goal for the month, so Jamie selects a template that includes the segmentation and target values ​​(e.g., by selecting Template icon 676. See also Fig.15A to the template design in Figure 15L); she enters the sales target as a template parameter.

[0245] Similarly, she creates another component for the profit measure, such as Fig. 17B (i) and Fig. 17B (iii) For the third snapshot component, Jamie selects the Profitability graph ( Fig. 17B (i) and Fig. 17B (iv)). She chooses to keep the diagram representation in the snapshot rather than selecting a template. In the example of FIG. 17 , the snapshot component is selected from the same data dashboard. In some implementations, the snapshot component can be selected from a different data dashboard.

[0246] Return to reference Fig. 17B In example (iv), when specifying the March 2022 time frame for the third component, Jamie notices that there are missing data points in the West region, so she adds a note 1702 to emphasize that region, and adds custom component description text 1704. Recalling that regional sales team representatives often ask her about specific product categories, Jamie adds an interactive filter 1706 for the Category dimension field.

[0247] Reference now Fig. 17C , using these three snapshot components, Jamie invokes the snapshot orchestrator (e.g., snapshot generator 246, snapshot creator user interface 248) from the dashboard application (e.g., data visualization application 230). For example, in some implementations, Jamie may select affordance 708 to invoke the snapshot orchestrator. Fig. 17C, Jamie selects the interactive carousel as the component curation option (e.g., curation method 808). Next, she sets the export controls (e.g., export panel 812) to direct the snapshot to the #sales-region-rep channel (1708) to which all regional sales representatives are subscribed. She allows viewers to share (1710) the snapshot across other channels so that regional representatives can communicate with their own regional teams. Recognizing that the snapshot will no longer be fresh at the end of April (e.g., the snapshot will be invalid, or the snapshot's data will have expired), Jamie customizes the extrapolation date 1712. She also enables others to get an updated version after the snapshot becomes stale (1714). Recalling the missing data points, Jamie toggles back and forth (1716) on and off to indicate to her viewers that the underlying data is incomplete. After adding the explanatory text 1718, Jamie publishes the snapshot on the #sales-region-rep channel, as Fig.17D shown.

[0248] Fig.17D Shown is that manager Chris determines that the Western regional representative is responsible for those missing data points in response to noticing the annotation and completeness indicator of the snapshot. In a comment on the collaboration platform, Chris points this out to Alice, a sales representative for the Western region. Alice then shares the snapshot with her regional team so that they can investigate and explain.

[0249] Fig.17E It is shown that one month later, Chris finds that the March snapshot has become outdated, so he obtains and shares an updated version. At the same time, Jamie can see the telemetry of the updated snapshot via her "My Snapshot Home" interface (e.g., Snapshot Home User Interface 274), such as Fig.17F In some implementations, the “My Snapshot Home” interface includes panes 1720 (e.g., panels), each of which corresponds to a respective snapshot authored by Jamie. In some implementations, each of the panes 1720 includes a respective corresponding information panel 1722 that displays telemetry information about the respective snapshot. In this usage scenario, Jamie notices that Paul (the sales representative for the East region) has not yet seen the updated snapshot, so she mentions him in her review for the component, such as Figure 17G Once notified, Paul checks the updated snapshot via his mobile phone, as shown in Fig.17H shown.

[0250] flow chart

[0251] Figures 18A to 18IA flow chart of a method 1800 of redirecting dashboard content as a data snapshot (eg, a dashboard snapshot) of a collaboration platform according to some implementations is provided. The method 1800 is also referred to as a process.

[0252] Method 1800 is performed (1802) at a computing device (e.g., computing device 200) having a display (e.g., display 212), one or more processors (e.g., CPU 202), and a memory (e.g., memory 206). The memory stores (1804) one or more programs configured for execution by the one or more processors. In some implementations, Figure 1A , Figure 1B , FIG. 6A to FIG. 6D , FIG. 7A to FIG. 7C Figure 9 9A to 9D , Fig.10 , FIG. 11A to FIG. 11C , FIG. 12A to FIG. 12D , Fig.13A , Fig. 13B , Fig.14A , Fig. 14B , Fig.15A To Figure 15L, Fig.16 and 17A to 17H The operations shown in the method 1800 correspond to instructions stored in a memory or other non-transitory computer-readable storage medium. The computer-readable storage medium may include a magnetic or optical disk storage device, a solid-state storage device such as a flash memory, or other one or more non-volatile memory devices. In some implementations, the instructions stored on the computer-readable storage medium include one or more of the following: source code, assembly language code, object code, or other instruction formats interpreted by one or more processors. Some operations in method 1800 may be combined and / or the order of some operations may be changed.

[0253] Method 1800 involves creating a snapshot component from dashboard content and creating a data snapshot including one or more snapshot components for display on a messaging application associated with a collaboration platform. While data dashboards are useful tools for analyzing and displaying data, they may not be ready for sharing with an audience (such as business users) because they typically contain a large amount of information with high complexity. Method 1800 improves the user experience by introducing a streamlined process that enables dashboard authors to efficiently redirect dashboard content into data snapshots. For example, a snapshot author can select relevant dashboard content, configure specific conditions for insights, and link different parts of the dashboard relative to its communication goals to maintain consistency. In some implementations, the data snapshot has a form factor that is compatible with the viewer's device or screen context. Therefore, the user experience with respect to data communication is improved.

[0254] refer to Fig.18A, the computing device receives ( 1806 ) a user selection of a first data element from a first data dashboard (e.g., data dashboard 258 , data dashboard 702 ) displayed on the computing device (e.g., via dashboard user interface 232 ). The user selection designates the first data element as a first snapshot component (e.g., data snapshot component) of the first snapshot. In some implementations, designating the first data element as the first data snapshot causes the computing device to create a placeholder for the snapshot component based on the coordinates of the first data element on the first data dashboard. In some implementations, designating the first data element as the first data snapshot causes the computing device to create a data structure for the snapshot component (e.g., having Fig. 12C ) a data structure of the properties shown in .

[0255] In some implementations, in response to receiving a user selection to designate the first data element as a first snapshot component, the computing device generates (1808) a first component specification corresponding to the first snapshot component, wherein the first component specification includes a plurality of component properties. The computing device populates (1810) the first component specification with respective first values ​​in response to user specification of respective first values ​​for at least a subset of the properties.

[0256] In some implementations, such as with respect to Sections II.D and FIG. 12A to FIG. 12D As discussed, the (snapshot) component is formalized as a tuple of metadata, data, metrics, timeframes, segments, filters, content types, worksheets, text messages, templates, template specifications, comments, and interactive filters. Metadata properties include name, identifier, and pointer to the starting dashboard unit. Data properties store the entire data at creation time to enable interactive snapshots. Each metric item consists of a metric field, a formatting expression (e.g., $2 for USD), and an aggregation method. Timeframe properties contain time fields, time ranges, time units (e.g., weeks, months), and periodic filters. Time ranges can be specified using the following items: start date or end date only, start date and end date, and start date and interval. Periodic filters represent the time points to be filtered within a time range consisting of an index and a unit (e.g., 1 to 5 days for weekdays). Each segment item includes a dimension field, a ranking field (metric), the number of top ranking items and bottom ranking items (top N, bottom N), and the sort order (descending / ascending). For example, a segment item with a category dimension and a sales metric sorts the category items by their sales value. If top N and bottom N are provided, the specified number of top ranked items and bottom ranked items are shown. Each filter item represents a filter expression, such as a field and data value / range. In some implementations, when a component is initially created, Philo loads the data, metrics, segments, and filters from the original dashboard unit.

[0257] In some implementations, the first data element is (1812) a data value of a metric data field; and the data value is determined via a first aggregation type. In some implementations, the first data element includes (1814) a data tag for a data visualization on a first dashboard. In some implementations, the first data element is (1816) a data visualization on the first dashboard.

[0258] refer to Fig.18B In response to receiving a user selection of the first data element from the first data dashboard, the computing device displays (1818) a plurality of component properties of the first snapshot component in a first user interface (e.g., component creator user interface 244). Fig. 6A , Figure 6B and Figure 6C In some implementations, displaying the first user interface includes replacing display of a view of the first data dashboard with the first user interface (eg, on dashboard user interface 232).

[0259] In some implementations, the disclosed systems and user interfaces support data professionals in creating interactive snapshots in a flexible manner through template-based design transformations. In some implementations, the computing device displays (1820) a plurality of template icons (e.g., template icons 676) corresponding to a plurality of templates (e.g., template designs) via a first user interface. In some implementations, the template designs for components are defined by supported tasks (e.g., task keywords), such as "segmentation", "ranking", "percentage", "proportion", "time difference", "time comparison", "goal", "trend", and "correlation" and applicability (e.g., text templates and parameter definitions (parameters). This is in Fig.15A 15L. Each template is designed to serve or achieve a business-oriented "message" or goal such as breaking down a value, comparing a value to a goal, or viewing trends.

[0260] In some implementations, in response to receiving a user selection of the first data element from the first data dashboard, the computing device replaces (1822) the display of the first data dashboard with a view of the first user interface. Figure 7B , computing device receives a user selection of data element 704-1 in data dashboard 702 and a user selection of affordance 706 that specifies data element “sales” as a snapshot component of the data snapshot. In response to receiving the user selection, computing device replaces display of data dashboard 702 (e.g., and dashboard user interface 232) with a view of snapshot creator user interface 244.

[0261] In some implementations, the first data dashboard is displayed ( 1824 ) in a data visualization application (eg, data visualization application 230 ), and the first user interface is a user interface of the data visualization application.

[0262] In some implementations, the first data dashboard is displayed ( 1826 ) in a data visualization application, and the first user interface is a user interface of a collaboration platform (eg, messaging application 270 ) (eg, associated with collaboration platform server 500 ).

[0263] In some implementations, the first data dashboard is displayed ( 1828 ) in a data visualization application, and the first user interface is a user interface of an application that is different from the data visualization application and different from the collaboration platform.

[0264] refer to Fig.18C The computing device receives ( 1830 ) via a first user interface a user specification of respective first values ​​for component properties of at least a first subset of a plurality of component properties.

[0265] In some implementations, the computing device receives (1831) via the first user interface a user selection of one or more metric data fields (e.g., metric data fields 622), a numeric format (e.g., format 624) for the corresponding data fields, and an aggregation method (e.g., aggregation 626) (e.g., sum, mean or average, maximum, count, or variance) for the corresponding data fields. In some implementations, rather than receiving a user selection of a data field, the computing device pre-populates the first user interface (e.g., metric panel 612 of the first user interface) with the metric data fields and identifies the format and aggregation type.

[0266] In some implementations, the computing device receives (1832) via a first user interface a user selection of a dimension data field (e.g., one or more dimension data fields) (e.g., segment field 638) and a sort order (e.g., sort 643) (e.g., ascending or descending).

[0267] In some implementations, the computing device receives (1834) via the first user interface a user specification of a time data field (e.g., time dimension data field 628) (e.g., a reference time field such as a shipping date or an order date) and a date / time range for filtering the first data element, such as by Figure 6B 630, start date 632, time unit 634, and / or periodicity filter 636. In some implementations, the date / time range is specified by (i) a time interval (e.g., time interval filter 630) and a start date (e.g., start date 632) or (ii) a start date and an end date.

[0268] In some implementations, the computing device receives (1836) a user selection of a first template icon in a plurality of template icons, the first template icon corresponding to a first template in a plurality of templates (see, e.g., Fig.15A 15L ), and receiving ( 1838 ) a user specification of one or more parameters for the first template (eg, via the template parameters panel 620 ).

[0269] The computing device updates ( 1840 ) (eg, formalizes) the first snapshot component according to respective first values ​​based on receiving a user specification of respective first values ​​for at least a first subset of component properties.

[0270] In some implementations, the computing device generates ( 1842 ) a first snapshot component (eg, based on the corresponding first value).

[0271] In some implementations, generating the first snapshot component includes: generating (1844) a bar chart having a plurality of data bars, wherein each of the data bars (i) represents a corresponding data value of a metric data field subdivided by a dimension data field, and (ii) has a corresponding length representing a portion of the first data element corresponding to the corresponding data value; and arranging (1846) the data bars in a sorted order according to the corresponding lengths of the data bars.

[0272] In some implementations, generating the first snapshot component includes filtering (1850) the first data element to a date / time range of a time field.

[0273] In some implementations, generating the first snapshot includes formatting ( 1852 ) the first snapshot component according to the first template and the one or more parameters.

[0274] In some implementations, the computing device automatically generates (1854) a preview (e.g., renders) of the first snapshot component based on a user specification of respective first values ​​of at least a first subset of component properties. The preview indicates how the first snapshot component will look when the data snapshot is generated.

[0275] In some implementations, the computing device displays (1856) a preview of the first snapshot component in the first user interface (e.g., in the preview column 604 of the component creator user interface 244). In some implementations, the computing device is configured to automatically update the preview of the first snapshot component in response to updates / modifications to the values ​​of the component properties.

[0276] In some implementations, while displaying the preview of the first snapshot component, the computing device receives (1858) user input regarding the preview of the first snapshot component to annotate the first snapshot at a first location of the first snapshot (e.g., using the annotation panel 672). For example, the user can click or draw a shape (e.g., a circle, rectangle, arrow, and / or line) on the preview of the first snapshot component. In response to receiving the user input, the computing device updates (1860) the display of the preview of the snapshot component to include a shape and / or color at the first location to indicate t. In some implementations, the user input also includes text input explaining the reason for the annotation.

[0277] In some implementations, after generating the first snapshot component, the computing device displays (1862) a visual representation of the first snapshot component in the first data dashboard. Figure 7C , as shown (eg, as 712).

[0278] Continue to refer Fig.18F , the computing device generates ( 1864 ) a first snapshot including a first snapshot component.

[0279] In some implementations, the first data snapshot includes (1866) a second snapshot component that is different from the first snapshot component. In some implementations, after generating the first snapshot component, the computing device receives (e.g., via the dashboard user interface 232) a user selection of a second data element. The user selection designates the second data element as a second snapshot component of the first snapshot.

[0280] In some implementations, a user selection to designate the second data element as a second snapshot component is received ( 1868 ) via the first data dashboard displayed on the computing device.

[0281] In some implementations, a user selection to designate the second data element as a second snapshot component is received (1870) via a second data dashboard displayed on the computing device that is different from the first data dashboard (e.g., the first snapshot component and the second snapshot component originate from different dashboards).

[0282] In some implementations, the first data element originates ( 1872 ) from a first data source, and the second data element originates from a second data source that is different from the first data source.

[0283] In some implementations, in response to receiving the user selection, the computing device generates (1874) a second component specification corresponding to the second snapshot component. The second component specification includes a plurality of component properties.

[0284] In some implementations, the first snapshot is specified by a plurality of snapshot properties (1876). For example, as described in Sections II.D and FIG. 11A to FIG. 11CAs described, a single snapshot is formally declared as a tuple of metadata, components, text messages, curation, export, auto-recurrence, freshness, and completeness. Generating a first snapshot includes receiving a user specification of respective second values ​​corresponding to a plurality of snapshot properties, including: a first date / time until which data in the first snapshot is valid (e.g., the first snapshot includes a first snapshot component that expires at the first date / time); and an identification of a collaboration platform (e.g., a messaging group, a Slack channel) to which the first snapshot is to be exported.

[0285] In some implementations, the plurality of snapshot properties include (1878) a metadata property comprising: a first metadata property that specifies an identifier of the first snapshot; a second metadata property that specifies an owner of the first snapshot; and a third metadata property that specifies a pointer to a first chat message that displays the first snapshot.

[0286] In some implementations, generating the first snapshot includes displaying a second user interface (e.g., snapshot creator user interface 248) including a plurality of panes (e.g., panels), wherein respective panes of the plurality of panes correspond to respective snapshot properties of the plurality of snapshot properties of the first snapshot. A user selection of a respective field in a respective pane of the plurality of panes specifies a respective value for the respective corresponding snapshot property.

[0287] In some implementations, method 1800 includes replacing (1881) display of the first user interface with the view of the first data dashboard after updating the first snapshot component according to the corresponding first value. In response to a user selection of an affordance (e.g., a user-selectable icon) (e.g., "Organize and Export Snapshot") from the view of the first data dashboard, a second user interface is displayed.

[0288] In some implementations, the first data dashboard is displayed ( 1882 ) in a data visualization application, and the second user interface is a user interface of the data visualization application.

[0289] In some implementations, the first data dashboard is displayed ( 1883 ) in a data visualization application, and the second user interface is a user interface of the collaboration platform.

[0290] In some implementations, the first data dashboard is displayed ( 1884 ) in a data visualization application, and the second user interface is a user interface of an application that is different from the data visualization application and different from the collaboration platform.

[0291] In some implementations, the first user interface and the second user interface are both (1885) interfaces of the same application.

[0292] In some implementations, the computing device displays (1886) a rendering of the first snapshot in the simulated chat interface in the second user interface (e.g., in the preview pane / column 804). Figure 8 Shown in.

[0293] In some implementations, while displaying the representation of the first snapshot in the second user interface, the computing device receives (1888) via the second user interface a user selection of a first user-selectable icon in a first pane of the plurality of panes (e.g., box 826 “Allow Others to Refresh”). In response to the user selection, the computing device displays (1889) an updated representation of the first snapshot (e.g., in preview column 806), the updated representation including an affordance (e.g., a user-selectable element) that enables a viewer of the first snapshot to request an updated first snapshot on the collaboration platform (e.g., freshness indicator 828). Displaying the updated representation of the first snapshot and enabling a viewer of the first snapshot to request an updated affordance of the first snapshot improves the user experience by notifying the viewer of the validity or timeliness of the data, which in turn increases the user's trust in the data.

[0294] In some implementations, while displaying the presentation of the first snapshot in the second user interface, the computing device receives (1890) via the second user interface a user selection of a second user-selectable icon (e.g., option 832) in a second pane of the plurality of panes. In response to the user selection, the computing device displays (1891) an updated presentation of the first snapshot, the updated presentation including a text box alerting a viewer of the first snapshot that the data for the first snapshot is incomplete. Displaying the updated presentation of the first snapshot and the text box alerting the viewer of the first snapshot that the data for the first snapshot is incomplete improves the user experience by alerting the viewer that there is missing data. This in turn leads to increased user trust in the data, as most users typically do not spend time looking for missing data.

[0295] In some implementations, the computing device receives (1892) a user selection of a layout type (e.g., a curated approach) for the first snapshot. In some implementations, the layout type is (1893) one of: a single view, a stack of views, a carousel layout, a slideshow, a mini dashboard, or an animated layout (e.g., a GIF animation). 9A to 9D Shown in.

[0296] The computing device causes (1894) the first snapshot to be displayed as a message on a messaging application (e.g., messaging application 270) executed by an electronic device (e.g., different from the computing device) (e.g., electronic device 400). The messaging application is associated with the collaboration platform.

[0297] In some implementations, causing the first snapshot to be displayed on the electronic device includes causing ( 1895 ) the first snapshot to be displayed on the electronic device in the selected layout type.

[0298] It should be understood that describing FIG. 18A to FIG. 18I The specific order of operations in the description is merely an example and is not intended to indicate that the order described is the only order in which the operations may be performed. Persons of ordinary skill in the art will recognize various ways to reorder the operations described herein. In addition, it should be noted that the details of other processes described herein with respect to other methods described herein (e.g., methods 1900 and 2000) can also be applied in a similar manner to the above descriptions with respect to FIG. 18A to FIG. 18I Method 1800 is described.

[0299] Fig.19A 19F provides a flow chart of a method 1900 for generating a data snapshot of a collaboration platform according to some implementations. The method 1900 is also referred to as a process.

[0300] The method 1900 is performed (1902) at a computer system (e.g., data visualization server 300 or collaboration platform server 500) including one or more processors (e.g., CPU 302) and memory (e.g., memory 314). The memory stores (1904) one or more programs configured for execution by the one or more processors. In some implementations, Figure 1A , Figure 1B , FIG. 6A to FIG. 6D , FIG. 7A to FIG. 7C Figure 9 9A to 9D , Fig.10 , FIG. 11A to FIG. 11C , FIG. 12A to FIG. 12D , Fig.13A , Fig. 13B , Fig.14A , Fig. 14B , Fig.15A To Figure 15L, Fig.16 and 17A to 17H The operations shown in the method 1900 correspond to instructions stored in a memory or other non-transitory computer-readable storage medium. The computer-readable storage medium may include a magnetic or optical disk storage device, a solid-state storage device such as a flash memory, or other one or more non-volatile memory devices. In some implementations, the instructions stored on the computer-readable storage medium include one or more of the following: source code, assembly language code, object code, or other instruction formats interpreted by one or more processors. Some operations in method 1900 may be combined and / or the order of some operations may be changed.

[0301] Method 1900 involves creating a first data snapshot including one or more snapshot components for display on a messaging application associated with a collaboration platform. Specifically, the first data snapshot includes a date / time at which the data in the first snapshot was valid (e.g., fresh or up-to-date) up to that time. When the computer system determines that the data in the snapshot components of the first snapshot is no longer up-to-date, the computer system obtains one or more updated data values ​​from a data source corresponding to the snapshot components (automatically, without user intervention) and generates an updated snapshot using the updated data values. Thus, rather than relying on data professionals to continually update reports as new data arrives, the disclosed system increases user confidence in the data and minimizes miscommunication with viewers (e.g., due to presentation of invalid data).

[0302] The computer system receives (1906) a user specification of respective values ​​of a plurality of snapshot properties for the first snapshot. For example, in some implementations, the plurality of snapshot properties include metadata properties, component properties, text message properties, curated properties, export properties, auto-reproducibility properties, freshness properties, and integrity properties, as described with respect to Sections II.D and FIG. 11A to FIG. 11C and Fig.16 as described.

[0303] The first snapshot includes (1908) one or more (e.g., at least one, at least two) snapshot components (e.g., snapshot components 252), including a first snapshot component extracted from a first data dashboard (e.g., data dashboard 258). The first data dashboard is associated with a first data source (e.g., data source 266). The user specification includes a first date / time until which the data in the first snapshot is valid (e.g., the first snapshot includes a first snapshot component that expires or whose value will not be up to date at the first date / time). The user specification also includes a first collaboration platform (or a first channel of a collaboration platform) (e.g., a messaging group, a Slack channel) to which the first snapshot is to be exported.

[0304] In some implementations, a first snapshot component is generated (1912) according to a first snapshot component specification (e.g., component specification 250). The first snapshot component specification includes a plurality of component properties having a plurality of corresponding property values, such as those described with respect to Section II.D, FIG. 12A to FIG. 12D and discussed in step 1810 of method 1800.

[0305] In some implementations, the first snapshot component specification is stored (1912) on a computer system (see, e.g., Figure 3B ).

[0306] In some implementations, the one or more snapshot components include (1914) a plurality of snapshot components. Each snapshot component in the plurality of snapshot components corresponds to a respective data element from a respective data dashboard.

[0307] In some implementations, the corresponding data element is (1916) one of the following: one or more data cells from the corresponding data dashboard; one or more data values ​​from a data field from the corresponding data dashboard; one or more data fields from the corresponding dashboard; one or more data tags from a data visualization from the corresponding dashboard; or one or more data visualizations from the corresponding dashboard.

[0308] refer to Fig.19B In some implementations, the one or more snapshot components include (1918) a second snapshot component extracted from a second data dashboard.

[0309] In some implementations, the second data dashboard is associated with ( 1920 ) the first data source.

[0310] In some implementations, the second data dashboard is associated ( 1922 ) with a second data source that is different than the first data source.

[0311] In some implementations, receiving a user specification of respective values ​​for a plurality of snapshot properties of the first snapshot includes receiving (1924) a user specification of a plurality of first values ​​corresponding to an automatically recurring property of the first snapshot. In some implementations, the plurality of first values ​​includes at least two of: a recurrence frequency (e.g., weekly, biweekly, or monthly) (e.g., recurrence interval 818); a recurrence expiration date (e.g., recurrence expiration date 820); and a time of day (e.g., time of day 822) at which recurrence of the first snapshot is displayed on a messaging application (e.g., messaging application 270).

[0312] In some implementations, receiving a user specification of respective values ​​of a plurality of snapshot properties of the first snapshot includes receiving (1926) a user specification of a layout type (eg, a curation method) for the first snapshot. Examples of curation methods are described in Fig. 9A For example, (claim 46) in some implementations, the layout type (e.g., curation method) is (1928) one of the following: a single view, a view stack, a carousel layout, a slideshow, a mini dashboard, or an animated layout (e.g., a GIF animation).

[0313] In some implementations, a user specification of respective values ​​for a plurality of snapshot properties of a first snapshot is received ( 1930 ) via a computing device (e.g., computing device 200 ) that is communicatively coupled to a computer system (e.g., data visualization server 300 ) and distinct from the computer system.

[0314] In some implementations, based on receiving a user specification of corresponding values ​​for multiple snapshot properties of the first snapshot, the computer system causes (1932) display of a presentation (e.g., presentation 838) of the first snapshot in a simulated chat interface (e.g., in preview panel 836) in a computing device (e.g., in snapshot creator user interface 248).

[0315] refer to Fig.19C , based on receiving the user specification, the computer system generates (1938) a first snapshot specification (e.g., snapshot specification 254) for a first snapshot based on corresponding values ​​of multiple snapshot properties. For example, in some implementations, a snapshot is formally declared as a tuple of metadata, components, text message, curation, export, auto-reproduce, freshness, and completeness. The metadata property includes the name, identifier (e.g., unique ID), and owner of the snapshot, as well as a pointer to the actual chat message of the snapshot. The snapshot then requires a list of one or more components and an optional text message covering those components. The curation property specifies the curation method and details (e.g., slide timing, mini dashboard layout). The export property includes the date and time of publication, the original shared channel, sharing permissions, and additional shared channels. The auto-reproduce property specifies whether to automatically reproduce, the interval for obtaining updates, and the time of day to publish the updated snapshot.

[0316] The computer system generates ( 1940 ) a first snapshot according to the first snapshot specification.

[0317] The computer system causes (1942) the first snapshot to be displayed as a message on a messaging application (e.g., messaging application 270) of an electronic device (e.g., electronic device 400, different from the computer system). The messaging application is associated with a first collaboration platform (e.g., with collaboration platform server 500).

[0318] In some implementations, causing the first snapshot to be displayed on the electronic device includes causing ( 1944 ) the first snapshot to be displayed on the electronic device in the selected layout type.

[0319] In some implementations, causing the first snapshot to be displayed as a message on the messaging application includes transmitting (1946), by the computer system, the first snapshot to the first collaboration platform.

[0320] refer to Fig.19D In some implementations, the computer system receives (1948) a first request from the first collaboration platform to update the first snapshot.

[0321] In some cases, the first request is initiated by a user of the electronic device (1950).

[0322] In some cases, the first request is initiated by an author of the first snapshot (1952).

[0323] In some implementations, in response to the first request, the computer system determines (1954) (e.g., by analyzing the first snapshot specification, such as a “freshness” value corresponding to a “freshness” property of the first snapshot specification) that the current date / time of the first request exceeds the first date / time at which the data in the first snapshot was valid until then.

[0324] In some implementations, based on determining that the current date / time of the first request exceeds the first date / time for which the data in the first snapshot was valid until then, the computer system obtains (1956) from the first data source (e.g., automatically, without user intervention) one or more updated data values ​​for the first snapshot components. Because the first snapshot specification lists one or more components of the first snapshot (e.g., component properties), and metadata properties of the corresponding snapshot include a pointer to the starting dashboard unit, the computer system can determine the corresponding data source (or multiple data sources) for each snapshot component and obtain updated data directly and automatically from the data source without user intervention.

[0325] In some implementations, after obtaining the one or more updated data values ​​for the first snapshot component from the first data source, the computer system updates ( 1958 ) the first snapshot component specification according to the one or more updated data values.

[0326] In some implementations, the computer system generates ( 1962 ) an updated snapshot using the one or more updated data values ​​of the first snapshot component.

[0327] In some implementations, the computer system causes (1964) the updated snapshot to be displayed on the electronic device.

[0328] Continue to refer Fig.19E In some implementations, after causing the first snapshot to be displayed as a message on the messaging application, the computer system obtains (1966) corresponding current data values ​​of the one or more snapshot components from one or more data sources corresponding to the one or more snapshot components of the first snapshot (e.g., automatically, without user intervention) based on determining that a plurality of first values ​​corresponding to the automatic recurrence property are satisfied. For example, the plurality of first values ​​are satisfied when a recurrence frequency is satisfied, or when a recurrence expiration is satisfied, and / or when a time of day has passed that causes the recurrence of the first snapshot to be displayed on the messaging application.

[0329] In some implementations, the computer system generates ( 1968 ) a first rendition of the first snapshot.

[0330] In some implementations, the computer system causes (1970) display of the first reproduced version of the first snapshot on a messaging application of the electronic device (eg, as a new message, on the same channel).

[0331] In some implementations, the plurality of values ​​includes (1972) causing the rendition of the first snapshot to be displayed on the messaging application at a time of day. Causing the first rendition of the first snapshot to be displayed on the messaging application of the electronic device includes causing the first rendition of the first snapshot to be displayed at a time of day specified in the automatic rendition property.

[0332] In some implementations, the computer system updates ( 1974 ) the first snapshot specification based on corresponding current data values ​​of the one or more snapshot components.

[0333] It should be understood that describing FIG. 19A to FIG. 19E The specific order of operations in the description is merely an example and is not intended to indicate that the order described is the only order in which the operations may be performed. Persons of ordinary skill in the art will recognize various ways to reorder the operations described herein. In addition, it should be noted that the details of other processes described herein with respect to other methods described herein (e.g., methods 1800 and 2000) can also be applied in a similar manner to the above descriptions with respect to FIG. 19A to FIG. 19E Method 1900 is described.

[0334] FIG. 20A to FIG. 20D A flow chart of a method 2000 of interacting with a data snapshot according to some implementations is provided. The method 2000 is also referred to as a process.

[0335] Method 2000 is performed (2002) at a computing device (e.g., computing device 200 or electronic device 400) that includes one or more processors (e.g., CPU 202 or CPU 402) and a memory (e.g., memory 206 or memory 406). The memory stores (2004) one or more programs configured for execution by the one or more processors. In some implementations, Figure 1A , Figure 1B , FIG. 6A to FIG. 6D , FIG. 7A to FIG. 7C Figure 9 9A to 9D , Fig.10 , FIG. 11A to FIG. 11C , FIG. 12A to FIG. 12D , Fig.13A , Fig. 13B , Fig.14A , Fig. 14B , Fig.15A To Figure 15L, Fig.16 and 17A to 17HThe operations shown in the method 1900 correspond to instructions stored in a memory or other non-transitory computer-readable storage medium. The computer-readable storage medium may include a magnetic or optical disk storage device, a solid-state storage device such as a flash memory, or other one or more non-volatile memory devices. In some implementations, the instructions stored on the computer-readable storage medium include one or more of the following: source code, assembly language code, object code, or other instruction formats interpreted by one or more processors. Some operations in method 1900 may be combined and / or the order of some operations may be changed.

[0336] Method 2000 relates to a user interface (e.g., snapshot homepage user interface 274) for supporting and monitoring the post-sharing lifecycle of a dashboard snapshot (e.g., data snapshot). In addition to conversations, viewers will interact with dashboard snapshots that record data. In some cases, dashboard snapshot creators may want to see such telemetry information to understand the dissemination and popularity of the snapshots they have created. In addition, considering that users have actively shared dashboard snapshots on the collaboration platform, it is often difficult to search or find their past dashboard snapshots. The disclosed user interface displays a collection of the user's past dashboard snapshots and telemetry information for each dashboard snapshot within the collaboration platform application in a centralized location, thereby facilitating better organization and communication of data. It also enhances the user experience (e.g., by allowing snapshot authors to quickly and efficiently locate snapshots instead of searching multiple messages or threads).

[0337] The disclosed user interface (e.g., the snapshot home user interface 274) also provides an advantage over conventional methods such as "pinning" (i.e., bookmarking important content in a conversation channel) a snapshot on the author's own direct message channel, because the number of snapshots can grow very quickly over time (e.g., especially when the snapshot is configured to recur automatically). Snapshot telemetry is useful for monitoring audience reactions, especially when it is difficult for the author to contact individual viewers (e.g., when the audience size is large). In some cases, snapshot telemetry / engagement data (e.g., view counts, emoji reactions, identification of viewers who have viewed or engaged with the snapshot) can provide the snapshot author with a better understanding of the content forms that are gaining more attention from their audience. The snapshot author can use this understanding to adjust their subsequent snapshot design, level of detail, and publishing cadence accordingly. Therefore, the disclosed methods, systems, and user interfaces improve data communication and make the user-device interface more efficient.

[0338] The computing device display includes multiple panes corresponding to the multiple snapshots (e.g., pane 1720; Fig.10), wherein a plurality of snapshots are (i) authored by a user of a computing device (e.g., a first user account) and (ii) displayed on a messaging application of a collaboration platform. Each of the plurality of panes includes (2008) a respective view (e.g., a visual representation) of a respective snapshot (e.g., as shown in FIG. 21 ). Fig.10 and Fig.17F The plurality of snapshots includes (2010) a first snapshot having one or more snapshot components. Each of the snapshot components is generated from a corresponding data element of a corresponding data dashboard.

[0339] In some implementations, the user interface is an interface of the (2012) collaboration platform.

[0340] In some implementations, the user interface is part of the same application that (2014) displays the corresponding data dashboard.

[0341] In some implementations, the corresponding data element is (2016) one of: one or more data units from the corresponding data dashboard; one or more data values ​​from the data field of the corresponding data dashboard; one or more data tags from the data visualization of the corresponding dashboard; or one or more data visualizations from the corresponding dashboard.

[0342] refer to Fig. 20B In some implementations, the first snapshot includes (2020) a first snapshot component generated from a first data element of a first data dashboard and a second snapshot component generated from a second data element of a second data dashboard different from the first data dashboard.

[0343] In some implementations, the first data element and the second data element are associated with the same data source (2022).

[0344] In some implementations, the first data element and the second data element are associated with different data sources (2024).

[0345] The computing device displays (2026) information about the first snapshot (e.g., telemetry information) in an information panel (e.g., information 1004, information panel 1722) adjacent to the first snapshot, including: (i) metadata of one or more starting dashboards (or starting dashboard units) corresponding to one or more snapshot components of the first snapshot; and (ii) an identifier of a first channel (e.g., a messaging group, a Slack channel) of the collaboration platform to which the first snapshot was published.

[0346] For example, in some implementations, the types of telemetry information provided include: the number of views, the number of unique views, the number of comments about the first snapshot, the number of reaction counts to the first snapshot, a list of people who viewed, commented on, and / or reacted to the first snapshot, the comment content of comments received in response to the first snapshot, viewer use of interactive filters, and general metadata (e.g., name, publication date, and original dashboard).

[0347] In some implementations, the information about the first snapshot also includes (2028) identification of one or more users of the collaboration platform who have viewed the first snapshot.

[0348] In some implementations, the information about the first snapshot also includes (2030) information (e.g., metadata) about the date and time when the first snapshot was published on (e.g., to) the messaging application (or published to the collaboration platform).

[0349] refer to Fig. 20C In response to detecting a first user selection of a notification displayed in a user interface (e.g., in an information panel) indicating that a first snapshot has expired (e.g., is no longer valid or fresh), the computing device transmits (2032) one or more identifiers of one or more starting dashboards (or starting dashboard units) to a computer system (e.g., data visualization server 300) that is communicatively connected to the computing device.

[0350] In some implementations, a first snapshot is generated (2034) based on a user specification of a first date / time for expiration of the first component. In response to determining that the first date / time has expired, a notification is displayed in a user interface.

[0351] The computing device receives ( 2036 ) from the computing system updated data (or metadata) for one or more snapshot components of the first snapshot (eg, data or metadata valid for a current time period);

[0352] The computing device generates ( 2038 ) an updated view of the first snapshot based on the received update data.

[0353] The computing device displays ( 2040 ) the updated view of the first snapshot in the user interface.

[0354] In some implementations, the computing device receives (2042) user input to transmit the first snapshot to a first user of the collaboration platform, wherein the first user is not one of the identified one or more users. In response to the user input, the computing device transmits (2044) the first snapshot to the first user via the messaging application.

[0355] In some implementations, the computing device receives (2046) user input to transmit a text message (e.g., different from the first snapshot) to a first user of the collaboration platform, where the first user is not one of the one or more identified users. In response to the user input, the computing device transmits (2048) the first snapshot to the first user via the messaging application.

[0356] It should be understood that describing FIG. 20A to FIG. 20D The specific order of operations in the description is merely an example and is not intended to indicate that the order described is the only order in which the operations may be performed. Persons of ordinary skill in the art will recognize various ways to reorder the operations described herein. In addition, it should be noted that the details of other processes described herein with respect to other methods described herein (e.g., methods 1800 and 1900) can also be applied in a similar manner to the above descriptions with respect to FIG. 20A to FIG. 20D Method 2000 is described.

[0357] Each of the executable modules, applications or program sets identified above can be stored in one or more memory devices in the previously mentioned memory devices, and corresponds to an instruction set for performing the above functions. The modules or programs (i.e., instruction sets) identified above do not need to be implemented as separate software programs, programs or modules, and therefore various subsets of these modules can be combined or otherwise rearranged in various implementations. In some implementations, the memory stores a subset of the modules and data structures identified above. In addition, the memory can store additional modules or data structures not described above.

[0358] The terms used in this article for the description of the present invention are only for the purpose of describing a specific implementation, and are not intended to limit the present invention. As used in the description of the present invention and the appended claims, the singular forms of "a", "an" and "the" are intended to include plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" as used herein refers to and covers any and all possible combinations of one or more items in the associated listed items. It should also be understood that when used in this specification, the terms "include" and / or "comprise" specify the presence of stated features, steps, operations, elements and / or parts, but do not exclude the presence or addition of one or more other features, steps, operations, elements, parts and / or their groups.

[0359] As used herein, the phrase "based on" does not mean "only based on," unless explicitly specified otherwise. In other words, the phrase "based on" describes "only based on" and "based at least on."

[0360] As used herein, the term "exemplary" means "serving as an example, instance, or illustration," and does not necessarily indicate any preference or superiority of one example over any other configurations or implementations.

[0361] As used herein, the term "and / or" encompasses any combination of the listed elements. For example, "A, B, and / or C" includes the following element sets: only A, only B, only C, A and B without C, A and C without B, B and C without A, and combinations of all three elements A, B, and C.

[0362] For the purpose of explanation, the foregoing description has been described with reference to specific implementations. However, the above illustrative discussion is not intended to be exhaustive or to limit the invention to the precise form disclosed. In view of the above teachings, many modifications and variations are possible. These implementations are selected and described in order to best explain the principles of the invention and its practical application, so that those skilled in the art can best utilize the invention and various implementations with various modifications suitable for the specific purpose envisioned.

[0363] Subject Technology as an Example of a Clause

[0364] Some implementations are described with respect to the following clauses:

[0365] Clause 1. A method for redirecting dashboard content as a data snapshot of a collaboration platform, comprising:

[0366] At a computing device having a display, one or more processors, and a memory storing one or more programs configured for execution by the one or more processors:

[0367] receiving a user selection of a first data element from a first data dashboard displayed on a computing device, the user selection designating the first data element as a first snapshot component of a first snapshot;

[0368] In response to receiving a user selection of a first data element from a first data dashboard, displaying a plurality of component properties of a first snapshot component in a first user interface;

[0369] receiving, via a first user interface, a user specification of respective first values ​​for component properties of at least a first subset of a plurality of component properties;

[0370] Based on receiving a user specification of respective first values ​​for at least a first subset of component properties:

[0371] updating the first snapshot component according to the corresponding first value;

[0372] generating a first snapshot including a first snapshot component; and

[0373] The first snapshot is caused to be displayed as a message on a messaging application executed by the electronic device, the messaging application being associated with the collaboration platform.

[0374] Clause 2. The method according to clause 1, further comprising:

[0375] In response to receiving a user selection to designate a first data element as a first snapshot component:

[0376] generating a first component specification corresponding to the first snapshot component, the first component specification comprising a plurality of component properties; and

[0377] Based on user specification of respective first values ​​for at least a subset of properties, the first component specification is populated with respective first values.

[0378] Clause 3. The method according to clause 1 or 2, further comprising:

[0379] receiving, via a first user interface, a user selection of a dimension data field and a sort order; and

[0380] Generating the first snapshot component includes:

[0381] generating a bar chart having a plurality of data bars, each of the data bars representing a respective data value of a metric data field subdivided by a dimension field and having a respective length representing a portion of the first data element corresponding to the respective data value; and

[0382] The data stripes are arranged in sorted order according to their respective lengths.

[0383] Clause 4. The method according to any one of clauses 1 to 3, further comprising:

[0384] receiving, via a first user interface, a user specification of a time data field and a date / time range for filtering first data elements; and

[0385] Generating the first snapshot component includes filtering the first data element to a date / time range of the time field.

[0386] Clause 5. The method according to any one of clauses 1 to 4, further comprising:

[0387] displaying, via the first user interface, a plurality of template icons corresponding to the plurality of templates;

[0388] receiving a user selection of a first template icon of a plurality of template icons, the first template icon corresponding to a first template of the plurality of templates;

[0389] receiving a user specification of one or more parameters for a first template; and

[0390] Generating the first snapshot includes formatting the first snapshot component according to the first template and the one or more parameters.

[0391] Clause 6. The method according to any one of clauses 1 to 5, further comprising:

[0392] automatically generating a preview of a first snapshot component based on a user specification of respective first values ​​of at least a first subset of component properties; and

[0393] A preview of the first snapshot component is displayed in the first user interface.

[0394] Clause 7. The method according to clause 6, further comprising:

[0395] While displaying the preview of the first snapshot component, receiving a user input regarding the preview of the first snapshot component to annotate the first snapshot at a first position of the first snapshot; and

[0396] In response to receiving the user input, the display of the preview is updated to include a shape and / or a color at the first position of the first snapshot component.

[0397] Clause 8. The method according to any one of clauses 1 to 7, further comprising:

[0398] After generating the first snapshot component, a visual representation of the first snapshot component is displayed in a first data dashboard.

[0399] Clause 9. The method according to any one of clauses 1 to 8, further comprising:

[0400] In response to a user selection of the first data element from the first data dashboard, a display of the first data dashboard is replaced with a view of the first user interface.

[0401] Clause 10. A method according to any one of clauses 1 to 9, wherein:

[0402] The first data element is the data value of the metric data field; and

[0403] The data value is determined via a first aggregation type.

[0404] Clause 11. The method of any of Clauses 1 to 10, wherein the first data element comprises a data marker for a data visualization on the first dashboard.

[0405] Clause 12. The method of any of clauses 1 to 11, wherein the first data element is a data visualization on a first dashboard.

[0406] Clause 13. A method according to any one of clauses 1 to 12, wherein:

[0407] The first snapshot includes a second snapshot component that is different from the first snapshot component; and

[0408] The method further includes, after generating the first snapshot component and before generating the second snapshot component:

[0409] receiving a user selection of a second data element, the user selection designating the second data element as a second snapshot component of the first snapshot; and

[0410] Based on receiving the user selection, a second component specification corresponding to the second snapshot component is generated, the second component specification including a plurality of component properties.

[0411] Clause 14. The method of clause 13, wherein receiving a user selection to designate a second data element as a second snapshot component comprises receiving a user selection of the second data element from a first data dashboard displayed on the computing device.

[0412] Clause 15. The method of clause 13 or 14, wherein receiving a user selection to designate a second data element as a second snapshot component comprises receiving a user selection of the second data element from a second data dashboard displayed on the computing device that is different from the first data dashboard.

[0413] Clause 16. The method of any of Clauses 13 to 15, wherein the first data element originates from a first data source and the second data element originates from a second data source different from the first data source.

[0414] Clause 17. The method according to any one of clauses 1 to 16, further comprising:

[0415] Prior to causing the first snapshot to be displayed on the electronic device, receiving a user selection of a layout type for the first snapshot; and

[0416] Causing the first snapshot to be displayed on the electronic device includes causing the first snapshot to be displayed on the electronic device in a selected layout type.

[0417] Clause 18. The method of clause 17, wherein the layout type is one of: a single view, a view stack, a carousel layout, a slideshow, a mini dashboard, or an animated layout.

[0418] Clause 19. A method according to any one of clauses 1 to 18, wherein:

[0419] The first snapshot is specified by a plurality of snapshot properties; and

[0420] Generating the first snapshot includes receiving a user specification of respective second values ​​corresponding to a plurality of snapshot properties, including:

[0421] The first date / time that the data in the first snapshot was valid up to that time; and

[0422] An identification of the collaboration platform to which the first snapshot is to be exported.

[0423] Clause 20. The method of clause 19, wherein the plurality of snapshot properties include metadata properties, including:

[0424] a first metadata property that specifies an identifier of the first snapshot;

[0425] a second metadata property that specifies an owner of the first snapshot; and

[0426] A third metadata property specifies a pointer to a first chat message showing the first snapshot.

[0427] Clause 21. A method according to any one of clauses 1 to 20, wherein:

[0428] The first data dashboard is displayed in the data visualization application; and

[0429] The first user interface is a user interface of a data visualization application.

[0430] Clause 22. A method according to any one of clauses 1 to 21, wherein:

[0431] The first data dashboard is displayed in the data visualization application; and

[0432] The first user interface is a user interface of the collaboration platform.

[0433] Clause 23. A method according to any one of clauses 1 to 22, wherein:

[0434] The first data dashboard is displayed in the data visualization application; and

[0435] The first user interface is a user interface of an application that is different from the data visualization application and different from the collaboration platform.

[0436] Clause 24. The method of any one of clauses 1 to 23, wherein generating the first snapshot comprises:

[0437] displaying a second user interface including a plurality of panes;

[0438] wherein a corresponding pane of the plurality of panes corresponds to a corresponding snapshot property of the plurality of snapshot properties of the first snapshot; and

[0439] Wherein a user selection of a corresponding field in a corresponding pane of the plurality of panes specifies a corresponding value of a corresponding snapshot property.

[0440] Clause 25. The method according to Clause 24, further comprising:

[0441] After updating the first snapshot component according to the corresponding first value, replacing the display of the first user interface with the view of the first data dashboard,

[0442] Wherein a second user interface is displayed in response to a user selection of an affordance from a view of the first data dashboard.

[0443] Clause 26. A method according to clause 24 or 25, wherein:

[0444] The first data dashboard is displayed in the data visualization application; and

[0445] The second user interface is a user interface of the data visualization application.

[0446] Clause 27. A method according to clause 24 or 25, wherein:

[0447] The first data dashboard is displayed in the data visualization application; and

[0448] The second user interface is a user interface of the collaboration platform.

[0449] Clause 28. A method according to clause 24 or 25, wherein:

[0450] The first data dashboard is displayed in the data visualization application; and

[0451] The second user interface is a user interface of an application that is different from the data visualization application and different from the collaboration platform.

[0452] Clause 29. A method according to clause 24 or 25, wherein:

[0453] The first user interface and the second user interface are both interfaces of the same application.

[0454] Clause 30. The method according to any one of clauses 24 to 29, further comprising:

[0455] A rendering of the first snapshot is displayed in a simulated chat interface in the second user interface.

[0456] Clause 31. The method according to clause 30, further comprising:

[0457] while displaying a representation of the first snapshot in the second user interface, receiving, via the second user interface, a user selection of a first user-selectable icon in a first pane of the plurality of panes; and

[0458] In response to the user selection, an updated presentation of the first snapshot is displayed, the updated presentation including an affordance that enables a viewer of the first snapshot to request an updated first snapshot on the collaboration platform.

[0459] Clause 32. The method according to clause 30 or 31, further comprising:

[0460] while displaying the representation of the first snapshot in the second user interface, receiving, via the second user interface, a user selection of a second user-selectable icon in a second pane of the plurality of panes; and

[0461] In response to the user selection, an updated presentation of the first snapshot is displayed, the updated presentation including a text box alerting a viewer of the first snapshot that data for the first snapshot is incomplete.

[0462] Clause 33. A computing device comprising:

[0463] monitor;

[0464] one or more processors; and

[0465] A memory coupled to one or more processors, the memory storing one or more programs configured for execution by the one or more processors, the one or more programs comprising instructions for performing a method according to any one of clauses 1 to 32.

[0466] Clause 34. A non-transitory computer-readable medium storing one or more programs configured for execution by one or more processors of a computing device, the one or more programs comprising instructions for performing a method according to any of clauses 1 to 32.

[0467] Clause 35. A method for generating a data snapshot of a collaboration platform, comprising:

[0468] At a computer system having one or more processors and a memory storing one or more programs configured for execution by the one or more processors:

[0469] A user specification of respective values ​​for a plurality of snapshot properties of a first snapshot is received, wherein:

[0470] The first snapshot includes one or more snapshot components, including a first snapshot component extracted from a first data dashboard, the first data dashboard being associated with a first data source; and

[0471] User specifications include:

[0472] The first date / time that the data in the first snapshot was valid up to that time; and

[0473] a first collaboration platform to which the first snapshot is to be exported;

[0474] Based on received user specifications:

[0475] generating a first snapshot specification for the first snapshot based on respective values ​​of the plurality of snapshot properties; and

[0476] generating a first snapshot according to a first snapshot specification; and

[0477] The first snapshot is caused to be displayed as a message on a messaging application of the electronic device, the messaging application being associated with the first collaboration platform.

[0478] Clause 36. The method according to clause 35, further comprising:

[0479] receiving a first request to update a first snapshot from a first collaboration platform; and

[0480] In response to the first request, determining that a current date / time of the first request exceeds a first date / time at which data in the first snapshot was valid until then;

[0481] According to the determination:

[0482] obtaining one or more updated data values ​​of the first snapshot component from the first data source;

[0483] generating an updated snapshot using the one or more updated data values ​​of the first snapshot component; and

[0484] The updated snapshot is caused to be displayed on the electronic device.

[0485] Clause 37. A method according to clause 36, wherein:

[0486] generating a first snapshot component according to a first snapshot component specification, the first snapshot component specification comprising a plurality of component properties having a plurality of corresponding property values; and

[0487] The method also includes:

[0488] After obtaining one or more updated data values ​​for the first snapshot component from the first data source, the first snapshot component specification is updated according to the one or more updated data values.

[0489] Clause 38. The method of clause 37, wherein the first snapshot component specification is stored on the computer system.

[0490] Clause 39. The method of any one of clauses 36 to 38, wherein the first request is initiated by a user of the electronic device.

[0491] Clause 40. The method of any of Clauses 36 to 38, wherein the first request is initiated by an author of the first snapshot.

[0492] Clause 41. The method of any of clauses 35 to 40, wherein receiving a user specification of respective values ​​of a plurality of snapshot properties of the first snapshot comprises receiving a user specification of a plurality of first values ​​corresponding to an automatically recurring property of the first snapshot, the plurality of first values ​​comprising at least two of the following:

[0493] recurrence frequency;

[0494] recurring expiration date; and

[0495] A rendition of the first snapshot is caused to be displayed at a time of day on the messaging application.

[0496] Clause 42. The method according to clause 41, further comprising:

[0497] After causing the first snapshot to appear as a message on the messaging application:

[0498] According to a plurality of first values ​​corresponding to the automatic recurrence property being satisfied as determined by the computer system:

[0499] obtaining corresponding current data values ​​of one or more snapshot components from one or more data sources corresponding to the one or more snapshot components of the first snapshot;

[0500] generating a first rendition of the first snapshot; and

[0501] A first reproduced version of the first snapshot is caused to be displayed on a messaging application of the electronic device.

[0502] Clause 43. A method according to clause 42, wherein:

[0503] the plurality of first values ​​corresponding to the auto-recurring property of the first snapshot include a time of day that causes a recurrence of the first snapshot to be displayed on the messaging application; and

[0504] Causing the first re-rendered version of the first snapshot to be displayed on a messaging application of the electronic device includes causing the first re-rendered version of the first snapshot to be displayed at a time of day specified in the auto-rendering property.

[0505] Clause 44. The method of clause 42 or 43, further comprising updating the first snapshot specification based on corresponding current data values ​​of the one or more snapshot components.

[0506] Clause 45. The method of any of clauses 35 to 44, wherein receiving a user specification of respective values ​​of a plurality of snapshot properties of the first snapshot comprises receiving a user specification of a layout type of the first snapshot; and

[0507] Causing the first snapshot to be displayed on the electronic device includes causing the first snapshot to be displayed on the electronic device in a selected layout type.

[0508] Clause 46. The method of clause 44, wherein the layout type is one of: a single view, a view stack, a carousel layout, a slideshow, a mini dashboard, or an animated layout.

[0509] Clause 47. A method according to any one of clauses 35 to 46, wherein:

[0510] The one or more snapshot components include a plurality of snapshot components; and

[0511] Each snapshot component of the plurality of snapshot components corresponds to a respective data element from a respective data dashboard.

[0512] Clause 48. The method of clause 47, wherein the corresponding data element is one of:

[0513] one or more data units from a corresponding data dashboard;

[0514] one or more data values ​​from a data field of a corresponding data dashboard;

[0515] One or more data fields from the corresponding dashboard;

[0516] One or more data markers from a data visualization of the corresponding dashboard; or

[0517] One or more data visualizations from the corresponding dashboard.

[0518] Clause 49. The method of any of Clauses 35 to 48, wherein the user specification is received via a computing device that is communicatively coupled to the computer system and is distinct from the computer system.

[0519] Clause 50. The method according to Clause 49, further comprising:

[0520] Based on receiving a user specification of respective values ​​of a plurality of snapshot properties of the first snapshot, a presentation of the first snapshot is displayed in a simulated chat interface in a computing device.

[0521] Clause 51. The method of any of clauses 35 to 50, wherein causing the first snapshot to be displayed as a message on the messaging application comprises transmitting, by the computer system, the first snapshot to the first collaboration platform.

[0522] Clause 52. The method of any of clauses 35 to 51, wherein the one or more snapshot components include a second snapshot component extracted from a second data dashboard.

[0523] Clause 53. The method of clause 52, wherein the second data dashboard is associated with the first data source.

[0524] Clause 54. The method of clause 52, wherein the second data dashboard is associated with a second data source different from the first data source.

[0525] Clause 55. A computer system comprising:

[0526] one or more processors; and

[0527] A memory coupled to one or more processors, the memory storing one or more programs configured for execution by the one or more processors, the one or more programs comprising instructions for performing a method according to any one of clauses 35 to 54.

[0528] Clause 56. A non-transitory computer-readable medium storing one or more programs configured for execution by one or more processors of a computer system, the one or more programs comprising instructions for performing a method according to any of clauses 35 to 54.

[0529] Clause 57. A method of interacting with a data snapshot, comprising:

[0530] At a computing device including a display, one or more processors, and a memory storing one or more programs configured for execution by the one or more processors:

[0531] A user interface is displayed that includes a plurality of panes corresponding to a plurality of snapshots (i) authored by a user of a computing device and (ii) displayed on a messaging application of a collaboration platform, wherein:

[0532] Each pane of the plurality of panes includes a respective view of a respective snapshot; and

[0533] The plurality of snapshots includes a first snapshot having one or more snapshot components, wherein each of the snapshot components is generated from a respective data element of a respective data dashboard;

[0534] Information about the first snapshot is displayed in an information panel adjacent to the first snapshot, including:

[0535] metadata of one or more starting dashboards corresponding to one or more snapshot components of the first snapshot; and

[0536] an identification of a first channel of the collaboration platform to which the first snapshot was published; and

[0537] In response to detecting a first user selection of a notification displayed in the user interface indicating that the first snapshot has expired:

[0538] transmitting one or more identifiers of the one or more starting dashboards to a computer system communicatively coupled to the computing device; and

[0539] receiving, from the computing system, update data for one or more snapshot components of the first snapshot;

[0540] generating an updated view of the first snapshot based on the received update data; and

[0541] An updated view of the first snapshot is displayed in the user interface.

[0542] Clause 58. A method according to clause 57, wherein:

[0543] generating a first snapshot based on a user specification of a first date / time at which a first snapshot component of the first snapshot expires; and

[0544] In response to determining that the first date / time has expired, a notification is displayed in the user interface.

[0545] Clause 59. The method of clause 57 or 58, wherein the information about the first snapshot further includes information about a date and time at which the first snapshot was published on the messaging application.

[0546] Clause 60. The method of any one of clauses 57 to 59, wherein the information about the first snapshot further includes:

[0547] Identifications of one or more users of the collaboration platform who have viewed the first snapshot.

[0548] Clause 61. The method according to clause 60, further comprising:

[0549] receiving user input of a first user transmitting a first snapshot to the collaboration platform, wherein the first user is not one of the identified one or more users; and

[0550] In response to the user input, the first snapshot is transmitted to the first user via the messaging application.

[0551] Clause 62. The method according to claim 60 or 61, further comprising:

[0552] receiving user input transmitting a text message to a first user of the collaboration platform, wherein the first user is not one of the identified one or more users; and

[0553] In response to the user input, a text message is transmitted to the first user via the messaging application.

[0554] Clause 63. A method according to any one of clauses 57 to 62, wherein the user interface is an interface of a collaboration platform.

[0555] Clause 64. The method of any of clauses 57 to 63, wherein the user interface is part of the same application that displays the corresponding data dashboard.

[0556] Clause 65. A method according to any one of clauses 57 to 64, wherein the corresponding data element is one of:

[0557] one or more data units from a corresponding data dashboard;

[0558] one or more data values ​​from a data field of a corresponding data dashboard;

[0559] One or more data fields from the corresponding dashboard;

[0560] One or more data markers from a data visualization of the corresponding dashboard; or

[0561] One or more data visualizations from the corresponding dashboard.

[0562] Clause 66. The method of any one of clauses 57 to 65, wherein the first snapshot comprises:

[0563] a first snapshot component generated from a first data element of a first data dashboard; and

[0564] A second snapshot component is generated from a second data element of a second data dashboard different from the first data dashboard.

[0565] Clause 67. The method of clause 66, wherein the first data element and the second data element are associated with the same data source.

[0566] Clause 68. The method of clause 66, wherein the first data element and the second data element are associated with different data sources.

[0567] Clause 69. A computer system comprising:

[0568] one or more processors; and

[0569] A memory coupled to one or more processors, the memory storing one or more programs configured for execution by the one or more processors, the one or more programs comprising instructions for performing a method according to any one of clauses 57 to 68.

[0570] Clause 70. A non-transitory computer-readable medium storing one or more programs configured for execution by one or more processors of a computer system, the one or more programs comprising instructions for performing a method according to any of clauses 57 to 68.

Claims

1. A method for redirecting dashboard content as a data snapshot of a collaboration platform, comprising: At a computing device having a display, one or more processors, and a memory storing one or more programs configured for execution by the one or more processors: receiving a user selection of a first data element from a first data dashboard displayed on the computing device, the user selection designating the first data element as a first snapshot component of a first snapshot; in response to receiving the user selection of the first data element from the first data dashboard, displaying a plurality of component properties of the first snapshot component in a first user interface; receiving, via the first user interface, a user specification of first values ​​for component properties of at least a first subset of the plurality of component properties; as well as Based on receiving said user specification of said first values ​​of at least said first subset of component properties: updating the first snapshot component according to the first value; generating a first snapshot including the first snapshot component; and The first snapshot is caused to be displayed as a message on a messaging application executed by an electronic device, the messaging application being associated with a collaboration platform.

2. The method according to claim 1, further comprising: In response to receiving the user selection to designate the first data element as the first snapshot component: generating a first component specification corresponding to the first snapshot component, the first component specification including the plurality of component properties; and Based on the user specification of the first value of the property of at least the subset, the first component specification is populated with the first value.

3. The method according to claim 1 or 2, further comprising: receiving, via the first user interface, a user selection of a dimension data field and a sort order; as well as Generating the first snapshot component includes: generating a bar chart having a plurality of data bars, each of the data bars representing a respective data value of a metric data field subdivided by the dimension field and having a respective length representing a portion of the first data element corresponding to the respective data value; and The data stripes are arranged in the sorted order according to their respective lengths.

4. The method according to any one of claims 1 to 3, further comprising: receiving, via the first user interface, a user specification of a time data field and a date / time range for filtering the first data element; as well as Generating the first snapshot component includes filtering the first data element to the date / time range of the temporal data field.

5. The method according to any one of claims 1 to 4, further comprising: displaying, via the first user interface, a plurality of template icons corresponding to a plurality of templates; receiving a user selection of a first template icon of the plurality of template icons, the first template icon corresponding to a first template of the plurality of templates; receiving a user specification of one or more parameters for the first template; as well as Generating the first snapshot includes formatting the first snapshot component according to the first template and the one or more parameters.

6. The method according to any one of claims 1 to 5, further comprising: automatically generating a preview of the first snapshot component based on the user specification of the first values ​​of at least the first subset of component properties; as well as The preview of the first snapshot component is displayed in the first user interface.

7. The method according to claim 6, further comprising: receiving a user input regarding the preview of the first snapshot component to annotate the first snapshot at a first position of the first snapshot while displaying the preview of the first snapshot component; as well as In response to receiving the user input, display of the preview is updated to include a shape and / or color at the first position of the first snapshot component.

8. The method according to any one of claims 1 to 7, further comprising: After generating the first snapshot component, a visual representation of the first snapshot component is displayed in the first data dashboard.

9. The method according to any one of claims 1 to 8, further comprising: In response to the user selection of the first data element from the first data dashboard, replacing the display of the first data dashboard with a view of the first user interface.

10. The method according to any one of claims 1 to 9, wherein: The first data element is a data value of a metric data field; and The data value is determined via a first aggregation type. 11 . The method of any one of claims 1 to 10 , wherein the first data element comprises a data marker for a data visualization on the first dashboard.

12. The method of any one of claims 1 to 11, wherein the first data element is a data visualization on the first dashboard.

13. The method according to any one of claims 1 to 12, wherein: The first snapshot includes a second snapshot component that is different from the first snapshot component; and The method further comprises, after generating the first snapshot component and before generating the second snapshot component: receiving a user selection of a second data element, the user selection designating the second data element as the second snapshot component of the first snapshot; and Based on receiving the user selection, a second component specification corresponding to the second snapshot component is generated, the second component specification including the plurality of component properties.

14. The method of claim 13, wherein receiving the user selection to designate the second data element as the second snapshot component comprises: The user selection of the second data element is received from the first data dashboard displayed on the computing device.

15. The method of claim 13 or 14, wherein receiving the user selection to designate the second data element as the second snapshot component comprises: A user selection of the second data element is received from a second data dashboard displayed on the computing device that is different from the first data dashboard.

16. A method according to any one of claims 13 to 15, wherein the first data element originates from a first data source and the second data element originates from a second data source different from the first data source.

17. The method according to any one of claims 1 to 16, further comprising: prior to causing the first snapshot to be displayed on the electronic device, receiving a user selection of a layout type for the first snapshot; as well as Causing the first snapshot to be displayed on the electronic device includes causing the first snapshot to be displayed on the electronic device in a selected layout type.

18. The method of claim 17, wherein the layout type is one of: a single view, a view stack, a carousel layout, a slideshow, a mini dashboard, or an animated layout.

19. The method according to any one of claims 1 to 18, wherein: The first snapshot is specified by a plurality of snapshot properties; as well as Generating the first snapshot includes receiving a user specification of second values ​​corresponding to the plurality of snapshot properties, including: a first date / time at which the data in the first snapshot was valid up to that time; and An identification of the collaboration platform to which the first snapshot is to be exported.

20. The method of claim 19, wherein the plurality of snapshot properties include metadata properties, including: a first metadata property that specifies an identifier of the first snapshot; a second metadata property specifying an owner of the first snapshot; and A third metadata property specifies a pointer to a first chat message showing the first snapshot.

21. The method according to any one of claims 1 to 20, wherein: The first data dashboard is displayed in a data visualization application; and The first user interface is a user interface of the data visualization application.

22. The method according to any one of claims 1 to 21, wherein: The first data dashboard is displayed in a data visualization application; and The first user interface is a user interface of the collaboration platform.

23. The method according to any one of claims 1 to 22, wherein: The first data dashboard is displayed in a data visualization application; and The first user interface is a user interface of an application that is different from the data visualization application and different from the collaboration platform.

24. The method of any one of claims 1 to 23, wherein generating the first snapshot comprises: displaying a second user interface including a plurality of panes; wherein each pane of the plurality of panes corresponds to a respective snapshot property of a plurality of snapshot properties of the first snapshot; as well as Wherein a user selection of a field in a pane of the plurality of panes specifies a respective value for a respective corresponding snapshot property.

25. The method according to claim 24, further comprising: After updating the first snapshot component according to the first value, replacing the display of the first user interface with the view of the first data dashboard, Wherein the second user interface is displayed in response to a user selection of an affordance from the view of the first data dashboard.

26. The method according to claim 24 or 25, wherein: The first data dashboard is displayed in a data visualization application; and The second user interface is a user interface of the data visualization application.

27. The method according to claim 24 or 25, wherein: The first data dashboard is displayed in a data visualization application; and The second user interface is a user interface of the collaboration platform.

28. The method according to claim 24 or 25, wherein: The first data dashboard is displayed in a data visualization application; and The second user interface is a user interface of an application different from the data visualization application and different from the collaboration platform.

29. The method according to claim 24 or 25, wherein: The first user interface and the second user interface are interfaces of the same application.

30. The method according to any one of claims 24 to 29, further comprising: In the second user interface, a presentation of the first snapshot is displayed in a simulated chat interface.

31. The method of claim 30, further comprising: receiving, via the second user interface, a user selection of a first user-selectable icon in a first pane of the plurality of panes while displaying the representation of the first snapshot in the second user interface; as well as In response to the user selection, an updated presentation of the first snapshot is displayed, the presentation including an affordance that enables a viewer of the first snapshot to request an updated first snapshot on the collaboration platform.

32. The method according to claim 30 or 31, further comprising: receiving, via the second user interface, a user selection of a second user-selectable icon in a second pane of the plurality of panes while displaying the representation of the first snapshot in the second user interface; as well as In response to the user selection, an updated presentation of the first snapshot is displayed, the updated presentation including a text box alerting a viewer of the first snapshot that data for the first snapshot is incomplete.

33. A computing device comprising: monitor; one or more processors; and A memory connected to the one or more processors, the memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method of any one of claims 1 to 32.

34. A non-transitory computer-readable medium storing one or more programs configured for execution by one or more processors of a computing device, the one or more programs comprising instructions for performing the method of any one of claims 1 to 32.

35. A method for generating a data snapshot of a collaboration platform, comprising: At a computer system having one or more processors and a memory storing one or more programs configured for execution by the one or more processors: A user specification of values ​​for a plurality of snapshot properties of a first snapshot is received, wherein: The first snapshot includes one or more snapshot components, including a first snapshot component extracted from a first data dashboard, the first data dashboard being associated with a first data source; and The user specifications include: a first date / time at which the data in the first snapshot was valid up to that time; and a first collaboration platform to which the first snapshot is to be exported; Upon receipt of the User Specification: generating a first snapshot specification for the first snapshot based on the values ​​of the plurality of snapshot properties; and generating the first snapshot according to the first snapshot specification; and The first snapshot is caused to be displayed as a message on a messaging application of an electronic device, the messaging application being associated with the first collaboration platform.

36. The method of claim 35, further comprising: receiving a first request to update the first snapshot from the first collaboration platform; In response to the first request, determining that a current date / time of the first request exceeds the first date / time at which the data in the first snapshot was valid until then; as well as According to the determination: obtaining one or more updated data values ​​of the first snapshot component from the first data source; generating an updated snapshot using the one or more updated data values ​​of the first snapshot component; as well as The updated snapshot is caused to be displayed on the electronic device.

37. The method of claim 36, wherein: generating the first snapshot component according to a first snapshot component specification, the first snapshot component specification including a plurality of component properties having a plurality of corresponding property values; as well as The method further comprises: After obtaining the one or more updated data values ​​of the first snapshot component from the first data source, the first snapshot component specification is updated according to the one or more updated data values.

38. The method of claim 37, wherein the first snapshot component specification is stored on the computer system.

39. The method according to any one of claims 36 to 38, wherein the first request is initiated by a user of the electronic device.

40. The method of any one of claims 36 to 38, wherein the first request is initiated by an author of the first snapshot.

41. The method of any one of claims 35 to 40, wherein receiving the user specification of the values ​​of the plurality of snapshot properties of the first snapshot comprises: Receiving a user specification of a plurality of first values ​​corresponding to an automatically recurring property of the first snapshot, the plurality of first values ​​comprising at least two of the following: recurrence frequency; recurring expiration date; and A rendition of the first snapshot is caused to be displayed at a time of day on the messaging application.

42. The method of claim 41 further comprising: After causing the first snapshot to be displayed as a message on the messaging application: According to the plurality of first values ​​corresponding to the automatic recurring property being determined to be satisfied by the computer system: obtaining current data values ​​of the one or more snapshot components from one or more data sources corresponding to the one or more snapshot components of the first snapshot; generating a first reproducible version of the first snapshot; as well as The first reproduced version of the first snapshot is caused to be displayed on the messaging application of the electronic device.

43. The method of claim 42, wherein: the plurality of first values ​​corresponding to the automatically recurring property of the first snapshot include a time of day that causes a recurrence of the first snapshot to be displayed on the messaging application; and Causing the first re-rendered version of the first snapshot to be displayed on the messaging application of the electronic device includes causing the first re-rendered version of the first snapshot to be displayed at the time of day specified in the auto-recurring property.

44. The method according to claim 42 or 43, further comprising: The first snapshot specification is updated based on the current data values ​​of the one or more snapshot components.

45. The method of any one of claims 35 to 44, wherein receiving the user specification of the values ​​of the plurality of snapshot properties of the first snapshot comprises receiving a user specification of a layout type of the first snapshot; and Causing the first snapshot to be displayed on the electronic device includes causing the first snapshot to be displayed on the electronic device in a selected layout type.

46. ​​The method of claim 44, wherein the layout type is one of: a single view, a view stack, a carousel layout, a slideshow, a mini dashboard, or an animated layout.

47. A method according to any one of claims 35 to 46, wherein: The one or more snapshot components include a plurality of snapshot components; and Each snapshot component of the plurality of snapshot components corresponds to a respective data element from a respective data dashboard.

48. The method of claim 47, wherein each data element is one of: one or more data units from the corresponding data dashboard; one or more data values ​​from a data field of the corresponding data dashboard; one or more data fields from the corresponding dashboard; one or more data markers from a data visualization of the corresponding dashboard; or One or more data visualizations from the corresponding dashboard.

49. The method of any one of claims 35 to 48, wherein the user specification is received via a computing device that is communicatively connected to the computer system and is distinct from the computer system.

50. The method of claim 49, further comprising: Based on receiving the user specification of the values ​​of the plurality of snapshot properties of the first snapshot, causing display of a rendering of the first snapshot in the simulated chat interface in the computing device.

51. The method of any one of claims 35 to 50, wherein causing the first snapshot to be displayed as a message on the messaging application comprises: The first snapshot is transmitted by the computer system to the first collaboration platform.

52. The method of any one of claims 35 to 51, wherein the one or more snapshot components include a second snapshot component extracted from a second data dashboard.

53. The method of claim 52, wherein the second data dashboard is associated with the first data source.

54. The method of claim 52, wherein the second data dashboard is associated with a second data source different than the first data source.

55. A computer system comprising: one or more processors; and A memory connected to the one or more processors, the memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for executing the method of any one of claims 35 to 54.

56. A non-transitory computer-readable medium storing one or more programs configured for execution by one or more processors of a computer system, the one or more programs comprising instructions for performing the method of any one of claims 35 to 54.

57. A method of interacting with a data snapshot, comprising: At a computing device including a display, one or more processors, and a memory storing one or more programs configured for execution by the one or more processors: Displaying a user interface including a plurality of panes corresponding to a plurality of snapshots (i) authored by a user of the computing device and (ii) displayed on a messaging application of a collaboration platform, wherein: Each pane of the plurality of panes comprises a respective view of the respective snapshot; and The plurality of snapshots includes a first snapshot having one or more snapshot components, wherein each of the snapshot components is generated from a respective data element of a respective data dashboard; Displaying information about the first snapshot in an information panel adjacent to the first snapshot includes: metadata of one or more starting dashboards corresponding to the one or more snapshot components of the first snapshot; and an identification of a first channel of the collaboration platform to which the first snapshot is published; and In response to detecting a first user selection of a notification displayed in the user interface indicating that the first snapshot has expired: transmitting one or more identifiers of the one or more starting dashboards to a computer system communicatively coupled to the computing device; receiving, from the computing system, update data for the one or more snapshot components of the first snapshot; generating an updated view of the first snapshot according to the received update data; and The updated view of the first snapshot is displayed in the user interface.

58. The method of claim 57, wherein: generating the first snapshot based on a user specification of a first date / time at which a first snapshot component of the first snapshot expires; and In response to determining that the first date / time has expired, displaying the notification in the user interface.

59. The method of claim 57 or 58, wherein the information about the first snapshot further includes information about a date and time at which the first snapshot was published on the messaging application.

60. The method of any one of claims 57 to 59, wherein the information about the first snapshot further comprises: Identifications of one or more users of the collaboration platform who have viewed the first snapshot.

61. The method of claim 60, further comprising: receiving user input of a first user transmitting the first snapshot to the collaboration platform, wherein the first user is not one of the identified one or more users; as well as In response to the user input, the first snapshot is transmitted to the first user via the messaging application.

62. The method according to claim 60 or 61, further comprising: receiving user input transmitting a text message to a first user of the collaboration platform, wherein the first user is not one of the identified one or more users; as well as In response to the user input, the text message is transmitted to the first user via the messaging application.

63. A method according to any one of claims 57 to 62, wherein the user interface is an interface of the collaboration platform.

64. A method according to any one of claims 57 to 63, wherein the user interface is part of the same application that displays the corresponding data dashboard.

65. A method according to any one of claims 57 to 64, wherein each data element is one of: one or more data units from the corresponding data dashboard; one or more data values ​​from a data field of the corresponding data dashboard; one or more data fields from the corresponding dashboard; one or more data markers from a data visualization of the corresponding dashboard; or One or more data visualizations from the corresponding dashboard.

66. The method of any one of claims 57 to 65, wherein the first snapshot comprises: a first snapshot component generated from a first data element of a first data dashboard; and A second snapshot component is generated from a second data element of a second data dashboard different from the first data dashboard.

67. The method of claim 66, wherein the first data element and the second data element are associated with the same data source.

68. The method of claim 66, wherein the first data element and the second data element are associated with different data sources.

69. A computer system comprising: one or more processors; and A memory connected to the one or more processors, the memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for executing the method of any one of claims 57 to 68.

70. A non-transitory computer-readable medium storing one or more programs configured for execution by one or more processors of a computer system, the one or more programs comprising instructions for performing the method of any one of claims 57 to 68.