U.S. patent application number 14/091944 was filed with the patent office on 2015-02-26 for sharing electronic drawings in collaborative environments.
This patent application is currently assigned to Citrix Systems, Inc.. The applicant listed for this patent is Citrix Systems, Inc.. Invention is credited to Matthew Anderson, Frederic Mayot.
Application Number | 20150058753 14/091944 |
Document ID | / |
Family ID | 52481543 |
Filed Date | 2015-02-26 |
United States Patent
Application |
20150058753 |
Kind Code |
A1 |
Anderson; Matthew ; et
al. |
February 26, 2015 |
SHARING ELECTRONIC DRAWINGS IN COLLABORATIVE ENVIRONMENTS
Abstract
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.
Inventors: |
Anderson; Matthew; (New
York, NY) ; Mayot; Frederic; (Oakland, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Citrix Systems, Inc. |
Fort Lauderdale |
FL |
US |
|
|
Assignee: |
Citrix Systems, Inc.
Fort Lauderdale
FL
|
Family ID: |
52481543 |
Appl. No.: |
14/091944 |
Filed: |
November 27, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61869038 |
Aug 22, 2013 |
|
|
|
Current U.S.
Class: |
715/753 |
Current CPC
Class: |
G06T 11/80 20130101;
G06Q 10/101 20130101; G06F 3/0482 20130101; G06F 3/04817 20130101;
G06F 3/0488 20130101; G06Q 10/10 20130101; G06F 3/04842 20130101;
G06F 3/04812 20130101; G06F 3/04883 20130101; H04L 67/1095
20130101; G06F 3/017 20130101; G06T 11/60 20130101 |
Class at
Publication: |
715/753 |
International
Class: |
G06F 3/01 20060101
G06F003/01 |
Claims
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.
Description
BACKGROUND
[0001] Conventional electronic drawing tools allow users to draw
freehand pictures on a display of a computer. One conventional
drawing tool includes a brush palette for selecting a brush that
simulates a type of brush or pen that applies a brush stroke, a
color palette for selecting a color for the brush stroke, and
various auxiliary tools such as an erase, undo, and redo button for
correcting mistakes. A user may provide a brush stroke on the
display by moving an input device, e.g., a mouse or touch inputs,
along a desired stroke path.
[0002] Some conventional drawing tools provide the ability for a
user to apply the auxiliary tools via certain finger motions. Such
finger motions are integral to the use of certain tablet and laptop
computers and provide for a clean interface that enhances ease of
use. For example, one such tool allows a user to perform an undo
function by rotating a finger on the display in a counterclockwise
motion, and a redo function by rotating a finger on the display in
a clockwise motion.
[0003] Some conventional drawing tools are used within a
collaborative environment for sharing with other users. An example
of such a collaborative environment is a web conference in which an
electronic drawing is presented to the other users. A web
conference typically shares visual data among multiple meeting
participants. To create a web conference, the users connect their
respective computers to a conference server through a network,
e.g., the Internet. The conference server typically processes
visual data (e.g., a desktop view from a presenting participant
containing a drawing) and provides that visual data for display on
respective display screens so that all conference participants are
able to view the visual data.
SUMMARY
[0004] Unfortunately, there are deficiencies with the
above-described conventional electronic drawing tools. For example,
the above-described conventional electronic drawing tools that use
finger motions for applying undo and redo functions are not
configured to be used in a collaborative environment such as an
online meeting. On the other hand, conventional electronic drawing
tools that are capable of being used in a collaborative environment
only have buttons for undo functions and are not configured to use
gesture-based undo commands. Both types of conventional electronic
drawing tools above do not take full advantage of the capabilities
of tablet computing technology in sharing electronic drawings with
a group of participants in an online meeting.
[0005] It should be understood that, in addition to not being
configured to being used in a collaborative environment, the
above-described conventional electronic drawing tools that do have
undo functions are based on finger motions that use awkward motions
such as circular swipes that are not easy to perform. In one
example, a particular tool requires a user to make a
counterclockwise circular arc on a touch screen, while a
corresponding redo function requires the user to make a clockwise
circular arc.
[0006] In contrast with the above-described conventional electronic
drawing tools which use awkward gestures to enable undo commands,
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.
[0007] One embodiment of the improved technique is directed to a
method of presenting an electronic drawing in a collaborative
environment over an electronic network, the electronic drawing
including multiple objects. The method includes sharing, by a
processor of a particular user device within the collaborative
environment, the electronic drawing among multiple user devices
within the collaborative environment. The method also includes
receiving, by the processor of the particular user device, a
gesture-based undo command identifying an object to be removed from
the electronic drawing. The method further includes communicating
by the processor with the multiple user devices to remove the
object from the electronic drawing in response to the gesture-based
undo command.
[0008] Additionally, some embodiments of the improved technique are
directed to 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 includes memory and a set of processors
coupled to the memory to form controlling circuitry. The
controlling circuitry is constructed and arranged to carry out the
method of presenting an electronic drawing in a collaborative
environment over an electronic network.
[0009] Furthermore, some embodiments of the improved technique are
directed to a computer program product having a non-transitory
computer readable storage medium which stores code including a set
of instructions which, when executed by a computer, cause the
computer to carry out the method of presenting an electronic
drawing in a collaborative environment over an electronic
network.
[0010] In some arrangements, 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.
[0011] In some arrangements, 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.
[0012] In some arrangements, the specified undo waveform is
indicative of a multi-point 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.
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.
[0013] In some arrangements, the method further includes 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.
[0014] In some arrangements, 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.
[0015] In some arrangements, 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 undo gesture that generates the gesture-based undo
command.
[0016] In some arrangements, 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. 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.
[0017] In some arrangements, 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.
BRIEF DESCRIPTION OF THE DRAWING
[0018] The foregoing and other objects, features and advantages
will be apparent from the following description of particular
embodiments of the invention, as illustrated in the accompanying
figures in which like reference characters refer to the same parts
throughout the different views.
[0019] FIG. 1 is a block diagram illustrating an example electronic
environment in which the improved technique may be carried out.
[0020] FIG. 2 is an example user device within the electronic
environment shown in FIG. 1.
[0021] FIG. 3 is a block diagram illustrating example undo and redo
commands from the online meeting server shown in FIG. 2.
[0022] FIG. 4 is a block diagram illustrating example undo and redo
gestures that are converted to waveforms received by the online
meeting server shown in FIG. 2.
[0023] FIG. 5 is a flow chart illustrating an example method of
carrying out the improved technique within the computing device
shown in FIG. 1.
DETAILED DESCRIPTION
[0024] 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.
[0025] FIG. 1 illustrates an example electronic environment 10 in
which the improved technique may be carried out. Electronic
environment 10 includes client devices 12(1), 12(2), . . . , 12(M),
where M is the number of client devices being used in an online
meeting 24, communications medium 18, and online meeting server
22.
[0026] Communications medium 18 is constructed and arranged to
connect the various components of electronic environment 10
together to enable these components to exchange electronic signals
30. At least a portion of communications medium 18 is illustrated
as a cloud in FIG. 1 to indicate that communications medium 18 is
capable of having a variety of different topologies including
backbone, hub-and-spoke, loop, irregular, combinations thereof, and
so on. Along these lines, communications medium 18 may include
copper-based communications devices and cabling, fiber optic
devices and cabling, wireless devices, combinations thereof, etc.
Furthermore, communications medium 18 is capable of supporting
LAN-based communications, cellular communications, standard
telephone communications, combinations thereof, etc.
[0027] Client devices 12 are typically tablet computers having a
respective touch-screen display 16, although client devices 12 can
be any electronic computing device with a touch-screen display,
e.g., laptop computer, smartphone, and the like. Each client device
12 is constructed and arranged to operate an online meeting client
on behalf of a respective user 14, in which there is an electronic
drawing environment capable of allowing respective user 14 to
create and remove drawing objects using gesture-based commands. For
example, user 14(1) may create a circle on display 16(1) within the
electronic drawing environment by swiping a finger on the display
in a circle. Furthermore, client devices 12 are capable of
communicating gesture-based actions, among others, to online
meeting server 22 via communications medium 18.
[0028] Online meeting server 22 is constructed and arranged to host
online meetings 24 among users 14. Online meeting server 22 is also
constructed and arranged to communicate a command to the client
devices 12 to perform an undo command in response to receiving the
gesture-based undo command.
[0029] It should be understood that, in some arrangements, online
meeting server 22 may be replaced by a communication server that
may not supply audio as is typical in an online meeting. Along
these lines, the improved technique described herein does not
require sound or other multimedia aside from a visual medium for
the drawing.
[0030] During operation, client devices 12(1), 12(2), . . . , 12(M)
initiate online meeting 24 via online meeting server 22 through
communications medium 18. Online meeting server 22 provides, via an
internet browser running on each client device 12, an online
meeting interface displayed on a respective display 16(1), 16(2), .
. . , 16(M) (displays 16) of client device 12(1), 12(2), . . . ,
12(M). The online meeting interface runs, among other applications,
an electronic drawing program that displays an electronic drawing
20 on each of displays 16.
[0031] During online meeting 24, a user, e.g., user 14(1), draws an
object 32 within the electronic drawing. The electronic drawing
program within the online meeting interface provided by online
meeting server 22 is configured to display object 32 on all
displays 16 simultaneously as part of online meeting 24. For
example, as will be described below, user 14(1) draws object 32
using a finger gesture on display 16(1). Subsequently, the
electronic drawing program causes client device 12(1) to send an
electronic signal 30 to online meeting server 22 that represents
object 32. Online meeting server 22 then sends the received signal
30 to other client devices 12(2), . . . , 12(M), each of which in
turn maps the signal to object 32 and displays object 32 in their
respective displays 16.
[0032] After devices 12 display object 32 on respective displays
16, but before another object is created within electronic drawing
20, a user, e.g., user 14(M), initiates, via gesture 26, a
gesture-based undo command 28 that is configured to cause object 32
to be removed from electronic drawing 20. For example, as will be
described in detail below in connection with FIG. 5, user 14(M)
applies a linear, two-point gesture 26 toward the left part of
display 16(M). Such a multipoint gesture distinguishes the undo
function from a standard drawing command initiated by a
single-point gesture that creates objects in electronic drawing
20.
[0033] In response to the initiation of gesture-based undo command
28, the electronic drawing program causes client device 12(M) to
erase object 32 from display 16(M). Further, client device 12(M)
sends an electronic signal 30 to online meeting server that
contains a delete command 34.
[0034] Upon receiving delete command 34, online meeting server 22
sends a delete communication to each of client devices 12 via
communications medium 18.
[0035] Delete communication 34 provides a delete command to the
electronic drawing program running on each of client devices 12(1),
12(2), . . . , 12(M) that is configured to remove object 32 from
electronic drawing 20.
[0036] FIG. 2 is a block diagram that illustrates further details
of online meeting server 22. Online meeting server 22 includes
controller 40, which in turn includes processor 44 and memory 46,
and network interface 42.
[0037] Network interface 42 is constructed and arranged to provide
connections for online meeting server 22 to communications medium
18. Network interface 42 takes the form of an Ethernet card; in
some arrangements, network interface 42 takes other forms including
a wireless receiver and a token ring card.
[0038] Processor 44 takes the form of, but is not limited to, Intel
or AMD-based CPUs, and can include a single or multi-cores each
running single or multiple threads. Processor 44 is coupled to
memory 46 and is configured to execute instructions from code
58.
[0039] Memory 46 is configured to store code 58 that contains
instructions to conduct an online meeting. Memory 46 also includes
an undo stack 50 and a redo stack 52.
[0040] Undo stack 50 and redo stack 52 are configured to track
objects which have been removed from and placed back in electronic
drawing 20. Further details about undo stack 50 and redo stack 52
will be discussed in connection with FIG. 4.
[0041] In many arrangements, the electronic drawing program will
also make a redo function available that puts back the most recent
object removed from electronic drawing 20 by the undo function.
Further details of how the undo and redo functions operate within
online meeting 24 are described below in connection with FIG.
3.
[0042] FIG. 3 is a block diagram illustrating an example undo stack
50 (see FIG. 2) and redo stack 52 in memory 46 while undo and redo
functions are being performed either by each client device 12 or,
as in some arrangements, online meeting server 22.
[0043] As objects are added to electronic drawing 20, client device
12(M) provides each object with an object identifier, e.g., object
identifier 80 or object identifier 82. In the case illustrated in
FIG. 4, object identifiers 80 and 82 are simply integers associated
with an object. For example, online meeting server 22 may assign an
object identifier to an object upon completion of an object
creation gesture, e.g., when a user 14 lifts his or her finger from
display 16. Upon the creation of an object with object identifier
80 in electronic drawing 20, client device 12(M) stores object
identifier 80 in undo stack 50 in a last-in, first-out manner.
[0044] Assume that object identifier 80 corresponds to the most
recently created object in electronic drawing 20. During an example
operation, client 12(M) receives a gesture-based undo command 28(a)
as described in detail above. In response to receiving undo command
28(a), client 12(M) moves object identifier 80 from undo stack 50
to redo stack 52 in a last-in, first-out manner. In response to
receiving a second gesture-based undo command 28(b) before any
other commands are received, client 12(M) moves the next object
identifier 82 in undo stack 50 (i.e., corresponding to the
next-most recent object) to redo stack 52 in the last-in, first-out
manner.
[0045] It should be understood that, as each undo command 28(a) or
28(b) is processed by client 12(M), the objects corresponding to
the object identifiers moved to redo stack 52 are removed from
electronic drawing 20 and are no longer visible on displays 16.
[0046] Assume further that, sometime after receiving gesture-based
undo command 28(b), client 12(M) receives a gesture-based redo
command 28(c). Upon receipt of redo command 28(c), client 12(M)
moves the most recent object identifier in redo stack 52--in this
case, object identifier 82--back to undo stack in the last-in,
first-out manner. As redo command 28(c) is processed by client
12(M), the object corresponding to object identifier 82 will
reappear in electronic drawing 20 and will be visible on displays
16 after the object and its identifier is sent to server 22.
[0047] In some arrangements, when a client device 12(M) creates a
shape, client device 12(M) places the shape in local undo stack 50,
sends the shape and a shape identifier for that shape to server 22,
and records the time of creation of the shape. Server 22 then
stores the shape identifier in a list and broadcasts the shape to
all connected clients 12. When client device 12(M) detects an undo,
it moves the shape from undo stack 50 to redo stack 52 and sends a
delete command to server 22. Server 22 deletes the shape in the
list and forwards the delete command to all connected clients. When
client 12(M) detects a redo gesture, client 12(M) moves the shape
from redo stack 52 to undo stack 50, and sends the shape to server
22 along with the corresponding shape identifier and the recorded
time of creation of the shape to the server. Server 22 then places
the shape identifier in the list and forwards the shape, its
corresponding identifier and time of creation to clients 12. When
receiving a shape, each client 12 places the shape in a list
ordered by time of creation. That allows each client 12 to properly
render the shape coming from a redo command.
[0048] FIG. 4 is a block diagram illustrating criteria for
determining whether a gesture corresponds to an undo or redo
command. Consider an intended undo gesture 90 performed on display
16(M) by user 14(M). It is assumed that, as described above, the
standard undo gesture corresponding to a waveform stored in
waveform library 54 is a two-point linear swipe to the left,
parallel to axis 92 of display 16(M).
[0049] It should be understood that, many times, user 14(M) will
not be able to perfectly reproduce such a gesture when performing
intended undo gesture 90. Rather, for example, intended undo
gesture 90 may involve a two-point swipe to the left at an angle
with respect to axis 92. The subsequent waveform generated from
gesture 90 is, in some arrangements, configured to behave
continuously with respect to swipe angle so that online meeting
server 22 can determine whether the swipe angle is too large to be
an intended undo function. To this effect, there is a threshold
angle 96 beyond which online meeting server 22 will fail to
recognize the waveform generated from gesture 90 as corresponding
to an undo function.
[0050] In some arrangements, online meeting server 22 also imposes
a minimum swipe length requirement on gesture 90 in order to be
recognized as an undo function. To this effect, the subsequent
waveform generated from gesture 90 is also configured to behave
continuously with respect to swipe length 98. In this way, online
meeting server 22 may determine whether swipe length is at least as
long as a threshold swipe length 100; if so, online meeting server
22 may recognize gesture 90 as corresponding to the undo
function.
[0051] Intended redo gestures 110 are treated similarly; an example
standard redo gesture is a two-point linear swipe 112 parallel to
axis 92 to the right.
[0052] FIG. 5 is a flow diagram illustrating a method 150 of
conducting an online meeting, including steps 152, 154, and 156. In
step 152, an electronic drawing, e.g., electronic drawing 20, which
is shared among multiple user devices, e.g., user devices 12, is
provided as part of an online meeting, e.g., online meeting 24 by a
processor of an online meeting server, e.g., 22, the electronic
drawing including multiple objects, e.g., object 32. In step 154, a
gesture-based undo command, e.g., gesture-based undo command 28(a),
identifying an object to be removed from the electronic drawing is
received from a particular user device, e.g., user device 12(M). In
step 156, in response to the gesture-based undo command, the
processor communicates with the multiple user devices to remove the
object from the electronic drawing.
[0053] As used throughout this document, the words "comprising,"
"including," and "having" are intended to set forth certain items,
steps, elements, or aspects of something in in that these are
provided by way of example only and the invention is not limited to
these particular embodiments. In addition, the word "set" as used
herein indicates one or more of something, unless a statement is
made to the contrary.
[0054] It should be understood that the improvement described here
has a number of applications, including providing a technique for
conducting an online meeting.
[0055] Having described certain embodiments, numerous alternative
embodiments or variations can be made. For example, the above
discussion dealt mainly with online meeting server 22 issuing undo
commands in response to receiving gesture data. In some
arrangements, however, online meeting server 22 performs the undo
command to remove objects from electronic drawing 20.
[0056] Also, the improvements or portions thereof may be embodied
as a non-transient computer-readable storage medium, such as a
magnetic disk, magnetic tape, compact disk, DVD, optical disk,
flash memory, Application Specific Integrated Circuit (ASIC), Field
Programmable Gate Array (FPGA), and the like. Multiple
computer-readable media may be used. The medium (or media) may be
encoded with instructions which, when executed on one or more
computers or other processors, perform methods that implement the
various processes described herein. Such medium (or media) may be
considered an article of manufacture or a machine, and may be
transportable from one machine to another.
[0057] Further, although features are shown and described with
reference to particular embodiments hereof, such features may be
included in any of the disclosed embodiments and their variants.
Thus, it is understood that features disclosed in connection with
any embodiment can be included as variants of any other embodiment,
whether such inclusion is made explicit herein or not.
[0058] Those skilled in the art will therefore understand that
various changes in form and detail may be made to the embodiments
disclosed herein without departing from the scope of the
invention.
* * * * *