VIRTUAL TEAM SPACES

An example method to manage a virtual team space includes creating a new time period of a canvas-based space. Following and in response to creation of the new time period, the method may include persisting structure in the new time period of the canvas-based space; persisting relevant content in the new time period of the canvas-based space; and wiping non-relevant content from the new time period of the canvas-based space.

FIELD

The embodiments discussed herein are related to virtual team spaces.

BACKGROUND

Some online collaboration platforms are flexible, cloud-based environments that allow teams to communicate and collaborate in real time. Such platforms may provide an infinite scalable canvas and offer collaboration features like simultaneous editing, whiteboarding, diagramming, screen sharing, sticky notes, commenting, labeled cursors, text chat, and video and audio conferencing.

SUMMARY

In an example embodiment, a method to manage a virtual team space includes creating a new time period of a canvas-based space. Following and in response to creation of the new time period, the method may include persisting structure in the new time period of the canvas-based space; persisting relevant content in the new time period of the canvas-based space; and wiping second content from the new time period of the canvas-based space.

In another example embodiment, a method to manage a virtual team space includes opening a template that includes at least first and second container graphical objects in a canvas-based space. The method includes receiving first input to designate the first container graphical object as a container of content to be persisted in the canvas-based space. The method includes receiving second input to designate the second container graphical object as a container of content to be refreshed in the canvas-based space. The method includes receiving third input to create a new time period of the canvas-based space. In response to creation of the new time period, the method may include persisting structure including the first and second container graphical objects in the new time period of the canvas-based space; persisting, in the new time period of the canvas-based space, all content within the first container graphical object based on the designation of the first container graphical object as a container of content to be persisted; and wiping all undesignated content within the second container graphical object from the new time period of the canvas-based space.

DETAILED DESCRIPTION OF SOME EXAMPLE EMBODIMENTS

Virtual team spaces allow users to work together remotely as a team. Some teams may benefit from having a virtual home base that may bring together the knowledge and context the team needs. Depending on the goals of the team, it may be desirable to persist the virtual home base, or more generally a virtual team space, over long periods of time during which the virtual team space may be referenced regularly by the team. Embodiments herein may provide such virtual team spaces for use by any type of team, as a 1:1 space, a personal space, or any other space where information may be persisted and/or evolve over time and it may be useful to tie everything together in a central space (e.g., home base or knowledge hub) to reduce the mental tax of searching for information across various tools and locations.

Example types of teams include project teams, leadership teams, product development teams. A project team typically has a goal of bringing a new product or feature to market. Typical characteristics of a project team include finite start and end dates based on a project timeline and coordination cadence of the team being streamlined around a single recurring ritual (such as a weekly meeting). A leadership team typically has a goal of entity-wide high-level planning and goal setting. Typical characteristics of a leadership team include an ongoing nature (i.e., no finite end date) and coordination cadence of the team being streamlined around a single recurring ritual (such as a weekly meeting). A product development team typically has a goal of building or implementing new products or features. Typical characteristics of a product development team include an ongoing nature (i.e., no finite end date) and coordination happening across various rituals on different cadences.

In more detail, the content and/or structure of the virtual team space of a project team may include one or more of the following characteristics. Some content may be static and may not change much or at all over time, such as a team roster, team resources, and a project timeline. The team may desire easy and recurring access to such content. Some content may be ritualistically recurring content that is relevant for different time periods, such as weekly meeting notes and sprint planning. The team may desire a consistent structure for such recurring content over time (e.g., the same section or container where the current recurring content may be found) with the ability to track changes to the recurring content and/or to easily access past recurring content that is relevant to a previous period. Some content may be ad hoc content that is relevant for one or more different time periods, such as decisions or action items. Similar to ritualistically recurring content, the team may desire a consistent structure for such ad hoc content over time (e.g., the same section or container where the current ad hoc content may be found) with the ability to track changes to the content and/or to easily access past ad hoc content that is relevant to a previous period. Some content may be ritualistically recurring content that is independent for each instance, such as solutioning, estimation, and retrospectives. The team may desire a consistent structure for such recurring content over time (e.g., the same section or container where the current recurring content may be found). Some content may be ad hoc content that is independent for each instance, such as announcements and general team updates. Similar to ritualistically recurring content that is independent for each instance, the team may desire a consistent structure for such ad hoc content over time (e.g., the same section or container where the current ad hoc content may be found). Thus, in a virtual team space for a team, some content may be static and useful to the team on an ongoing basis, some non-static content may generally be refreshed on the same cadence (e.g., weekly), and some non-static content may be refreshed ad hoc or outside of the regular cadence, but is also likely reviewed in line with the established cadence.

FIG.1illustrates a table100of three example scenarios102A-102C that may be relevant to three example types of teams104A-104C in a virtual team space, arranged in accordance with at least one embodiment described herein. The virtual team space may include any of the virtual team spaces herein. The types of teams104A-104C include a project team104A, a leadership team104B, and a product development team104C.

In the scenario102A, a team may set up structure of the virtual team space that should generally persist in time across versions of the virtual team space, but which may be modified over time. The versions of the virtual team space may correspond to different periods of time and may be referred to as time periods of the virtual team space. The terms “version” and “time period” may be used interchangeably herein. Examples106A of structure that may persist across time periods of the virtual team space and that may be set up by the project team104A include a meeting note template, section, or container for recurring project team meetings where the project team can add sticky notes (e.g., during meetings), a project progress overview section or container where progress of the team's project may be shown, a resources section or container that includes resources that the project team may be likely to access or use on a recurring basis during the project, and/or a decision log section or container where decisions made (and/or to be made) by the project team may be shown. An example106B of such structure that may be set up by the leadership team104B includes a meeting note template, section, or container for recurring leadership team meetings where the leadership team can add sticky notes (e.g., during meetings). Examples106C of such structure that may be set up by the product development team104C include an epic progress overview section or container where progress of the product development team on a large chunk of work (that may be segmented into smaller tasks) may be shown, a resources section or container that includes resources that the product development team is likely to access or use on a recurring basis during the product development, and/or a decision log section or container where decisions made (and/or to be made) by the product development team may be shown.

In the scenario102B, a team may create temporary content in the virtual team space that is only relevant for a current time period. Examples108A,108B of such temporary content that may be created by the project team104A and the leadership team104B include meeting notes (e.g., that may be captured in the meeting template of the virtual team space as sticky notes). Examples108C of such temporary content that may be created by the product development team104C include standup notes (e.g., that may be captured in the epic progress overview section (or other section or container) of the virtual team space as sticky notes).

In the scenario102C, a team may create semi-permanent content in the virtual team space that the team would like to persist over multiple time periods. Examples110A of such semi- permanent content that may be created by the project team104A include short-and/or medium- term content such as action items (e.g., in the form of action item graphical objects) or tasks (e.g., in the form of task graphical objects) and/or long-term content such as a project timeline. Examples110B of such semi-permanent content that may be created by the leadership team104B include short-and/or medium-term content such as action items or tasks and/or long-term content such as a quarterly department org chart. Examples110C of such semi-permanent content that may be created by the product development team104C include short-and/or medium-term content such as action items or tasks and/or long-term content such as a team wiki, a quarterly roadmap, and/or epic documentation.

Many applications use templates to address the scenario102A. Some embodiments herein may similarly use templates to address the scenario102A. In addition, some embodiments herein conveniently maintain in a virtual team space over time semi-permanent content such as that in scenario102C while removing temporary content such as that in scenario102B that may be relevant for a time period (e.g., when created) but may become irrelevant after the time period. Alternatively or additionally, some embodiments herein may implement versioning in which time periods of the virtual team space are created (e.g., according to the regular cadence of the team) so that the temporary content may still be accessed in the future. Alternatively or additionally, some embodiments herein may track changes of at least a current version of the virtual team space so that the team may review and/or potentially undo changes made to the virtual team space.

Reference will now be made to the drawings to describe various aspects of example embodiments of the invention. It is to be understood that the drawings are diagrammatic and schematic representations of such example embodiments, and are not limiting of the present invention, nor are they necessarily drawn to scale.

FIG.2is a block diagram of an example operating environment200for virtual team spaces platform101, arranged in accordance with at least one embodiment described herein. The environment200includes a virtual team server (hereinafter “server”)202, one or more client devices204,206,208, and a network210.

In general, the network210may include one or more wide area networks (WANs) and/or local area networks (LANs) that enable the server202and the client devices204,206,208, to communicate with each other. In some embodiments, the network210may include the Internet, including a global internetwork formed by logical and physical connections between multiple WANs and/or LANs. Alternately or additionally, the network210may include one or more cellular radio frequency (RF) networks and/or one or more wired and/or wireless networks such as 802.xx networks, Bluetooth access points, wireless access points, Internet Protocol (IP)-based networks, or other wired and/or wireless networks. The network210may also include servers that enable one type of network to interface with another type of network.

In some embodiments, the server202and/or the client devices204,206,208may be configured to allow users, e.g., users of the client devices204,206,208, to communicate and collaborate online in real time. For example, the server202may generally host virtual team spaces212, each of which may be accessed by one or multiple users simultaneously or asynchronously via client devices204,206,208. Within the virtual team spaces212, users may generate graphical diagrams or visualizations with graphical objects or content authored by users, embed other documents, import content from external applications, or the like, via a virtual team application214hosted by the server202. As an example, the virtual team application214may incorporate functionality of or include a virtual whiteboard application such as LUCIDSPARK, MURAL, MIRO, CONCEPTBOARD, ZITEBOARD, MICROSOFT WHITEBOARD, or other virtual whiteboard application, of a diagramming application such as LUCIDCHART, CREATELY, SMARTDRAW, VISIO, or other diagramming application, and/or of other applications.

When multiple client devices204,206,208are simultaneously accessing the same virtual team space212, the virtual team application214may show graphical objects or other content added, moved, or otherwise modified by a given user to other users. A virtual team space as used herein may refer to a document or other file that includes graphical objects or other content or structure generated, formatted, and/or grouped by users on a graphical drawing canvas. Such documents or other files may be referred to as canvas-based spaces. Alternatively or additionally, a virtual team space may include data collections and/or pointers to data collections used to generate, format, or group graphical objects.

Graphical objects generated within the virtual team spaces212may be simple graphical objects or data-backed graphical objects. Simple graphical objects may be stored within virtual team spaces212with various graphical attributes, such as shape, size, outline color, fill color, or other graphical attributes. Data-backed graphical objects may be explicitly stored as and/or represented by data collections in structured source data216. Each data-backed graphical object may have a corresponding data collection in a set of structured source data216that explicitly identifies attributes of the graphical object, such as graphical attributes (e.g., fill color, outline color, shape) as well as other attributes such as an author of the graphical object, a tag applied to the graphical object, text of or in the graphical object, or other attribute(s).

Users may generate container graphical objects (hereinafter “containers”) within the virtual team spaces212, e.g., to organize other graphical objects. Containers may be simple containers or data-backed containers. Containers may organize or group of simple or data-backed graphical objects based on some attribute of the graphical objects. For example, within a single data-backed container, graphical objects may be organized in columns or tabs based on an attribute of the graphical objects. As another example, graphical objects may be grouped into different simple or data-backed containers based on an attribute of the graphical objects. Simple containers may have no responsiveness or less responsiveness to attribute changes of graphical objects than data-backed containers. In some embodiments, a given simple container may be unable to organize graphical objects within the simple container in columns or tabs.

Simple containers and data-backed containers may behave similarly or differently. For example, data-backed containers may automatically resize to accommodate the addition or removal of a graphical object, whereas simple containers may not, e.g., simple containers may require manual resizing. Alternatively or additionally, a graphical object may be automatically removed from or added to a simple or data-backed container when a corresponding change to a corresponding attribute of the graphical object is made. Alternatively or additionally, a graphical object may be automatically removed from or added to a column or tab within a data-backed container when a corresponding change to a corresponding attribute of the graphical object is made.

Containers are examples of structural elements that may be included in a virtual team space212. Containers or other structural elements may be manually added to a virtual team space212by users manually creating and placing each container or structural element at a desired location on the canvas of the virtual team space212. In some embodiments, containers or other structural elements may be automatically or semi-automatically added to a virtual team space212by users. For example, users may select a virtual team space template from a list of available templates within the virtual team application214to automatically populate the virtual team space212with containers or other structural elements arranged and configured as specified by the template. As another example, the user may select and/or position multiple different templates to have containers or other structural elements of each of the templates populated at different locations within the virtual team space212.

Virtual team spaces212generated by the virtual team application214may be exported to other systems or applications. In some embodiments, a virtual team space212may be exported along with its corresponding structured source data to another application.

In some embodiments, virtual team spaces212may have or be a first file type and documents or templates of other file types may be embedded in any given one of the virtual team spaces212. For example, one or more documents having a diagramming application file type or virtual whiteboard application file type may be embedded in the virtual team space212which may have a different file type. In these and other embodiments, the virtual team application214may open and/or execute a corresponding application when an embedded document is accessed or edited within the virtual team space212.

In some embodiments, the virtual team application214may generate graphical diagrams or visualizations within the virtual team spaces212from structured source data of one or more data sources218. In this and other examples, some of the sets of structured source data216may represent or be derived from corresponding ones of the data sources218. Additional details regarding graphical diagrams or visualizations generated based on structured source data are disclosed in the following U.S. patent documents which are incorporated herein by reference in their entireties: U.S. Pat. Nos. 10,860,602, 10,860,603, U.S. patent Pub. No. 10200A004872 (U.S. application Ser. No. 16/024,551, filed Jun. 29, 2018), and U.S. Pat. No. 11,144,516.

Although one server202and three client devices204,206,208are illustrated inFIG.2, the environment200may more generally include one or more servers202and one or more client devices204,206,208. In these and other embodiments, the environment200may include other servers and/or devices not illustrated inFIG.2.

In general, the server202may host the virtual team application214that allows the client devices204,206,208to collaborate online, including, e.g., persisting over time some content to be used on an ongoing basis by members of a team within a given virtual team space212, persisting structure (e.g., containers or other structure elements of a template) within the virtual team space212, wiping other content generally only considered relevant for a limited time from the virtual team space212, and/or other features or functionality described herein.

Alternatively or additionally, the virtual team application214may e.g., reflect changes made to the virtual team space212at one of the client devices204,206,208to the others of the client devices204,206,208and/or may implement one or more aspects of U.S. patent Pub. No. 2022/0108276 which is incorporated herein by reference in its entirety. Alternatively or additionally, the virtual team application214may facilitate offline collaboration and/or may implement one or more aspects of U.S. Pat. No. 9,087,113 which is incorporated herein by reference in its entirety.

When users work together as part of a team, some content may be created, accessed, and/or referenced by the team on an ongoing basis while other content may only be relevant for a limited time. Accordingly, in some embodiments, the virtual team application214may generally facilitate creation of a virtual bullpen in the virtual team space212for a team of users, e.g., a virtual home base that may bring together the knowledge and context the team needs to initiate work, coordinate on progress, and stay aligned from start to finish. The knowledge and context, or more generally data, may include meeting notes, meeting agendas, resources, timelines, schedules, documents, action items, assignments, etc. The virtual team application214may retain some of the data in the virtual team space212permanently or semi-permanently while other data may be wiped, or deleted, periodically, from time to time, or ad hoc. Accordingly, in some embodiments, the virtual team application214may apply versioning to the virtual team space212in which only relevant or desired data is maintained in a current version of the virtual team space212and data that may have been relevant at one time but is no longer relevant may be wiped. By versioning the virtual team space212, historic states or time periods of the virtual team space212with data that is no longer present in the current version may still be accessed in any of the accessible historic states or time periods of the virtual team space212while keeping the current version or time period of the virtual team space212free from data that is no longer relevant.

One or more time periods (up to all of the time periods) of the virtual team space212may be locked against editing or may have otherwise limited functionality. Alternatively or additionally, one or more time periods (up to all of the time periods) of the virtual team space212may be editable.

In some embodiments, each time period of the virtual team space212may be created at the end of the corresponding period of time. A current version or current time period of the virtual team space212may temporarily cover an incomplete period of time, e.g., a current period of time that begins at the end of an immediately prior period of time and has not yet ended. Once the current period of time ends, the current time period of the virtual team space212becomes a prior time period of the virtual team space212and a new current time period of the virtual team space212begins.

In more detail, in some embodiments, the virtual team application214may persist structure across time periods of the virtual team space212. The structure may include containers and/or other structural elements that impart a desired structural organization or arrangement to the virtual team space212. The structure may be created in the virtual team space212by a user, e.g., manually piece-by-piece, in response to selection of a desired template (or multiple templates) from a set of available templates, or in some other manner. By persisting structure across time periods of the virtual team space212, users may easily navigate in the current time period (or in a prior time period) to desired containers or other sections that remain in the same location across time periods of the virtual team space212(unless the containers or other sections are moved or deleted by a user prior to creation of a most recent prior time period).

In some embodiments, structure in a virtual team space, such as containers, may have, at any given time, one of the following states relating to persistence. First, a given structure may be persistent, meaning both the structure and content within the structure may persist across time periods. Second, the structure may be refreshable, meaning the structure may persist across time periods while content within the structure may be refreshed, e.g., wiped, every time a new time period is created. Third, the structure may be non-persistent, meaning neither the structure nor content within the structure may persist across time periods, e.g., the structure and content within the structure may be wiped when a new time period is created. A container (or other structure) may be designated as a persistent container, a refreshable container, or a non-persistent container in any suitable manner. For instance, a container may be selected (e.g., via right click, left click, or in some other manner), in response to which a popup menu, a contextual formatting menu bar, or other interface may be displayed that includes a first button (e.g., a persist button), a second button (e.g., a refresh button), and/or a third button (e.g., a wipe button). Selection of the first button may designate the container as a persistent container, selection of the second button may designate the container as a refreshable container, and selection of the third button may designate the container as a non-persistent container. Alternatively, the container may have a default state or designation of non-persistent which may be changed to persistent or refreshable through a user interface (e.g., popup menu, contextual formatting menu bar, etc.) or in some other manner. As another example, the popup menu, contextual formatting menu bar, or other interface displayed in connection with selection (e.g., right click, left click, or other selection) of the container may include a radio button with mutually exclusive options corresponding to two or more of persistent, refreshable, and/or non-persistent, and the option next to the desired state may be selected in the interface to designate the container as a corresponding one of persistent, refreshable, or non-persistent.

Alternatively or additionally, non-structure content, such as shapes, embedded files, images, and other graphical objects in a virtual team space may have, at any given time, one of the following states relating to persistence. First, a given content may be persistent, meaning the content and any other content therein may persist across time periods. For example, a persistent shape graphical object including its formatting and any text therein may persist across time periods. Second, the content may be refreshable, meaning the content may persist across time periods while other content therein may be refreshed, e.g., wiped, every time a new time period is created. For example, a refreshable shape graphical object (including its formatting) may persist across time periods while text therein may be wiped every time a new time period is created. Third, the content may be non-persistent, meaning neither the content nor other content therein may persist across time periods, e.g., the content and other content therein may be wiped when a new time period is created. Content may be designated as persistent, refreshable, or non-persistent individually or as part of a group. For example, content may be individually designated as persistent, refreshable, or non-persistent in the same or similar manner as containers or other structure as described herein. In some embodiments, content may be collectively designated as a persistent group of content to be persisted by designating a container (or other structure) within a virtual team space and within which the group of content is located as a persistent container as described herein. Content that is not designated as persistent or refreshable (either individually or as part of a group) as content to be persisted may default to non-persistent and may be wiped from the virtual team space212following and/or in response to creation of a new time period of the virtual team space212. In some embodiments, content may be collectively designated as a non-persistent group of content by designating a container (or other structure) within the virtual team space and within which the group of content is located as a container to be refreshed.

In some embodiments, a user interface of the virtual team application214may include a team roster that identifies all users that are part of a given team. The users may be identified by or with a corresponding name, username, avatar, photograph, or other representation of the user in the team roster. A given user may be assigned to or associated with a given task or other content by dragging and dropping a corresponding user icon (e.g., avatar, photograph, or other representation of the user) from the team roster to the task or other content. The virtual team application214may implement or enable any other feature or functionality as described herein.

The server202may additionally include a processor220and a storage medium222. The processor220may be of any type such as a central processing unit (CPU), a microprocessor (μP), a microcontroller (μC), a digital signal processor (DSP), or any combination thereof. The processor220may be configured to execute computer instructions that, when executed, cause the processor220to perform or control performance of one or more of the operations described herein with respect to the server202.

The storage medium222may include any non-transitory computer-readable medium, including volatile memory such as random access memory (RAM), persistent or non-volatile storage such as read only memory (ROM), electrically erasable and programmable ROM (EEPROM), compact disc-ROM (CD-ROM) or other optical disk storage, magnetic disk storage or other magnetic storage device, NAND flash memory or other solid state storage device, or other persistent or non-volatile computer storage medium. The storage medium222may store computer instructions that may be executed by the processor220to perform or control performance of one or more of the operations described herein.

The storage medium222may additionally store the sets of structured source data216, virtual team spaces212, one or more models224, and/or model rules and/or heuristics226(“Model Rules/Heuristics” inFIG.2). Each set of structured source data216may be generated for the data- backed graphical objects and containers in a given virtual team space212and/or may be imported from a corresponding one of the data sources218. The structured source data220may be imported over the network210or directly from the corresponding data source218if a direct connection exists.

The model rules and/or heuristics226include rules and/or heuristics that may be applied to the structured source data216to derive information about nodes and/or their relationships represented in the structured source data216. The structured source data216and/or the information derived by the model rules and/or heuristics226may be used by the server202to generate the models224, each model224corresponding to a different set of structured source data216. Graphical diagrams within the virtual team spaces212may be generated directly from a corresponding set of the structured source data216and/or from a corresponding one of the models224derived from the corresponding set of structured source data216.

Each of the client devices204,206,208may execute an application, such as a browser228, configured to communicate through the network210with the server202. The browser228may include an Internet browser or other suitable application to communicate through the network210with the server202. The browser228may generate, download and/or interact with virtual team spaces212, structured source data216, and/or graphical diagrams within the virtual team spaces212. Each of the client devices204,206,208may include a desktop computer, a laptop computer, a tablet computer, a mobile phone, a smartphone, a personal digital assistant (PDA), a wearable device (e.g., a smart watch), an interactive whiteboard (e.g., SURFACE HUB), or another suitable client device.

Each of the client devices204,206,208may additionally include a processor and a storage medium, such as a processor230and a storage medium232as illustrated for the client device204inFIG.2. Each of the other client devices206,208may be similarly configured. Similar to the processor220of the server202, the processor230may be of any type such as a CPU, a μP, a μC, a DSP, or any combination thereof. The processor230may be configured to execute computer instructions that, when executed, cause the processor230to perform or control performance of one or more of the operations described herein.

Similar to the storage medium222of the server202, the storage medium232of the client device204may include any non-transitory computer-readable medium, including volatile memory such as RAM, persistent or non-volatile storage such as ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage device, NAND flash memory or other solid state storage device, or other persistent or non-volatile computer storage medium. The storage medium232may store computer instructions that may be executed by the processor230to perform one or more of the operations described herein. The storage medium232may additionally store, at least temporarily, a virtual team space212, some of a corresponding set of structured source data216or model224, and/or other content obtained from the server202and/or generated locally on the client device204.

Embodiments described herein are not limited to using a browser to communicate with the server202to collaborate online with other users. For example, rather than or in addition to a browser, the client devices204,206,208may include a native app as are often used on client devices such as mobile devices including smartphones, tablet computers, and interactive whiteboards. Accordingly, embodiments described herein generally include collaborating online using a browser, a native app, or another suitable application on the client devices204,206,208.

FIG.3Aincludes a graphical representation300A of an example UI for virtual collaboration, arranged in accordance with at least one embodiment described herein. The UI may be provided by the browser228and/or the virtual team application214ofFIG.2. For instance, the browser228in cooperation with the virtual team application214may present the UI ofFIG.3Ato a user through and/or on a display of the client device204.

InFIG.3A, the graphical representation300A includes a graphical drawing canvas302(hereinafter “canvas302”) and various menu bars304,306,308,310. Each of the menu bars304,306,308,310may be fixed or movable within or around the canvas302. Alternatively or additionally, the UI may present one or more contextual formatting bars when a given graphical object has been selected or is being edited. The menu bar308is an example of a contextual formatting menu bar for a sticky note. More generally, embodiments described herein include graphical drawing canvases with one or more menu bars (or other menu arrangements or interfaces) that are fixed or movable within or around the graphical drawing canvases, where the one or more menu bars (or other menu arrangement) include one or more of the menu options described with respect to the menu bars304,306,308,310or other menu bars herein.

The menu bar304includes a virtual team space filename field312(hereinafter “field312”), an additional options button314, and a search field316. The field312may display a filename of a virtual team space318currently displayed in the canvas302. Alternatively or additionally, a user may select the icon to the left of the field312(or provide other suitable input) to navigate a file system to open a different virtual team space.

The additional options button314may be selected by the user to access additional options.

Within the search field316, the user may enter text to search the virtual team space318for matching text. In response to entry of text in the search field316, the virtual team application214may search for the text in the current time period of the virtual team space318, in one or more prior time periods of the virtual team space318, in content embedded anywhere in the virtual team space (such as an embedded diagram document), or any combination thereof.

The menu bar306may generally include options to generate new graphical objects. As illustrated, the menu bar306includes, among others, a cursor button320, a tasks button321, a sticky note button322, a containers/templates button323, a shape button324, and an insert button326.

The cursor button320may be selected by the user to select objects or activate other buttons.

The tasks button321may be selected by the user to add task shapes to the virtual team space318, such as Lucid cards, imported Jira tasks, or other task shapes.

The sticky note button322may be selected by the user to generate a sticky note, such as sticky notes328-333. In some embodiments, the user may paste a list of text in the virtual team space318to automatically generate sticky notes with the text.

The containers/templates button323may be selected by the user to open a containers/templates menu from which the user may drag out preconfigured template sections to build out the virtual team space318. Each template or template section dragged out onto the virtual team space318may include one or more containers or other structure.

The shape button324may be selected by the user to generate graphical objects with predefined shapes or types, e.g., rectangle, diamond, circle, ellipse, bracket, etc. For instance, selection of the shape button324may open a popup menu or other interface that includes a set of shapes to choose from; selection of one of the shapes from the popup menu may insert a graphical object with the selected shape on the canvas302.

The insert button326may be selected by the user to insert items into the virtual team space318. The items may include documents, images, or other items. In some embodiments, a popup menu or other interface may be opened in response to selection of the insert button326.FIG.3Bincludes a graphical representation300B of an example popup menu334that may be opened in response to selection of the insert button326, arranged in accordance with at least one embodiment described herein. As illustrated, the popup menu334includes various buttons that may be selected to insert a corresponding item into the virtual team space318, including a blank whiteboard document button336, a blank diagram document button338, a recent document button340, and an image button342.

Selection of the blank whiteboard document button336may insert, or embed, a blank whiteboard document, such as a LUCIDSPARK document, in the virtual team space318.

Selection of the blank diagram document button338may insert, or embed, a blank diagram document, such as a LUCIDCHART document, in the virtual team space318.

Selection of the recent document button340may open a popup menu or other interface with a set of one or more recent documents from which a given one of the one or more recent documents may be selected. Selection of the given recent document may insert, or embed, the recent document in the virtual team space318.

Selection of the image button342may open a popup menu or other interface with a set of one or more GIFs, images, emojis, icons, or the like from which a given one of the GIFs, images, emojis, or icons may be selected. Selection of the GIF, image, emoji, or icon may insert, or embed, the selected GIF, image, emoji, or icon in the virtual team space318.

Returning toFIG.3A, the contextual formatting menu bar308may be displayed when a graphical object is generated and/or while it is selected, e.g., for editing, and may disappear when no graphical object is selected. In this example, the sticky note329has just been generated and/or selected for editing, in response to which the contextual formatting menu bar308is displayed, e.g., by the virtual team application214. The contextual formatting menu bar308may include one or more buttons to edit or modify the selected sticky note329. For example, a persist button may be selected by the user to designate the sticky note329as a persistent sticky note. As another example, a refresh button may be selected by the user to designate the sticky note329as a refreshable sticky note. As another example, the sticky note329may have a default state of non-persistent and/or the menu308may include a non-persistent button that may be selected to designate the sticky note329as a non-persistent sticky note. As another example, a change shape button may be selected by the user to change a shape or type of the selected graphical object. As another example, a fill color button may be selected to set a fill color of the selected graphical object. As another example, a text font button may be selected to set a text font of the selected graphical object. As another example, a font size button may be selected to change the font size of text included in the selected graphical object. As another example, one or more text formatting buttons may be selected to set a corresponding one of various text attributes of text within the selected graphical object, such as bold, italics, underline, strikethrough, or alignment and/or to insert hyperlinks in the text. As another example, a reaction button may be selected to react to the selected graphical object. As another example, a tagging button may be selected to apply a tag to the selected graphical object. As another example, a lock button may be selected to lock the position, size, text, or other attribute(s) of the selected graphical object.

The particular options or buttons included in the contextual formatting menu bar308may vary depending on the selected graphical object. For example, the fill color button and text formatting buttons may be included in the contextual formatting menu bar308when the selected graphical object is a sticky note or other graphical object that has a fill color and text, but may be omitted from the contextual formatting menu bar308when the selected graphical object is a connector or other graphical object that lacks a fill color and text. The contextual formatting menu bar308may disappear when no graphical object is selected.

In some embodiments, selection of a graphical object may highlight the selected object and/or reveal controls that are visible while the graphical object remains selected and disappear when the graphical object is not selected. For example,FIG.3Ashows that while the sticky note329is selected, it is outlined to highlight it and controls for rotation, resizing, and connectors are displayed. In some embodiments, the rotation control (e.g., the curved bidirectional arrow above and to the left of the sticky note329) may be grabbed and dragged (e.g., by operation of a mouse or other input device) generally around the sticky note329to rotate the sticky note329. Alternatively or additionally, the resizing control (e.g., the four circles at the four corners of the sticky note329and/or the four sides of the sticky note329) may be grabbed and dragged inward to decrease the size of the sticky note329or outward to increase the size of the sticky note329. Alternatively or additionally, the connector control (e.g., the curved arrow within the circle to the right of the sticky note329) may be grabbed and dragged from a given side of the sticky note to generate a connector that begins at the given side and terminates where the connector is released (e.g., by operation of the mouse or other input device).

The menu bar310may include one or more buttons or other widgets that provide various control in the virtual team space318. For example, a table of contents button may be selected by the user to navigate between different sections of the virtual team space318that are designated by frames or other particular type of container by, e.g., selecting a name of a given frame or section from a table of contents. As another example, an undo button may be selected by the user to undo an immediately preceding operation of the user in the virtual team space318. As another example, a redo button may be selected by the user to redo an immediately preceding operation of the user in the virtual team space318. As another example, a zoom widget may include a zoom-in button (“+” inFIG.3A) to zoom in on the virtual team space318, a zoom-out button (“−” inFIG.3A) to zoom out on the virtual team space318, and a zoom level field (illustrated as “100%” inFIG.3A) that may indicate the current zoom level and/or within which the user may type a value of a desired zoom level to change the zoom to the desired zoom level without using the zoom-in or zoom-out buttons. As another example, a full-screen button may be selected to change to full-screen view, and this button may change to a reduce screen button in the full-screen view where selection of the reduce screen button changes back to a reduced screen view. A mini map button may be selected to open a navigation interface for the virtual team space318.

With continued reference toFIG.3A, the virtual team space318includes various structural elements including containers345-349. Each container345-349may include an outline and a container name. For example, the container345has a name of “Notes”, the container346has a name of “To do”, the container347has a name of “In Progress”, the container348has a name of “Done”, and the container349has a name of “Resources”. The containers345-349may each include any content or no content. For instance, the container345includes sticky notes330-333, the containers346-348each include one or more task graphical objects350-353, and the container349includes one or more document preview graphical objects354,355.

The task graphical objects350-353may be generated within the virtual team space318or imported from another document or application. For example, the task graphical objects350-353may represent issues imported from JIRA or other application.

The document preview graphical objects354,355may each graphically represent an embedded document within the virtual team space318. Each embedded document may be of any suitable type, such as a whiteboard document, diagram document, word processing document, spreadsheet document, or the like. Each document preview graphical object354,355may indicate the type of the corresponding embedded document. As illustrated, each document preview graphical object354,355includes a name of the corresponding embedded document, e.g., “File1” or “File2”, and an icon next to the name that indicates the type of the corresponding embedded document. In this example, the icon next to the name “File1” of the document preview graphical object354is an asterisk that indicates in this example that the corresponding embedded document is a whiteboard document while the icon next to the name “File2” of the document preview graphical object355is two opposing caret symbols that indicates in this example that the corresponding embedded document is a diagram document. Each document preview graphical object354,355may additionally include a thumbnail preview of the corresponding embedded document. In response to selection of a given one of the document preview graphical objects354,355, the corresponding embedded document may be opened. Some embedded files may be expanded directly within the virtual team space318responsive to selection of a given one of the document preview graphical objects354,355, allowing users to view and edit the content of the embedded file without opening a new tab or leaving the virtual team space318. Other embedded files may open in a separate tab or application in response to selection of a given one of the document preview graphical objects354,355. The document preview graphical objects354,355(and other document preview graphical objects) may alternatively synonymously be referred to as embedded documents as each document preview graphical object specifically represents a corresponding embedded document and is selected to open the corresponding embedded document with the virtual team space318.

Documents may be embedded in the virtual team space318in any suitable manner. In some embodiments, a set of one or more graphical objects may be selected as a group, in response to which the virtual team application214may display a menu bar or other interface that includes a button or option to embed a document of a specified type in the virtual team space with the selected one or more graphical objects. In response to input to create the embedded document of the specified type (e.g., in response to selection of the relevant button or option from the menu bar), the virtual team application214may create, in the virtual team space318, the embedded document of the specified type, the embedded document including the selected set of one or more graphical objects. The virtual team application214may create and display in the virtual team application a corresponding document preview graphical object.

Alternatively or additionally, the virtual team application214may add contextual content to the document preview graphical object. The contextual content may include a description, summary, or the like input by a user into a text field of the document preview graphical object. For instance, each of the document preview graphical objects354,355includes a text field labeled “Description” inFIG.3Ain which a user can position their mouse cursor and enter the contextual content (e.g., description, summary, etc.), in response to which the virtual team application214may add the contextual content to the corresponding document preview graphical object354,355.

In some embodiments, containers in the virtual team space318may be designated as containers of content to be persisted across time periods of the virtual team space318or as containers of content to be refreshed. A container designated as a container of content to be persisted may be referred to as a persistent container. A container designated as a container of content to be refreshed may be referred to as a refreshable container. A container may be designated as a persistent container or a refreshable container in any suitable manner. For instance, a container may be selected (e.g., via right click, left click, or in some other manner), in response to which a popup menu, a contextual formatting menu bar, or other interface may be displayed that includes a first button (e.g., a persist button) and a second button (e.g., a refresh button). Selection of the first button may designate the container as a persistent container while selection of the second button may designate the container as a refreshable container. As another example, the popup menu, contextual formatting menu bar, or other interface displayed in connection with selection (e.g., right click, left click, or other selection) of the container may include a radio button that may be toggled between a persist option or a refresh option where toggling the radio button to the persist option designates the container as a persistent container and toggling the radio button to the refresh option designates the container as a refreshable container.

Alternatively or additionally, content in the virtual team space318may be designated as content to be persisted across time periods of the virtual team space318or as content to be wiped (e.g., content to be removed from the current time period of the virtual team space318following and/or in response to creation of a latest time period of the virtual team space318).

Content designated as content to be persisted may be referred to as persistent content. Content designated as content to be wiped may be referred to as wipeable content. Content may be designated as persistent content or wipeable content in any suitable manner. For instance, content (such as a sticky note, text box graphical object, embedded file, image, or the like) may be selected (e.g., via right click, left click, or in some other manner), in response to which a popup menu, a contextual formatting menu bar, or other interface may be displayed that includes a first button (e.g., a wipe button). Optionally, the interface may also include a second button (e.g., a refresh button). Selection of the first button may designate the content as persistent content while selection of the second button, if present, may designate the content as wipeable content. As another example, the popup menu, contextual formatting menu bar, or other interface displayed in connection with selection (e.g., right click, left click, or other selection) of the container may include a radio button that may be toggled between a persist state or a wipe state where toggling the radio button to the persist state designates the content as persistent content and toggling the radio button to the wipeable state designates the content as wipeable content. Alternatively or additionally, content may be designated as wipeable content by designating a container in which the content is located as a refreshable container. In some embodiments, all content within a refreshable container that has not been designated as persistent content may be designated as wipeable content.

Alternatively or additionally, the designation of structure or content may be modified over time (e.g., by a user) to update how the structure or content is treated when time periods are created. For example, persistent content that has persisted across numerous time periods may have its designation changed to refreshable content or wipeable content, may have its persist designation removed (if the content is located within a refreshable container), or may otherwise have its persist designation modified to have it wiped or refreshed, in which case the content may be wiped (in the case of wipeable content) or a portion of the content may be wiped while another portion of the content persists (in the case of refreshable content) the next time a time period is created.

In some embodiments, a container or other structure that is not designated as a persistent container/structure or a refreshable container/structure may be wiped from the current version of the virtual team space318following and/or in response to creation of a latest time period. In some other embodiments, each container or other structure may have a default designation of refreshable container (or persistent container) which may be changed to persistent container (or refreshable container) through appropriate input (e.g., selection of the container to open an interface that includes a persist button (or a refresh button) that may be selected to designate the container as desired).

Alternatively or additionally, the virtual team application214may visually indicate for one or more containers (or other structure) or content in a given virtual team space318whether the container or content is persistent, refreshable, and/or wipeable. For example, as illustrated inFIG.3A, a status icon356-360is provided near the top right corner of each of the containers345-349and is associated with the corresponding one of the containers345-349. As further illustrated inFIG.3A, a status icon361-364is provided near the right side and/or top right of each of various text box graphical objects and the sticky note332. The text box graphical objects include one with the text “Meeting”, another with the text “Project Progress”, and another with the text “Action Items”. The status icon356is associated with the container345, the status icon357is associated with the container346, the status icon358is associated with the container347, the status icon359is associated with the container348, the status icon360is associated with the container349, the status icon361is associated with the “Meeting” text box graphical object, the status icon362is associated with the “Project Progress” text box graphical object, the status icon363is associated with the sticky note332, and the status icon364is associated with the “Action Items” text box graphical object. In the illustrated embodiment, the status icons356and359are the same while the status icons357,358, and360-364are the same. One type of status icon may visually indicate containers designated as persistent containers or content designated as persistent content while another type of status icon may visually indicate containers designated as refreshable containers. For example, each of the status icons357,358, and360-364visually indicates that the corresponding container345or349or content is persistent while each of the status icons356,359visually indicates that the corresponding container345or359is refreshable.

FIG.3Afurther illustrates an example legend366(or table of icons) that may be displayed (e.g., by the visual collaboration application214) to explain the meaning of the two types of status icons. For example, the legend366includes status icons367and368together with explanations of the meaning of the status icons367and368. The explanation for the status icon367is “Content persists”, thereby indicating that content bearing the same status icon as the status icon367, or content within a container bearing the same status icon as the status icon367, persists across time periods of the visual collaboration space318. The containers346,347, and349and content bearing the same status icons357,358, and360-364as the status icon367have been designated as persistent containers or persistent content, as indicated by the status icons357,358, and360-364. The explanation for the status icon368is “Only structure persists”, thereby indicating that content within a container bearing the same status icon as the status icon368is wiped from the current version of the visual collaboration space318following and/or in response to creation of a latest time period of the virtual team space318. The containers345and349bearing the same status icons356and359as the status icon368have been designated as refreshable containers, as indicated by the status icons356and359. In some embodiments, the legend366may be closed (e.g., by selection of the “x” button in the top right corner of the legend366) or opened by a user

In some embodiments, content within a refreshable container may nevertheless be persistent content. For example, the container345is a refreshable container as indicated by the status icon356while the sticky note332is persistent content as indicated by the status icon363, despite being located within the refreshable container345. Accordingly, following and/or in response to creation of a latest time period of the virtual team space318, the sticky notes330,331, and333will be wiped from the current version of the virtual team space318because they are located within the refreshable container345and are not individually designated as persistent content (as indicated by the absence of a status icon that is the same as the status icon367) while the sticky note332will be persisted in the current version of the virtual team space318since it is designated as persistent content (as indicated by the status icon363that is the same as the status icon367).

In some embodiments, the UI displayed by the virtual team application214may include a new time period button370, a time period list button372, and/or other interface elements relating to versioning of the virtual team space318.

In response to selection of the new time period button370, the virtual team application214may create a new (or current) time period of the virtual team space318(e.g., at a particular point in time) and then following and/or in response to creation of the new time period, persist or wipe structure or content in or from the new time period of the virtual team space318based on, e.g., the designations of the structure or content. Alternatively or additionally, the virtual team application214may display a confirmation interface in which a user can provide input to cancel creation of the new time period or confirm creation of the new time period. In some embodiments, the interface may include a warning to advise the user that the current time period may become a prior time period with limited functionality (e.g., compared to the new time period of the virtual team space318).

FIG.3Cincludes an example graphical representation300C of the UI ofFIG.3Afollowing selection of the new time period button370, arranged in accordance with at least one embodiment described herein. The legend366is not displayed inFIG.3C(e.g., as a result of being closed by a user).

As illustrated, a confirmation interface374is displayed by the virtual team application214in the virtual team space318, e.g., in response to selection of the new time period button370. The confirmation interface374includes a cancel button376and a confirm button378. Selection of the cancel button376may cause the virtual team application214to cancel creation of a new time period. Selection of the confirm button378may cause the virtual team application to create the new time period. The confirmation interface374may further include a warning380to advise the user that the current time period may become a prior time period with limited functionality compared to the new time period. In this example, the warning380advises that a prior team period cannot be edited but content may be copied or shared from a prior team period or comments regarding content may be added to the prior time period.

FIG.3Dincludes an example graphical representation300D of the UI ofFIG.3Afollowing creation of a new time period, arranged in accordance with at least one embodiment described herein.FIG.3Ddepicts the new time period of the virtual team space318whileFIG.3Adepicts what was the current time period of the virtual team space318prior to creation of the new time period and has now become a prior time period of the virtual team space318following creation of the new time period. For convenience in the discussion that follows, the time period of the virtual team space318illustrated inFIG.3Awill be referred to as the prior time period of the virtual team space318.

As illustrated, and with comparison ofFIG.3AtoFIG.3D, creation of the new time period may cause and/or be followed by one or more of the following.

First, structure may be persisted across the time periods of the virtual team space318. For example, each of the containers345-349is persisted across the time periods in the current version of the virtual team space318as each of the containers345-349is structure that persists across time periods in the virtual team space318. As shown, the containers345-349have persisted from the prior time period of the virtual team space318ofFIG.3Ato the new time period of the virtual team space318ofFIG.3B.

Second, content designated as persistent content may be persisted across the time periods of the virtual team space318. For example, sticky note332and text box graphical objects361,362, and364individually designated as persistent content (as indicated by status icons361-364) are persisted from the prior time period of the virtual team space318ofFIG.3Ato the new time period of the virtual team space318ofFIG.3D. Similarly, all content collectively designated as persistent content by inclusion in a corresponding one of containers346,347, and349designated as a persistent container (as indicated by status icons357,358, and360) is persisted across the time periods of the virtual team space318. In particular, task graphical objects350-352and embedded documents354,355are persisted from the prior time period of the virtual team space318ofFIG.3Ato the new time period of the virtual team space318ofFIG.3Dsince each is included in a corresponding one of containers346,347, or349designated as a persistent container (as indicated by status icons357,358,360).

Third, undesignated content may be wiped. For example, undesignated sticky notes328and329that are on the canvas302without being in any containers as well as undesignated sticky notes330,331, and333and undesignated task graphical object353that are in containers345and348designated as refreshable containers (as indicated by icons356,359) may be wiped. As such, the foregoing graphical objects, while illustrated inFIG.3A, are absent fromFIG.3Das a result of being wiped.

In some embodiments, the time period list button372includes a filename and/or period of time of the virtual team space318in the canvas302. In this example, the filename is “Project Team” (see also field312in the menu bar304) and the period of time is “12/19/22-” inFIGS.3A and3Cand “12/26/22-” inFIG.3D. When the period of time included in the time period list button372includes a single date followed by a hyphen, this may indicate the current time period of the virtual team space318is displayed on the canvas302. The single date in this example may refer to the beginning date of the current period of time. On the other hand, when the period of time in the time period list button372includes two dates separated by a hyphen, this may indicate a time period of the virtual team space318covering the period of time is displayed on the canvas302. The two dates in this example may include a start date and an end date. The start date may indicate the date on which the time period was created and the end date may indicate the date on which an immediately subsequent time period was created. Alternatively, the dates may be entered manually and may differ from the actual creation date. For example, a user may create a new time period on one day for a sprint that starts on a subsequent day and may set the start date as the subsequent day. Other schemes may be implemented to identify the period of time and/or the time period of the virtual team space318currently displayed on the canvas302. For example, the time period list button372may include “Current” to indicate that the current time period of the virtual team space318is displayed on the canvas302(rather than including a single date followed by a hyphen) or a single date or timestamp to indicate a beginning or end date or beginning or end time of a time period of the virtual team space318that is currently displayed on the canvas302. Alternatively, the time period list button372may not identify at all any time period, period of time, or version of the virtual team space318currently displayed on the canvas302, or a user may manually enter a description or title for each time period.

In response to selection of the time period list button372, the virtual team application214may display (e.g., in a popup menu or other interface) a list of one or more time periods of the virtual team space318. In response to selection of a corresponding time period from the list, the virtual team application214may open the selected time period of the virtual team space318in the canvas302. Alternatively or additionally, a user may select one or more time periods to be deleted from the list.

FIG.3Eincludes an example graphical representation300E of the UI ofFIG.3Dfollowing selection of the time period list button372or other input to access a time period, arranged in accordance with at least one embodiment described herein. As illustrated, the virtual team application214may display, in response to selection of the time period list button372, an interface382including a list of one or more time periods of the virtual team space318. As illustrated, the list represents each of the time periods using a thumbnail image384,386of the time period. The interface382may present the list of one or more time periods in any other suitable form. The thumbnail image386represents the current time period of the virtual team space318and the thumbnail image384represents the most recent prior time period of the virtual team space318. Selection of either thumbnail image384,386will open the corresponding time period on the canvas302(unless already opened). In some embodiments, a given thumbnail image384,386may be highlighted in response to the user hovering their mouse over the thumbnail image384,386and/or in response to the user selecting the thumbnail image384,386. For example, as illustrated inFIG.3E, the thumbnail image384is highlighted (as indicated by a thicker outline than the thumbnail image386) to indicate that the user's mouse is hovering over the thumbnail image384.

Some embodiments herein may leverage virtual team spaces, such as the virtual team spaces114,318, as virtual bullpens or virtual home bases for teams of users. Such a virtual team space may be referred to as a team space. A given team space may be accessible to all users (e.g., within an organization or group of users), may have limited access for only team members of a team associated with the team space, or the like. In these and other embodiments, the UI ofFIG.3Amay further include a team roster388, as illustrated inFIGS.3A and3C-3E.

The team roster388may identify some or all users of a team associated with the virtual team space318. In general, the users may be identified by or with a corresponding user icon in the team roster388. Each user icon may include a name, username, avatar, photograph, image, or other representation of a given user. In the illustrated embodiment, the user icon of each user includes an image and name (first name and last initial) of the user. The team roster388may be scrollable, may have multiple columns and/or rows of user icons, and/or may have any other arrangement to accommodate user icons for all team members of the team. In some embodiments, a given user may be assigned to or associated with a given task or other content by dragging and dropping a corresponding user icon from the team roster388to the task or other content.

FIG.4illustrates a flowchart of an example method400to manage a virtual team space, arranged in accordance with at least one embodiment described herein. The method400may be performed by any suitable system, apparatus, or device. For example, any one or more of the client devices204,206,208, the virtual team application214, and/or the server202ofFIG.2may2may perform or direct performance of one or more of the operations associated with the method400. In these and other embodiments, the method400may be performed or controlled by one or more processors based on one or more computer-readable instructions stored on one or more non-transitory computer-readable media. Alternatively or additionally, embodiments herein may include a non-transitory computer-readable medium having computer-readable instructions stored thereon that are executable by a processor to perform or control performance of the method400or one or more operations thereof. The method400may include one or more of blocks402,404,406, and/or408.

At block402, the method400may include creating a new version or new time period of a canvas-based space. The canvas-based space may include, for example, the virtual team space212ofFIG.2or the virtual team space318ofFIG.3. The new time period may be created in response to input, such as user input, requesting creation of the new time period. For example, the new time period may be created in response to selection of the new time period button370and/or the confirm button378ofFIG.3D. Creating the new time period may include saving a point-in-time copy of the virtual team space. Alternatively or additionally, the new time period may be created automatically such as at a specified date or cadence (e.g., every other Monday) or based on a linked calendar event (e.g., create new time period on a date that a certain meeting happens). Following and/or in response to creation of the new time period, block402may be followed by one or more of blocks404,406, and/or408.

At block404, the method400may include persisting structure in the new time period (or current version or time period) of the canvas-based space. Persisting structure in the new time period of the canvas-based space may include retaining, in the new time period of the canvas-based space following creation of the new time period, structure that existed in an immediately prior time period of the canvas-based space. As an example, and referring toFIGS.3A and3D, persisting structure may include retaining in the new time period of the virtual team space318the containers345-349that existed in the immediately prior time period of the virtual team space318.

At block406, the method400may include persisting relevant content in the new time period (or current version or time period) of the canvas-based space. Relevant content may include content designated manually or automatically as persistent content or refreshable content. Persisting the relevant content in the new time period of the canvas-based space may include retaining, in the new time period of the canvas-based space, the relevant content from the immediately prior time period of the canvas-based space. As an example, and referring toFIGS.3A and3D, persisting relevant content may include retaining in the new time period of the virtual team space318the sticky note332, the task graphical objects350-352, and the embedded documents354,355that existed in the immediately prior time period of the virtual team space318based on the designation of the sticky note332, the task graphical objects350-352, and the embedded documents354,355as persistent content.

At block408, the method400may include wiping non-relevant content from the new time period (or current version or time period) of the canvas-based space. Wiping non-relevant content from the new time period of the canvas-based space may include deleting or removing the non-relevant content from the new time period of the canvas-based space. As an example, and referring toFIGS.3A and3D, wiping non-relevant content from the new time period of the canvas-based space may include deleting from the new time period of the virtual team space318the sticky notes328-331and333and the task graphical object353, as illustrated inFIG.3D.

One skilled in the art will appreciate that, for this and other processes and methods disclosed herein, the functions performed in the processes and methods may be implemented in differing order. Furthermore, the outlined steps and operations are only provided as examples, and some of the steps and operations may be optional, combined into fewer steps and operations, or expanded into additional steps and operations without detracting from the essence of the disclosed embodiments. For instance, the method400may be combined with one or more other methods and processes described herein and/or steps or operations of the method400may be substituted for steps or operations of one or more other methods and processes, or vice versa.

For example, the method400may further include creating multiple time periods (or versions) of the canvas-based space over time and providing access to each of the multiple time periods to one or more users. The time periods may be created periodically according to a regular cadence, randomly, or with any other timing. Users may access the time periods through an appropriate interface, such as the interface382described with respect toFIG.3E.

As another example, the method400may further include saving at least some of a revision history of the canvas-based space and providing access to the revision history to one or more users. The revision history may include a record of all or at least some changes made to the current time period of the canvas-based space since its creation. In some embodiments, a user may access the revision history and select one or more of the changes to undo or revert.

As another example, the method400may further include, prior to creating the new time period, receiving first input effective to designate the relevant content as content to persist across time periods of the canvas-based space. The first input may include input to individually designate the relevant content as content to persist, such as selection of a persist button while the relevant content is selected. The first input may include input to designate a group of content that includes the relevant content as content to persist, such as selection of a persist button while the group of content is selected. Alternatively or additionally, the method400may further include, prior to creating the new time period, receiving second input effective to designate a container within which the non-relevant content is located as a container to be refreshed across time periods of the canvas-based space. The second input may include, e.g., selection of a refresh button while the container is selected.

As another example, the method400may further include displaying a team roster that represents a team including multiple team members, such as the team roster388ofFIGS.3A and3C-3E. The team roster may include multiple user icons that each represents a different one of the team members. The user icons may include a first user icon that represents a first team member of the team members. The method400may further include receiving input to associate the first user icon with a graphical object in the canvas-based space. Receiving input to associate the first user icon with the graphical object may include receiving input to drag the first user icon from the team roster and drop the first user icon on the graphical object in the canvas-based space. The method400may further include associating the first team member represented by the first user icon with the graphical object. Associating the first team member represented by the first user icon with the graphical object may include assigning a task associated with the graphical object to the first team member. The method400may further include adding an identifier of the first team member to the graphical object to indicate the association of the first team member with the graphical object. In some embodiments, dragging and dropping a team member (or more particularly, a user icon from the team roster that represents a team member) onto content may be effective to designate the content as persistent content.

As another example, the method400may further include providing access to the virtual team space to each team member of a team that includes multiple team members. The method400may further include receiving input to designate at least one of the following as the first content to be persisted: one or more decisions to be made by the team collectively or by one or more of the team members; tasks to be completed by one or more of the team members; a project timeline; a set of one or more goals of the team collectively or of one or more of the team members; or a set of one or more documents used or expected to be used on a recurring basis by the team.

As another example, the method400may further include receiving input to select a set of one or more graphical objects. The method400may further include receiving input to create an embedded document of a specified type with the selected set of one or more graphical objects. The method400may further include creating, in the canvas-based space, the embedded document of the specified type, the embedded document including the selected set of one or more graphical objects. The method400may further include adding contextual content to a document preview graphical object in the canvas-based space in response to input to add the contextual content. The document preview graphical object may represent the embedded document. The method400may further include, in response to selection of the document preview graphical object, opening the embedded document within an application corresponding to documents of the specified type and running the application with the opened embedded document within the canvas-based space.

In some embodiments of the method400, the persisted structure, e.g., the structure that is persisted at block404, includes at least one of a container, a purpose-dedicated section, or other structural element.

In some embodiments of the method400, the persisted content, e.g., the relevant content persisted at block406, includes at least one of: a sticky note graphical object; a task graphical object; a text box graphical object; a graphical diagram; a calendar; a project timeline; an organization chart; an embedded document; a team wiki; or team resources.

In some embodiments of the method400, the wiped content, e.g., the non-relevant content wiped at block408, includes at least one of: a sticky note graphical object; a task graphical object; a text box graphical object; a graphical diagram; a calendar; meeting notes; standup notes; or completed task graphical objects.

FIG.5illustrates a flowchart of another example method500to manage a virtual team space, arranged in accordance with at least one embodiment described herein. The method500may be performed by any suitable system, apparatus, or device. For example, any one or more of the client devices204,206,208, the virtual team application214, and/or the server202ofFIG.2may perform or direct performance of one or more of the operations associated with the method500. In these and other embodiments, the method500may be performed or controlled by one or more processors based on one or more computer-readable instructions stored on one or more non-transitory computer-readable media. Alternatively or additionally, embodiments herein may include a non-transitory computer-readable medium having computer-readable instructions stored thereon that are executable by a processor to perform or control performance of the method500or one or more operations thereof. The method500may include one or more of blocks502,504,506,508,510,512,514, and/or516.

At block502, the method500may include opening a template that includes at least first and second containers in a canvas-based space. The template may be opened in response to user input from within an already open virtual team space, such as selection of the insert button326from the menu bar306ofFIG.3A, followed by selection of the template button344from the popup menu334ofFIG.3B, followed by selection of a desired template. In another example, the template may be opened from a template gallery, e.g., in a docslist, selection of which may be effective to open a new virtual team space with structure as specified in the template. Block502may be followed by block504.

At block504, the method500may include receiving first input to designate the first container as a container of content to be persisted in the canvas-based space. Receiving input to designate the first container as a persistent container may include receiving input to select a persist button displayed in an interface while the first container is selected. Block504may be followed by block506.

At block506, the method500may include receiving second input to designate the second container as a container of content to be refreshed in the canvas-based space. Receiving input to designate the second container as a refreshable container may include receiving input to select a refresh button displayed in an interface while the second container is selected. Block506may be followed by block508.

At block508, the method500may include receiving third input to create a new time period of the canvas-based space. Receiving third input to create a new time period of the canvas-based space may include receiving input to select the new time period button370and/or the confirm button378ofFIG.3C. Alternatively or additionally, the new time period may be created automatically such as at a specified date or cadence (e.g., every other Monday) or based on a linked calendar event (e.g., create new time period on a date that a certain meeting happens).

The method500may further include creating the new time period of the canvas-based space. Following and/or in response to creation of the new time period, block508may be followed by one or more of blocks512,514, and/or516.

At block510, the method500may include persisting structure including the first and second containers in the canvas-based space. Persisting structure including the first and second containers in the canvas-based space may include retaining, in the new time period of the canvas-based space, structure that existed in an immediately prior time period of the canvas-based space. As an example, and referring toFIGS.3A and3D, persisting structure including the first and second containers in the new time period of the canvas-based space may include retaining in the new time period of the virtual team space318(FIG.3D) the containers349and345that existed in the immediately prior time period of the virtual team space318(FIG.3A).

At block512, the method500may include persisting, in the new time period of the canvas-based space, all content within the first container based on the designation of the first container as a container of content to be persisted. Persisting all content within the first container based on the designation of the first container as a container of content to be persisted may include retaining, in the new time period of the canvas-based space following creation of the new time period, all content within the first container that existed in the immediately prior time period of the canvas-based space prior to creation of the new time period. As an example, and referring toFIGS.3A and3D, persisting all content within the first container based on the designation of the first container as a container of content to be persisted may include retaining, in the new time period of the virtual team space318, the embedded documents354,355within the container349that existed in the immediately prior time period of the virtual team space318prior to creation of the new time period.

At block514, the method500may include wiping all undesignated content within the second container from the new time period of the canvas-based space. Wiping all undesignated content within the second container from the new time period of the canvas-based space may include deleting or removing all the undesignated content within the second container from the new time period of the canvas-based space. As an example, and referring toFIGS.3A and3D, wiping all undesignated content within the second container from the new time period of the canvas-based space may include deleting from the new time period of the virtual team space318the sticky notes330,331, and333within the container345that existed in the immediately prior time period of the virtual team space318.

In some embodiments, the method500may further include, prior to receiving the third input at block508, receiving additional input to designate first content within the second container as content to be persisted. Receiving additional input to designate first content within the second container as content to be persisted may include receiving input to select a persist button displayed in an interface while the first content is selected. For example, receiving the additional input to designate the first content within the second container as content to be persisted may include receiving input to select a persist button displayed in an interface while the sticky note332within the container345is selected. The method500may further include, following creation of the new time period, persisting, in the new time period of the canvas-based space, the first content within the second container based on the designation of the first content as content to be persisted. As an example, and referring toFIGS.3A and3D, persisting the first content within the second container based on the designation of the first content as content to be persisted may include retaining, in the new time period of the virtual team space318, the sticky note332within the container345that existed in the immediately prior time period of the virtual team space318prior to creation of the new time period.

In some embodiments, the method500may further include, prior to receiving the third input, receiving additional input to designate first content in the canvas-based space that is outside of any containers in the canvas-based space as content to be persisted. Receiving additional input to designate first content in the canvas-based space that is outside of any containers as content to be persisted may include receiving input to select a persist button displayed in an interface while the first content is selected. For example, and referring toFIG.3A, receiving the additional input to designate first content in the canvas-based space that is outside of any containers as content to be persisted may include receiving input to select a persist button displayed in an interface while the text box graphical object “Meeting” is selected, the text box graphical object “Meeting” being outside of all containers345-349(or any other containers) in the virtual team space318. The method500may further include, following creation of the new time period, persisting, in the new time period of the canvas-based space, the first content that is outside of any of the containers based on the designation of the first content as content to be persisted. As an example, and referring toFIGS.3A and3D, persisting the first content that is outside of any of the containers based on the designation of the first content as content to be persisted may include retaining, in the new time period of the virtual team space318, the text box graphical object “Meeting” that existed in the immediately prior time period of the virtual team space318.

In some embodiments, the template opened at block502may be a first template and the method500may further include opening a second template in the canvas-based space such that both the first template and the second template are simultaneously open in the canvas-based space at different locations. The second template may be opened in the same, similar, or different manner as the first template.

In some embodiments, the method500may further include associating a first team member with a graphical object in the virtual team space. The first team member may be a member of a team that has access to the virtual team space. Associating the first team member with the graphical object may be performed in response to receiving input to drag and drop a first user icon that represents the first team member from a team roster onto the graphical object. The team roster may include a different user icon for each team member of the team. Associating the first team member with the graphical object may include assigning a task associated with the graphical object to the first team member. Alternatively or additionally, the method500may include adding an identifier of the first team member to the graphical object to indicate the association of the first team member with the graphical object. In some embodiments, dragging and dropping a team member (or more particularly, a user icon from the team roster that represents a team member) onto content may be effective to designate the content as persistent content.

In some embodiments, the method500may further include receiving input to embed a document of a specified type into the canvas-based space. The method500may further include embedding, in the canvas-based space, the document of the specified type. The method500may further include adding contextual content to a document preview graphical object in the canvas-based space in response to input to add the contextual content, the document preview graphical object representing the embedded document. The method500may further include displaying the added contextual content in the document preview graphical object.

FIG.6is a block diagram illustrating an example computing device600that is arranged to manage virtual team spaces, arranged in accordance with at least one embodiment described herein. The computing device600may include, be included in, or otherwise correspond to either or both of the server202or the client devices204,206,208ofFIG.2. In a basic configuration602, the computing device600typically includes one or more processors604and a system memory606. A memory bus608may be used to communicate between the processor604and the system memory606.

Depending on the desired configuration, the processor604may be of any type including, but not limited to, a microprocessor (μP), a microcontroller (μC), a digital signal processor (DSP), or any combination thereof. The processor604may include one or more levels of caching, such as a level one cache610and a level two cache612, a processor core614, and registers616. The processor core614may include an arithmetic logic unit (ALU), a floating point unit (FPU), a digital signal processing core (DSP Core), or any combination thereof. An example memory controller618may also be used with the processor604, or in some implementations the memory controller618may include an internal part of the processor604.

Depending on the desired configuration, the system memory606may be of any type including volatile memory (such as RAM), nonvolatile memory (such as ROM, flash memory, etc.), or any combination thereof. The system memory606may include an operating system620, one or more applications622, and program data624. The application622may include a virtual team application626that is arranged to manage virtual team spaces. The virtual team application626may include, be included in, or otherwise correspond to the virtual team application214of

FIG.2. The program data624may include virtual team spaces628(which may include, be included in, or otherwise correspond to the virtual team spaces212ofFIG.2,318ofFIGS.2A-2E, or other virtual team spaces) as is described herein, structured source data collections (such as structured source data216ofFIG.2), models of structured source data (such as models224ofFIG.2) and/or other collaboration data. In some embodiments, the application622may be arranged to operate with the program data624on the operating system620such that one or more methods or operations may be provided as described herein.

The computing device600may have additional features or functionality, and additional interfaces to facilitate communications between the basic configuration602and any involved devices and interfaces. For example, a bus/interface controller630may be used to facilitate communications between the basic configuration602and one or more data storage devices632via a storage interface bus634. The data storage devices632may be removable storage devices636, non-removable storage devices638, or a combination thereof. Examples of removable storage and non-removable storage devices include magnetic disk devices such as flexible disk drives and hard-disk drives (HDDs), optical disk drives such as compact disk (CD) drives or digital versatile disk (DVD) drives, solid state drives (SSDs), and tape drives to name a few. Example computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules, or other data.

The system memory606, the removable storage devices636, and the non-removable storage devices638are examples of computer storage media or non-transitory computer-readable media. Computer storage media or non-transitory computer-readable media includes RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVDs) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium which may be used to store the desired information and which may be accessed by the computing device600. Any such computer storage media or non-transitory computer-readable media may be part of the computing device600.

The computing device600may also include an interface bus640to facilitate communication from various interface devices (e.g., output devices642, peripheral interfaces644, and communication devices646) to the basic configuration602via the bus/interface controller630. The output devices642include a graphics processing unit648and an audio processing unit650, which may be configured to communicate to various external devices such as a display or speakers via one or more A/V ports652. Diagrams, flowcharts, organizational charts, connectors, and/or other graphical objects generated by the diagram application626may be output through the graphics processing unit648to such a display. The peripheral interfaces644include a serial interface controller654or a parallel interface controller656, which may be configured to communicate with external devices such as input devices (e.g., keyboard, mouse, pen, voice input device, touch input device, etc.), sensors, or other peripheral devices (e.g., printer, scanner, etc.) via one or more I/O ports658. Such input devices may be operated by a user to provide input to the diagram application626, which input may be effective to, e.g., generate curved connectors, designate points as designated points of one or more curved connectors, relocate one or more designated points, and/or to accomplish other operations within the diagram application626. The communication devices646include a network controller660, which may be arranged to facilitate communications with one or more other computing devices662over a network communication link via one or more communication ports664.

The computing device600may be implemented as a portion of a small-form factor portable (or mobile) electronic device such as a smartphone, a personal data assistant (PDA) or an application-specific device. The computing device600may also be implemented as a personal computer including tablet computer, laptop computer, and/or non-laptop computer configurations, or a server computer including both rack-mounted server computer and blade server computer configurations.

Embodiments described herein may be implemented using computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media may be any available media that may be accessed by a general-purpose or special-purpose computer. By way of example, such computer-readable media may include non-transitory computer-readable storage media including RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory devices (e.g., solid state memory devices), or any other storage medium which may be used to carry or store desired program code in the form of computer-executable instructions or data structures and which may be accessed by a general-purpose or special-purpose computer. Combinations of the above may also be included within the scope of computer-readable media.

Computer-executable instructions may include, for example, instructions and data which cause a general-purpose computer, special-purpose computer, or special-purpose processing device (e.g., one or more processors) to perform a certain function or group of functions. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Unless specific arrangements described herein are mutually exclusive with one another, the various implementations described herein can be combined to enhance system functionality or to produce complementary functions. Likewise, aspects of the implementations may be implemented in standalone arrangements. Thus, the above description has been given by way of example only and modification in detail may be made within the scope of the present invention.

With respect to the use of substantially any plural or singular terms herein, those having skill in the art can translate from the plural to the singular or from the singular to the plural as is appropriate to the context or application. The various singular/plural permutations may be expressly set forth herein for sake of clarity. A reference to an element in the singular is not intended to mean “one and only one” unless specifically stated, but rather “one or more.” Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the above description.

Furthermore, in those instances where a convention analogous to “at least one of A, B, and C, etc.” is used, in general, such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, and C” would include but not be limited to systems that include A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B, and C together, etc.). Also, a phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to include one of the terms, either of the terms, or both terms. For example, the phrase “A or B” will be understood to include the possibilities of “A” or “B” or “A and B.”