Systems and methods for collaborative synchronous image selection
First Claim
1. A collaborative intelligence system for enabling a plurality of users to jointly control a graphical pointer and collaboratively select a coordinate location within a graphical image during a collaborative session, the system comprising:
- a central collaboration server configured to run a collaboration server application and to exchange real-time data with each of a plurality of networked computing devices, each of the computing devices having a user interface and a display and running a collaborative intent application, wherein the collaborative intent application on each computing device is configured to;
receive and display a graphical image on the display;
display a collaboratively controlled graphical pointer over the graphical image;
receive, repeatedly in real-time, from the central collaboration server, a pointer location;
update, repeatedly in real-time, the displayed location of the collaboratively controlled graphical pointer such that it moves across the graphical image, the updated displayed location based at least in part on the received pointer location and the displayed location substantially synchronized among the plurality of computing devices;
receive, repeatedly in real-time, user input through the user interface, the user input representing a user intent direction and a user intent magnitude, said user intent direction indicating a desired direction of motion of the collaboratively controlled graphical pointer with respect to the graphical image, said user intent magnitude indicating a desired speed of motion of the collaboratively controlled graphical pointer with respect to the graphical image; and
send, repeatedly in real-time, a representation of the user intent direction and user intent magnitude to the central collaboration server;
wherein the collaboration server application running on the central collaboration server is configured to;
receive, repeatedly in real-time, the representation of the user intent direction and user intent magnitude, from each of the plurality of computing devices;
determine, repeatedly in real-time, a group intent vector from the user intent directions and user intent magnitudes received from the plurality of computing devices, the group intent vector indicating a collaboratively desired motion of the collaboratively controlled graphical pointer;
determine, repeatedly in real-time, the updated pointer location for the collaboratively controlled graphical pointer based at least in part upon the group intent vector;
send, repeatedly in real-time, the pointer location to the plurality of computing devices;
determine, repeatedly, whether a speed of the collaboratively controlled graphical pointer has fallen below a threshold value for more than a threshold amount of time;
identify a target location upon the graphical image in response to the determination that the speed of the collaboratively controlled graphical pointer has fallen below the threshold value for more than the threshold amount of time; and
send the target location to at least one of the plurality of computing devices.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for real-time collaborative computing and collective intelligence are disclosed. A collaborative application runs on a collaborative server connected to a plurality of computing devices. Collaborative sessions are run wherein a group of independent users, networked over the internet, collaboratively answer questions in real-time, thereby harnessing their collective intelligence. Methods for collaborative selection of a target point on an image displayed on the computing devices. Methods for collaborative zooming and panning of an image displayed on the computing devices.
107 Citations
19 Claims
-
1. A collaborative intelligence system for enabling a plurality of users to jointly control a graphical pointer and collaboratively select a coordinate location within a graphical image during a collaborative session, the system comprising:
-
a central collaboration server configured to run a collaboration server application and to exchange real-time data with each of a plurality of networked computing devices, each of the computing devices having a user interface and a display and running a collaborative intent application, wherein the collaborative intent application on each computing device is configured to; receive and display a graphical image on the display; display a collaboratively controlled graphical pointer over the graphical image; receive, repeatedly in real-time, from the central collaboration server, a pointer location; update, repeatedly in real-time, the displayed location of the collaboratively controlled graphical pointer such that it moves across the graphical image, the updated displayed location based at least in part on the received pointer location and the displayed location substantially synchronized among the plurality of computing devices; receive, repeatedly in real-time, user input through the user interface, the user input representing a user intent direction and a user intent magnitude, said user intent direction indicating a desired direction of motion of the collaboratively controlled graphical pointer with respect to the graphical image, said user intent magnitude indicating a desired speed of motion of the collaboratively controlled graphical pointer with respect to the graphical image; and send, repeatedly in real-time, a representation of the user intent direction and user intent magnitude to the central collaboration server; wherein the collaboration server application running on the central collaboration server is configured to; receive, repeatedly in real-time, the representation of the user intent direction and user intent magnitude, from each of the plurality of computing devices; determine, repeatedly in real-time, a group intent vector from the user intent directions and user intent magnitudes received from the plurality of computing devices, the group intent vector indicating a collaboratively desired motion of the collaboratively controlled graphical pointer; determine, repeatedly in real-time, the updated pointer location for the collaboratively controlled graphical pointer based at least in part upon the group intent vector; send, repeatedly in real-time, the pointer location to the plurality of computing devices; determine, repeatedly, whether a speed of the collaboratively controlled graphical pointer has fallen below a threshold value for more than a threshold amount of time; identify a target location upon the graphical image in response to the determination that the speed of the collaboratively controlled graphical pointer has fallen below the threshold value for more than the threshold amount of time; and send the target location to at least one of the plurality of computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A collaborative intelligence system for enabling a plurality of users to jointly control panning of a display of a graphical image, the system comprising:
-
a central collaboration server configured to run a collaboration server application and to exchange real-time data with each of a plurality of networked computing devices, each of the computing devices having a user interface and a display and running a collaborative intent application, wherein the collaborative intent application on each computing device is configured to; receive and display a portion of a graphical image in a display area of the display, wherein only a portion of the graphical image is visible as a result of the graphical image being larger than the display area; display a collaboratively controlled graphical pointer over the displayed portion of the graphical image; receive, repeatedly in real-time, from the collaborative intelligence server, a pointer location; update, repeatedly in real-time, the displayed location of the collaboratively controlled graphical pointer such that it moves with respect to the display area, the updated location based at least in part on the received pointer location and displayed location substantially synchronized among the plurality of computing devices; receive, repeatedly in real-time, user input through the user interface, the user input representing a user intent direction and a user intent magnitude, said user intent direction indicating a desired direction of motion of the collaboratively controlled graphical pointer, said user intent magnitude indicating a desired speed of motion of the collaboratively controlled graphical pointer; and send, repeatedly in real-time, a representation of the user intent direction and user intent magnitude to the collaborative intelligence server; wherein the collaboration server application running on the central collaboration server is configured to; receive, repeatedly in real-time, the representation of the user intent direction and user intent magnitude, from each of the plurality of computing devices; determine, repeatedly in real-time, a group intent vector from the user intent directions and user intent magnitudes received from the plurality of computing devices, the group intent vector indicating a collaboratively desired motion of the collaboratively controlled graphical pointer determine, repeatedly in real-time, an updated pointer location for the collaboratively controlled graphical pointer based at least in part upon the group intent vector; send, repeatedly in real-time, the pointer location to the plurality of computing devices; determine, repeatedly, whether the collaboratively controlled graphical pointer has reached a panning boundary region defined with respect to the display area, and if the graphical pointer has reached the panning boundary region, prevent the pointer from leaving the panning boundary region; and coordinate the panning of the graphical image, a direction of the panning being substantially opposite to the direction of the group intent vector when the collaboratively controlled pointer has reached the panning boundary region. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19)
-
Specification