Multi-location data block generation and management
The multi-location data block system addresses the inflexibility and inefficiency of traditional digital content systems by enabling simultaneous content integration and customization across devices, reducing resource consumption and improving user interaction.
Patent Information
- Application Number
- JP2025534458
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-03-30
- Filing Date
- 2023-11-15
- Publication Date
- 2026-02-18
- Estimated Expiration
- 2043-11-15
AI Technical Summary
Existing digital content systems are inflexible and inefficient due to their reliance on traditional file and folder structures, requiring multiple copies of content items across devices and platforms, leading to excessive computational and resource consumption.
A system that generates and manages multi-location data blocks, allowing digital content to exist simultaneously across multiple devices and platforms using block identifiers and source identifiers, enabling flexible integration and customization of content without copying or moving data.
This approach reduces resource consumption and improves efficiency by eliminating the need for multiple copies, allowing seamless integration and customization of content across devices, thus conserving computer resources and enhancing user interaction flexibility.
Smart Images

Figure 2026505690000001_ABST
Abstract
Description
[Technical Field]
[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This application claims priority to and the benefit of U.S. Patent Application No. 18 / 193,097, filed March 30, 2023, U.S. Patent Application No. 18 / 193,107, filed March 30, 2023, and U.S. Patent Application No. 18 / 193,124, filed March 30, 2023. Each of the foregoing applications is incorporated herein by reference in its entirety. [Background technology]
[0002] Advances in computing device and networking technology have led to various innovations in cloud-based digital content storage and access. For example, online digital content systems can provide access to digital content items across devices worldwide. Existing systems can also synchronize changes to shared digital content across different types of devices operating on different platforms. Indeed, modern online digital content systems can provide access to digital content for users to collaborate across diverse physical locations and across diverse computing devices. However, despite these advances, existing digital content systems continue to suffer from many shortcomings, particularly in terms of flexibility and efficiency.
[0003] As mentioned above, some existing digital content systems are inflexible. In particular, many existing systems are rigidly fixed in the traditional paradigm of storing and managing content items using files and folders that are often tied to a specific application or platform. For example, some existing systems require that a specific file type (or another content item, such as a website) be accessed or modified using an application that corresponds to the file type. In addition, existing systems often require different devices to store and maintain individual copies of the content item in order to view or manipulate the content item. Even in cloud-based systems that store centralized content items accessible by multiple devices, these systems rigidly present the same representation of the content item across all access devices, regardless of account-specific contextual data.
[0004] Due at least in part to their inflexible nature, many existing digital content systems are also inefficient. Specifically, because many existing systems rely on traditional files and folders to interact with content items, these systems often require generating and storing many copies of a single content item throughout the content item's lifetime. For example, a single content item that is part of a collaboration across multiple devices in some existing systems requires that a version of the content item be copied to each collaboration device. While many existing systems use cloud-based storage to centralize access to content items, even some cloud-based systems require copying the content item (copying its entire data content) to each new location (e.g., a new folder) where the content item is moved or accessed. The computational expense of moving and / or copying content items is particularly noticeable in systems that store and manage many terabytes of content items across many devices and user accounts. Copying and storing such a large number of content items consumes excessive amounts of computer processing power, memory, and storage that could be saved with a more efficient system.
[0005] As another example of their inefficiency, some existing digital content systems require the execution of different computer applications to access and interact with different content items. More specifically, as described above, some systems require dedicated applications to access specific types of content items (e.g., specific file formats). As a result, these existing systems often require an excessive number of user interactions to switch between interfaces and applications to interact with different content items. Processing such a large number of interactions wastes computer resources that could be saved with a more efficient interface. Furthermore, simultaneously running many applications for different types of content items consumes excessive computer resources.
[0006] Thus, there are several drawbacks with existing digital content systems. Summary of the Invention
[0007] This disclosure describes one or more embodiments of a system, method, and non-transitory computer-readable storage medium that provide advantages and / or solve one or more of the aforementioned and other problems in the art. For example, the disclosed system generates and manages content items using a novel data structure in the form of a multi-location data block. In some embodiments, the disclosed system generates the multi-location data block as a data entity or data element that can simultaneously exist in multiple computer locations (e.g., a virtual space) on a single device and / or across multiple devices. For example, the disclosed system generates a multi-location data block that includes a block identifier linked to a source identifier and embeds digital content from a network location indicated by the source identifier. The disclosed system can also generate or determine (and store) one or more block configurations, block types, conversation threads, and / or task lists for (or as part of) each multi-location data block. Furthermore, the disclosed system can identify a content renderer for rendering the digital content embedded within the multi-location data block (according to the block configuration) based on one or more application integrations.
[0008] The disclosed system also provides a system, method, and non-transitory computer-readable storage medium for generating and summarizing content blocks within a virtual space interface. For example, the disclosed system can generate a virtual space interface that includes content blocks as modifiable sub-windows, and digital content embedded within these content blocks can be presented and modified via block identifiers and source identifiers. The disclosed system can also provide a summary element for display within the virtual space interface, which can be selected to generate a block summary from the digital content embedded within the content blocks. For example, the disclosed system can generate a block summary using a large-scale language model and replace the presentation of the content in the content block with the corresponding block summary.
[0009] Additionally, the disclosed system provides a system, method, and non-transitory computer-readable storage medium for generating and providing a content block browser as part of a virtual space platform. For example, the disclosed system can provide a content block-based web browser in the form of a virtual space including embedded content blocks that integrate web page functionality. In some embodiments, the disclosed system provides a virtual space to include some content blocks that integrate web page functionality and other content blocks that integrate digital content from other (non-web page) content items, such as content items stored in a content management system. To integrate digital content including web page functionality, the disclosed system can utilize block identifiers for the content blocks, which are associated with source identifiers that reference the network locations that store the respective content items (e.g., web pages). [Brief explanation of the drawings]
[0010] This disclosure describes one or more example implementations of systems and methods with additional specificity and detail by reference to the accompanying drawings, the following paragraphs briefly describing these drawings.
[0011] [Figure 1] FIG. 1 illustrates a schematic diagram of an exemplary environment for a content blocking system according to one or more embodiments.
[0012] [Figure 2] FIG. 2 illustrates an exemplary overview of generating and managing multi-location data blocks, according to one or more embodiments.
[0013] [Figure 3] FIG. 3 illustrates an exemplary multi-location data block that can be embedded within multiple virtual spaces, according to one or more embodiments.
[0014] [Figure 4] FIG. 4 shows an example diagram for determining application integration and content renderers for a multi-location data block, according to one or more embodiments.
[0015] [Figure 5] FIG. 5 illustrates an exemplary multi-location data block that includes a task identifier and a thread identifier, according to one or more embodiments.
[0016] [Figure 6] FIG. 6 shows an exemplary diagram for modifying a content item at a server location using a two-way modification channel, according to one or more embodiments.
[0017] [Figure 7] FIG. 7 shows an example flowchart of a series of operations for generating and managing multi-location data blocks, according to one or more embodiments.
[0018] [Figure 8] FIG. 8 illustrates an example scheme for generating block summaries for content blocks, according to one or more embodiments.
[0019] [Figure 9] FIG. 9 illustrates an exemplary spatial summary interface, according to one or more embodiments.
[0020] [Figure 10] FIG. 10 illustrates an exemplary virtual space interface for adding new content blocks, according to one or more embodiments.
[0021] [Figure 11A] FIG. 11A illustrates an exemplary virtual space interface for modifying content blocks and generating block summaries, according to one or more embodiments. [Figure 11B] FIG. 11B illustrates an exemplary virtual space interface for modifying content blocks and generating block summaries, according to one or more embodiments.
[0022] [Figure 12A] FIG. 12A illustrates an exemplary virtual space interface for adding a task list or communication thread to a content block, according to one or more embodiments. [Figure 12B] FIG. 12B illustrates an exemplary virtual space interface for adding a task list or communication thread to a content block, according to one or more embodiments.
[0023] [Figure 13] FIG. 13 illustrates an exemplary virtual space interface for content block searching, according to one or more embodiments.
[0024] [Figure 14]FIG. 14 illustrates an exemplary virtual space interface for modifying visual characteristics of content blocks and associating content blocks with virtual meetings, according to one or more embodiments.
[0025] [Figure 15] FIG. 15 illustrates an exemplary application integration interface according to one or more embodiments.
[0026] [Figure 16] FIG. 16 shows an example diagram for changing permission settings for content blocks, according to one or more embodiments.
[0027] [Figure 17] FIG. 17 shows an example comparison of spatial summary interfaces, according to one or more embodiments.
[0028] [Figure 18] FIG. 18 shows an example flowchart of a series of operations for generating a block summary for a content block, according to one or more embodiments.
[0029] [Figure 19] FIG. 19 illustrates an exemplary overview of generating and managing a virtual space interface for a content block browser, according to one or more embodiments.
[0030] [Figure 20] FIG. 20 shows an illustrative diagram for modifying a web page at a server location based on changes to content blocks, according to one or more embodiments.
[0031] [Figure 21] FIG. 21 shows an illustrative diagram for embedding content items from different server locations into respective content blocks, according to one or more embodiments.
[0032] [Figure 22] FIG. 22 shows an example diagram for determining application integration and content renderers for a content block, according to one or more embodiments.
[0033] [Figure 23] FIG. 23 shows an exemplary diagram for generating and providing a block preview, according to one or more embodiments.
[0034] [Figure 24] FIG. 24 shows an illustrative flowchart of a series of operations for generating and managing a virtual space interface for a content block browser, according to one or more embodiments.
[0035] [Figure 25] FIG. 25 illustrates a block diagram of an exemplary computing device, according to one or more embodiments.
[0036] [Figure 26] FIG. 26 illustrates an example environment of a networking system having a content blocking system according to one or more embodiments. DETAILED DESCRIPTION OF THE INVENTION
[0037] This disclosure describes one or more embodiments of a content block system that can utilize a novel data infrastructure for multi-location data blocks to generate and manage digital content through multi-location data blocks, generate and summarize digital content for multi-location data blocks, and / or provide a virtual space platform for a content block web browser based on multi-location data blocks. While this disclosure separates the discussion into overarching topics according to the various functions or capabilities of the content block system, the content block system can also combine functionality from each (or a subset) of the topic discussions. The following paragraphs provide an overview or introduction to each of the following concepts, in order: i) generation and management of multi-location data blocks, ii) generation and summarization of content blocks within a virtual space interface, and iii) a virtual space platform for a content block browser. Additional details regarding each of the main topics are then provided in conjunction with figures. Overview of Multi-Location Data Block Generation and Management
[0038] To generate and manage multi-location data blocks, the content block system can generate a data entity or data structure for the multi-location data block that includes a block identifier and a source identifier. For example, the content block system generates a block identifier (stored at a particular server location) that represents or indicates the multi-location data block, and this block identifier is further linked or linked to a source identifier that references the server location that stores the content item for embedding within the multi-location data block. In effect, the content block system can generate the source identifier as a data element that links the server location that stores the content item to one or more multi-location data blocks that include block identifiers that reference the source identifier. By using the block identifier to reference the source identifier, the content block system can incorporate a digital content item stored at a server location into a multi-location data block (without copying or moving the content item's actual data from that server location to the server location of the multi-location data block).
[0039] In some cases, the content blocking system generates a multi-location data block that includes a block type in addition to a block identifier and a source identifier. For example, the content blocking system determines a block type that indicates a particular type or format of a content item incorporated or embedded within the multi-location data block. In some cases, the content blocking system defines the block type based on a server location indicated by a source identifier associated with the block identifier. In these or other cases, the content blocking system may also determine multiple block configurations for a single multi-location data block, each of which may be defined by changing the visual characteristics (e.g., size, position, shape, and color) of the multi-location data block in the virtual space via user interaction at the respective client device. In some embodiments, the content blocking system, when further generating the multi-location data block, may include a thread identifier (referring to a server location) that references a stored communication thread associated with the multi-location data block and / or a task identifier (referring to a server location) that references a stored task list associated with the multi-location data block.
[0040] In one or more embodiments, the content blocking system can embed a multi-location data block into multiple virtual spaces simultaneously using a single block identifier (and without copying or moving the stored content item from its server location). More specifically, the content blocking system can utilize a single multi-location data block with that block identifier to incorporate a content item from a server location by binding a source identifier that references the server location to the block identifier. Thus, the content blocking system can enable multiple client devices to display a virtual space in which each presents or displays a content item within the same multi-location data block (in its visual representation) without copying or moving the content item from its server location. In some cases, the content blocking system can further receive an indication from the client device of a user interaction that modifies the digital content presented via the multi-location data block and can propagate the modification to the corresponding content item stored at the server location. Overview of generating and summarizing content blocks in virtual space interfaces
[0041] As described above, in certain embodiments, a content blocking system can generate and summarize content blocks within a virtual space interface. Specifically, the content blocking system can provide a virtual space interface that includes content blocks and contextual data for user accounts associated with all of the content blocks within a single interface. For example, the content blocking system can provide tools within the virtual space interface for manipulating content blocks (e.g., multi-location data blocks) that incorporate content items from various content sources or server locations (and / or for various different computer applications), including web pages, device storage, and / or cloud-based storage from a content management system. Such manipulations can include rearranging blocks, adding / removing blocks, resizing blocks, changing block colors, adding / removing user accounts that can access blocks, and changing block permission settings.
[0042] In some embodiments, the content blocking system can further generate block summaries of the content blocks. For example, the content blocking system can extract digital content from the content blocks (e.g., from a server location referenced by a source identifier) and provide it to the large-scale language model. Furthermore, the content blocking system can utilize the large-scale language model to generate block summaries of the digital content contained within the content blocks. In some cases, the content blocking system can also replace the presentation of the digital content within the content blocks with block summaries as shown in the virtual space interface. In some embodiments, the content blocking system can also generate (e.g., using the large-scale language model) multi-block summaries of multiple content blocks, spatial summaries of content blocks within a particular virtual space, and / or thread summaries of communication threads associated with one or more content blocks. In some cases, the content blocking system generates user account-specific summaries (e.g., block summaries, multi-block summaries, spatial summaries, and / or thread summaries) based on the user account's interactions.
[0043] In some embodiments, the content blocking system can generate block proposals. For example, the content blocking system can utilize a block proposal machine learning model to generate block proposals and can provide selectable block proposal elements for adding new content blocks for the proposal blocks within the virtual space interface. Indeed, the content blocking system can generate block proposals based on behaviors or interactions associated with a user account, including shares, clicks, modifications, views, and other interactions with content blocks (or other content items).
[0044] The content blocking system can also set and determine block permissions. For example, when embedding a content block within a virtual space interface, the content blocking system can determine the permission settings associated with the content item (e.g., from an external content source or external application) embedded in the content block. The content blocking system can also incorporate external permission settings and apply them to the content block within the virtual space to allow and restrict various access and functionality of the content block per account. In some cases, the content blocking system can also change permission settings within the external content source or external application. For example, based on changing the permission settings of a content block via the virtual space interface, the content blocking system can propagate the permission changes to the external application / content source from which the content item originated. Overview of the Content Blocking Browser Virtual Space Platform
[0045] As further described above, the content blocking system can generate and provide a virtual space platform for a content blocking browser. More specifically, the content blocking system can generate a virtual space including content blocks (e.g., multi-location data blocks) that reference and incorporate content items from respective server locations (e.g., via block identifiers and source identifiers). For example, the content blocking system can embed content blocks that integrate web page functionality by including a block identifier that is linked to the web page's source identifier (or a server location that references the web page). Thus, the content blocking system can provide a content block-based web browser in which content blocks incorporate web page functionality and allow access, navigation, modification, and other operations to be performed directly within the content block. In some cases, the content blocking system provides a hybrid virtual space interface in which some content blocks integrate web page functionality (e.g., for different web pages) and other content blocks incorporate content items from other sources, such as a content management system or external applications (e.g., messaging applications, photo editing applications, video calling applications, or calendar applications).
[0046] In one or more embodiments, the content blocking system can modify web page content based on interactions with content blocks. For example, the content blocking system can receive an indication of a user interaction that modifies content displayed within a content block in a virtual space. Based on this interaction, the content blocking system can further propagate (e.g., via a two-way modification channel) the modifications made to the block content to a corresponding web page embedded or integrated into the content block. In some cases, the content blocking system can also generate and provide a block preview for the content block, which includes the modified content and / or modified functionality for delivery to an external (e.g., third-party) client device with limited access rights / permissions.
[0047] As alluded to above, through one or more of the embodiments described above (and described in further detail below), the content block system can provide several improvements or advantages over existing digital content systems. For example, the content block system can provide greater flexibility than conventional systems. Indeed, while some conventional systems are rigidly fixed in storing and managing content items using files and folders tied to specific applications or platforms, the content block system creates a virtual space platform that utilizes content blocks (e.g., multi-location data blocks) that can adapt, integrate, or incorporate content items across many systems, applications, and file types. Additionally, in contrast to conventional systems that require client devices to store and maintain individual copies of content items, the content block system generates and utilizes adaptive multi-location data blocks that can be flexibly embedded across multiple virtual spaces simultaneously using a single block identifier. Even compared to cloud-based systems that present or depict a uniform visualization of a centralized content item, the content block system flexibly customizes the visualization of a content item (e.g., within a content block) according to contextual data, such as user account-specific interactions with the content item and visual characteristics specific to each device's virtual space.
[0048] Due at least in part to its improved flexibility, the content block system can also improve efficiency over existing digital content systems. For example, in contrast to conventional systems that rely on traditional files and folders to interact with content items, the content block system uses multi-location data blocks within a virtual space platform to alleviate the need to repeatedly copy and / or move content items. Indeed, even in collaborative situations where a single content item is shared, modified, and commented on by multiple devices, the content block system can use multi-location data blocks to integrate the content item within the virtual space without copying or moving the content item from its server location. Furthermore, multi-location data blocks can be simultaneously displayed, modified, and otherwise manipulated within multiple virtual spaces using a single block identifier (e.g., without the need to copy or create multiple versions of the multi-location data block). Thus, by using multi-location data blocks with these capabilities, the content block system conserves computer resources consumed by other systems when copying and / or moving content items between server locations. The computer resource savings are particularly noticeable in systems that store and manage many terabytes of content items.
[0049] As another example of its improved efficiency, the content blocking system requires only a single computer application and / or a single user interface to view, modify, or otherwise interact with content items integrated from various server locations and / or external applications. Indeed, while some conventional systems require running many different dedicated applications to interact with different types of content items, the content blocking system leverages application integration within the virtual world platform to embed content blocks that integrate the content and functionality of external applications. Thus, not only does the content blocking system reduce the navigation inefficiencies and computational costs (processing) of an excessive number of user interactions navigating between different applications and interfaces, but the content blocking system also further reduces the computational costs of running all of the content item-specific applications of conventional systems.
[0050] As indicated by the foregoing description, this disclosure utilizes various terms to describe the features and advantages of the content blocking system. Further details regarding the meaning of these terms as used in this disclosure are provided below. As used herein, the term “digital content item” (or simply “content item”) refers to a digital object or digital file that contains information that can be interpreted by a computing device (e.g., a client device) to present information to a user. A digital content item can include a file, such as a digital text file, a digital image file, a digital audio file, a web page, a website, a digital video file, a web file, a link, a digital document file, or some other type of file or digital object. A digital content item can have a particular file type or file format, which can differ for different types of digital content items (e.g., digital documents, digital images, digital videos, or digital audio files). In some cases, a digital content item may refer to a remotely stored (e.g., cloud-based) item or link (e.g., a link or reference to a cloud-based item or web-based content item) and / or a content clip that shows (or links / references) a discrete selected portion or segmented subportion of content from a web page or some other content item or source. Digital content items may be editable or modifiable and may be shareable from one user account (or client device) to another. In some cases, digital content items may be modified by multiple user accounts (or client devices) simultaneously and / or at different times.
[0051] Additionally, as used herein, the term "virtual space" refers to a computer-based digital environment that includes embedded multi-location data blocks and context data corresponding to the multi-location data blocks. For example, the virtual space includes context data such as user account data for a user account with access to the multi-location data block, thread data for a communication thread associated with the multi-location data block, task data for a task list associated with the multi-location data block, meeting data for a virtual meeting associated with the multi-location data block, summary data for a block summary of the multi-location data block, and / or other context data blocks. In some cases, the virtual space refers to a "virtual space interface" that includes graphical elements representing the multi-location data blocks and other interface elements described herein.
[0052] Relatedly, as used herein, the term "multi-location data block" refers to a data structure, data entity, or data element that can be embedded in multiple virtual spaces simultaneously without moving or copying the digital content presented within (or incorporated thereby). For example, a multi-location data block can refer to a data element that corresponds to (or represents) a "content block" presented for display within a virtual space interface. In effect, a content block can refer to a visualization of a multi-location data block, where the multi-location data block contains the underlying data for defining the presentation of the digital content within the content block. A multi-location data block can include multiple data identifiers that point to data elements or computer code that define the digital content to present within the content block.
[0053] For example, a multi-location data block may include a "block identifier" that identifies or defines the multi-location data block (or content block) itself. Indeed, the content block system can embed a multi-location data block (or content block) within a virtual space by adding the content block's block identifier to the virtual space. Furthermore, a multi-location data block may include a "source identifier" that indicates or references a network or server location where digital content is stored. In some cases, the multi-location data block's block identifier is linked or coupled to a source identifier (or multiple source identifiers) to integrate or embed the digital content referenced by the source identifier into the corresponding content block. By linking the block identifier to a source identifier for incorporating digital content into the content block, the content block system can embed a content block presenting a content item referenced by the source identifier without copying or moving the content item from its server location. Thus, a single multi-location data block may be embedded (using block identifiers) simultaneously within multiple virtual spaces without copying or moving data for the displayed content.
[0054] In some embodiments, the content block system may also determine or generate thread identifiers and / or task identifiers for multi-location data blocks (or content blocks). As used herein, a "thread identifier" refers to a data element that references a communication thread stored at a server location for incorporation into a multi-location data block (or content block). Additionally, the term "task identifier" refers to a data element that references a task list stored at a server location for incorporation into a multi-location data block (or content block). In some cases, the content block system links a block identifier to a source identifier, a thread identifier, and / or a task identifier to incorporate the corresponding digital content into the multi-location data block (or content block). In some embodiments, the content block system associates a thread identifier and / or a task identifier with a multi-location data block, a virtual space, and / or a section without a virtual space.
[0055] In some embodiments, the content block system determines a block configuration for a multi-location data block (or content block). As used herein, the term "block configuration" refers to computer code that defines the visual characteristics of a multi-location data block (or content block). For example, the content block system can define a virtual space to include one or more block identifiers corresponding to each content block and / or to include a block configuration corresponding to the content block. Relatedly, the content block system can determine a block type for a multi-location data block (or content block). As used herein, the term "block type" refers to the type or format of a multi-location data block (or content block). For example, the block type can refer to the server location that hosts (and defines the parameters of) the content item referenced by the block identifier. Indeed, the content block system can define a multi-location data block to include or reference a block type. Exemplary block types include: i) native block types that are native to the content blocking system (or virtual world platform) and do not integrate content items from external server locations; ii) external block types that include block identifiers tied to source identifiers that reference or incorporate content items from external server locations; and / or iii) browser block types that integrate the digital content and functionality of web pages into multi-location data blocks (or content blocks). In some cases, the content blocking system generates a JSON file to define the content and behavior of the native content blocks.
[0056] In one or more embodiments, the content block system utilizes application integration to incorporate functionality associated with external applications for rendering digital content and / or viewing and modifying content items. As used herein, the term “application integration” refers to computer applications that are tied, linked, or integrated within a virtual space. For example, application integration can include all or part of an external application (e.g., a content editing or content viewing portion of the application) that is integrated within a virtual space to view and interact with a content item (e.g., a content item specific to the external application). In some cases, the content block system utilizes application integration in the formation of a content renderer. Indeed, a “content renderer” can refer to a data entity or computer code integrated within (or added to) a virtual space to render a content item. Specifically, the content block system can identify a content renderer adapted to render a multi-location data block (or content block) within a virtual space according to the block type (e.g., an external block operable via an external application) and / or the block configuration associated with the multi-location data block (or content block).
[0057] As described above, the content blocking system can use one or more machine learning models to generate block summaries and block proposals. As used herein, the term “machine learning model” refers to a computer algorithm or collection of computer algorithms that automatically improves a particular task by iteratively outputting or predicting based on the use of data. For example, a machine learning model can utilize one or more learning techniques to improve accuracy and / or effectiveness. Exemplary machine learning models include various types of neural networks, decision trees, support vector machines, linear regression models, and Bayesian networks. As described in more detail below, the content blocking system utilizes a “block proposal machine learning model” that can generate block proposals based on user account behavior, including interactions with content items.
[0058] Relatedly, the term "neural network" refers to a machine learning model that can be trained and / or tuned based on inputs to determine a classification, score, or approximation of an unknown function. For example, a neural network includes a model of interconnected artificial neurons (e.g., organized in layers) that communicate, learn to approximate complex functions, and generate outputs (e.g., block summaries) based on multiple inputs provided to the neural network. In some cases, a neural network refers to an algorithm (or collection of algorithms) that implements deep learning techniques to model higher-level abstractions in data. A neural network can include various layers, such as an input layer, one or more hidden layers, and an output layer, each of which performs a task to process the data. For example, a neural network can include a deep neural network, a convolutional neural network, a recurrent neural network (e.g., LSTM), a graph neural network, or a generative adversarial neural network. When trained as described below, such a neural network can become a content clustering neural network.
[0059] As used herein, the term "application session" (or sometimes simply "session") refers to an instance of use within a client application or within a particular collection or folder or content item using a client application. For example, an application session refers to a set of activities performed within a single login of a client application or a content management system application. As another example, an application session refers to a set of activities performed within a single visit of an application or a single access of a content collection or folder. In some cases, a session requires a login, while in other cases, a session does not require a login and instead refers to instances of use between closures or terminations (of an application or web page), or between visits that are at least a threshold time apart (or separated by device power off or sleep mode).
[0060] Additional details regarding the content blocking system will now be provided with reference to the drawings. For example, Figure 1 shows a schematic diagram of an exemplary system environment for implementing a content blocking system 102 according to one or more implementations. An overview of the content blocking system 102 will be described in conjunction with Figure 1. Thereafter, a more detailed description of the components and processes of the content blocking system 102 will be provided with reference to subsequent figures.
[0061] As shown, the environment includes a server 104, client devices 108a-108n, a database 114, an external system 116, and a network 112. Each of the components of the environment can communicate over the network 112, which can be any suitable network over which computing devices can communicate. Exemplary networks are described in more detail below in connection with Figures 25-26.
[0062] As described above, the exemplary environment includes client devices 108a-108n. The client devices 108a-108n may be one of a variety of computing devices, including a smartphone, a tablet, a smart TV, a desktop computer, a laptop computer, a virtual reality device, an augmented reality device, or another computing device such as those described in connection with FIGS. 25-26. The client devices 108a-108n may communicate with the server 104 and / or the database 114 via the network 112. For example, the client devices 108a-108n may receive user input from a user interacting with the client device 108a-108n (e.g., via a client application 110) to, for example, access, create, modify, or share content items, collaborate with co-users of different client devices, or select user interface elements. Additionally, the content block system 102 on the server 104 can receive information regarding various interactions with content items and / or user interface elements based on input received by the client devices 108a-108n (e.g., to access a content item, interact with a content block, or perform some other action).
[0063] As shown, the client devices 108a-108n may include a client application 110. Specifically, the client application 110 may be a web application, a native application (e.g., a mobile application, a desktop application, etc.) installed on the client device 108a-108n, or a cloud-based application in which all or a portion of the functionality is performed by the server 104. Based on instructions from the client application 110, the client devices 108a-108n may present or display information, including a user interface that includes a virtual space for presenting content from an external application (e.g., from the external system 116) and / or from the content management system 106.
[0064] As shown in FIG. 1 , the exemplary environment also includes a server 104. The server 104 may generate, track, store, process, receive, and transmit electronic data, such as digital content items, content blocks, interface elements, interactions with digital content items, interactions with interface elements, and / or interactions between user accounts or client devices. For example, the server 104 may receive data from the client devices 108 a- 108 n in the form of a selection of a particular content block to integrate a content item. Additionally, the server 104 may transmit data to the client devices 108 a- 108 n in the form of a content block, a block summary, a block proposal, a virtual space interface, or some other information. Indeed, the server 104 may communicate with the client devices 108 a- 108 n to send and / or receive data via the network 112. In some implementations, the server 104 comprises a distributed server, where the server 104 is distributed across the network 112 and includes several server devices located in different physical locations. The servers 104 may comprise one or more content servers, application servers, communication servers, web hosting servers, machine learning servers, and other types of servers.
[0065] As shown in FIG. 1 , the server 104 can also include a content block system 102 as part of a content management system 106. The content management system 106 can communicate with client devices 108 a- 108 n to perform various functions associated with a client application 110, such as managing user accounts, managing content collections, managing content items, and facilitating user interaction with content collections and / or content items. Indeed, the content management system 106 can include a network-based smart cloud storage system for managing, storing, and maintaining content items and associated data across multiple user accounts, including user accounts that collaborate with each other. In some embodiments, the content block system 102 and / or the content management system 106 utilize a database 114 to store and access information such as digital content items, block identifiers, source identifiers, thread identifiers, task identifiers, block types, and block configurations.
[0066] 1 further illustrates an external system 116. Specifically, the external system 116 can store or host content items that can be embedded within multi-location data blocks (or content blocks). For example, the external system 116 can include a server location that hosts a web page and / or can include a computer application (e.g., a messaging application, a photo editing application, or a calendar application) that is external to the content block system 102. In some cases, the external system 116 is external to the content block system 102 in the sense that the external system 116 and the content block system 102 are located in different server locations and / or in the sense that the content block system 102 does not (natively) host or maintain the functionality of the external system 116.
[0067] 1 shows the content blocking system 102 located on the server 104, in some implementations the content blocking system 102 may be implemented (e.g., located in whole or in part) by one or more other components of the environment. For example, the content blocking system 102 may be implemented by the client devices 108a-108n and / or third-party devices. For example, the client devices 108a-108n may download all or part of the content blocking system 102 for implementation independent of or in conjunction with the server 104.
[0068] 1, the environment may have a different arrangement of components and / or a different number or set of components overall. For example, the client devices 108a-108n may communicate directly with the content blocking system 102, bypassing the network 112. As another example, the environment may include a database 114 located external to the server 104 (e.g., communicating over the network 112), or located on the server 104, located on an external system 116, and / or located on the client devices 108a-108n.
[0069] As described above, the content blocking system 102 may perform methods or functions related to: i) generating and managing multi-location data blocks; ii) generating and summarizing content blocks within a virtual space interface; and iii) managing a virtual space platform for a content block browser. The following description separates the discussion and corresponding diagrams for each of these four concepts into individual sections with their own headings. While these sections are divided for clarity, the content blocking system 102 is not limited in its functionality or performance according to such division or separation. Rather, the content blocking system 102 may perform all or some of the acts or methods associated with one or more of the following sections, separately or in combination together. Indeed, some of the following sections may borrow from or rely on the discussion of other sections. Multi-location data block generation and management
[0070] As mentioned above, in certain described embodiments, the content blocking system 102 generates and manages multi-location data blocks. More specifically, the content blocking system 102 can generate multi-location data blocks that include or are represented by block identifiers and / or one or more other identifiers that aggregate content items within the multi-location data block. For example, the content blocking system 102 can generate multi-location data blocks that include block identifiers that reference source identifiers of server locations that host the content items to be aggregated. Figure 2 shows an exemplary overview of generating and managing multi-location data blocks, according to one or more embodiments. Further details regarding the various concepts of Figure 2 are provided below with reference to subsequent figures.
[0071] As shown in FIG. 2 , the content blocking system 102 generates a multi-location data block 202. Specifically, the content blocking system 102 generates the multi-location data block 202 to include a block identifier 204. For example, the content blocking system 102 generates the block identifier 204 and further associates or links the block identifier 204 to a source identifier 206. In some cases, the content blocking system 102 generates the multi-location data block 202 to include the source identifier 206, while in other embodiments (e.g., embodiments in which the multi-location data block 202 is a native block that does not reference a content item from an external server location), the content blocking system 102 generates the multi-location data block 202 without the source identifier 206. Indeed, for native blocks such as communication thread blocks and task list blocks, the content blocking system 102 can generate the multi-location data block 202 to integrate digital content directly from within the content blocking system 102 (or from the content management system 106).
[0072] As shown, the content block system 102 generates a multi-location data block 202 so that it can be embedded in multiple virtual spaces simultaneously. More specifically, the content block system 102 simultaneously embeds the multi-location data block 202 in a first virtual space on client device 210a, a second virtual space on client device 210b, and a third virtual space on client device 210c. In fact, the content block system 102 requires only a single multi-location data block 202 and a single block identifier 204 to simultaneously incorporate the content item into the virtual spaces on each client device.
[0073] To embed the multi-location data blocks 202 within each virtual space, the content block system 102 utilizes a block identifier 204 to reference or specify the multi-location data blocks 202. For example, the content block system 102 transmits and / or receives the block identifier 204 to embed the multi-location data blocks 202 in response to a request. In some cases, the content block system 102 receives an embedding request from a client device (e.g., client device 210a) that includes a request for a block identifier 204 indicating the multi-location data block 202. The content block system 102 then provides the block identifier 204 associated with a source identifier 206. By associating or linking the block identifier 204 with the source identifier 206, the content block system 102 can incorporate the digital content item from the server location 208 within the multi-location data block 202 for display on the client device.
[0074] In particular, the content blocking system 102 parses the block identifier 204 to determine a source identifier 206 linked or associated with the block identifier 204. Specifically, the content blocking system 102 parses the source identifier 206 to determine or identify a server location 208 (e.g., a URL) that hosts or stores the content item. For example, the content blocking system 102 identifies the server location 208 as a web page server or a server for an external application. The content blocking system 102 further provides the content item for display as part of the multi-location data block 202 by accessing and transmitting the content item using the source identifier 206. In some cases, the content blocking system 102 requires Internet access to maintain interaction and / or presentation of the content item from the server location 208. In other cases, the content blocking system 102 can download or provide the content item to a client device (e.g., client device 210a) via the source identifier 206 to facilitate offline access.
[0075] As mentioned above, in certain described embodiments, the content block system 102 determines multiple block configurations for a multi-location data block. Specifically, the content block system 102 determines different block configurations for the same multi-location data block based on user interactions that define visual characteristics of the multi-location data block within the respective virtual spaces. Figure 3 shows an exemplary diagram for determining and adapting different block configurations for a multi-location data block, according to one or more embodiments.
[0076] As shown in FIG. 3, the content blocking system 102 identifies or determines a multi-location data block 302 for embedding within the virtual space of a client device. More specifically, the content blocking system 102 identifies the multi-location data block 302 stored in a server location of the content blocking system 102, such as a database 304. In some cases, the content blocking system 102 determines the multi-location data block 302 as a block requested or incorporated by client device 308a, client device 308b, and client device 308c via a block identifier 306. Furthermore, the content blocking system 102 determines multiple block configurations for the multi-location data block 302, even if the multi-location data block 302 has only a single block identifier 306 (and / or a single source identifier). As shown, the content blocking system 102 determines block configuration A for client device 308a, block configuration B for client device 308b, and block configuration C for client device 308c.
[0077] To determine the block configuration, the content block system 102 can receive or detect user interaction settings of visual characteristics of the multi-location data block 302. For example, the content block system 102 receives an indication of a user interaction that defines the size (e.g., height and width dimensions), location, color, and / or shape of the multi-location data block 302. In some embodiments, the content block system 102 determines the block configuration by determining different sets of visual characteristics for the multi-location data block 302. In some cases, the content block system 102 receives or determines different visual characteristics for different block configurations. For example, the content block system 102 receives an interaction defining block configuration A from client device 308a, an interaction defining block configuration B from client device 308b, and / or an interaction defining block configuration C from client device 308c. Thus, the content block system 102 can store the multi-location data blocks 302 all within the database 304 as separate data entities from their respective virtual space-specific (or account-specific or device-specific) block configurations.
[0078] As described above, in certain embodiments, the content block system 102 determines and utilizes application integration to facilitate rendering, modifying, or otherwise interacting with content items incorporated in multi-location data blocks. Specifically, the content block system 102 integrates (certain features of) computer applications to facilitate interaction with multi-location data blocks associated with or compatible only with specific applications. Figure 4 shows an exemplary diagram for determining application integration for a virtual space, according to one or more embodiments.
[0079] 4, the content blocking system 102 provides a multi-location data block 404 for display on a client device 402. Specifically, the content blocking system 102 embeds the multi-location data block 404 within a virtual space presented or displayed on the client device 402. In some embodiments, the content blocking system 102 embeds the multi-location data block 404, which includes a block identifier 412 and includes (or is otherwise associated with) a block type 406. Indeed, the content blocking system 102 determines the block type 406 corresponding to the block identifier 412. For example, the content blocking system 102 determines the block type 406 in response to receiving the block identifier 412 from the client device 402 (e.g., in response to receiving a request to present the multi-location data block 404).
[0080] Based on the block type 406, the content block system 102 determines or selects a content renderer adapted to render the multi-location data block 404 for display on the client device 402. Specifically, the content block system 102 accesses a content renderer repository 410 that stores multiple content renderers for rendering different types of multi-location data blocks. In some cases, the content block system 102 determines the content renderer as an application, part of an application, or computer code segment that invokes or provides content rendering capabilities for presenting content items (e.g., content items specific to a particular application) within a virtual space. For example, the content block system 102 can identify and integrate a content renderer using an application programming interface (API) associated with a particular computer application.
[0081] In one or more embodiments, the content blocking system 102 determines the content renderer from the application integration 408. Specifically, the content blocking system 102 determines whether the virtual space of the client device 402 has linked or incorporated a particular application integration 408 that includes or defines a content renderer that matches the block type 406 of the multi-location data block 404. In some cases, the content blocking system 102 can search for, download, and install (or otherwise incorporate) the application integration that matches the block type 406 from a network location.
[0082] Based on identifying the application integration 408 for the block type 406, in some embodiments, the content blocking system 102 determines a suitable content renderer. Indeed, the content blocking system 102 can use the block type 406 to determine the application integration 408 and can use the application integration 408 to identify the content renderer. For example, the content blocking system 102 accesses the content renderer as part of or as a function of the application integration 408. In some cases, the content blocking system 102 identifies a suitable content renderer from the content renderer repository 410 based on the application integration 408 (and / or the block type 406).
[0083] For example, the content block system 102 identifies a content renderer that is compatible with (or part of) the application integration 408 from a content renderer repository 410 that stores content renderers for different block types and / or different application integrations. Thus, the content block system 102 can embed, incorporate, download, provide, or otherwise utilize a content renderer for the multi-location data block 404 to present the multi-location data block 404 within a virtual space on the client device 402. The content block system 102 can thus use a block-type-specific content renderer to provide or present the multi-location data block 404 for display according to the block configuration.
[0084] As mentioned above, in certain described embodiments, the content block system 102 generates and manages thread identifiers and task identifiers for multi-location data blocks. Specifically, the content block system 102 can generate task identifiers for task threads linked to multi-location data blocks and can generate thread identifiers for communication threads linked to multi-location data blocks. Figure 5 shows an example diagram for generating and maintaining thread identifiers and task identifiers according to one or more embodiments.
[0085] 5, the content block system 102 provides a multi-location data block 504 for display on a client device 502. Specifically, the content block system 102 provides the multi-location data block 504 for display within a virtual space presented on the client device 502. In some embodiments, the content block system 102 generates the multi-location data block 504 to include information other than (or in addition to) pixels for visualization of a content item (e.g., an image of a car). Indeed, as shown, the content block system 102 generates and provides a task list 506 and / or a communication thread 508 within or as part of (or along with) the multi-location data block 504.
[0086] For example, the content block system 102 provides a task list 506 and a communication thread 508 as interactive components of a multi-location data block 504, which is associated with a separate identifier for independent storage and management. Specifically, the content block system 102 generates the interactive task list 506 (independent of the displayed content item) via the client device 502 and / or via other client devices that cooperate with the client device 502 and have access to the multi-location data block 504. Additionally, the content block system 102 generates a task identifier 510 for the task list 506. Specifically, upon receiving a request to generate the task list 506 (e.g., an indication of a user interaction via the client device 502), the content block system 102 generates the task identifier 510 as a data object for maintaining the task list 506 and / or for updating the task list 506 based on interactions with the task list 506.
[0087] Additionally, the content blocking system 102 generates an interactive communication thread 508 (independent of the displayed content item) via the client device 502 and / or other client devices in cooperation with the client device 502 that have access to the multi-location data block 504. The content blocking system 102 also generates a thread identifier 512 for the communication thread 508. More specifically, the content blocking system 102 generates the thread identifier 512 as a data object to maintain the communication thread 508 separate from the task list 506 and / or the content item. The content blocking system 102 can further modify the communication thread 508 by updating the thread identifier 512 in response to user interaction with the communication thread 508.
[0088] 5, the content block system 102 can generate and maintain multi-location data blocks 504 that include (or are associated with) a block identifier 514 (for defining the multi-location data block 504 and linking it to a content item via a source identifier 516), a source identifier 516 (if the multi-location data block 504 is a non-native block), a thread identifier 512, and a task identifier 510. In some cases, the content block system 102 links or ties the block identifier 514 to the source identifier 516, the thread identifier 512, and / or the task identifier 510. Thus, the content block system 102 can embed the multi-location data block 504, along with its referenced content item, communication thread 508, and task list 506, in a virtual space by using (e.g., providing or transmitting) the single block identifier 514 (including computer code that references other identifiers for incorporating their respective digital content).
[0089] As described above, in certain embodiments, the content blocking system 102 updates or modifies a content item at its server location based on interactions with the multi-location data block. Specifically, the content blocking system 102 can receive an indication of a user interaction with the multi-location data block to modify a displayed content item, and the content blocking system 102 can propagate the modification to the content item's server location via a two-way modification channel. Figure 6 shows an exemplary diagram for modifying a content item at a server location using a two-way modification channel, in accordance with one or more embodiments.
[0090] As shown in FIG. 6, the content block system 102 provides a multi-location data block 602 for display on a client device 604. More specifically, the content block system 102 provides the multi-location data block 602 by providing a block identifier 606 tied to a source identifier 608 that references a content item in the form of a digital image of a car (e.g., stored at a server location 612). In effect, the content block system 102 accesses and incorporates the image of the car using the source identifier 608, retrieves data from the server location 612, and renders the pixels of the image of the car using a content renderer (e.g., from application integration). Compared to the car shown in FIG. 5, the car in the multi-location data block 602 has a different color or shading. In effect, the content block system 102 receives an indication of user interaction via the client device 604 to modify the image of the car (e.g., change the color / shading).
[0091] In response to the user interaction, the content block system 102 not only updates the visualization of the multi-location data block 602 within the virtual space of the client device 604, but the content block system 102 also propagates the changes to the server location 612. For example, the content block system 102 establishes or generates a two-way modification channel 610 (e.g., via a network connection) to transmit or propagate changes to the content item to and from the server location 612. In some cases, the content block system 102 thus uses the two-way modification channel 610 to update the image of the car stored at the server location 612 according to changes made via user interaction with the multi-location data block 602. In these or other cases, the content block system 102 further uses the two-way modification channel 610 to update the visualization of the image of the car in the multi-location data block 602 based on detecting a new version or update to the content item stored at the server location 612 (e.g., based on changes made via another client device in cooperation with the client device 604).
[0092] 1-6, corresponding text, and examples provide several different systems and methods for generating and managing multi-location data blocks, according to one or more embodiments. In addition to the foregoing, implementations may be described in the form of flowcharts that include operational steps in a method for achieving a particular result. For example, FIG. 7 illustrates an exemplary series of operations for generating and managing multi-location data blocks, according to one or more embodiments.
[0093] While Figure 7 illustrates operations according to some implementations, alternative implementations may omit, add, rearrange, and / or modify any of the operations shown in Figure 7. The operations of Figure 7 may be performed as part of a method. Alternatively, a non-transitory computer-readable medium may comprise instructions that, when executed by one or more processors, cause a computing device to perform the operations of Figure 7. In yet another implementation, a system may perform the operations of Figure 7.
[0094] As shown in FIG. 7 , the series of operations 700 may include an operation 710 for generating a source identifier. For example, operation 710 may involve generating a source identifier that indicates a server location that stores a content item. Furthermore, the series of operations 700 may include an operation 720 for generating a multi-location data block from the source identifier. For example, operation 720 may involve generating, from the source identifier, a multi-location data block that references a content item stored at the server location of the source identifier, where the multi-location data block is embeddable in multiple virtual spaces simultaneously using a single block identifier. Furthermore, the series of operations 700 may include an operation 730 for determining a block configuration for the multi-location data block. For example, operation 730 may involve determining, for the multi-location data block, multiple block configurations that exhibit different visual characteristics (e.g., configured by different client devices) for displaying the multi-location data block in each virtual space. Furthermore, the series of operations 700 may include an operation 740 for identifying a content renderer that will render the multi-location data block. For example, operation 740 involves, for a multi-location data block, identifying, from a repository of content renderers (associated with application integration for the virtual space platform), a content renderer that is suitable for visualizing the multi-location data block according to a block configuration from among a plurality of block configurations.
[0095] In some embodiments, the series of operations 700 includes an operation of generating a source identifier by generating a data element that links a server location that stores the content item to (or incorporates within) a multi-location data block that includes a block identifier that references the source identifier (without copying the content item). In these or other embodiments, the series of operations 700 includes an operation of generating a multi-location data block by generating data elements stored at a single server location, the data elements incorporating at least a portion of the content item by linking a single block identifier to the source identifier. Additionally, the series of operations 700 can include an operation of determining multiple block configurations by determining configured visual characteristics to present different visual representations of the multi-location data block within each virtual space by different client devices.
[0096] In some embodiments, the series of operations 700 includes an act of identifying a content renderer compatible with visualization of the multi-location data block by identifying an application integration associated with a block type of the multi-location data block. Further, the series of operations 700 may include an act of determining a content renderer in a repository of content renderers by receiving, from a client device, an indication of a plurality of application integrations for incorporation into the virtual space platform using their respective application programming interfaces. Further, the series of operations 700 may include an act of generating an additional multi-location data block including a block identifier that is specific to the virtual space platform and is not associated with a corresponding source identifier.
[0097] In some embodiments, the series of operations 700 includes identifying a content renderer suitable for visualizing the multi-location data block by determining a block type associated with the multi-location data block and identifying an application integration associated with the block type. The series of operations 700 may also include identifying a content renderer from among a repository of content renderers containing segments of computer code generated for rendering content items in the multi-location data block from the corresponding application integration. In some cases, the series of operations 700 may include providing the multi-location data block for display within a first virtual space according to a first block configuration established by a first client device, and / or providing the multi-location data block for display within a second virtual space according to a second block configuration established by a second client device.
[0098] In some embodiments, the series of operations 700 includes an operation for generating a multi-location data block by generating a data element stored at a single server location incorporating the content item by associating a single block identifier with a source identifier without storing the content item at a single server location for the data element. The series of operations 700 may also include an operation for determining multiple block configurations by determining locations and dimensions associated with versions of the multi-location data block to be displayed with their respective virtual spaces.
[0099] In some embodiments, the series of operations 700 includes an operation for determining a task list associated with the multi-location data block. Furthermore, the series of operations 700 may include an operation for generating, for the task list, a task identifier comprising a data element bound to a single block identifier of the multi-location data block. In some cases, the series of operations 700 includes an operation for determining a communication thread associated with the multi-location data block. In these or other cases, the series of operations 700 may include an operation for generating, for the communication thread, a thread identifier comprising a data element bound to a single block identifier of the multi-location data block. Furthermore, the series of operations 700 may include an operation for receiving an indication of a user interaction with the multi-location data block to modify content presented in the multi-location data block. Furthermore, the series of operations 700 may include an operation for propagating, based on the indication of the user interaction, modifications made to the content presented in the multi-location data block to a content item stored at a server location associated with the source identifier, utilizing a bidirectional modification channel. Generating and summarizing content blocks within a virtual space interface
[0100] As mentioned above, in certain embodiments, the content block system 102 generates and provides customized virtual spaces for display on client devices. Indeed, the content block system 102 can generate the multi-location data blocks described above in connection with FIGS. 1-7. From the multi-location data blocks, the content block system 102 can further provide visualizations of the multi-location data blocks (in the form of content blocks) for display within the virtual space, where the content blocks incorporate content items from respective server locations and / or include native content for the virtual space. FIG. 8 shows an exemplary overview of generating and providing content blocks for display within a virtual space, according to one or more embodiments. Additional details regarding the various operations of FIG. 8 are then provided with reference to subsequent figures.
[0101] 8, the content blocking system 102 performs operation 802 to generate a virtual space interface. Specifically, the content blocking system 102 generates the virtual space interface as part of a virtual space platform (e.g., a web-based or standalone virtual space application) that provides an environment for viewing and interacting with content items. Within the context of the (single) virtual space interface, the content blocking system 102 provides contextual data surrounding the displayed content item, including a user account associated with the content item, a task list associated with the content item, calendar events associated with the content item, virtual meetings associated with the content item, communication threads associated with the content item, and / or other contextual data.
[0102] As further shown in FIG. 8 , the content block system 102 performs an operation 804 of generating a content block. Specifically, the content block system 102 generates a content block for presenting or displaying a visualization of data (e.g., content items) incorporated within the multi-location data block. Indeed, the content block system 102 can generate content blocks that visualize content items stored in an external server location (e.g., outside the content management system 106) and / or incorporate data specific to the content block system's virtual space platform, such as a communication thread block or a task list block. The content block system 102 can further generate content blocks as user interface elements with changeable visual characteristics, such as size, position, color, and shape. Indeed, based on receiving a user interaction to change the height or width of a content block, the content block system 102 can adjust the presentation of the digital content within the content block to show more or less content depending on the increased or decreased dimensions. For example, based on detecting a request for a full-screen view of the content block, the content block system 102 can provide more content items for display than a smaller-sized content block. In some cases, the content blocks may also be interactive to change the content item depicted.
[0103] 8, the content block system 102 performs an operation 806 of providing a block summary element. Specifically, the content block system 102 can generate and provide a block summary element for display within the virtual space, where the block summary element is a selectable user interface element for generating a block summary from the content block. In some cases, the content block system 102 provides the block summary element for display within the content block, while in other cases, the content block system 102 provides the block summary element for display elsewhere in the virtual space interface.
[0104] Additionally, the content block system 102 performs operation 808 of generating a block summary. Specifically, the content block system 102 receives an indication of a user interaction selecting a block summary element, and in response, the content block system 102 generates a block summary from the digital content of the content block. For example, the content block system 102 utilizes a block summary neural network (e.g., a large-scale language model such as ChatGPT) to generate the block summary from the content block. In some cases, the content block system 102 generates the block summary in the form of a description of a digital image, a description of a digital video, an abbreviated version of a digital video, and / or a concise description of a digital document or spreadsheet describing the content.
[0105] As further shown in FIG. 8 , the content block system 102 performs operation 810 of modifying the content block with the block summary. More specifically, the content block system 102 updates or modifies the content block for which the block summary is generated by replacing the visualization of the content item with the visualization of the block summary within the content block. Indeed, the content block system 102 can modify the content block to display the block summary while still retaining the same block identifier associated with the same source identifier referencing the same content item. The content block system 102 need only modify the visual presentation of the content block while maintaining the underlying data structure linking the content block to the content item at the server location. In some cases, the content block system 102 generates a block summary identifier and associates the block summary identifier with the block identifier of the content block to reference the block summary stored at the server location (e.g., in the content management system 106).
[0106] 8 , the content blocking system 102 performs operation 812 to customize interfaces and notifications. Specifically, the content blocking system 102 can provide notifications for display within the virtual space interface (or elsewhere on the client device) indicating updates or changes to content blocks (e.g., based on changes from other cooperating client devices). Furthermore, the content blocking system 102 can customize various user interfaces, such as a virtual space interface, a spatial summary interface, and / or other user interfaces, based on the content blocks and / or block summaries in one or more virtual spaces. Indeed, the content blocking system 102 can customize a spatial summary interface on a per-user account and / or per-device basis to present relevant content block information based on past user account behavior (e.g., selecting, viewing, scrolling, sharing, downloading, receiving, modifying, and / or time spent interacting with a content item).
[0107] As mentioned above, in certain described embodiments, the content blocking system 102 provides a spatial summary interface for display on a client device. Specifically, the content blocking system 102 can provide a spatial summary interface that summarizes or includes selectable spatial elements for one or more virtual spaces associated with a user account. Figure 9 illustrates an exemplary spatial summary interface, according to one or more embodiments.
[0108] As shown in FIG. 9 , the content block system 102 provides a spatial summary interface 904 for display on a client device 902. As shown, the spatial summary interface 904 is a “home” interface within a virtual space platform (e.g., within a “Dropbox Cube” application). As shown, the spatial summary interface 904 includes a left sidebar showing a user account for the spatial summary interface 904, which further includes a search element and a selectable element for adding a new virtual space for user account “AB.” Additionally, the spatial summary interface 904 includes a spatial element 906 and a spatial element 908, each of which is selectable to access a respective virtual space interface. Indeed, based on a user interaction selecting the spatial element 906, the content block system 102 can provide a virtual space interface for a “1:1s” virtual space. Similarly, based on a user interaction selecting the spatial element 908, the content block system 102 can provide a virtual space interface for a “Cube Analysis” virtual space.
[0109] As shown, the space element 906 indicates that only the user account “AB” has access to the “1:1s” virtual space. Furthermore, the space element 906 includes a virtual space summary for the “1:1s” virtual space, summarizing the virtual space as a “space for regular one-on-one meetings.” Indeed, the content block system 102 can generate a virtual space summary based on the content blocks included in the virtual space (e.g., using a summarization neural network, such as a large-scale language model or a visual language model, in the case of mixed content including images and text). For example, the content block system 102 can automatically generate virtual space summaries for one or more virtual spaces for display within the space summary interface 904 (e.g., within each virtual space element) (e.g., without requiring user input to request or prompt). As further shown, the space element 908 indicates that the “Cube Analytics” virtual space is accessible by the “AB” user account and the “CD” user account. The content blocking system 102 can further indicate when the user account last accessed the virtual space within the corresponding virtual space element (eg, "1 day ago" or "1 week ago").
[0110] As described above, in certain embodiments, the content blocking system 102 can provide a virtual space interface for display on a client device. Specifically, the content blocking system 102 can provide the virtual space interface based on receiving a user interaction that selects a spatial element within a spatial summary interface. Figure 10 illustrates an exemplary virtual space interface in accordance with one or more embodiments.
[0111] 10 , the content blocking system 102 provides a virtual space interface 1004 for display on a client device 1002. Specifically, the content blocking system 102 generates and provides the virtual space interface 1004 in response to receiving a user interaction indication selecting a new space element 1006. Based on generating the new virtual space and providing the virtual space interface 1004, the content blocking system 102 further provides an interface element for creating a new content block for inclusion within the virtual space interface 1004. For example, the content blocking system 102 provides an add block element 1008 within the virtual space interface 1004. In some cases, the content blocking system 102 provides a new block element 1010 in response to receiving a user interaction indication selecting the add block element 1008 to add the new block to the virtual space interface 1004.
[0112] As shown, the content block system 102 generates a new block element 1010 to include several elements for creating a content block of a particular block type. Specifically, the content block system 102 can provide several block type elements corresponding to each block type of the new content block. In some cases, the content block system 102 can determine application integrations integrated or incorporated with the virtual world platform and generate a list of block type elements based on the application integrations (e.g., including a block type element for each application integration).
[0113] Additionally, the content block system 102 can provide block type elements for native content blocks, including communication thread blocks and / or task list blocks, that do not require application integration but whose functionality is instead built into the virtual world platform. As shown, the content block system 102 provides block type elements for other block types, such as "Note," "Paper Doc," and "Airtable." Indeed, in response to receiving a user interaction indication selecting a block type element, the content block system 102 generates a new content block of the corresponding block type and incorporates the associated application integration functionality for rendering and interacting with the content item.
[0114] Also shown, the content blocking system 102 generates new block elements 1010 to contain the list of block suggestions. For example, the content blocking system 102 generates block suggestions using a block proposal machine learning model (e.g., a neural network). Indeed, the content blocking system 102 can utilize the block proposal machine learning model to generate block suggestions from user account data, such as past user account interactions with various content items. Indeed, the content blocking system 102 can generate model input in the form of a user account dataset that includes metrics of views, clicks, modifications, scrolls, shares, receipts, and / or interaction times associated with various content items, including websites and / or content items stored within the content management system 106. In some cases, the content blocking system 102 can access web browser data to determine or generate block suggestions. For example, the content blocking system 102 can identify content items in open tabs of a web browser as content items to suggest within the block suggestions.
[0115] Thus, the content blocking system 102 can generate different user-account-specific block proposals for each user account of the content blocking system 102. As shown, the content blocking system 102 generates a first block proposal for "Doc1-Dropbox Paper" that can be selected to generate a new content block for the indicated content item (and incorporate functionality from the (Dropbox Paper) application integration). Also shown, the content blocking system 102 generates a second block proposal for "Guide for Framing Your Promotion," which, when selected, prompts the content blocking system 102 to generate a new content block for the indicated content item for display within the virtual space interface 1004. Indeed, in some cases, based on the selection of a block proposal, the content blocking system 102 i) identifies the server location (e.g., URL) of the proposed content item, ii) parses the URL to identify the application integration corresponding to the content item (e.g., by extracting a content identifier from the URL), iii) determines a source identifier for the content item (e.g., via an API), and iv) generates a content block to render the content item.
[0116] As mentioned above, in certain described embodiments, the content block system 102 generates and provides a virtual space interface for modifying or manipulating content blocks (and / or corresponding content items). Specifically, the content block system 102 generates a virtual space interface including multiple content blocks arranged according to user input. The content block system 102 can further generate block summaries for the content blocks and can modify the presentation of the content blocks to show the block summaries. Figures 11A-11B show exemplary virtual space interfaces including updating content blocks from displaying content items to displaying block summaries, according to one or more embodiments.
[0117] 11A, the content block system 102 generates and provides a virtual space interface 1104 for display on a client device 1102. Specifically, the content block system 102 generates the virtual space interface 1104 to include multiple sections and content blocks. As shown, the content block system 102 generates the virtual space interface 1104 for presenting content blocks for a virtual space named "Projects." Additionally, the content block system 102 generates the virtual space interface 1104 to include a virtual space portion 1106 depicting the sections and content blocks for the virtual space and a right rail 1108 depicting contextual data associated with the virtual space.
[0118] In particular, the content blocking system 102 generates a right rail 1108 to include an activity feed (“Space activity”). The content blocking system 102 can reflect action summaries of activities performed by the client device 1102 with respect to content blocks or content items within the virtual space interface 1104 in the activity feed. Indeed, based on detecting an interaction with a content block (e.g., a change to a content item via a content block), the content blocking system 102 can update the activity feed with a summary of the interaction. In some cases, the content blocking system 102 can receive text input along with the activity feed and add manual updates or comments (e.g., in a “Write Update Here” bubble). Thus, the content blocking system 102 can update the activity feed as shown on multiple client devices presenting their respective virtual space interfaces for the same “Project” virtual space. In some cases, the content blocking system 102 generates an activity feed to include activity for a specific time period (e.g., “Today”).
[0119] Additionally, the content blocking system 102 generates the right rail 1108 to include a block action suggestion ("Set up this space"). Specifically, the content blocking system 102 can determine the block action suggestion for a user account for setting up the virtual space interface 1104. In some cases, the content blocking system 102 generates the block action suggestion based on determining past user interactions of the "AB" user account (and / or other user accounts) and comparing the past user interactions with interactions made within the virtual space interface 1104. For example, the content blocking system 102 can determine that the "AB" user account (and / or other user accounts) will perform one or more actions within the new virtual space interface (and / or in connection with a particular content block) on at least a threshold percentage of the virtual space interfaces (corresponding to the "AB" user account and / or other user accounts). Based on determining that the user account has not yet performed such actions within the virtual space interface 1104, the content blocking system 102 can further generate and provide blocking action suggestions for those actions.
[0120] As further shown in FIG. 11A , the content block system 102 generates a virtual space interface 1104 to include a virtual space portion 1106. Within the virtual space portion 1106, the content block system 102 generates and provides multiple block sections, such as a “Design” block section and a “Develop” block section. The content block system 102 may also provide various interface elements within the block sections, such as an “Add Block” option selectable to add a new content block within the block section (e.g., using the new block element described in connection with FIG. 10 ). Within the virtual space portion 1106, the block sections may be modifiable to adjust visual characteristics including size, position, shape, and color. For example, the content block system 102 may receive a user interaction to move the “Develop” section above the “Design” section and / or place them side by side, making one section larger than the other.
[0121] Additionally, the content block system 102 can receive user interactions to adjust the visual characteristics of the content blocks. For example, the content block system 102 can receive user interaction indications to adjust the width, height, position, color, and / or shape of a content block (e.g., within that block section or to move the block to another section or outside all block sections). In some cases, the content block system 102 propagates changes made to the visual characteristics of a content block (and / or block section) to all other client devices having access to the same virtual space (thus, all client devices accessing the same virtual space have a virtual space interface with the same format / appearance).
[0122] In other cases, the content blocking system 102 does not propagate changes made to the visual characteristics of blocks and / or sections to other devices. Thus, in these cases, the content blocking system 102 can customize the appearance of a single virtual space differently for different client devices presenting their own virtual space interfaces. In some embodiments, the content blocking system 102 further customizes the appearance of content blocks within the virtual space interface according to user account activity. For example, the content blocking system 102 can relocate content blocks (or block sections) that receive more (or more frequent) interactions (e.g., shares, views, clicks, scrolls, modifications, receipts, or other interactions) to a more prominent position (e.g., higher within the virtual space interface). Thus, the content blocking system 102 can provide the same content blocks for the same virtual space, but with different appearances or placements within the virtual space interfaces of different client devices.
[0123] As further shown in FIG. 11A , the content block system 102 generates and provides content blocks such as content block 1110, a communication thread block (“Notes”), and a task list block “Hello.” As described above, the content block system 102 provides the communication thread block and the task list block as native blocks that do not require application integration with external applications to facilitate presentation of and / or interaction with the digital content. The content block system 102 can further provide block identifiers for the communication thread block and the task list block to all client devices that have access to the virtual space corresponding to the virtual space interface 1104 to view / interact with the communication thread / task list. In some cases, the content block system 102 can access specific application integration of a calendar application to determine and present the tasks in the task list block as shown by the calendar application (e.g., if the task list block is non-native).
[0124] For the content block 1110, the content block system 102 can identify or determine application integration for an external application, such as DropBox Paper. Based on integrating the DropBox Paper application (or a subset of functionality from the application), the content block system 102 provides a visualization of the content item ("Cube Moment Paper") referenced by a source identifier linked to the block identifier of the content block 1110. As shown, the referenced content item includes more text and / or images than are visible within the content block 1110. Thus, along with the content block 1110, the content block system 102 generates and provides a block summary element 1114 to generate a block summary for the content block 1110.
[0125] Indeed, in response to a user interaction that selects the block summary element 1114, the content block system 102 generates a block summary for display within the content block 1110. In some cases, the content block system 102 provides the block summary element 1114 only when it determines that the content block 1110 cannot present the entire content of the referenced content item (e.g., according to its dimensions and location). Indeed, the content block system 102 can update or modify the block summary (or generate a new block summary) based on the dimensions of the content block, adjusting the length of the block summary to the size of the content block (e.g., smaller blocks have shorter summaries than larger blocks).
[0126] In one or more embodiments, the content block system 102 also (or alternatively) provides a section summary element 1112 and / or a spatial summary element. Based on a user interaction selecting the section summary element 1112, the content block system 102 can generate a section summary from multiple content blocks contained within a “Design” block section. For example, the content block system 102 can provide a selection menu for indicating which content blocks within the block section to include as part of the multi-block summary. Based on selecting a set of content blocks, the content block system 102 can then generate a multi-block summary that succinctly describes the content of the multiple content blocks. Similarly, based on selecting and including specific content blocks, the content block system 102 can generate a multi-block summary in the form of a spatial summary to summarize the block section and / or content blocks of a virtual space.
[0127] To generate a multi-block summary, the content block system 102 can utilize a block summary neural network (e.g., a large-scale language model or a vision language model). For example, the content block system 102 can extract and combine digital content from multiple content blocks as a single data input to the block summary neural network. In some cases, the content block system 102 generates or extracts feature vectors from each individual content block and combines (e.g., concatenates or adds) the feature vectors into a multi-block feature vector (e.g., using an encoder layer of the block summary neural network or an encoder neural network). Thus, the content block system 102 can generate a multi-block summary from the multi-block feature vectors using the block summary neural network. In the case of a single block summary, the content block system 102 can extract a feature vector from a single content block and generate a block summary from the single block feature vector.
[0128] As previously mentioned, the content block system 102 can generate a block summary of a content block based on the selection of the block summary element 1114. FIG. 11B illustrates an example of modifying the virtual space interface 1104 to display a block summary, according to one or more embodiments. As shown in FIG. 11B, the content block system 102 modifies or updates the content block 1110 to generate a modified content block 1116. In effect, the content block system 102 generates the modified content block 1116 to depict or present the block summary in place of the content item originally depicted in the content block 1110. As illustrated, the modified content block 1116 displays a "cube summary" that succinctly summarizes the content of the content block 1110.
[0129] As mentioned above, in certain described embodiments, the content blocking system 102 can generate task lists and / or communication threads for inclusion within a content block. Specifically, the content blocking system 102 can modify a content block to not only include a block identifier linked to a source identifier of the content item, but also to further link the block identifier to a task list and / or communication thread (which can be presented as part of the content block). Figures 12A-12B show exemplary block expansion menus for adding communication threads and / or task lists to a content block, according to one or more embodiments.
[0130] 12A , the content blocking system 102 generates and provides a virtual space interface 1204 for display on a client device 1202. Specifically, the content blocking system 102 generates the virtual space interface 1204 to include a content block 1206 and a block extension menu 1208. Indeed, within the block extension menu 1208, the content blocking system 102 may provide selectable options or elements for extending the content block 1206 (and / or performing other actions). For example, the content blocking system 102 may provide selectable options for adding a task list, subscribing to a particular external application, adding a communication thread, and / or deleting the content block 1206. Based on receiving an indication of a user interaction selecting an option for adding a task list or a communication thread, the content blocking system 102 may modify the content block 1206 to include the task list or communication thread.
[0131] 12B , the content blocking system 102 modifies the content block 1206 to include a content item 1210 and a communication thread 1212. Specifically, based on a user interaction that selects an option to add a communication thread to the content block 1206, the content blocking system 102 modifies the content block 1206 to include the communication thread 1212. In some cases, the content blocking system 102 modifies the content block 1206 to include both the content item 1210 referenced by the source identifier and the communication thread 1212 referenced by the thread identifier. The content blocking system 102 can similarly add a task list to the content block 1206. Thus, the content blocking system 102 can manage communication threads and task lists not only as native content blocks within the virtual space, but also as components or sub-blocks of the content block.
[0132] In some described embodiments, the content block system 102 can provide a search function for searching for content blocks and / or other content items. Specifically, the content block system 102 can index content blocks and content items for embedding within content blocks as part of a virtual space interface. Figure 13 shows an exemplary search option as part of a virtual space interface, according to one or more embodiments.
[0133] 13, the content blocking system 102 provides a virtual space interface 1304 for display on a client device 1302. Specifically, the content blocking system 102 provides the virtual space interface 1304 including a search element for adding a new content block. Indeed, based on a user interaction that selects the option to add a new content block, the content blocking system 102 can provide a search option for searching for content items to embed within the new content block. As shown, the content blocking system 102 provides a search element within a block section 1306.
[0134] Based on receiving a search query (e.g., "Cube"), the content blocking system 102 identifies content items (e.g., paper documents or other content items) that correspond to the search query and populates the search results 1308 with the identified content items. In response to selecting a content item from the search results 1308, the content blocking system 102 generates a source identifier for linking to the block identifier of the content block, the source identifier indicating the server location for the selected content item. Additionally, the content blocking system 102 further determines a block type and accesses an application integration (e.g., a content renderer) based on the block type to render the content item in the content block.
[0135] In some embodiments, the content block system 102 further enables searching through content blocks. Indeed, the content block system 102 may provide a block search function within the virtual space interface 1304 (separate from the search function for content items to include in a new content block) and / or within the space summary interface. For example, the content block system 102 may identify content blocks corresponding to a search query. In some cases, the content block system 102 may search a single virtual space associated with a user account or multiple virtual spaces associated with a user account to identify content blocks. Thus, the content block system 102 may identify content blocks corresponding to the query and provide access to the content blocks from the search results of the block search.
[0136] As mentioned above, in some embodiments, the content block system 102 can link or combine content blocks with virtual meetings. Specifically, the content block system 102 can associate content blocks, block sections, and / or entire virtual spaces with virtual meetings, such as video or audio calls. Figure 14 shows an example virtual space interface for associating content blocks, block sections, or virtual spaces with virtual meetings, according to one or more embodiments.
[0137] 14, the content block system 102 generates and provides a virtual space interface 1404 for display on a client device 1402. Within the virtual space interface 1404, the content block system 102 can provide a selectable meeting-related option 1410 for associating a "Projects" virtual space with a virtual meeting. Similarly, the content block system 102 can provide a meeting association option 1412 for associating a "Design" block section with a virtual meeting and / or a meeting association option 1414 for associating a "Hello" content block with a virtual meeting. Based on a user interaction that selects the meeting association option 1410, the content block system 102 can provide options for defining a virtual meeting to associate with the virtual space.
[0138] Based on associating the virtual space with the virtual meeting, the content blocking system 102 can generate selectable options for joining the virtual meeting within the virtual space interface 1404. In some cases, the content blocking system 102 displays a join option when it detects that the virtual meeting is within a threshold duration from the start. In these or other cases, the content blocking system 102 generates the join option in the form of a virtual meeting content block having its own block identifier and block type. Based on the block type of the virtual meeting, the content blocking system 102 can identify application integration for a corresponding virtual meeting application to integrate virtual meeting functionality into the content block.
[0139] In some embodiments, the content blocking system 102 can link virtual meetings to virtual spaces such that, based on the detection of a virtual meeting, the content blocking system 102 provides content blocks (or a subset of content blocks related to the virtual meeting) in the virtual space. Specifically, the content blocking system 102 can detect the start of a virtual meeting and identify content blocks containing digital content related to the virtual meeting. For example, the content blocking system 102 can determine a topic associated with the virtual meeting (e.g., based on the meeting title and / or from a transcript of a previous meeting if the virtual meeting is a recurring meeting). Indeed, the content blocking system 102 can detect recurrence of the virtual meeting and provide content blocks of the virtual meeting for display. For example, the content blocking system 102 can further determine topics related to the content blocks and compare the content block topics with the virtual meeting topic (e.g., by determining the distance between topic vectors in a vector space) to identify content blocks within a threshold of virtual meeting topic similarity. In some cases, the content blocking system 102 can also display only related content blocks (or rearrange the virtual space interface 1404 to place related blocks above other content blocks).
[0140] Along these lines, the content blocking system 102 can associate a particular block section or a particular content block with a virtual meeting. For example, the content blocking system 102 can receive a user's selection of the meeting-related options 1412 and associate the "Design" block section with the virtual meeting. Thus, based on detecting that a virtual meeting is occurring, the content blocking system 102 can provide the block section for display within the virtual space interface 1404. Similarly, based on a selection of the meeting-related options 1414, the content blocking system 102 can associate the "Hello" content block with the virtual meeting. Thus, upon detecting a virtual meeting, the content blocking system 102 can provide the content block for display within the virtual space interface 1404. In some embodiments, the content blocking system 102 can automatically associate a content block with a virtual meeting (e.g., without user interaction with the meeting-related options) based on a user account's historical activity with content blocks in past occurrences of the virtual meeting.
[0141] 14, the content block system 102 can change visual characteristics, such as color, associated with content blocks, block sections, and / or virtual spaces. For example, the content block system 102 can provide a color palette 1408 for selecting a color (or shading or some other design) associated with a "design" block section. Similarly, the content block system 102 can provide a color palette for changing the color of individual content blocks and / or the entire virtual space.
[0142] 14, the content blocking system 102 can generate and provide notifications based on detecting changes to content blocks. For example, the content blocking system 102 can provide notification 1406 based on detecting that a cooperating user account or a cooperating client device has changed a content block (e.g., "color change from blue to white"). Thus, the content blocking system 102 can provide customized notifications within different virtual space interfaces for different user accounts (even user accounts accessing the same virtual space from their respective devices).
[0143] As mentioned above, in certain described embodiments, the content blocking system 102 can utilize application integration to incorporate functionality from external applications to view and interact with content blocks. Specifically, the content blocking system 102 can install application integration that includes application functionality for viewing and interacting with content blocks that embed content items associated with the external application. Figure 15 shows an exemplary application integration interface in accordance with one or more embodiments.
[0144] 15, the content blocking system 102 generates and provides an application integration interface 1504 for display on a client device 1502. Within the application integration interface 1504, the content blocking system 102 provides integration elements such as integration element 1506, integration element 1508, and integration element 1510. For example, the content blocking system 102 identifies application integrations available within an integration marketplace for installation or integration into the virtual world platform.
[0145] As shown, integration element 1506 is selectable to integrate functionality of a DropBox application with the virtual space platform. Additionally, integration element 1508 is selectable to integrate functionality of a calendar application with the virtual space platform. Additionally, integration element 1510 is selectable to integrate functionality of a project management application with the virtual space platform. In some cases, content block system 102 displays integration elements in application integration interface 1504 that correspond to (or are referenced by) blocks of a block type for one or more content blocks associated with a particular virtual space (or virtual spaces) of a user account. In other cases, content block system 102 displays all available application integrations in application integration interface 1504.
[0146] Based on receiving a selection to install or connect an application integration, the content blocking system 102 can enable corresponding functionality (and / or other data) within the content block of the block type associated with the application integration. For example, the content blocking system 102 can utilize a calendar application integration to incorporate a user account's calendar events and the calendar application's scheduling functionality directly within the content block of the virtual space interface. Similarly, for content blocks of other block types, the content blocking system 102 can use application integration to incorporate data and functionality from external applications into the content block. In some cases, the content blocking system 102 can collaboratively install application integrations for multiple user accounts (or multiple client devices) based on a single request from an administrator account / device for a given virtual space accessible by multiple accounts / devices. Thus, the content blocking system 102 allows all client devices with access to the virtual space to view and interact with the content blocks in the same way.
[0147] As described above, in certain embodiments, the content blocking system 102 can modify or utilize permissions associated with external applications to define privileges for content blocks. Specifically, the content blocking system 102 can apply permission settings from the external application to the content blocks, and / or the content blocking system 102 can modify permission settings for the external application based on permission changes to the content blocks. Figure 16 shows an example diagram for modifying or utilizing permission settings associated with external content sources, according to one or more embodiments.
[0148] As shown in FIG. 16 , the content blocking system 102 provides a share option 1604 for display on a client device 1602. More specifically, the content blocking system 102 generates the share option 1604 including an account identifier for adding or removing user accounts associated with the virtual space. In addition to adding and removing user accounts, the content blocking system 102 can further set account-specific settings for viewing permissions, editing permissions, or other levels of permissions for interacting with content blocks. In some cases, the content blocking system 102 can define permission settings at a more granular level, such as determining which user accounts can access and / or interact with specific content blocks or block sections within the virtual space.
[0149] In some embodiments, the content blocking system 102 can apply permission settings 1606 from external content sources 1608 to a virtual space or a content block. Specifically, based on detecting that a content block utilizes application integration for a particular external application, the content blocking system 102 can access the external application to determine permission settings 1606 for the content item embedded within the content block. Thus, the content blocking system 102 can apply the permission settings 1606 set by the external application to the content block in the virtual space to enable and / or prohibit various interactions with the content block, such as viewing, modifying, sharing, or other actions. Indeed, the permission settings 1606 can define account-specific permissions for user accounts that have access to the virtual space at the content block level, block section level, and / or virtual space level. Even if the content block does not use application integration, the content blocking system 102 can determine the permission settings 1606 from the external content source 1608 (e.g., a server location) that hosts the content item presented within the content block.
[0150] In one or more embodiments, the content blocking system 102 can modify the permission settings 1606 based on interactions within the virtual space interface. For example, the content blocking system 102 can update the permission settings 1606 based on interactions with the sharing options 1604 to add or remove content blocks, block sections, and / or user accounts associated with the virtual space (and / or modify certain interaction settings). Additionally, the content blocking system 102 can provide or propagate updates to the permission settings 1606 to external content sources 1608 (e.g., server locations or external applications) to apply the updates to the permission settings 1606. This allows the content blocking system 102 to modify the permission settings 1606 of the external content sources 1608 from interactions within the virtual space interface.
[0151] As mentioned above, in certain described embodiments, the content blocking system 102 generates and provides spatial summary interfaces that are tailored or customized on an account-specific basis. Specifically, the content blocking system 102 can generate a first spatial summary interface that includes content updates associated with a first user account and a second spatial summary interface that includes content updates associated with a second user account. Figure 17 shows an example depiction of different spatial summary interfaces for different devices (or different user accounts) in accordance with one or more embodiments.
[0152] As shown in FIG. 17 , the content block system 102 generates and provides a spatial summary interface 1704 for display on a client device 1702. In effect, the content block system 102 generates the spatial summary interface 1704 to summarize multiple virtual spaces by providing rapid updates of related content within a hub for accessing multiple virtual spaces. The content block system 102 can generate the spatial summary interface 1704 to include notifications, virtual spaces, and / or content blocks associated with a user account of the client device 1702. For example, the content block system 102 determines the associated content blocks and / or virtual spaces for a user account based on historical activity (e.g., views, clicks, modifications, scrolls, shares, receipts, and / or interaction time) with the content blocks and / or virtual spaces. The content block system 102 further customizes the spatial summary interface 1704 to include notifications of content blocks and / or content updates within the content blocks (from different virtual spaces) based on the historical activity.
[0153] As further shown in FIG. 17 , the content blocking system 102 generates and provides a spatial summary interface 1706 for display on a client device 1708. More specifically, the content blocking system 102 generates the spatial summary interface 1706 to include content blocks and / or virtual spaces associated with the user account of the client device 1708. Indeed, as shown, the content blocking system 102 determines different content blocks associated with the user account of the client device 1708 than those associated with the user account of the client device 1702. Thus, the content blocking system 102 generates the spatial summary interface 1706 to include different content blocks (or block sections) and notifications, even for user accounts with access to the same virtual spaces. For example, the content blocking system 102 can provide a first content block from a virtual space in the spatial summary interface 1704 and a second content block from the same virtual space in the spatial summary interface 1706 based on past interactions indicating content block relevance. In some cases, the content block system 102 can generate a block summary (or multi-block summary or spatial summary) for inclusion within the spatial summary interface, where the block summary is account-specific to the associated content block.
[0154] 8-17, corresponding text, and examples provide several different systems and methods for generating and maintaining a virtual space, according to one or more embodiments. In addition to the foregoing, implementations may be described in the form of flowcharts that include operational steps in a method for achieving a particular result. For example, FIG. 18 illustrates an exemplary series of operations for generating a block summary from content blocks of a virtual space interface, according to one or more embodiments.
[0155] While Figure 18 illustrates operations according to some implementations, alternative implementations may omit, add, rearrange, and / or modify any of the operations shown in Figure 18. The operations of Figure 18 may be performed as part of a method. Alternatively, a non-transitory computer-readable medium may comprise instructions that, when executed by one or more processors, cause a computing device to perform the operations of Figure 18. In yet another implementation, a system may perform the operations of Figure 18.
[0156] As shown in FIG. 18 , the series of operations 1800 may include an operation 1810 for generating a virtual space interface. For example, operation 1810 may include generating a virtual space interface comprising content blocks and block summary elements for display on a client device, where the content blocks comprise modifiable sub-windows for presenting and modifying digital content (e.g., content items hosted at a server location). Also shown, the series of operations 1800 may include an operation 1820 for receiving a user interaction that selects a block summary element. For example, operation 1820 may include receiving an indication of a user interaction that selects a block summary element in the virtual space interface. Further, the series of operations 1800 may include an operation 1830 for generating a block summary for the content block. For example, operation 1830 may include generating a block summary from the digital content (e.g., content items) of the content block (e.g., digital content embedded within the content block from a server location) using a block summary neural network based on the user interaction that selects the block summary element.
[0157] In some embodiments, the series of operations 1800 includes an act of generating a block summary by utilizing a large-scale language model to summarize the digital content of the content block. In these or other embodiments, the series of operations 1800 includes an act of providing the content block for display within a virtual space interface to present digital content embedded in the content block from an external server location. Additionally, the series of operations 1800 can include an act of modifying the content block to replace the presentation of the embedded digital content from the external server location with a block summary generated in response to a user interaction selecting a block summary element.
[0158] In one or more embodiments, the series of operations 1800 includes an act of generating a multi-block summary from the digital content of the plurality of content blocks displayed within the virtual space interface by accessing and summarizing the embedded digital content from respective server locations. Additionally, the series of operations 1800 may include an act of providing the multi-block summary for display on a client device.
[0159] In some cases, the series of operations 1800 includes operations for identifying a communication thread associated with the content block, generating a thread summary for the communication thread, and providing the thread summary for display within the content block. Additionally, the series of operations 1800 can include operations for determining user interactions with a content item for a user account associated with the client device, generating block proposals for the user account utilizing a block proposal machine learning model based on the user interactions of the user account, and providing the block proposals as selectable interface elements for display within the virtual space interface.
[0160] In some embodiments, the series of operations 1800 includes an act of generating a spatial summary interface for display on a client device, the spatial summary interface including a user account-specific summary of the digital content displayed within the plurality of content blocks included within the virtual spatial interface. In some cases, the series of operations 1800 includes an act of generating additional spatial summary interfaces for display on different client devices, the spatial summary interfaces including different user account-specific summaries of the digital content displayed within the plurality of content blocks included within the virtual spatial interface.
[0161] In some cases, the series of operations 1800 includes operations of generating a customized block summary based on user interactions of a user account associated with the client device and generating an additional block summary from the digital content of the content block, where the additional block summary is customized based on user interactions of a different user account. Further, the series of operations 1800 can include operations of determining user interactions with a content item for a user account associated with the client device and generating a content update notification indicating one or more updates to the digital content associated with the content block displayed within the virtual space interface based on the user interactions of the user account.
[0162] In one or more embodiments, the series of operations 1800 includes operations of determining permission settings set at an external content source for digital content of a content block and applying the permission settings from the external content source to the content block within the virtual space interface. In the same or other embodiments, the series of operations 1800 includes operations of receiving, from a client device, an indication of a user interaction that changes the permission settings associated with the content block within the virtual space interface, and providing the updated permission settings to the external content source that hosts the digital content embedded within the content block based on the user interaction that changes the permission settings for the content block.
[0163] In some embodiments, the series of operations 1800 includes operations of generating block proposals for display in a virtual space interface by identifying open browser tabs in a browser executing on a client device, receiving an indication of a user interaction to add an additional content block to the virtual space interface from the block proposal, adding the additional content block based on the user interaction, and generating an additional block summary from the digital content in the open browser tab for display in the additional content block. Further, the series of operations 1800 may include operations of receiving from the client device an indication of a user interaction to set permission settings for the content block in the virtual space interface, receiving from the client device an indication of an additional user interaction to set permission settings for the additional content block in the virtual space interface, and applying different permission settings for the content block and the additional content block based on the user interaction and the additional user interaction.
[0164] In some embodiments, the series of operations 1800 includes an operation of providing a block summary for display within the content block to replace the digital content within the content block. Additionally, the series of operations 1800 can include an operation of associating a virtual space interface with the virtual meeting and, based on detecting a recurrence of the virtual meeting, providing a spatial element for display on a client device, the spatial element being selectable to access a virtual space interface including the content blocks to be manipulated during the virtual meeting.
[0165] In particular embodiments, the series of operations 1800 includes receiving an indication of a user interaction from a client device selecting a block proposal within a virtual space interface, and, in response to the indication of the user interaction selecting the block proposal, identifying an application integration associated with the block proposal and integrated to render block content within the virtual space interface. Additionally, the series of operations 1800 may include utilizing the application integration to access digital content from an external server location indicated by the block proposal for embedding within a new content block, and generating a new content block by embedding the digital content from the external server location for display within the new content block. The series of operations 1800 may also include generating a new block summary for the digital content embedded within the new content block from the external server location. Virtual space platform for content blocking browsers
[0166] As mentioned above, in certain described embodiments, the content blocking system 102 can generate and provide a content block browser for integrating the functionality of a web page within a content block with a virtual space. Specifically, the content blocking system 102 can utilize a virtual space platform as a web browser, with each content block containing the content and functionality of a web page. Figure 19 shows an exemplary overview for generating and providing a content block-based web browser via a virtual space, according to one or more embodiments. Further details regarding the various operations of Figure 19 are provided subsequently with reference to subsequent figures.
[0167] 19, the content blocking system 102 may perform operation 1902 of generating a virtual space for a content block browser. Specifically, the content blocking system 102 may generate a virtual space that functions as a web browser by integrating web page functionality into content blocks. For example, the content blocking system 102 may identify or access application integration for a web browser application to install on or integrate with a virtual space platform. In some cases, the content blocking system 102 may thus generate a virtual space that behaves like an instance of a web browser for accessing and interacting with content items stored over the Internet and / or within the content management system 106.
[0168] 19, the content blocking system 102 performs operation 1904 of embedding a content block in a virtual space. Specifically, the content blocking system 102 may embed the content block as described above. In practice, the content blocking system 102 may generate a content block that includes (or is defined by) a block identifier that is linked to a source identifier that references a web page. In some cases, the content blocking system 102 may further determine the block type of the content block as a web browser block based on the source identifier that references the web page.
[0169] Additionally, the content blocking system 102 performs operation 1906 to integrate web page functionality into the content block. More specifically, based on determining that the source identifier of the content block references a web page (and / or based on determining that the content block is a web browser block), the content blocking system 102 can integrate web page functionality into the content block. For example, the content blocking system 102 can utilize installed application integration to facilitate web page functionality, such as navigation input via links, buttons, and search bars, as well as content modification functionality, content creation functionality, content sharing functionality, and / or other functionality available on various web pages. In some cases, the content blocking system 102 utilizes application integration installed for a web browser to incorporate such functionality within the content block.
[0170] 19 , the content blocking system 102 performs operation 1908 of receiving input-modifying block content. Specifically, the content blocking system 102 can receive an indication of a user interaction that modifies webpage content shown in a content block. For example, the content blocking system 102 receives input to modify a spreadsheet, image, video, or some other content item from a webpage hosted at a server location. In fact, the content blocking system 102 can receive input for modifications within a content block that is rendering the webpage, and the content blocking system 102 can render the modifications within the content block.
[0171] As further shown, the content blocking system 102 performs operation 1910 to propagate the changes to the web page. Specifically, the content blocking system 102 applies the content block changes to the web page. For example, in response to detecting changes to web page content rendered in content blocks, the content blocking system 102 can generate computer code encoding the changes and provide the computer code to a web server hosting the web page, which executes the computer code to apply the changes to the web page. Thus, the content blocking system 102 can cause a web page server location to change the web page content by propagating changes made to the content blocks in a virtual space interface (e.g., a virtual space interface functioning as a content block web browser).
[0172] Additionally, the content blocking system 102 performs operation 1912 of receiving an interaction to add a new content block. For example, in some embodiments, the content blocking system 102 can receive an indication of a user interaction to add a new content block. Specifically, the content blocking system 102 can add the new content block to the virtual space (and virtual space interface). In some cases, the content blocking system 102 adds the new content block to integrate web page content and web page functions of different web pages within the content block browser. As shown, the content blocking system 102 can further repeat one or more of the operations shown in FIG. 19 to embed the new content block, integrate web page functions, receive modification input, and modify the web page for the new content block.
[0173] As previously mentioned, the content blocking system 102 can generate a virtual space interface as an instance of a content block-based web browser. In some cases, the content blocking system 102 can generate a hybrid virtual space interface that includes content blocks of web pages and content blocks of non-web page content items. Figure 20 shows an example diagram of a hybrid virtual space interface that includes web page content blocks for modifying web page content, according to one or more embodiments.
[0174] As shown in FIG. 20 , the content block system 102 generates and provides a virtual space interface 2004 for display on a client device 2002. Specifically, the content block system 102 generates the virtual space interface 2004 as a hybrid virtual space interface that includes web page content blocks 2006 for integration and non-web page content blocks (“designs”) for content items other than web pages. As shown, the content block system 102 generates web page content blocks 2006 for a web-based spreadsheet hosted at a web page server location 2014. In some cases, a web page content block refers to a content block that integrates functionality and / or content from a web browser and provides the added functionality of the content block in the virtual space. Conversely, a non-web page content block can refer to a content block that incorporates content and / or functionality from a different source, such as a private URL for a content item stored for a user account in the content management system 106 (e.g., a URL for a web page that is not publicly accessible).
[0175] To aggregate the web page content block 2006, the content blocking system 102 generates a block identifier 2008 and a source identifier 2010. Specifically, the content blocking system 102 generates the block identifier 2008 to indicate or define the web page content block 2006, which can be transmitted to the client device 2002 (and other client devices) for embedding the web page content block 2006. Furthermore, the content blocking system 102 binds the block identifier 2008 to a source identifier 2010 that references a web page server location 2014. In effect, the content blocking system 102 aggregates the digital content 2012 (e.g., a spreadsheet) and corresponding web page functionality (e.g., functionality for interacting with the spreadsheet and navigating between web pages) from the web page server location 2014 by using the source identifier 2010. In some cases, the content block system 102 integrates web page functionality by accessing application integration for an external web browser application (corresponding to the web browser block type of the web page content block 2006) installed on the virtual world platform.
[0176] As further shown in FIG. 20 , the content blocking system 102 can receive user interaction to modify the web page content block 2006. Specifically, the content blocking system 102 receives user input to enter a string ("12345") into a field of the spreadsheet shown in the web page content block 2006. Based on the user input, the content blocking system 102 can propagate the modification of the web page content block 2006 to a web page hosted at the web page server location 2014. Specifically, the content blocking system 102 can generate modifying computer code to modify the digital content 2012. The content blocking system 102 can also provide the computer code to the web page server location 2014. The web page server location 2014 then executes the computer code to update the spreadsheet web page stored and hosted at the web page server location 2014.
[0177] As described above, the content blocking system 102 can integrate other web page functions (beyond interacting with and modifying web page content), such as navigating between web pages. Based on receiving an interaction in the web page content block 2006 to navigate away from the spreadsheet web page and access another web page, the content blocking system 102 can update the web page content block 2006 accordingly to display the new web page. Specifically, the content blocking system 102 can modify the web page content block 2006 by generating a new source identifier that references the server location hosting the new web page and updating and binding the block identifier 2008 to the new source identifier.
[0178] As mentioned above, in certain described embodiments, the content blocking system 102 generates a virtual space interface for a content block-based web browser. Specifically, the content blocking system 102 can generate a virtual space interface that includes multiple web page content blocks, each web page content block incorporating web page content for a different web page hosted at a different server location. Figure 21 shows an exemplary diagram for embedding web page content from different web pages into different web page content blocks, according to one or more embodiments.
[0179] 21 , the content blocking system 102 generates a virtual space interface 2104 for display on a client device 2102. Specifically, the content blocking system 102 generates the virtual space interface 2104 to include web page content blocks, including web page content block 2106a, web page content block 2106b, and non-web page content block 2106c. The content blocking system 102 further incorporates different web page content and corresponding web page functions for each of the respective web page content blocks. Indeed, as described above, the content blocking system 102 associates block identifiers of the web page content blocks (and non-web page content blocks) with the server locations hosting the respective web pages.
[0180] In particular, the content blocking system 102 binds the block identifier of the web page content block 2106a to a source identifier that references server location A. Thus, the content blocking system 102 incorporates the web page content 2108 into the web page content block 2106a to display a "home page" web page. Additionally, the content blocking system 102 integrates web page functionality of the home page web page from server location A.
[0181] Within the same virtual space interface 2104, the content blocking system 102 further incorporates web page content 2110 into web page content block 2106b by binding the corresponding block identifier to server location B. Similarly, the content blocking system 102 also incorporates content item 2112 (e.g., a content item stored for a user account in the content management system 106) into content block 2106c by binding the corresponding block identifier to server location C. Additionally, the content blocking system 102 can integrate web page functionality from the server location into the web page content block and can integrate other application functionality into the non-web page content block.
[0182] As mentioned above, in certain described embodiments, the content blocking system 102 can integrate web page functionality into web page content blocks by utilizing application integration. Specifically, the content blocking system 102 can identify web browser application integrations that include web page functionality for interacting with web page content and navigating between web pages using content blocks. Figure 22 shows an example diagram for using application integration for web page content blocks and non-web page content blocks (e.g., for a hybrid virtual world interface) in accordance with one or more embodiments.
[0183] 22, the content block system 102 generates an application integration interface 2204 for display on a client device 2202. Specifically, the content block system 102 generates the application integration interface 2204 to include application integrations available for connecting to or installing within the virtual world platform. As shown, the application integration interface 2204 includes various integration elements corresponding to the respective application integrations. For example, the application integration interface 2204 includes an integration element 2206a for integrating with a dropbox application, an integration element 2206b for integrating with a calendar application, an integration element 2206c for integrating with a project management application, and an integration element 2206c for integrating with a web browser application (the "content block browser").
[0184] In some embodiments, the content block system 102 integrates web page functionality for one or more web page content blocks by using application integration corresponding to integration element 2206d. Additionally, the content block system 102 can embed content blocks 2208 for non-web page content. For example, the content block system 102 can include and integrate a content item within the content management system 106 by utilizing integration A for block A, corresponding to integration element 2206a. Similarly, the content block system 102 can integrate a digital calendar into block B by utilizing integration B, corresponding to integration element 2206b. Additionally, the content block system 102 can integrate a project management content item into block C by utilizing integration C, corresponding to integration element 2206c.
[0185] As part of utilizing application integrations for each content item, the content block system 102 can access the content renderer repository 2210 to render the content items in the content blocks, including web page content and other digital content. Indeed, the content block system 102 can access a content renderer that corresponds to the block type and / or application integration associated with the content block. Thus, the content block system 102 can render the content items in the content blocks as described herein.
[0186] In one embodiment, the content blocking system 102 can generate and provide block previews from content blocks in a virtual space. Specifically, the content blocking system 102 can generate block previews to provide limited versions of content blocks to client devices (e.g., third-party client devices) that do not have full permission to interact with the content blocks. Figure 23 shows an example diagram for generating and providing block previews, according to one or more embodiments.
[0187] 23, the content blocking system 102 generates a virtual space interface 2304 for display on a client device 2302. Specifically, the content blocking system 102 generates the virtual space interface 2304, which includes content blocks within block sections and further includes various user interface elements for interacting with the virtual space interface 2304. For example, the content blocking system 102 generates a content block 2306 for inclusion within the virtual space interface 2304, the content block 2306 including a block identifier 2308 and a source identifier 2310, and digital content 2312 (accessed from a location referenced by the source identifier 2310, but not copied into the data of the content block 2306).
[0188] In some cases, the content block 2306 further generates a block preview 2314 from the content block 2306. Specifically, the content block system 102 generates the block preview 2314 to include modified block content 2316 that simplifies or removes various block features and / or the digital content 2312 available within the virtual world interface 2304. For example, the content block system 102 generates the block preview 2314 to include a modified version of the digital content 2312 by removing sensitive information and / or user-selected information. Additionally, the content block system 102 generates the block preview 2314 by removing certain interaction features of the content block 2306, including the ability to change the visual characteristics of the digital content 2312 and / or the content block 2306.
[0189] In some cases, the content blocking system 102 generates the block preview 2314 in a format or file type accessible by a third-party client device 2318 without the need to install a virtual space platform. The content blocking system 102 can also provide the block preview 2314 for display within a web browser of the third-party client device 2318. As shown, the content blocking system 102 generates a space preview 2320 for display on the third-party client device 2318. Within the space preview 2320, the content blocking system 102 provides the block preview 2314 in a modified version of the virtual space interface 2304 that does not include selectable options for adding content blocks or linking content blocks to a virtual meeting. In some cases, the content blocking system 102 can also provide the block preview 2314 with only a block summary (as described above) or modified block content 2316 in another format suitable for access by a third-party client device 2318, rather than the digital content 2312. In fact, the content block system 102 can generate a spatial preview 2320 and / or a block preview 2314 for limited interactivity with the content of the content block.
[0190] 19-23, corresponding text, and examples provide several different systems and methods for generating and managing a virtual space platform for a content block browser. In addition to the foregoing, implementations may be described in the form of flowcharts that include operational steps in a method for achieving a particular result. For example, FIG. 24 illustrates an example sequence of operations for generating and managing a virtual space platform for a content block browser.
[0191] While Figure 24 illustrates operations according to one implementation, alternative implementations may omit, add, rearrange, and / or modify any of the operations illustrated in Figure 24. The operations of Figure 24 may be performed as part of a method. Alternatively, a non-transitory computer-readable medium may comprise instructions that, when executed by one or more processors, cause a computing device to perform the operations of Figure 24. In yet another implementation, a system may perform the operations of Figure 24.
[0192] As shown in FIG. 24 , the series of operations 2400 may include an operation 2410 for generating a virtual space for a content block browser. For example, operation 2410 involves generating a virtual space including one or more content blocks with block identifiers associated with source identifiers referencing respective web pages. Furthermore, the series of operations 2400 includes an operation 2420 for embedding a content block of a web page. For example, operation 2420 involves embedding, within the virtual space, a content block that integrates (digital content and) functionality of a web page referenced by the source identifier of the content block. Furthermore, the series of operations 2400 includes an operation 2430 for receiving an interaction with a content block. For example, operation 2430 includes receiving an indication of a user interaction with the content block (e.g., modifying the digital content within the content block). Furthermore, the series of operations 2400 includes an operation 2440 for modifying the web page in accordance with the interaction. For example, operation 2440 includes modifying the web page in accordance with the user interaction with the content block.
[0193] In some embodiments, the series of operations 2400 includes an act of embedding the content block by using a source identifier of the content block to access a server location that hosts digital content associated with the web page and integrating the digital content associated with the web page into the content block. Additionally, the series of operations 2400 includes an act of generating a virtual space that includes an act of generating an instance of a content block-based web browser, where the web browser displays one or more content blocks arranged within the virtual space as individual user interface elements that can be resized and positioned within the virtual space.
[0194] In particular embodiments, the series of operations 2400 includes an act of receiving an indication of a user interaction with a content block by receiving an instruction to modify digital content stored at a server location associated with the web page. Further, the series of operations 2400 includes an act of modifying the web page in accordance with the user interaction by modifying the digital content stored at a server location associated with the web page in response to the user interaction with the content block. Further, the series of operations 2400 includes an act of embedding a content block that integrates functionality of the web page by identifying application integration for a virtual space that integrates functionality of a web browser application into the virtual space.
[0195] In one or more embodiments, the series of operations 2400 includes an act of generating the virtual space by generating an additional content block for display within the virtual space, the additional content block including a block identifier linked to a source identifier that references digital content associated with an external application other than a web browser. Further, the series of operations 2400 includes an act of embedding the content block by using the source identifier of the content block to access a server location that hosts digital content associated with the web page and adapting functionality of the web page for the content block to facilitate interaction with the digital content at the server location via the content block.
[0196] In some embodiments, the series of operations 2400 includes an operation for generating a spatial preview for the virtual space by modifying the accessibility of functionality of one or more content blocks to provide the spatial preview to a client device external to a system associated with the virtual space. Furthermore, the series of operations 2400 includes an operation for embedding an additional content block within the virtual space that integrates functionality of an additional web page, where the content block and the additional content block are simultaneously displayed within the virtual space. Furthermore, the series of operations 2400 includes an operation for generating a communication thread associated with the content block and / or providing the communication thread for display within the content block with digital content from a web page referenced by a source identifier.
[0197] In particular embodiments, the series of operations 2400 includes generating a virtual space by instantiating a content block-based web browser that presents one or more content blocks arranged within the virtual space as individual user interface elements with changeable visual characteristics. Furthermore, the series of operations 2400 includes embedding the content block by using a source identifier of the content block to access a server location that hosts digital content associated with the web page and integrating the digital content associated with the web page within the content block. Furthermore, the series of operations 2400 includes receiving an indication of user interaction with the content block by receiving an instruction to modify the digital content presented within the content block, and / or modifying the web page in accordance with the user interaction by propagating, based on the user interaction, changes made to the digital content presented within the content block to the web page referenced by the source identifier.
[0198] In some embodiments, the series of operations 2400 includes an act of generating a block preview of a content block by modifying functionality of the content block to provide the block preview to client devices with different permission settings. Additionally, the series of operations 2400 includes an act of embedding a content block that integrates functionality of a web page by identifying application integration for the virtual space that integrates functionality of a web browser application into the virtual space. In some cases, the series of operations 2400 includes an act of generating a virtual space by generating additional content blocks for display within the virtual space, the additional content blocks including block identifiers linked to source identifiers that reference digital content stored in a content management system.
[0199] Components of the content blocking system 102 may include software, hardware, or both. For example, components of the content blocking system 102 may include one or more instructions stored on a computer-readable storage medium and executable by processors of one or more computing devices. When executed by one or more processors, the computer-executable instructions of the content blocking system 102 may cause the computing devices to perform the methods described herein. Alternatively, components of the content blocking system 102 may comprise hardware, such as a dedicated processing device for performing a particular function or group of functions. Additionally or alternatively, components of the content blocking system 102 may include a combination of computer-executable instructions and hardware.
[0200] Additionally, components of the content blocking system 102 that perform the functions described herein may be implemented, for example, as part of a standalone application, as a module of an application, as a plug-in for an application, including a content management application, as a library function or function that can be called by other applications, and / or as a cloud computing model. Thus, components of the content blocking system 102 may be implemented as part of a standalone application on a personal computing device or a mobile device.
[0201] Embodiments of the present disclosure may comprise or utilize special purpose or general purpose computers including computer hardware such as, for example, one or more processors and system memory, as described in more detail below. Implementations within the scope of the present disclosure also include physical and other computer-readable media for carrying or storing computer-executable instructions and / or data structures. Specifically, one or more of the processes described herein may be embodied at least in part in a non-transitory computer-readable medium and implemented as instructions executable by one or more computing devices (e.g., any of the media content access devices described herein). Generally, a processor (e.g., a microprocessor) receives instructions from a non-transitory computer-readable medium (e.g., memory, etc.) and executes those instructions, thereby performing one or more processes, including one or more of the processes described herein.
[0202] Computer-readable media may be any available media that can be accessed by a general-purpose or special-purpose computer system. Computer-readable media that store computer-executable instructions are non-transitory computer-readable storage media (devices). Computer-readable media that carry computer-executable instructions are transmission media. Thus, by way of example and not limitation, implementations of the present disclosure may comprise at least two distinctly different types of computer-readable media: non-transitory computer-readable storage media (devices) and transmission media.
[0203] Non-transitory computer-readable storage media (devices) include RAM, ROM, EEPROM, CD-ROM, solid-state drives (“SSD”) (e.g., RAM-based), flash memory, phase-change memory (“PCM”), other types of memory, other optical disk storage, magnetic disk storage, or other magnetic storage devices, or any other medium that can be used to store desired program code means in the form of computer-executable instructions or data structures and that can be accessed by a general-purpose or special-purpose computer.
[0204] A "network" is defined as one or more data links that enable the transfer of electronic data between computer systems and / or modules and / or other electronic devices. When information is transferred or provided to a computer over a network or another communications connection (wired, wireless, or a combination of wired or wireless), the computer properly views the connection as a transmission medium. Transmission media can include network links and / or data links that can be used to carry desired program code means in the form of computer-executable instructions or data structures and that can be accessed by a general-purpose or special-purpose computer. Combinations of the above should also be included within the scope of computer-readable media.
[0205] Furthermore, upon reaching various computer system configurations, program code means in the form of computer-executable instructions or data structures may be automatically transferred from transmission media to non-transitory computer-readable storage media (devices) (or vice versa). For example, computer-executable instructions or data structures received over a network or data link may be buffered in RAM within a network interface module (e.g., a "NIC") and then ultimately transferred to computer system RAM and / or less volatile computer storage media (devices) in the computer system. Thus, it should be understood that non-transitory computer-readable storage media (devices) may be included in computer system components that also (or primarily) utilize transmission media.
[0206] Computer-executable instructions include, for example, instructions and data that, when executed by a processor, cause a general-purpose computer, a special-purpose computer, or a special-purpose processing device to perform a particular function or group of functions. In some implementations, computer-executable instructions are executed on a general-purpose computer to transform the general-purpose computer into a special-purpose computer that implements elements of the present disclosure. Computer-executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or source code. While the subject matter has been described in language specific to structural features and / or methodological acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the features or acts described above. Rather, the described features and acts are disclosed as exemplary forms of implementing the claims.
[0207] Those skilled in the art will appreciate that the present disclosure may be implemented in networked computing environments having many types of computer system configurations, including personal computers, desktop computers, laptop computers, message processors, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile phones, PDAs, tablets, pagers, routers, switches, etc. The present disclosure may also be implemented in distributed system environments where tasks are performed by both local and remote computer systems that are linked through a network (either by wired data links, wireless data links, or a combination of wired and wireless data links). In a distributed system environment, program modules may be located in both local and remote memory storage devices.
[0208] Implementations of the present disclosure may also be implemented in a cloud computing environment. As used herein, "cloud computing" is defined as a model for enabling on-demand network access to a shared pool of configurable computing resources. For example, cloud computing may be used in markets to provide ubiquitous, convenient, on-demand access to a shared pool of configurable computing resources. The shared pool of configurable computing resources may be rapidly provisioned through virtualization, released with low management effort or service provider interaction, and then scaled accordingly.
[0209] Cloud computing models may consist of various characteristics, such as, for example, on-demand self-service, broad network access, resource pooling, rapid elasticity, metered services, etc. Cloud computing models may also expose various service models, such as, for example, Software as a Service ("SaaS"), Platform as a Service ("PaaS"), and Infrastructure as a Service ("IaaS"). Cloud computing models may also be deployed using different deployment models, such as private cloud, community cloud, public cloud, and hybrid cloud. As used herein and in the claims, a "cloud computing environment" is an environment in which cloud computing is employed.
[0210] FIG. 25 illustrates a block diagram of an exemplary computing device 2500 (e.g., server 104 and / or client devices 108a-108n) that may be configured to perform one or more of the processes described above. It will be understood that the server 104 and / or client devices 108a-108n may comprise one or more computing devices, such as computing device 2500. As shown in FIG. 25, computing device 2500 may comprise a processor 2502, a memory 2504, a storage device 2506, an I / O interface 2508, and a communication interface 2510, which may be communicatively coupled by a communication infrastructure 2512. While an exemplary computing device 2500 is illustrated in FIG. 25, the components illustrated in FIG. 25 are not intended to be limiting. In other implementations, additional or alternative components may be used. Moreover, in some implementations, computing device 2500 may include fewer components than those illustrated in FIG. 25. The components of computing device 2500 illustrated in FIG. 25 will now be described in further detail.
[0211] In particular implementations, processor 2502 includes hardware for executing instructions, such as those making up a computer program. By way of example and not limitation, to execute instructions, processor 2502 may retrieve (or fetch) instructions from an internal register, an internal cache, memory 2504, or storage device 2506, decode them, and execute them. In particular implementations, processor 2502 may include one or more internal caches for data, instructions, or addresses. By way of example and not limitation, processor 2502 may include one or more instruction caches, one or more data caches, and one or more translation lookaside buffers (TLBs). Instructions in an instruction cache may be copies of instructions in memory 2504 or storage device 2506.
[0212] The memory 2504 may be used to store data, metadata, and programs for execution by the processor. The memory 2504 may include one or more of volatile and non-volatile memory, such as random access memory (“RAM”), read-only memory (“ROM”), solid-state disk (“SSD”), flash, phase-change memory (“PCM”), or other types of data storage. The memory 2504 may be internal or distributed memory.
[0213] The storage device 2506 includes storage devices for storing data or instructions. By way of example and not limitation, the storage device 2506 may comprise the non-transitory storage media described above. The storage device 2506 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive, or a combination of two or more of these. The storage device 2506 may include removable or non-removable (or fixed) media, as appropriate. The storage device 2506 may be internal or external to the computing device 2500. In particular implementations, the storage device 2506 is a non-volatile solid-state memory. In other implementations, the storage device 2506 includes read-only memory (ROM). Where appropriate, this ROM may be a mask-programmed ROM, a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), an electrically alterable ROM (EAROM), or a flash memory, or a combination of two or more of these.
[0214] The I / O interface 2508 enables a user to provide input to, receive output from, and otherwise send data to and receive data from the computing device 2500. The I / O interface 2508 may include a mouse, a keypad or keyboard, a touchscreen, a camera, an optical scanner, a network interface, a modem, other known I / O devices, or a combination of such I / O interfaces. The I / O interface 2508 may include one or more devices for presenting output to a user, including, but not limited to, a graphics engine, a display (e.g., a display screen), one or more output drivers (e.g., a display driver), one or more audio speakers, and one or more audio drivers. In some implementations, the I / O interface 2508 is configured to provide graphical data to a display for presentation to a user. The graphical data may represent one or more graphical user interfaces and / or any other graphical content and may fulfill a particular implementation.
[0215] The communications interface 2510 may include hardware, software, or both. In any event, the communications interface 2510 may provide one or more interfaces for communications (e.g., packet-based communications, etc.) between the computing device 2500 and one or more other computing devices or networks. By way of example and not limitation, the communications interface 2510 may include a network interface controller (NIC) or network adapter for communicating with an Ethernet or other wired-based network, or a wireless NIC (WNIC) or wireless adapter for communicating with a wireless network such as WI-FI.
[0216] Additionally or alternatively, communication interface 2510 may facilitate communication with one or more portions of an ad-hoc network, a personal area network (PAN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), or the Internet, or a combination of two or more of these. One or more portions of one or more of these networks may be wired or wireless. By way of example, communication interface 2510 may enable communication with a wireless PAN (WPAN) (e.g., a BLUETOOTH WPAN, etc.), a Wi-Fi network, a Wi-Max network, a cellular telephone network (e.g., a Global System for Mobile Communications (GSM) network, etc.), or other suitable wireless network, or a combination thereof.
[0217] Additionally, the communication interface 2510 may facilitate communication of a variety of communication protocols. Examples of communications protocols that may be used include, but are not limited to, data transmission media, Transmission Control Protocol ("TCP"), Internet Protocol ("IP"), File Transfer Protocol ("FTP"), Telnet, Hypertext Transfer Protocol ("HTTP"), Hypertext Transfer Protocol Secure ("HTTPS"), Session Initiation Protocol ("SIP"), Simple Object Access Protocol ("SOAP"), Extensible Markup Language ("XML") and its derivatives, Simple Mail Transfer Protocol ("SMTP"), Real-Time Transport Protocol ("RTP"), User Datagram Protocol ("UDP"), Global System for Mobile Communications ("GSM") technology, Code Division Multiple Access ("CDMA") technology, Time Division Multiple Access ("TDMA") technology, Short Message Service ("SMS"), Multimedia Message Service ("MMS"), Radio Frequency ("RF") signaling technology, Long Term Evolution (LTE) technology, wireless communication technology, in-band and out-of-band signaling technology, and other suitable communications networks and technologies.
[0218] Communications infrastructure 2512 may include hardware, software, or both that couple together components of computing device 2500. By way of example and not limitation, communications infrastructure 2512 may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infiniband interconnect, a Low Pin Count (LPC) bus, a memory bus, a MicroChannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCIe) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable bus, or combinations thereof.
[0219] FIG. 26 is a schematic diagram illustrating an environment 2600 in which one or more implementations of the content blocking system 102 may be implemented. For example, the content blocking system 102 may be part of a content management system 2602 (e.g., content management system 106). The content management system 2602 may generate, store, manage, receive, and transmit digital content (such as digital content items). For example, the content management system 2602 may send and receive digital content to and from client devices 2606 over a network 2604. Specifically, the content management system 2602 may store and manage a collection of digital content. The content management system 2602 may manage the sharing of digital content among computing devices associated with multiple users. For example, the content management system 2602 may facilitate a user sharing digital content with another user of the content management system 2602.
[0220] Specifically, content management system 2602 can manage the synchronization of digital content across multiple client devices 2606 associated with one or more users. For example, a user can edit digital content using a client device 2606. Content management system 2602 can cause the client device 2606 to send the edited digital content to content management system 2602. Content management system 2602 then synchronizes the edited digital content on one or more additional computing devices.
[0221] In addition to synchronizing digital content across multiple devices, one or more implementations of content management system 2602 can provide efficient storage options for users with large collections of digital content. For example, content management system 2602 can store a collection of digital content on content management system 2602, while client device 2606 stores only reduced-size versions of the digital content. Users can navigate and view reduced-size versions of the digital content (e.g., thumbnails of digital images) on client device 2606. Specifically, one way users can experience digital content is by viewing reduced-size versions of the digital content on client device 2606.
[0222] Another way a user can experience digital content is by selecting a scaled-down version of the digital content and requesting a full-size or high-resolution version of the digital content from content management system 2602. Specifically, when a user selects a scaled-down version of the digital content, client device 2606 sends a request to content management system 2602 requesting digital content related to the scaled-down version of the digital content. Content management system 2602 can respond to the request by sending the digital content to client device 2606. Then, upon receiving the digital content, client device 2606 can present the digital content to the user. In this way, a user can access a large collection of digital content while minimizing the amount of resources used on client device 2606.
[0223] The client device 2606 may be a desktop computer, a laptop computer, a tablet computer, a personal data assistant (PDA), an in- or out-of-car navigation system, a handheld device, a smartphone or other cellular or mobile phone, or a mobile gaming device, other mobile device, or other suitable computing device. The client device 2606 may run one or more client applications, such as a web browser (e.g., Microsoft Windows Internet Explorer, Mozilla Firefox, Apple Safari, Google Chrome, Opera, etc.), or a native or dedicated client application (e.g., Dropbox Paper for iPhone or iPad, Dropbox Paper for Android, etc.), to access and view content over the network 2604.
[0224] Network 2604 may represent a network or collection of networks (such as the Internet, a corporate intranet, a virtual private network (VPN), a local area network (LAN), a wireless local area network (WLAN), a cellular network, a wide area network (WAN), a metropolitan area network (MAN), or a combination of two or more such networks) through which client device 2606 can access content management system 2602.
[0225] In the foregoing specification, the present disclosure has been described with reference to specific exemplary implementations thereof. Various implementations and aspects of the present disclosure are described with reference to the details discussed herein, and the accompanying drawings illustrate various implementations. The above description and drawings are illustrative of the present disclosure and should not be construed as limiting the disclosure. Numerous specific details are set forth to provide a thorough understanding of various implementations of the present disclosure.
[0226] The present disclosure may be embodied in other specific forms without departing from its spirit or essential characteristics. The described implementations are to be considered in all respects as illustrative only and not restrictive. For example, the methods described herein may be performed with fewer or more steps / actions, or the steps / actions may be performed in a different order. Moreover, the steps / actions described herein may be repeated or performed in parallel with each other or with different instances of the same or similar steps / actions. The scope of the present application is therefore indicated by the appended claims, rather than by the foregoing description. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.
[0227] The foregoing specification has been described with reference to certain exemplary implementations thereof. Various implementations and aspects of the present disclosure are described with reference to the details discussed herein, and the accompanying drawings illustrate various implementations. The above description and drawings are illustrative and should not be construed as limiting. Numerous specific details are set forth to provide a thorough understanding of various implementations.
[0228] Additional or alternative implementations may be embodied in other specific forms without departing from its spirit or essential characteristics. The described implementations are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Claims
1. generating a source identifier indicating a server location that stores the content item; generating, from the source identifier, a multi-location data block that references the content item stored at the server location of the source identifier, the multi-location data block being capable of being embedded simultaneously in multiple virtual spaces using a single block identifier; determining, for the multi-location data block, a plurality of block configurations exhibiting different visual characteristics for displaying the multi-location data block within each virtual space; - for said multi-location data block, identifying from a repository of content renderers a content renderer suitable for visualizing said multi-location data block according to a block configuration from said plurality of block configurations; A method comprising:
2. 2. The method of claim 1, wherein generating the source identifier comprises generating a data element that links the server location that stores the content item to a multi-location data block that includes a block identifier that references the source identifier.
3. 2. The method of claim 1, wherein generating the multi-location data block includes generating a data element stored at a single server location, the data element incorporating at least a portion of the content item by binding the single block identifier to the source identifier.
4. 2. The method of claim 1, wherein determining the plurality of block configurations includes determining visual characteristics set by different client devices to present different visual representations of the multi-location data blocks within the respective virtual spaces.
5. The method of claim 1 , wherein identifying the content renderer compatible with visualization of the multi-location data block comprises identifying an application integration associated with a block type of the multi-location data block.
6. 10. The method of claim 1, further comprising: determining the content renderers in the repository of content renderers by receiving, from a client device, indications of a plurality of application integrations for incorporation into the virtual world platform using respective application programming interfaces.
7. The method of claim 1 , further comprising generating an additional multi-location data block that includes a block identifier that is unique to the virtual space platform and that is not associated with a corresponding source identifier.
8. 1. A system comprising: at least one processor; When executed by the at least one processor, the system is generating a source identifier indicating a server location that stores the content item; generating, from the source identifier, a multi-location data block that references the content item stored at the server location of the source identifier, the multi-location data block being capable of being embedded simultaneously within multiple virtual spaces using a single block identifier; determining, for the multi-location data block, a plurality of block configurations exhibiting different visual characteristics set by different client devices for displaying the multi-location data block within respective virtual spaces; identifying, for the multi-location data block, from a repository of content renderers, a content renderer from among the plurality of block configurations that is suitable for visualizing the multi-location data block according to the block configuration; a non-transitory computer-readable medium containing instructions to operate in such a manner; Including, the system.
9. 9. The system of claim 8, further comprising instructions that, when executed by the at least one processor, cause the system to generate the source identifier by generating a data element that references the server location that stores the content item in order to incorporate the content item into a multi-location data block without copying the content item.
10. 9. The system of claim 8, further comprising instructions that, when executed by the at least one processor, cause the system to generate the multi-location data block by generating data elements stored at a single server location, the data elements incorporating the content item by binding the single block identifier to the source identifier without storing the content item at the single server location of the data elements.
11. When executed by the at least one processor, the system is determining a block type associated with said multi-location data block; identifying an application integration associated with the block type; 9. The system of claim 8, further comprising instructions to operate to identify the content renderer suitable for visualizing the multi-location data block by:
12. 10. The system of claim 8, further comprising instructions that, when executed by the at least one processor, cause the system to identify the content renderer from among the repository of content renderers that includes segments of computer code generated from corresponding application integrations to render content items in multi-location data blocks.
13. When executed by the at least one processor, the system is providing the multi-location data block for display within a first virtual space according to a first block configuration established by a first client device; 9. The system of claim 8, further comprising instructions operable to provide the multi-location data block for display within a second virtual space in accordance with a second block configuration established by a second client device.
14. When executed by the at least one processor, the system is The system of claim 8 , further comprising instructions operable to generate a unique multi-location data block that includes a block identifier that is not associated with a corresponding source identifier.
15. When executed by at least one processor, the method causes the at least one processor to: generating a source identifier indicating a server location that stores the content item; generating, from the source identifier, a multi-location data block that references the content item stored at the server location of the source identifier, the multi-location data block being capable of being embedded simultaneously within multiple virtual spaces using a single block identifier; determining, for the multi-location data block, a plurality of block configurations exhibiting different visual characteristics for displaying the multi-location data block within each virtual space; identifying, for the multi-location data block, a content renderer from a repository of content renderers associated with application integration for a virtual world platform, the content renderer being suitable for visualizing the multi-location data block according to a block configuration from among the plurality of block configurations; A non-transitory computer-readable medium comprising instructions to operate in such a manner.
16. 16. The non-transitory computer-readable medium of claim 15, further comprising instructions that, when executed by the at least one processor, cause the at least one processor to: generate the multi-location data block by generating the data elements stored at the single server location that incorporates the content item by binding the single block identifier to the source identifier without storing the content item at a single server location of the data elements.
17. 16. The non-transitory computer-readable medium of claim 15, further comprising instructions that, when executed by the at least one processor, cause the at least one processor to: determine the plurality of block configurations by determining locations and dimensions associated with versions of the multi-location data blocks displayed with the respective virtual spaces.
18. When executed by the at least one processor, the method causes the at least one processor to: determining a task list associated with the multi-location data block; 16. The non-transitory computer-readable medium of claim 15, further comprising instructions to operate to generate a task identifier for the task list that includes a data element bound to the single block identifier of the multi-location data block.
19. When executed by the at least one processor, the method causes the at least one processor to: determining a communication thread associated with the multi-location data block; 16. The non-transitory computer-readable medium of claim 15, further comprising instructions operable to generate a thread identifier for the communication thread that includes a data element bound to the single block identifier of the multi-location data block.
20. When executed by the at least one processor, the method causes the at least one processor to: receiving an indication of a user interaction with the multi-location data block to modify content presented within the multi-location data block; 16. The non-transitory computer-readable medium of claim 15, further comprising instructions to: utilize a two-way modification channel to propagate modifications made to the content presented in the multi-location data block based on the indication of the user interaction to the content item stored at the server location associated with the source identifier.
21. generating a virtual space interface for display on a client device, the virtual space interface including content blocks and block summary elements, the content blocks including modifiable sub-windows for presenting and modifying digital content; receiving an indication of a user interaction selecting the block summary element within the virtual space interface; generating a block summary from the digital content of the content block using a block summary neural network based on the user interaction selecting the block summary element; A method comprising:
22. The method of claim 1 [o1], wherein generating the block summaries comprises utilizing a large-scale language model to summarize the digital content of the content blocks.
23. providing the content blocks for display within the virtual world interface for presenting the digital content embedded in the content blocks from an external server location; modifying the content block to replace the embedded representation of the digital content from the external server location with the block summary generated in response to the user interaction selecting the block summary element; The method of claim 1 [o2], further comprising:
24. generating a multi-block summary from the digital content of the plurality of content blocks displayed within the virtual space interface by accessing and summarizing the embedded digital content from respective server locations; providing the multi-block summary for display on the client device; The method of claim 1 [o3], further comprising:
25. identifying a communication thread associated with the content block; generating a thread summary for the communication thread; providing the thread summary for display within the content block; The method of claim 1 [o4], further comprising:
26. determining user interactions with content items for a user account associated with the client device; generating a block proposal for the user account utilizing a block proposal machine learning model based on the user interactions of the user account; providing the block suggestions as selectable interface elements for display within the virtual space interface; The method of claim 1 [o5], further comprising:
27. generating a spatial summary interface for display on the client device, the spatial summary interface including a user account specific summary of digital content displayed within a plurality of content blocks included within the virtual spatial interface; generating additional spatial summary interfaces for display on different client devices, the additional spatial summary interfaces including different user account specific summaries of the digital content displayed within the plurality of content blocks contained within the virtual spatial interface; The method of claim 1 [o6], further comprising:
28. 1. A system comprising: at least one processor; When executed by the at least one processor, the system is generating a virtual space interface for display on a client device, the virtual space interface including content blocks and block summary elements, the content blocks including modifiable sub-windows for presenting and modifying content items hosted at a server location; receiving an indication of a user interaction selecting the block summary element within the virtual space interface; generating a block summary from the content items of the content blocks using a block summary neural network based on the user interaction selecting the block summary element; a non-transitory computer-readable medium containing instructions to operate in such a manner; Including, the system.
29. When executed by the at least one processor, the system is generating the block summary customized based on user interactions of a user account associated with the client device; generating additional block summaries from the digital content of the content blocks, the additional block summaries being customized based on user interactions of different user accounts; The system of claim 8 [o7], further comprising instructions for operating.
30. When executed by the at least one processor, the system is determining user interactions with content items for a user account associated with the client device; generating a content update notification indicating one or more updates to digital content associated with a content block displayed within the virtual space interface based on the user interaction of the user account; The system of claim 8 further comprising instructions to operate as follows:
31. When executed by the at least one processor, the system is determining permission settings established by an external content source for the digital content of the content block; applying the permission settings from the external content source to the content blocks in the virtual world interface; The system of claim 8 further comprising instructions to operate as follows:
32. When executed by the at least one processor, the system is receiving an indication from the client device of a user interaction to change a permission setting associated with the content block in the virtual world interface; providing updated permission settings to an external content source hosting the digital content embedded within the content block based on the user interaction that changes the permission settings for the content block. The system of claim 8 further comprising instructions to operate as follows:
33. When executed by the at least one processor, the system is generating block proposals for display within the virtual world interface by identifying open browser tabs within a browser running on the client device; receiving an indication of a user interaction to add an additional content block to the virtual space interface from the block proposal; generating an additional block summary from the digital content in the open browser tab for display within the additional content block based on the user interaction to add the additional content block; The system of claim 8 further comprising instructions to operate as follows:
34. When executed by the at least one processor, the system is receiving from the client device an indication of a user interaction to set a permission setting for the content block within the virtual world interface; receiving from the client device an indication of an additional user interaction to set permission settings for additional content blocks within the virtual world interface; applying different permission settings to the content block and the additional content block based on the user interaction and the additional user interaction; The system of claim 8 [o11] further comprising instructions to operate as follows.
35. When executed by at least one processor, the method causes the at least one processor to: generating a virtual space interface for display on a client device, the virtual space interface including content blocks and block summary elements, the content blocks including modifiable sub-windows for presenting and modifying digital content; receiving an indication of a user interaction selecting the block summary element within the virtual space interface; generating a block summary from the digital content embedded within the content block from a server location using a block summary neural network based on the user interaction selecting the block summary element; A non-transitory computer-readable medium comprising instructions to operate in such a manner.
36. The non-transitory computer-readable medium of claim 15 further comprising instructions, when executed by the at least one processor, that cause the at least one processor to: provide the block summary for display within the content block, replacing the digital content within the content block.
37. When executed by the at least one processor, the method causes the at least one processor to: Associating the virtual space interface with a virtual meeting; and based on detecting a recurrence of the virtual meeting, providing a spatial element for display on the client device, the spatial element being selectable to access the virtual space interface including content blocks manipulated during the virtual meeting. The non-transitory computer-readable medium of claim 15 further comprising instructions to cause the medium to operate as follows:
38. When executed by the at least one processor, the method causes the at least one processor to: receiving an indication from the client device of a user interaction selecting a block proposal within the virtual space interface; in response to the indication of the user interaction selecting the block proposal, identifying an application integration associated with the block proposal and integrated to render block content within the virtual space interface. The non-transitory computer-readable medium of claim 15 further comprising instructions to cause the medium to operate as follows:
39. When executed by the at least one processor, the method causes the at least one processor to: utilizing the application integration to access digital content from an external server location indicated by the block proposal for embedding within a new content block; generating the new content block by embedding the digital content from the external server location for display within the new content block; The non-transitory computer-readable medium of claim 18 further comprising instructions to cause the medium to operate as follows:
40. 20. The non-transitory computer-readable medium of claim 19, further comprising instructions that, when executed by the at least one processor, cause the at least one processor to: generate a new block summary for the digital content embedded within the new content block from the external server location.
41. generating a virtual space including one or more content blocks, each block identifier associated with a source identifier referencing a respective web page; Embedding a content block within the virtual space that integrates functionality of a web page referenced by a source identifier of the content block; receiving an indication of a user interaction with the content block; modifying a web page according to the user interactions with the content blocks; A method comprising:
42. Embedding the content block includes: using the source identifier of the content block to access a server location hosting digital content associated with the web page; consolidating the digital content associated with the web page within the content block; The method of claim 1 [o17], comprising:
43. The method of claim 1, wherein generating the virtual space includes generating an instance of a content block-based web browser that presents the one or more content blocks arranged in the virtual space as individual user interface elements whose size and position within the virtual space can be changed.
44. The method of claim 1, wherein receiving the indication of the user interaction with the content block includes receiving an instruction to modify digital content stored at a server location associated with the web page.
45. The method of claim 4 [o20], wherein modifying the web page in accordance with the user interaction includes modifying the digital content stored at the server location associated with the web page in response to the user interaction with the content block.
46. The method of claim 1 [o21], wherein embedding the content blocks that integrate functionality of the web page includes identifying application integration for the virtual space that integrates functionality of a web browser application into the virtual space.
47. The method of claim 1 [o22], wherein generating the virtual space includes generating additional content blocks for display within the virtual space, the additional content blocks including block identifiers linked to source identifiers that reference digital content associated with an external application other than a web browser.
48. 1. A system comprising: at least one processor; When executed by the at least one processor, the system is generating a virtual space including one or more content blocks, each block identifier associated with a source identifier referencing a respective web page; embedding a content block within the virtual space that integrates functionality of a web page referenced by a source identifier of the content block; receiving an indication of a user interaction to modify the digital content within the content block; modifying the web page in accordance with the user interactions to modify the digital content within the content blocks; a non-transitory computer-readable medium containing instructions to operate in such a manner; Including, the system.
49. When executed by the at least one processor, the system using the source identifier of the content block to access a server location hosting digital content associated with the web page; adapting the functionality of the web page for the content block to facilitate interaction with the digital content at the server location via the content block; The system of claim 8 [o23] further comprises instructions to embed the content block by:
50. The system of claim 8 [o24] further includes instructions that, when executed by the at least one processor, cause the system to generate a spatial preview for the virtual space by modifying accessibility of functionality for the one or more content blocks to provide the spatial preview to a client device external to the system associated with the virtual space.
51. The system described in claim 8 [o25] further includes instructions that, when executed by the at least one processor, cause the system to embed additional content blocks that integrate functionality of additional web pages within the virtual space, wherein the content blocks and the additional content blocks are displayed simultaneously within the virtual space.
52. When executed by the at least one processor, the system is creating a communication thread associated with the content block; providing the communication thread for display within the content block together with digital content from the web page referenced by the source identifier; The system of claim 8 [o26] further comprising instructions to operate as follows.
53. The system of claim 8 [o27] further includes instructions that, when executed by the at least one processor, cause the system to generate the virtual space by instantiating a content block-based web browser that presents the one or more content blocks arranged in the virtual space as individual user interface elements having changeable visual characteristics.
54. When executed by the at least one processor, the system is using the source identifier of the content block to access a server location hosting digital content associated with the web page; consolidating the digital content associated with the web page within the content block; The system of claim 8 further comprises instructions to embed the content block by:
55. When executed by at least one processor, the method causes the at least one processor to: generating a virtual space including one or more content blocks, each block identifier associated with a source identifier referencing a respective web page; embedding content blocks within the virtual space that integrate digital content and functionality of web pages referenced by source identifiers of the content blocks; receiving an indication of a user interaction with the content block; modifying the web page according to the user interactions with the content blocks; A non-transitory computer-readable medium comprising instructions to operate in such a manner.
56. When executed by the at least one processor, the method causes the at least one processor to: receiving an indication of the user interaction with the content block by receiving an instruction to modify the digital content presented within the content block; modifying the web page in accordance with the user interaction by propagating, based on the user interaction, changes made to the digital content presented in the content block to the web page referenced by the source identifier; The non-transitory computer-readable medium of claim 15 further comprising instructions to operate as follows:
57. 15. The non-transitory computer-readable medium of claim 14, further comprising instructions that, when executed by the at least one processor, cause the at least one processor to generate the block preview for the content block by modifying the functionality of the content block to provide a block preview to a client device with different permission settings.
58. The non-transitory computer-readable medium of claim 15 further comprising instructions that, when executed by the at least one processor, cause the at least one processor to: integrate functionality of a web browser application into the virtual space; and embed the content blocks that integrate functionality of the web page by identifying application integration for the virtual space.
59. The non-transitory computer-readable medium of claim 15 further includes instructions that, when executed by the at least one processor, cause the at least one processor to generate the virtual space by generating additional content blocks for display within the virtual space, the additional content blocks including block identifiers linked to source identifiers that reference digital content stored in a content management system.
60. When executed by the at least one processor, the method causes the at least one processor to: using the source identifier of the content block to access a server location hosting the digital content associated with the web page; aggregating the digital content from the server location within the content block; The non-transitory computer-readable medium of claim 15 further comprising instructions to embed the content block by:
Citation Information
Patent Citations
Content synchronization method for multiple authorized spaces based on digital map
CN112783993A
Method and apparatus for enabling related portlets of a web portal to cooperate for synchronized content presentation
JP2006501557A
System and method for maintaining local virtual state during server-side storage and intermittent network connectivity across multiple devices and multiple users
JP2016529634A
Information processing system, information processing method, and information processing program
JP2022093785A
Reverse proxy portlet with rule-based, instance level configuration
US20060041637A1