SHARING ELECTRONIC DRAWINGS IN COLLABORATIVE ENVIRONMENTS
An improved technique involves providing for a gesture-based undo command for use within a collaborative drawing environment. Such an undo function that is both gesture-based and capable of being used within a collaborative environment takes full advantage of the capabilities of tablet computers and laptop computers having touch screens. The gesture-based undo command may involve a multi-point linear swipe such as a two-point linear swipe gesture in order to easily distinguish an undo command from a drawing command.
1 . A method of presenting an electronic drawing in a collaborative environment over an electronic network, the electronic drawing including multiple objects, the method comprising:
sharing, by a processor of a particular user device within the collaborative environment, the electronic drawing among multiple user devices within the collaborative environment;
receiving, by the processor of the particular user device, a gesture-based undo command identifying an object to be removed from the electronic drawing; and
in response to the gesture-based undo command, communicating by the processor with the multiple user devices to remove the object from the electronic drawing.
2 . A method as in claim 1 ,
wherein communicating with the multiple user devices to remove the object from the electronic drawing includes:
sending a delete command to remove the object from the electronic drawing.
3 . A method as in claim 2 ,
wherein receiving the gesture-based undo command includes:
analyzing a set of touch points resulting from a particular gesture input on the particular user device, the touch points including samples of the particular gesture at equally spaced time intervals taken by the processor of the particular user device, and
verifying whether the set of touch points are indicative of a specified undo gesture that generates the gesture-based undo command.
4 . A method as in claim 3 ,
wherein the specified undo gesture includes a multipoint linear swipe on the particular user device, the multi-point linear swipe being swept out in a particular direction along an axis of the particular user device; and
wherein verifying whether the set of touch points are indicative of a specified undo gesture that generates the gesture-based undo command includes:
generating a speed and direction of the multipoint linear swipe from a time series produced by the set of touch points.
5 . A method as in claim 2 , further comprising:
receiving, after receiving the gesture-based undo command, a gesture-based redo command, the gesture-based redo command being configured to replace an object removed by a previous gesture-based undo command; and
in response to the gesture-based redo command, communicating with the multiple user devices to restore the object to the electronic drawing.
6 . A method as in claim 5 ,
wherein communicating with the multiple user devices to restore the object to the electronic drawing includes:
sending a draw stroke command to the multiple user devices that produces the object on each of the multiple user devices.
7 . A method as in claim 5 ,
wherein receiving the gesture-based redo command includes:
analyzing a set of touch points resulting from a particular gesture input on the particular user device, the touch points including samples of the particular gesture at equally spaced time intervals taken by the processor of the particular user device, and
verifying whether the set of touch points are indicative of a specified redo gesture that generates the gesture-based redo command.
8 . A method as in claim 5 ,
wherein a specified redo gesture includes a multipoint linear swipe on the particular user device, the multi-point linear swipe being swept out in a direction along the axis of the particular user device substantially opposite to the multipoint linear swipe of the specified undo gesture; and
wherein verifying whether the set of touch points includes:
generating a speed and direction of the multipoint linear swipe of the specified redo gesture from a time series produced by the set of touch points.
9 . A method as in claim 2 ,
wherein communicating with the multiple user devices includes:
transmitting the delete command to a central server which in turn transmits the delete command to the multiple user devices.
10 . An electronic apparatus constructed and arranged to present an electronic drawing in a collaborative environment over an electronic network, the electronic drawing including multiple objects, the apparatus comprising:
a network interface;
memory; and
a controller including controlling circuitry, the controlling circuitry being constructed and arranged to:
share, by a processor of a particular user device within the collaborative environment, the electronic drawing among multiple user devices within the collaborative environment;
receive, by the processor of the particular user device, a gesture-based undo command identifying an object to be removed from the electronic drawing; and
in response to the gesture-based undo command, communicate by the processor with the multiple user devices to remove the object from the electronic drawing.
11 . An apparatus as in claim 10 ,
wherein the controlling circuitry constructed and arranged to communicate with the multiple user devices to remove the object from the electronic drawing is further constructed and arranged to:
send a delete command to remove the object from the electronic drawing.
12 . An apparatus as in claim 11 ,
wherein the controlling circuitry constructed and arranged to receive the gesture-based undo command is further constructed and arranged to:
analyze a set of touch points resulting from a particular gesture input on the particular user device, the touch points including samples of the particular gesture at equally spaced time intervals taken by the processor of the particular user device, and
verify whether the set of touch points are indicative of a specified undo gesture that generates the gesture-based undo command.
13 . An apparatus as in claim 4 ,
wherein the specified undo gesture includes a multipoint linear swipe on the particular user device, the multi-point linear swipe being swept out in a particular direction along an axis of the particular user device; and
wherein the controlling circuitry constructed and arranged to verify whether the set of touch points are indicative of a specified undo gesture that generates the gesture-based undo command is further constructed and arranged to:
generate a speed and direction of the multipoint linear swipe from a time series produced by the set of touch points.
14 . An apparatus as in claim 11 , wherein the controlling circuitry is further constructed and arranged to:
receive after receiving the gesture-based undo command, a gesture-based redo command, the gesture-based redo command being configured to replace an object removed by a previous gesture-based undo command; and
in response to the gesture-based redo command, communicate with the multiple user devices to restore the object to the electronic drawing.
15 . An apparatus as in claim 14 ,
wherein the controlling circuitry constructed and arranged to communicate with the multiple user devices to restore the object to the electronic drawing is further constructed and arranged to:
send a draw stroke command to the multiple user devices that produces the object on each of the multiple user devices.
16 . An apparatus as in claim 14 ,
wherein the controlling circuitry constructed and arranged to receive the gesture-based redo command is further constructed and arranged to:
analyze a set of touch points resulting from a particular gesture input on the particular user device, the touch points including samples of the particular gesture at equally spaced time intervals taken by the processor of the particular user device, and
verify whether the set of touch points are indicative of a specified redo gesture that generates the gesture-based redo command.
17 . An apparatus as in claim 14 ,
wherein a specified redo gesture includes a multipoint linear swipe on the particular user device, the multi-point linear swipe being swept out in a direction along the axis of the particular user device substantially opposite to the multipoint linear swipe of the specified undo gesture; and
wherein the controlling circuitry constructed and arranged to verify whether the set of touch points is further constructed and arranged to:
generate a speed and direction of the multipoint linear swipe of the specified redo gesture from a time series produced by the set of touch points.
18 . An apparatus as in claim 11 ,
wherein the controlling circuitry constructed and arranged to communicate with the multiple user devices to restore the object to the electronic drawing is further constructed and arranged to:
transmit the delete command to a central server which in turn transmits the delete command to the multiple user devices.
19 . A computer program product having a non-transitory, computer-readable storage medium which stores instructions that, when executed by a controller, causes the controller to carry out a method of presenting an electronic drawing in a collaborative environment over an electronic network, the electronic drawing including multiple objects, the method comprising:
sharing, by a processor of a particular user device within the collaborative environment, the electronic drawing among multiple user devices within the collaborative environment;
receiving, by the processor of the particular user device, a gesture-based undo command identifying an object to be removed from the electronic drawing; and
in response to the gesture-based undo command, communicating by the processor with the multiple user devices to remove the object from the electronic drawing.
20 . A computer program product as in claim 19 ,
wherein communicating with the multiple user devices to remove the object from the electronic drawing includes:
sending a delete command to remove the object from the electronic drawing.