The present technology relates to collaboration systems that enable users to collaborate in a virtual workspace in a collaboration session. More specifically, the technology relates to efficiently searching sources of digital assets, curating search results and sharing search results with other users in a collaboration session.
A user can search one or more sources of digital images or digital asset management (DAM) systems using search keywords. When the user receives search results from a source of digital images (e.g., a search engine, or a proprietary digital asset management system), it is difficult to share the search results with other users. The user can either download all search results to a local storage and then send the search results via an email or some other medium to the other users. The user could also upload the search results to a cloud-based storage and send a link to the storage location to other users so that they can view the search results. This method is very time consuming and may not be very useful, especially when there are a large number of digital images. The user who has performed the search could send a link that initiates a similar or same search to the other users. The other users can select the link to rerun the similar or same search. However, the other users may get different search results due to various reasons. For example, different geographical locations of users can cause differences in search results as some digital images may not be available in certain geographical location of the world. Further, when different users use the same link to rerun a search at different times, they can receive different search results as some digital images may not be available or accessible to the search engine at a later time or there may be new digital images that are available, such that different results are provided to the users based on when the search is performed. In some cases, accessing the link can provide the digital images to different users in different order or in a different arrangement. All these issues can reduce the effectiveness of search, review and selection of digital images.
An opportunity arises to provide a technique for efficient searching, reviewing and sharing of digital assets in a collaboration session between multiple users.
A system and method for operation a server node are disclosed. The method includes searching, by the server node, one or more sources of digital assets in dependence on one or more keywords received from a client node participating in a collaboration session. The method includes curating, by the server node, results of the searching as digital assets in a workspace. The digital assets are curated into separate canvases within the workspace in dependence on at least one criterion. The digital assets being identified in data that is accessible by client nodes participating in the collaboration session. The method includes providing, to the client node, the data identifying the curated digital assets.
The one or more sources of digital assets includes one or more publicly available sources of images. The one or more publicly available sources of images include at least one of Getty Images™, Shutterstock™, iStock™, Giphy™, Instagram™, and Twitter™. The one or more sources of digital assets includes a proprietary digital asset management (or DAM) system. The at least one criterion according to which the digital assets can be curated into separate canvases includes a selected source from the one or more sources of digital assets. The at least one criterion according to which the digital assets can be curated into separate canvases includes identification of users participating in the collaboration session. The at least one criterion according to which the digital assets can be curated into separate canvases includes a type of content of each of the digital assets.
The data provided by the server node to the client node comprises a spatial event map identifying a log of events in the workspace. The entries within the log of events include respective locations of digital assets related to (i) events in the workspace and (ii) times of the events. A particular event identified by the spatial event map is related to the curation of a digital asset of the digital assets.
In one implementation, the curating of the digital assets can further include generating, by the server node, an update event related to a particular digital asset of the digital assets. The method includes sending the update event to the client nodes. The spatial event map, received at respective client nodes, is updated to identify the update event and to allow display of the particular digital asset at an identified location in the workspace in respective display spaces of respective client nodes. The identified location of the particular digital asset can be received by the server node in an input event from a client node.
The curating of the digital assets further includes generating, by the server node, another update event related to the particular digital asset. The method includes sending the other update event to the client nodes. The spatial event map, received at respective client nodes, can be updated to identify the other update event and to allow removal of the particular digital asset from the identified location at which the particular digital asset is displayed in the workspace in respective display spaces of respective client nodes. The other update event allows display of an updated workspace at respective client nodes. The updated workspace does not allow for display of the removed digital asset.
The curating of the digital assets further includes generating, by the server node, a group of digital assets returned from a selected source of the one or more sources of digital assets. The method includes generating, by the server node, an update event related to the group of digital assets. The method includes sending the update event to the client nodes. The spatial event map, received at respective client nodes, can be updated to identify the update event and to allow display of the group of digital assets in the workspace in respective display spaces of respective client nodes.
In one implementation, the method further includes searching, by the server node, the one or more sources of digital assets in dependence on one or more new keywords received from the client node participating in the collaboration session.
In one implementation, the method further includes searching, by the server node, the curated results in dependence on one or more new keywords received from the client node participating in the collaboration session.
In one implementation, the method further includes storing, by the server node, the curated results of the searching as digital assets in a storage device. The method includes generating, by the server node, a universal resource locator (URL) addressing the stored curated results of the searching. The method includes providing the URL to a client node to allow access to the curated results.
In one implementation, the method further includes storing, by the server node, the one or more keywords as received from a client node and that had been used for the searching of the one or more sources of digital assets. The method includes providing the one or more keywords with the URL to the client node.
In one implementation, the method further includes receiving, by the server node, the results of the searching of the one or more sources of digital assets in a webpage. The method includes providing, to the client node, the webpage including the data identifying the curated digital assets.
A system including one or more processors coupled to memory is provided. The memory is loaded with computer instructions to operate a server node. The instructions, when executed on the one or more processors, implement operations presented in the method described above.
Computer program products which can execute the methods presented above are also described herein (e.g., a non-transitory computer-readable recording medium having a program recorded thereon, wherein, when the program is executed by one or more processors the one or more processors can perform the methods and operations described above).
Other aspects and advantages of the present technology can be seen on review of the drawings, the detailed description, and the claims, which follow.
The technology will be described with respect to specific embodiments thereof, and reference will be made to the drawings, which are not drawn to scale, described below.
A detailed description of embodiments of the present technology is provided with reference to
The following description is presented to enable a person skilled in the art to make and use the technology and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present technology. Thus, the present technology is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
Collaboration systems are used in a variety of environments to allow users to contribute and participate in content generation and review. Users of collaboration systems can join collaboration sessions from remote locations around the world. A participant in a collaboration session can share digital assets or content with other participants in the collaboration session, using a digital whiteboard (also referred as a virtual workspace, a workspace, an online whiteboard, etc.). The digital assets can be documents such as word processor files, spreadsheets, slide decks, notes, program code, etc. Digital assets can also be native or non-native graphical objects such as images, videos, line drawings, annotations, etc. The digital assets can also include websites, webpages, web applications, cloud-based or other types of software applications that execute in a window or in a browser displayed on the workspace.
Users of collaboration systems can join collaboration sessions from remote locations around the globe. A user can provide search keywords to allow searching of digital assets or content from multiple sources of digital assets. The digital assets can be curated and shared with other users. The user can start a collaboration session with other users to review search results and perform further searching and curation of digital assets. Users can search for digital assets such as images, videos, documents, or text, using, from within or outside of the collaboration system, search engines (e.g., Getty Images™, Shutterstock™™, iStock, Giphy™, Instagram™ Twitter™, Google™ or any other digital asset management system) the search results cannot be easily shared with other users who may be working on the same project/collaboration. For example, when a user wants to share the images, videos, documents, etc., for collaborative work, the user will need to copy the search results into a separate document (or platform) and then share the document (or access to the platform) with other users. Specifically, the user will need to download the results of their search or copy various links to the results and then share the downloaded results of their search or the copied links to search results with other users. This process is cumbersome and does not allow for easy and quick review of search results such as images, videos, documents, etc.
The technology disclosed is related to efficient search of digital assets from a plurality of sources of digital assets or digital asset management systems. Examples of sources of digital assets or digital asset management systems include Getty Images™, Shutterstock™ i Stock™, Giphy™, Instagram™, Twitter™, Google™ or any other digital asset management system. Combinations of two or more sources of digital assets or digital asset management (DAM) systems can be searched as well. A participant or a user can invite additional participants or users to join and collaboratively conduct further search, review and/or curation of search results (i.e., digital assets). The technology disclosed allows both registered users and anonymous users (who are not registered with the system) to participate in collaborative search and curation of digital assets. One or more participants in a collaboration session can be anonymous participants that are not registered with the system. They can join the collaboration session anonymously (such as guest users) without providing credentials (such as a username and/or password or another type of access credential) or user account information. A group of participants in a collaboration session can include some participants that are registered users of the system and some other participants that are anonymous users and are not registered with the system. The technology disclosed allows participants of a collaboration session to collaboratively search the digital assets in a collaboration session. The participants can collaborate in this search of digital assets in a synchronous (i.e., at the same time in a collaboration session) and as well as in an asynchronous manner (i.e., independently at different times). The technology disclosed allows a user to invite any number of new participants to the collaborative search session with no additional registration required. The invited participants can join the collaboration search session as anonymous participants.
The participants of the collaboration session can review the search results and select digital assets during the collaboration session based on review and discussion amongst participants. The selected digital assets can then be used for a next phase of the project or shared with other teams or users for their consumption. Thus, technology disclosed saves time and effort required by multiple users to search independently and then review search results of other users. All participants of the meeting can work together and conduct multi-user search in the same collaboration session.
Search results can be saved to a container (such as a spatial event map). Such container is shareable and multi-party and/or multi-user enabled. One or more users who searched for digital assets or who are participating in the collaboration session can curate the digital assets. In some cases, the curation of digital assets can be performed automatically based on pre-defined criteria. A user can then share the curated digital assets with other users by simply sharing the container. When shared with other users, all users of the collaboration session can independently search and curate digital assets in the same collaboration space. The search results received from the sources of digital assets can be ephemeral i.e., temporarily stored in the spatial event map (or the sharable container). The curated digital assets can be stored permanently while the remaining search results may be discarded. One or more users can provide further search keywords for performing a new search of the digital assets from sources of digital assets. Therefore, the search and curation process can be performed iteratively by the participants of the collaboration session. The users of the collaboration session can also search the search results using search keywords.
The technology disclosed provides two implementations to conduct the multi-user search and curation of digital assets. In a first implementation of the technology disclosed, the participants (or users) collaborate using a collaboration system. In a second implementation of the technology disclosed, the participants (or users) can collaborate using a web-based system.
When using the first implementation (i.e., using the collaboration system), the users of the collaboration system can perform the following operations. Within a collaboration environment, a first user can initiate a search by entering one or more search keywords and pressing a search button. The user can also search using non-text type of inputs. For example, the user can upload an image or a video to search the sources of digital assets using the uploaded image or video in the search query. The collaboration environment presents a user interface element that allows a user to select one more sources of digital assets to search. The user provides one or more keywords to populate the search results. The server node (or collaboration server) then conducts the searching process by passing the search keywords and other search parameters to sources of digital assets such as search engines or digital asset management systems. The search results, as received from sources of digital assets, are populated from the multiple sources of digital assets. In some cases, only selected search results are displayed for viewing by the users. The search results can be automatically curated to different canvases, based on the one or more selected sources or based on other criteria. One or more users can select a “refresh” option and in response the canvas displaying search results can display new search results received from the source of digital assets (randomized, serial, etc.). In one implementation, for refresh feature, search results can be displayed by randomly selecting one or more digital assets from search results. In another implementation, for refresh feature, the collaboration server (or server node) can select search results in a sequential or serial manner in the order in which search results are received from the source of digital assets. The users can add more rows or columns of images in canvases to display more search results. A user who has access to the collaboration environment can access the multiple canvases and the results stored in the canvases.
In a second implementation (i.e., using web-based system) of the technology disclosed, the users of the collaboration system can perform the following operations. A user navigates to a web page (e.g., <<www.popsync.io>>) which is the landing page for searching the digital assets. The user can select multiple sources of digital assets for searching. The user can perform keyword search from one or more selected sources of digital assets. The user can enter search keywords. The user can also search the sources of digital assets using non-text type of inputs. For example, the user can upload an image or a video to search the sources of digital assets using the uploaded image or video in the search query. The system populates the user interface with digital assets retrieved from multiple sources. The system can automatically curate results from multiple sources using multiple generated canvases, where each canvas shows results from a different source. The system can generate link to a workspace storing the multiple canvases storing the results. The workspace is accessible to anyone with a link to the workspace.
Some key elements of the collaboration system are presented below, followed by further details of the technology disclosed.
In order to support an unlimited amount of spatial information for a given collaboration session, the technology disclosed provides a way to organize a virtual space termed the “workspace”. The workspace can be characterized by a multi-dimensional and in some cases two-dimensional plane with essentially unlimited extent in one or more dimensions for example, in such a way that new content can be added to the space. The content can be arranged and rearranged in the space, and a user can navigate from one part of the space to another.
Digital assets (or objects), as described above in more detail, are arranged on the virtual workspace (or shared virtual workspace). Their locations in the workspace are important for performing the gestures. One or more digital displays in the collaboration session can display a portion of the workspace, where locations on the display are mapped to locations in the workspace. The digital assets can be arranged in canvases (also referred to as sections or containers). Multiple canvases can be placed on a workspace. The digital assets can be arranged in canvases based on various criteria. For example, digital assets can be arranged in separate canvases based on their respective source of digital asset or based on digital asset management system from where the digital asset has been accessed. The digital assets can be arranged in separate canvases based on users or participants. The search results of each user can be arranged in a separate canvas (or section). Other criteria can be used to arrange digital assets in separate canvases, for example type of content (such as videos, images, PDFs documents, etc.), category of content (such as cars, trucks, bikes, etc.). The categories of content can be defined in a hierarchical manner. For example, a category “animals” can have two sub-categories as “mammals”, “non-mammals”, etc.
The technology disclosed provides a way to organize digital assets in a virtual space termed as the workspace (or virtual workspace), which can, for example, be characterized by a 2-dimensional plane (along X-axis and Y-axis) with essentially unlimited extent in one or both dimensions, for example. The workspace is organized in such a way that new content such as digital assets can be added to the space, that content can be arranged and rearranged in the space, that a user can navigate from one part of the space to another, and that a user can easily find needed things in the space when it is needed. The technology disclosed can also organize content on a 3-dimensional workspace (along X-axis, Y-axis, and Z-axis).
One or more digital displays in the collaboration session can display a portion of the workspace, where locations on the display are mapped to locations in the workspace. A mapped area, also known as a viewport within the workspace is rendered on a physical screen space. Because the entire workspace is addressable using coordinates of locations, any portion of the workspace that a user may be viewing itself has a location, width, and height in coordinate space. The concept of a portion of a workspace can be referred to as a “viewport”. The coordinates of the viewport are mapped to the coordinates of the screen space. The coordinates of the viewport can be changed which can change the objects contained within the viewport, and the change would be rendered on the screen space of the display client. Details of workspace and viewport are presented in our U.S. application Ser. No. 15/791,351 (Atty. Docket No. HAWT 1025-1), entitled, “Virtual Workspace Including Shared Viewport Markers in a Collaboration System,” filed Oct. 23, 2017, which is incorporated by reference and fully set forth herein. Participants in a collaboration session can use digital displays of various sizes ranging from large format displays of sizes five feet or more and small format devices that have display sizes of a few inches. One participant of a collaboration session may share content (or a viewport) from their large format display, wherein the shared content or viewport may not be adequately presented for viewing on the small format device of another user in the same collaboration session. The technology disclosed can automatically adjust the zoom sizes of the various display devices so that content is displayed at an appropriate zoom level.
Participants of the collaboration session can work on the workspace (or virtual workspace) that can extend in two dimensions (along x and y coordinates) or three dimensions (along x, y, z coordinates). The size of the workspace can be extended along any dimension as desired and therefore can considered as an “unlimited workspace”. The technology disclosed includes data structures and logic to track how people (or users) and devices interact with the workspace over time. The technology disclosed includes a so-called “spatial event map” (SEM) to track interaction of participants with the workspace over time. The spatial event map contains information needed to define digital assets and events in a workspace. It is useful to consider the technology from the point of view of space, events, maps of events in the space, and access to the space by multiple users, including multiple simultaneous users. The spatial event map can be considered (or represent) a sharable container of digital assets that can be shared with other users. The spatial event map includes location data of the digital assets in a two-dimensional or a three-dimensional space. The technology disclosed uses the location data and other information about the digital assets (such as the type of digital asset, shape, color, etc.) to display digital assets on the digital display linked to computing devices used by the participants of the collaboration session.
A spatial event map contains content in the workspace for a given collaboration session. The spatial event map defines arrangement of digital assets on the workspace. Their locations in the workspace are important for performing gestures. The spatial event map contains information needed to define digital assets, their locations, and events in the workspace. A spatial events map system, maps portions of workspace to a digital display e.g., a touch enabled display. Details of workspace and spatial event map are presented in our U.S. application Ser. No. 14/090,830 (Atty. Docket No. HAWT 1011-2), entitled, “Collaboration System Including a Spatial Event Map,” filed Nov. 26, 2013, now issued as U.S. Pat. No. 10,304,037, which is incorporated by reference and fully set forth herein.
The technology disclosed can be generate search results that are received from sources of digital assets directly placed or saved in a collaborative search space (such as the spatial event map or SEM). The search results can be arranged in canvases (or sections) that are categorized by pre-defined criteria such as sources of digital assets, categories of content, users, etc. The technology disclosed allows sharing the search results with other users by simply inviting a user to the collaboration session. The server (also referred to as the collaboration server) sends the spatial event map or at least a portion of the spatial event map to the new user. The data provided by the server node to the client node comprises a spatial event map identifying a log of events in the workspace. The entries within the log of events can include respective locations of digital assets related to (i) events in the workspace and (ii) times of the events, and wherein a particular event identified by the spatial event map being is related to the curation of a digital asset of the digital assets. The search results are displayed on the display screen of the new user. Therefore, the technology disclosed uses the spatial event map technology for collaborative search and curation of digital asset from one or more sources of digital assets.
Interactions with the workspace (or virtual workspace) can be handled as events. People, via tangible user interface devices, and systems can interact with the workspace. Events have data that can define or point to a target digital asset to be displayed on a physical display, and an action as creation, modification, movement within the workspace and deletion of a target digital asset, and metadata associated with them. Metadata can include information such as originator, date, time, location in the workspace, event type, security information, and other metadata.
The curating of the digital assets can include, generating, by the server node (or collaboration server), an update event related to a particular digital asset of the digital assets. The server node includes logic to send the update event to the client nodes. The spatial event map (SEM), received at respective client nodes, is updated to identify the update event and to allow display of the particular digital asset at an identified location in the workspace in respective display spaces of respective client nodes. The identified location of the particular digital asset can be received by the server node in an input event from a client node.
The curating of the digital assets can also include generating by the server node an update event related to a digital asset of the digital assets when the digital asset is removed or deleted from the workspace (or the canvas or the section). Such an update event can also be generated when a user selects to refresh one or more digital assets or search results. In this case, the digital asset is removed from the workspace (or the canvas) and the updated workspace does not allow for display of the removed digital asset.
The curating of the digital assets can also include generating, by the server node, a group of digital assets returned from a selected source from of the one or more sources of digital assets. In this case, the server node generates an update event related to the group of digital assets. The server node sends the update event to the client nodes. The spatial event map, received at respective client nodes, can be updated to identify the update event and to allow display of the grouped of digital assets in the workspace in respective display spaces of respective client nodes.
Tracking events in a workspace enables the system to not only present the spatial events in a workspace in its current state, but to share it with multiple users on multiple displays, to share relevant external information that may pertain to the content and the understanding of how the spatial data evolves over time. Also, the spatial event map can have a reasonable size in terms of the amount of data needed, while also defining an unbounded workspace. Further details of the technology disclosed are presented below with reference to
In an illustrative embodiment, a display array can have a displayable area usable as a screen space totaling on the order of 6 feet in height and 30 feet in width, which is wide enough for multiple users to stand at different parts of the wall and manipulate it simultaneously. It is understood that large format displays with displayable area greater than or less than the example displayable area presented above can be used by participants of the collaboration system. The user devices, which are referred to as client nodes, have displays on which a screen space is allocated for displaying events in a workspace. The screen space for a given user may comprise the entire screen of the display, a subset of the screen, a window to be displayed on the screen and so on, such that each has a limited area or extent compared to the virtually unlimited extent of the workspace.
The collaboration system of
In one implementation, when a user searches multiple sources of digital assets, that user's canvas can have multiple sub-canvases, each displaying digital assets from respective source of digital assets. Therefore, the curator 110 can arrange digital assets in a hierarchical arrangement of canvases.
Another example of a criterion for curating of digital assets into separate canvases includes a type of content of digital assets. For example, the search results can be arranged into separate canvases based on the type of content such as PDF documents, images, videos, etc. Additional criteria can be defined by users for curation of digital assets. For example, the users can select certain digital assets and assign a higher priority to selected digital assets. The curator 110 can arrange the higher priority digital assets in a separate canvas. The users can also perform gestures such as select multiple digital assets using a pointer or by using a finger on a touch-enabled digital display. The selected digital assets can be arranged in a separate canvas. Further operations and/or workflows can be performed on the curated digital assets. For example, the curator 110 can send the high priority digital assets to participants in an email or the high priority digital assets can be sent to another workspace which is accessible to another group of users. This is helpful for large projects where multiple teams are working on a project. One team can collaboratively search and review the digital assets. The curator 110 can then send selected digital assets to another team for next steps in the project.
As used herein, a physical network node is an active electronic device that is attached to a network, and is capable of sending, receiving, or forwarding information over a communication channel. Examples of electronic devices which can be deployed as network nodes, include all varieties of computers, workstations, laptop computers, handheld computers and smart phones. As used herein, the term “database” does not necessarily imply any unity of structure. For example, two or more separate databases, when considered together, still constitute a “database” as that term is used herein.
The application running at the collaboration server 205 can be hosted using software such as Apache or nginx, or a runtime environment such as node.js. It can be hosted for example on virtual machines running operating systems such as LINUX. The collaboration server 205 is illustrated, heuristically, in
The database 206 stores, for example, a digital representation of workspace data sets for a spatial event map of each session where the workspace data set can include or identify events related to objects displayable on a display canvas, which is a portion of a virtual workspace. The database 206 can store digital assets and information associated therewith, as well as store the raw data, intermediate data and graphical data at different fidelity levels, as described above. A workspace data set can be implemented in the form of a spatial event stack, managed so that at least persistent spatial events (called historic events) are added to the stack (push) and removed from the stack (pop) in a first-in-last-out pattern during an undo operation. There can be workspace data sets for many different workspaces. A data set for a given workspace can be configured in a database or as a machine-readable document linked to the workspace. The workspace can have unlimited or virtually unlimited dimensions. The workspace data includes event data structures identifying digital assets displayable by a display client in the display area on a display wall and associates a time and a location in the workspace with the digital assets identified by the event data structures. Each device 102 displays only a portion of the overall workspace. A display wall has a display area for displaying objects, the display area being mapped to a corresponding area in the workspace that corresponds to a viewport in the workspace centered on, or otherwise located with, a user location in the workspace. The mapping of the display area to a corresponding viewport in the workspace is usable by the display client to identify digital assets in the workspace data within the display area to be rendered on the display, and to identify digital assets to which to link user touch inputs at positions in the display area on the display.
The collaboration server 205 and database 206 can constitute a server node, including memory storing a log of events relating to digital assets having locations in a workspace, entries in the log including a location in the workspace of the digital asset of the event, a time of the event, a target identifier of the digital asset of the event, as well as any additional information related to digital assets, as described herein. The collaboration server 205 can include logic to establish links to a plurality of active client nodes (e.g., devices 102), to receive messages identifying events relating to modification and creation of digital assets having locations in the workspace, to add events to the log in response to said messages, and to distribute messages relating to events identified in messages received from a particular client node to other active client nodes.
The collaboration server 205 includes logic that implements an application program interface, including a specified set of procedures and parameters, by which to send messages carrying portions of the log to client nodes, and to receive messages from client nodes carrying data identifying events relating to digital assets which have locations in the workspace. Also, the logic in the collaboration server 205 can include an application interface including a process to distribute events received from one client node to other client nodes.
The events compliant with the API can include a first class of event (history event) to be stored in the log and distributed to other client nodes, and a second class of event (ephemeral event) to be distributed to other client nodes but not stored in the log.
The collaboration server 205 can store workspace data sets for a plurality of workspaces and provide the workspace data to the display clients participating in the session. The workspace data is then used by the computer systems 210 with appropriate (client) software 212 including display client software, to determine images to display on the display, and to assign digital assets for interaction to locations on the display surface. The server 205 can store and maintain a multitude of workspaces, for different collaboration sessions. Each workspace can be associated with an organization or a group of users and configured for access only by authorized users in the group.
In some alternatives, the collaboration server 205 can keep track of a “viewport” for each device 102, indicating the portion of the display canvas (or canvas) viewable on that device, and can provide to each device 102 data needed to render the viewport. The display canvas is a portion of the virtual workspace. Application software running on the client device responsible for rendering drawing objects, handling user inputs, and communicating with the server can be based on HTML5 or other markup-based procedures and run in a browser environment. This allows for easy support of many different client operating system environments.
The user interface data stored in database 206 includes various types of digital assets including graphical constructs (drawings, annotations, graphical shapes, etc.), image bitmaps, video objects, multi-page documents, scalable vector graphics, and the like. The devices 102 are each in communication with the collaboration server 205 via a communication network 204. The communication network 204 can include all forms of networking components, such as LANs, WANs, routers, switches, Wi-Fi components, cellular components, wired and optical components, and the internet. In one scenario two or more of the users 101 are located in the same room, and their devices 102 communicate via Wi-Fi with the collaboration server 205.
In another scenario two or more of the users 101 are separated from each other by thousands of miles and their devices 102 communicate with the collaboration server 205 via the internet. The walls 102c, 102d, 102e can be multi-touch devices which not only display images, but also can sense user gestures provided by touching the display surfaces with either a stylus or a part of the body such as one or more fingers. In some embodiments, a wall (e.g., 102c) can distinguish between a touch by one or more fingers (or an entire hand, for example), and a touch by the stylus. In one embodiment, the wall senses touch by emitting infrared light and detecting light received; light reflected from a user's finger has a characteristic which the wall distinguishes from ambient received light. The stylus emits its own infrared light in a manner that the wall can distinguish from both ambient light and light reflected from a user's finger. The wall 102c may, for example, be an array of Model No. MT553UTBL MultiTaction Cells, manufactured by MultiTouch Ltd, Helsinki, Finland, tiled both vertically and horizontally. In order to provide a variety of expressive means, the wall 102c is operated in such a way that it maintains a “state.” That is, it may react to a given input differently depending on (among other things) the sequence of inputs. For example, using a toolbar, a user can select any of a number of available brush styles and colors. Once selected, the wall is in a state in which subsequent strokes by the stylus will draw a line using the selected brush style and color.
The order illustrated in the simplified flow diagram 1301 (in
The process in
The server node can then initiate the search by passing the search keywords to one or more sources of digital assets or digital asset management systems (operation 1315). The sources of digital assets can send back the search results to the server node. The server node can download the search results or at least a part of the search results (or digital assets) from the respective servers that host (or store) these digital assets. In one implementation, the search results can be ephemeral (or temporary). The search results are not stored to the storage linked to the server node as the search results are received from sources of digital assets. The search results are placed in the spatial event map and distributed to client nodes. The curated and selected search results are then stored in a storage and remaining search results can be discarded.
The server node includes logic to curate the search results to facilitate the review of search results by participants in a collaboration session (operation 1320). The curation can be performed based on pre-defined criteria. For example, the server node can arrange the search results in separate canvases per source of digital asset. In this case one canvas (or section) displays search results from a single source of digital assets. When multiple users are searching the digital assets in a collaboration session by providing respective search keywords, server node can arrange the search results in a canvas per user. This facilitates review of each participant's work as each participant's search results are presented in a separate canvas. The search results can also be arranged based on the type of digital assets. For example, images, videos, PDF documents, presentation slide decks, source code, web pages, etc. are arranged in separate canvases to facilitate review of digital assets. It is understood that additional criterion can be defined for curating digital assets. In one implementation, a trained machine learning model can be used to classify digital assets in different classes. The machine learning model can be trained to classify the search results based on a type of the digital asset, or based on content, etc. The digital assets are automatically arranged in various canvases (or sections).
The server node can store the curated digital assets in a storage, for example, a local storage drive linked to the server node or a cloud-based storage accessible via the Internet (operation 1325). Storing the search results (or digital assets) on a storage helps the technology disclosed to share the search results with client nodes using a spatial event map. The client nodes do not need to access the external web servers or external resources to access the search results. Additionally, the same search results are available to all users irrespective of their geographic location or distance from other users. Therefore, the technology disclosed enables ease of searching, sharing and review of digital assets.
The server node includes logic to provide the curated search results to the client nodes of users participating in the collaboration session (operation 1330). The user can review the search results and further curate and/or select digital assets. The curated and selected digital assets can then be stored for further review and remaining search results may be discarded. The technology disclosed allows multiple users to collaboratively work to review and curate the digital assets. The technology disclosed also include presence awareness markers that indicate the location of each user on the workspace. This allows users to know the locations (or canvases) on which other users are working during review and curation process.
The server node can receive one or more new search keywords, if a participant needs to perform a further search of the sources of digital assets (“yes” branch of operation 1335). The process then repeats the operations described above starting from operation 1310. Otherwise, the search process ends following the “no” branch of operation 1335.
The search, review and curation process can be performed iteratively to refine the search results. Multiple users can collaboratively work in this iterative process. The users can select, edit or annotate search results. They can add comments on the digital assets or add annotations for other participants to review. Chat sessions can be initiated from within the virtual workspace during these search and curation session to facilitate the process. A final curated set of searched digital assets can be saved and used for further collaboration, sharing, project management, etc. Any number of users or participants can join the collaborative search and curation of digital assets. Registered and non-registered users (such as guest or anonymous) users can work together in search and curation of digital assets. Each user can also save their individual search and review results in a separate container such as a canvas for further work in a next collaboration session. The technology disclosed can be used in enterprise collaboration environments during projects that require collaborative search and curation of digital assets such as in development of new product ideas, user interface design, film production such as production of animated movies, etc. The technology disclosed can be used in search, review, curation and organization of digital assets for enterprise collaboration projects. The technology disclosed can be used in brainstorming sessions which are carried out in the beginning of any project whether it is a small project or a large project involving multiple teams. Therefore, the technology disclosed is useful both in an enterprise project management environment involving tens or hundreds of users as well as for an individual user's project which may involve a few other users.
The physical hardware component of network interfaces is sometimes referred to as network interface cards (NICs), although they need not be in the form of cards: for instance, they could be in the form of integrated circuits (ICs) and connectors fitted directly onto a motherboard, or in the form of macrocells fabricated on a single integrated circuit chip with other components of the computer system.
User interface input devices 1422 may include a keyboard, pointing devices such as a mouse, trackball, touchpad, or graphics tablet, a scanner, a touch screen incorporated into the display (including the touch sensitive portions of large format digital display such as 102c), audio input devices such as voice recognition systems, microphones, and other types of tangible input devices. In general, use of the term “input device” is intended to include all possible types of devices and ways to input information into the computer system or onto communication network 204.
User interface output devices 1420 may include a display subsystem, a printer, a fax machine, or non-visual displays such as audio output devices. The display subsystem may include a cathode ray tube (CRT), a flat panel device such as a liquid crystal display (LCD), a projection device, or some other mechanism for creating a visible image. The display subsystem may also provide non-visual display such as via audio output devices. In general, use of the term “output device” is intended to include all possible types of devices and ways to output information from the computer system to the user or to another machine or computer system.
Storage subsystem 1424 stores the basic programming and data constructs that provide the functionality of certain embodiments of the present invention.
The storage subsystem 1424 when used for implementation of server nodes, comprises a product including a non-transitory computer readable medium storing a machine-readable data structure including a spatial event map which locates events in a workspace, wherein the spatial event map includes a log of events, entries in the log having a location of a graphical target of the event in the workspace and a time. Also, the storage subsystem 1424 comprises a product including executable instructions for performing the procedures described herein associated with the server node.
The storage subsystem 1424 when used for implementation of client-nodes, comprises a product including a non-transitory computer readable medium storing a machine readable data structure including a spatial event map in the form of a cached copy as explained below, which locates events in a workspace, wherein the spatial event map includes a log of events, entries in the log having a location of a graphical target of the event in the workspace and a time. Also, the storage subsystem 1424 comprises a product including executable instructions for performing the procedures described herein associated with the client node.
For example, the various modules implementing the functionality of certain embodiments of the invention may be stored in storage subsystem 1424. These software modules are generally executed by processor subsystem 1414.
Memory subsystem 1426 typically includes a number of memories including a main random-access memory (RAM) 1430 for storage of instructions and data during program execution and a read only memory (ROM) 1432 in which fixed instructions are stored. File storage subsystem 1428 provides persistent storage for program and data files, and may include a hard disk drive, a floppy disk drive along with associated removable media, a CD ROM drive, an optical drive, or removable media cartridges. The databases and modules implementing the functionality of certain embodiments of the invention may have been provided on a computer readable medium such as one or more CD-ROMs and may be stored by file storage subsystem 1428. The host memory 1426 contains, among other things, computer instructions which, when executed by the processor subsystem 1414, cause the computer system to operate or perform functions as described herein. As used herein, processes and software that are said to run in or on the “host” or the “computer,” execute on the processor subsystem 1414 in response to computer instructions and data in the host memory subsystem 1426 including any other local or remote storage for such instructions and data.
Bus subsystem 1412 provides a mechanism for letting the various components and subsystems of a computer system communicate with each other as intended. Although bus subsystem 1412 is shown schematically as a single bus, alternative embodiments of the bus subsystem may use multiple busses.
The computer system 1410 itself can be of varying types including a personal computer, a portable computer, a workstation, a computer terminal, a network computer, a television, a mainframe, a server farm, or any other data processing system or user device. In one embodiment, a computer system includes several computer systems, each controlling one of the tiles that make up the large format display such as 102c. Due to the ever-changing nature of computers and networks, the description of computer system 210 depicted in
Certain information about the drawing regions active on the digital display 102c are stored in a database accessible to the computer system 210 of the display client. The database can take on many forms in different embodiments, including but not limited to a MongoDB database, an XML database, a relational database, or an object-oriented database.
The applicant hereby discloses in isolation each individual feature described herein and any combination of two or more such features, to the extent that such features or combinations are capable of being carried out based on the present specification as a whole in light of the common general knowledge of a person skilled in the art, irrespective of whether such features or combinations of features solve any problems disclosed herein, and without limitation to the scope of the claims. The applicant indicates that aspects of the present technology may consist of any such feature or combination of features. In view of the foregoing description, it will be evident to a person skilled in the art that various modifications may be made within the scope of the technology.
The foregoing description of preferred embodiments of the present technology has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the technology to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in this art. For example, though the displays described herein are of large format, small format displays can also be arranged to use multiple drawing regions, though multiple drawing regions are more useful for displays that are at least as large as 12 feet in width. In particular, and without limitation, any and all variations described, suggested by the Background section of this patent application or by the material incorporated by reference are specifically incorporated by reference into the description herein of embodiments of the technology. In addition, any and all variations described, suggested or incorporated by reference herein with respect to any one embodiment are also to be considered taught with respect to all other embodiments. The embodiments described herein were chosen and described in order to best explain the principles of the technology and its practical application, thereby enabling others skilled in the art to understand the technology for various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the technology be defined by the following claims and their equivalents.
This application claims the benefit of U.S. Provisional Patent Application No. 63/357,602 (Attorney Docket No. HAWT 1045-1), entitled, “Multi-User Searching of Sources Digital Assets and Curation of Search Results in a Collaboration Session,” filed on 30 Jun. 2022, which application is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
63357602 | Jun 2022 | US |