COLLABORATION SYSTEM INCLUDING MARKERS IDENTIFYING MULTIPLE CANVASES IN A SHARED VIRTUAL WORKSPACE
A node of a collaboration system is provided to establish communication with other nodes, store data identifying graphical targets having locations in a virtual workspace and including locations in the virtual workspace of the identified graphical targets, and compute a mapping of a local client viewport to a local client screen space. The node is configured to render on the local client screen space graphical targets having locations within the local client viewport, provide a user interface to display a list of viewport markers representing viewports, where each viewport defines an area in the workspace, and respond to an input indicating a selected viewport marker from the list of viewport markers, update the local client viewport to match the location and dimensions of the viewport represented by the selected viewport marker, and render on the local client screen space graphical targets having locations within the updated local client viewport.
1 . A method for operating a server node including a processor, the method comprising:
providing, to a client node, data to allow the client node to display a client canvas corresponding to a location in a virtual workspace; and
providing, to the client node, data to allow the client node to display a user interface that:
displays one or more markers representing one or more predefined canvases within the virtual workspace, each predefined canvas defining an area within the virtual workspace; and
allows, in response to a marker being selected:
updating of the location of the client canvas to match a location of the predefined canvas represented by the selected marker, regardless of whether a creator of the predefined canvas is actively viewing the predefined canvas; and
displaying an object in the updated location of the client canvas.
2 . The method of claim 1 , further comprising storing metadata associated with a predefined canvas within the virtual workspace.
3 . The method of claim 2 , wherein:
the metadata includes an access list identifying users that are permitted to display objects having locations within the predefined canvas; and
the method further includes prohibiting displaying of the objects having locations within the predefined canvas when a user is not identified by the access list.
4 . The method of claim 2 , wherein:
the metadata includes an access list identifying client nodes that are permitted to display objects having locations within the predefined canvas; and
the method further includes prohibiting displaying of the objects having locations within the predefined canvas when a client node is not identified by the access list.
5 . The method of claim 2 , wherein:
the metadata includes a title of the predefined canvas; and
the method further includes providing data to allow the title of the predefined canvas to be included with the one or more markers.
6 . The method of claim 2 , wherein:
the metadata identifies one or more contextual menu items associated with the predefined canvas; and
the method further includes providing data to allow displaying, by the client node, of the one or more contextual menu items associated with the predefined canvas.
7 . The method of claim 2 , wherein:
the metadata includes a zoom-in indicator; and
the method further includes providing data to allow displaying of objects included in the predefined canvas using a zoom-in level while still allowing the displayed objects to remain displayed by the client node in their entirety.
8 . The method of claim 2 , wherein the metadata includes information that links the predefined canvas to a different canvas that is within the virtual workspace and that is associated with the predefined canvas.
9 . A server node, the server node comprising:
a processor configured with logic to implement operations comprising:
providing, to a client node, data to allow the client node to display a client canvas corresponding to a location in a virtual workspace; and
providing, to the client node, data to allow the client node to display a user interface that:
displays one or more markers representing one or more predefined canvases within the virtual workspace, each predefined canvas defining an area within the virtual workspace; and
allows, in response to a marker being selected:
updating of the location of the client canvas to match a location of the predefined canvas represented by the selected marker, regardless of whether a creator of the predefined canvas is actively viewing the predefined canvas; and
displaying an object in the updated location of the client canvas.
10 . The server node of claim 9 , wherein the processor is further configured with logic to implement operations comprising:
receiving data identifying a predefined canvas and including metadata associated with the predefined canvas; and
adding a marker representing the predefined canvas.
11 . The server node of claim 10 , wherein:
the metadata includes an access list identifying users that are permitted to display objects having locations within the predefined canvas; and
the operations further include prohibiting displaying of the objects having locations within the predefined canvas when a user of the client node is not identified by the access list.
12 . The server node of claim 10 , wherein:
the metadata includes an access list identifying client nodes that are permitted to display objects having locations within the predefined canvas; and
the operations further include prohibiting displaying of the objects having locations within the predefined canvas when a client node is not identified by the access list.
13 . The server node of claim 10 , wherein:
the metadata includes a title of the predefined canvas; and
the operations further include providing data to allow the title of the predefined canvas to be included with the one or more markers.
14 . The server node of claim 10 , wherein:
the metadata identifies a color corresponding to the predefined canvas; and
the operations further include providing data to allow displaying, by the client node, of the marker representing the predefined canvas in the color identified by the metadata.
15 . The server node of claim 10 , wherein:
the metadata identifies one or more contextual menu items associated with the predefined canvas; and
the operations further include providing data to allow displaying, by the client node, of the one or more contextual menu items associated with the predefined canvas.
16 . The server node of claim 10 , wherein:
the metadata includes a zoom-in indicator; and
the operations further include providing data to allow displaying of objects included in the predefined canvas using a zoom-in level while still allowing the displayed objects to remain displayed by the client node in their entirety.
17 . The server node of claim 10 , wherein:
the metadata includes information that links the predefined canvas to a different canvas that is within the virtual workspace and that is associated with the predefined canvas; and
the operations further include, upon receiving a user instruction to walk to a next canvas:
updating the location and dimensions, in the virtual workspace, of the client canvas to match a location and dimensions, in the virtual workspace, of the different canvas; and
providing data to allow display, by the client node, of objects located within the updated location of the client canvas.
18 . The server node of claim 9 , wherein the processor is further configured with logic to implement operations comprising:
creating a canvas by:
obtaining information identifying an area in the virtual workspace that includes one or more displayed objects and defines the canvas; and
storing data representing the canvas, the stored data including metadata identifying a location and dimensions of the area within the virtual workspace that defines the canvas;
defining a marker associated with the canvas; and
transmitting data to other nodes, the transmitted data including the stored data representing the canvas and identifying the marker.
19 . A non-transitory computer-readable recording medium having a program recorded thereon, the program, when executed by a server node including a processor, causing the server node to perform operations comprising:
providing, to a client node, data to allow the client node to display a client canvas corresponding to a location in a virtual workspace; and
providing, to the client node, data to allow the client node to display a user interface that:
displays one or more markers representing one or more predefined canvases within the virtual workspace, each predefined canvas defining an area within the virtual workspace; and
allows, in response to a marker being selected:
updating of the location of the client canvas to match a location of the predefined canvas represented by the selected marker, regardless of whether a creator of the predefined canvas is actively viewing the predefined canvas; and
displaying a object in the updated location of the client canvas.
20 . The non-transitory computer-readable recording medium of claim 19 , wherein the operations further comprise storing metadata associated with a predefined canvas within the virtual workspace.
21 . The non-transitory computer-readable recording medium of claim 20 , wherein:
the metadata includes an access list identifying users that are permitted to display objects having locations within the predefined canvas; and
the operations further include prohibiting displaying of the objects having locations within the predefined canvas when a user is not identified by the access list.
22 . The non-transitory computer-readable recording medium of claim 20 , wherein:
the metadata includes an access list identifying client nodes that are permitted to display objects having locations within the predefined canvas; and
the operations further include prohibiting displaying of the objects having locations within the predefined canvas when a client node is not identified by the access list.
23 . A method for operating a client node including a processor, the method comprising:
displaying a client canvas corresponding to a location in a virtual workspace; and
providing a user interface that:
displays one or more markers representing one or more predefined canvases within the virtual workspace, each predefined canvas defining an area within the virtual workspace; and
allows, in response to a marker being selected:
updating of the location of the client canvas to match a location of the predefined canvas represented by the selected marker, regardless of whether a creator of the predefined canvas is actively viewing the predefined canvas; and
displaying a object in the updated location of the client canvas.
24 . The method of claim 23 , further comprising:
receiving data from a remote node, the received data identifying a predefined canvas and including metadata associated with the predefined canvas; and
adding a marker representing the predefined canvas.
25 . The method of claim 24 , wherein:
the metadata includes an access list identifying users that are permitted to display objects having locations within the predefined canvas of the virtual workspace; and
the method further includes prohibiting displaying of the objects having locations within the predefined canvas of the virtual workspace when a user of the remote node is not identified by the access list.
26 . The method of claim 24 , wherein:
the metadata includes a title of the predefined canvas of the virtual workspace; and
the method further includes including the title of the predefined canvas of the virtual workspace with the one or more markers.
27 . The method of claim 24 , wherein:
the metadata identifies a color corresponding to the predefined canvas of the virtual workspace; and
the method further includes displaying the marker representing the predefined canvas of the virtual workspace in the color identified by the metadata.
28 . The method of claim 24 , wherein:
the metadata identifies one or more contextual menu items associated with the predefined canvas of the virtual workspace; and
the method further includes displaying the one or more contextual menu items associated with the predefined canvas of the virtual workspace.
29 . The method of claim 24 , wherein:
the metadata includes a zoom-in indicator; and
the method further includes displaying objects included in the predefined canvas of the virtual workspace using a zoom-in level while still allowing the displayed objects to remain displayed in their entirety.
30 . The method of claim 24 , wherein:
the metadata includes information that links the predefined canvas of the virtual workspace to a different canvas that is within the virtual workspace and that is associated with the predefined canvas; and
the method further includes, upon receiving a user instruction to walk to a next canvas:
updating the location and dimensions, in the virtual workspace, of the client canvas to match a location and dimensions, in the virtual workspace, of the different canvas; and
displaying objects located within the updated location of the client canvas.