Whiteboards and other types of displays (e.g., tablet computer displays) are often used during brainstorming sessions and other types of in-person meetings to facilitate participant collaboration, provide instruction, and/or illustrate concepts being discussed during the meetings. For example, a group of engineers may each make annotations (e.g., text and/or drawings) on a whiteboard during a collaboration session in which the engineers have been tasked with coming up with a solution for a particular technical problem.
Unfortunately, once a collaboration session in which multiple participants have interacted with a single display (e.g., by performing various types of interaction events with respect to the display, such as writing on the display, drawing in the display, performing one or more touch gestures with respect to the display, etc.) has ended, it may be difficult to ascertain which participant performed each of the interaction events. For example, with reference to the example provided above, it may be difficult to ascertain which engineer came up with a particular idea described in one of the annotations written on the whiteboard.
The accompanying drawings illustrate various embodiments and are a part of the specification. The illustrated embodiments are merely examples and do not limit the scope of the disclosure. Throughout the drawings, identical or similar reference numbers designate identical or similar elements.
Multi-user collaboration tracking methods and systems are described herein. As will be described below, a multi-user collaboration tracking system may 1) detect an initiation of a collaboration session during which a plurality of users interact with a whiteboard space of a single physical display associated with a computing device, 2) detect an interaction event performed with respect to the whiteboard space during the collaboration session, 3) identify a user included in the plurality of users as having performed the interaction event, and 4) associate the interaction event with the user.
To illustrate, during a collaboration session (i.e., a multi-user in-person meeting, such as a brainstorming session, a training session, etc.) in which a plurality of users interact with an a whiteboard space displayed on a single physical display (e.g., an electronic whiteboard, a display screen of a mobile device (e.g., a tablet computer or a mobile phone), or other type of display associated with a computing device), one of the users may perform an interaction event with respect to the whiteboard space. As used herein, a “whiteboard space” refers to any interface within which the users may draw or otherwise create graphical objects and/or perform one or more touch gestures. In some examples, the whiteboard space may resemble a blank piece of paper, a blank whiteboard or chalkboard, or the like before the collaboration session commences. In some examples, the whiteboard space may be displayed as part of an application executed by the computing device.
As used herein, an “interaction event” may include any action performed with respect to a whiteboard space displayed on a single physical display. For example, an interaction event may include a creation of a graphical object that is displayed within the whiteboard space. The graphical object may be created by writing on, drawing on, or otherwise touching the display with a finger, electronic whiteboard marker, stylus, or other writing instrument. Additionally or alternatively, an interaction event may include a touch gesture (e.g., a swipe, a reverse-pinch, a pinch, a tap, a rotation, etc.) performed by the user with respect to the whiteboard space.
The multi-user collaboration tracking system may identify the user who performed the interaction event in any suitable manner. For example, the multi-user collaboration tracking system may automatically identify the user based on an orientation of the interaction event with respect to the display and/or one or more other attributes of the interaction event. Additionally or alternatively, the multi-user collaboration tracking system may identify the user in accordance with a tagging touch gesture performed with respect to the whiteboard space before or after the interaction event is performed. Once the user has been identified, the multi-user collaboration tracking system may associate the interaction event with the user (e.g., by generating metadata associated with the interaction event that links the interaction event to the user). Examples of identifying the user who performed the interaction event and associating the interaction event with the user will be provided in more detail below.
The methods and systems described herein may allow a user (e.g., a participant in a multi-user collaboration session and/or any other person not involved in the collaboration session) to ascertain specific contributions made by each user during the collaboration session. This may be beneficial in terms of follow up that may need to be done with respect to the collaboration session, identification of person(s) to be listed as contributing to and/or conceiving of a particular idea or topic discussed during the collaboration session, and/or for a variety of other reasons as may serve a particular implementation.
Detection facility 102 may be configured to detect an initiation of a collaboration session during which a plurality of users interact with a whiteboard space displayed on a single physical display (referred to herein as a “single display” or simply as a “display) associated with a computing device. Detection facility 102 may detect an initiation of a collaboration session in any suitable manner. For example, detection facility 102 may detect user input representative of an initiation of the collaboration session. Such user input may include, but is not limited to, as selection of a button or option configured to initiate the collaboration session, initiation of an application used to facilitate the collaboration session (e.g., an application executed by a mobile device, such as a tablet computer), an interaction event performed with respect to the whiteboard space (e.g., detection facility 102 may detect that a user has started to write or draw within the whiteboard space), and/or any other user input as may serve a particular implementation.
The users may interact with a whiteboard space displayed on any suitable physical display associated with any suitable computing device as may serve a particular implementation. For example,
The display may alternatively include a display screen of a mobile device. For example,
Detection facility 102 may be further configured to detect an interaction event performed with respect to the whiteboard space displayed on the display during the collaboration session. Detection facility 102 may detect an interaction event performed with respect to the whiteboard space in any suitable manner. For example, detection facility 102 may detect a creation of a graphical object that is displayed within the whiteboard space. As mentioned, the graphical object may be created by a user writing on, drawing on, or otherwise touching the whiteboard space displayed within the display with a finger, electronic whiteboard marker, stylus, or other writing instrument.
To illustrate,
As shown, each graphical object 402 may include one or more display elements (i.e., text, drawings, etc.) drawn by a user. In some examples, a graphical object 402 may alternatively be created by inserting an electronic image (e.g., clipart), typing text, and/or otherwise interacting with whiteboard space 400. In some examples, each graphical object 402 may be created by different users during a collaboration session. For example, graphical objects 402-1 and 402-2 may be created by a first user, graphical objects 402-3 and 402-4 may be created by a second user, and graphical objects 402-5 and 402-6 may be created by a third user.
Detection facility 102 may alternatively detect an interaction event performed with respect to the whiteboard space displayed on the display by detecting a touch gesture performed with respect to the whiteboard space. The touch gesture may include one or more a swipe, a reverse-pinch, a pinch, a tap, a double tap, a rotation, and/or any other type of touch gesture performed with one or more fingers, styluses, writing instruments, and/or any other object as may serve a particular implementation. In some examples, the touch gesture may include a selection of a graphical option displayed within the whiteboard space. For example, the touch gesture may include a selection of a graphical representation of a button displayed within the whiteboard space.
Tracking facility 104 may be configured to perform various tracking operations associated with interaction events performed by users with respect to a whiteboard space displayed on a display during a collaboration session. For example, in response to detection facility 102 detecting an interaction event performed with respect to a whiteboard space displayed on a display during a collaboration session in which a plurality of users are participating, tracking facility 104 may identify a user included in the plurality of users as having performed the interaction event.
Tracking facility 104 may identify the user as having performed the interaction event in any suitable manner. For example, if the interaction event includes a creation by the user of a graphical object that is displayed within the whiteboard space, tracking facility 104 may identify the user as having created the graphical object by detecting a performance of a tagging touch gesture that is unique to the user. As used herein, a “tagging touch gesture” may refer to any type of touch gesture that has been defined to be associated with a particular user. For example, a particular user may provide input defining a particular touch gesture (e.g., a drawing of a particular shape or object (e.g., a circle, rectangle, checkmark, star, etc.), a double tap, a swipe, etc.) as being his or her unique tagging touch gesture.
The tagging touch gesture may be performed by any of the users and may be performed at any time with respect to the creation of the graphical object as may serve a particular implementation. For example, the tagging touch gesture may be performed after the creation of the graphical object. To illustrate, a particular user may define a drawing of a circle around a graphical object as being his or her unique tagging touch gesture. The user may then circle each of the graphical objects that he or she created in order to indicate that he or she should be associated with those graphical objects. This is illustrated in
As shown in
As another example, tracking facility 104 may detect a selection of a graphical object displayed within the whiteboard space displayed on the display, detect a tagging touch gesture performed with respect to the selected graphical object, and identify a particular user as having created the graphical object based on the tagging touch gesture.
To illustrate, reference is made to
As another example, tracking facility 104 may detect a tagging touch gesture performed with respect to the whiteboard space displayed on the display prior to an interaction event (e.g., a creation of a graphical object and/or a touch gesture) being performed, determine that no other intervening tagging touch gesture has been performed with respect to the whiteboard space in between the tagging touch gesture being performed and the interaction event being performed, and identify the user based on the tagging touch gesture.
To illustrate, reference is made to
Tracking facility 104 may recognize that a tagging touch gesture is being performed and/or that a graphical object is being selected (as opposed to a graphical object being created) in any suitable manner. For example, tracking facility 104 may determine that a tagging touch gesture is being performed based on the context of the tagging touch gesture, a location within the whiteboard space at which the tagging touch gesture is performed (e.g., a touch gesture may be identified as being a tagging touch gesture if the touch gesture is performed in a designated area of the whiteboard space), input provided by the user prior to the tagging touch gesture being performed (e.g., the user may provide a command immediately prior to performing the tagging touch gesture that indicates to tracking facility 104 that the user is about to perform a tagging touch gesture), and/or in any other suitable manner as may serve a particular implementation.
In some examples, tracking facility 104 may automatically identify a user as having performed an interaction event with respect to a whiteboard space displayed on a display by detecting a particular type of handwriting used to perform the interaction event. For example, with respect to
In some examples, tracking facility 104 may “learn” the handwriting associated with a particular user. For example, tracking facility 104 may identify a particular user as having created graphical object 402-2 in any other way (e.g., by detecting a tagging touch gesture performed with respect to graphical object 404-2). Tracking facility 104 may then analyze the handwriting associated with graphical object 404-2 and associate the handwriting with the user. Graphical objects subsequently created using the same handwriting may then be automatically attributed to the user.
Tracking facility 104 may additionally or alternatively identify a user as having performed an interaction event with respect to a whiteboard space displayed on a display by detecting audio associated with the user while the interaction event is performed. For example, a user may be speaking while he or she performs an interaction event with respect to a whiteboard space. Tracking facility 104 may detect the user's voice, identify the user based on the detected voice, and accordingly identify the user as having performed the interaction event. In some examples, audio detected during a collaboration session may be tagged with the various interaction events performed during the collaboration session. In this manner, a user may subsequently select a particular interaction event to play back audio associated with the interaction event. Voice contributions made by individual users may also be tracked and identified as interaction events performed during the collaboration session.
In some examples, tracking facility 104 may automatically identify a user as having performed an interaction event with respect to a whiteboard space displayed on a display based on an orientation of the interaction event with respect to the display. For example, a group of users may surround and interact with a display screen of a mobile device (e.g., a tablet computer) resting on top of a table. As such, the interaction events performed by each user may be oriented differently with respect to the display screen based on a position of each user with respect to the mobile device.
To illustrate,
In some examples, tracking facility 104 may detect the orientation of an interaction event (e.g., a graphical object or a touch gesture) with respect to display screen 302 and identify which user performed the interaction event accordingly. For example, tracking facility 104 may detect that graphical object 910-1 is oriented with respect to the top edge 902 of display screen 302 and accordingly identify the user located next to the top edge 902 as having created graphical object 910-1. In some examples, if this user has a user profile set up with tracking facility 104, tracking facility 104 may identify a name (or other user identifier) associated with the user. Alternatively, if the user does not have a user profile set up with tracking facility 104, tracking facility 104 may identify the user with a generic profile (e.g., a generic profile that simply identifies the likely position of the user at a time of creation of the graphical object).
In response to identifying a user as having performed an interaction event, tracking facility 104 may associate the interaction event with the user. For example, tracking facility 104 may associate the interaction event with the user by generating metadata associated with the interaction event that links the interaction event to the user. The metadata may include data descriptive of the identified user and/or any other suitable data as may serve a particular implementation. Tracking facility 104 may associate the interaction event with the user in any other manner (e.g., by tagging the interaction event with data representative of the identified user, etc.).
In some examples, it may be desirable for multiple users to be associated with a particular interaction event. For example, it may be desirable to associate multiple users with a particular interaction event to indicate that each of the users contributed to a particular idea represented by the interaction event. To this end, after tracking facility 104 has associated an interaction event with a particular user, tracking facility 104 may receive input representative of a request to further associate the interaction event with an additional user. The input may be provided in any suitable manner. For example, an additional tagging touch gesture associated with the additional user may be performed with respect to the whiteboard space displayed on the display. In response, tracking facility 104 may associate the interaction event with the additional user in any of the ways described herein.
In some examples, tracking facility 104 may record a timestamp and/or any other information associated with an interaction event that is associated with a particular user. A timestamp, for example, may allow tracking facility 104 to track when a particular interaction event is performed in addition to tracking who performs the interaction event.
In some examples, tracking facility 104 may include data representative of an interaction event performed during a collaboration session and a user associated with the interaction event in an interaction event log corresponding to the collaboration session. The data may link the interaction event to the user in a manner that allows tracking facility 104 to subsequently present data representative of the association between the interaction event and the user in any suitable manner.
For example, an interaction event log may include data representative of a plurality of interaction events performed during a collaboration session and a plurality of users associated with the interaction events in a manner that links each interaction event with a particular user. Tracking facility 104 may use the interaction event log to generate and present a summary of the collaboration session. This may be performed in any suitable manner. For example, tracking facility 104 may generate and/or present a summary interface (e.g., a digital document) that visually chronicles the collaboration session in accordance with the interaction event log.
To illustrate,
As shown, summary interface 1000 visually chronicles interaction events performed during a collaboration session by displaying representations of the interaction events (e.g., graphical objects 402-1 through 402-6 and touch gestures 1002-1 and 1002-2) in an order that corresponds to an order in which the interaction events are performed during the collaboration session. Summary interface 1000 also identifies each user associated with each interaction event and lists a time at which each interaction event is performed. For example, summary interface 1000 indicates that a user named “User A” created graphical object 402-1 at 10:12 am and graphical object 402-2 at 10:14 am, a user named “User B” created graphical object 402-3 at 10:18 am, performed a “reverse pinch zoom” touch gesture at 10:21 am, and created graphical object 402-4 at 10:22 am, and a user named “User C” performed a “pinch zoom out” touch gesture at 10:25 am, created graphical object 402-5 at 10:29 am, and created graphical object 402-6 at 10:31 am. It will be recognized that summary interface 1000 may include additional or alternative content as may serve a particular implementation.
The interaction event log may be further used to provide real-time identification information associated with an interaction event during the collaboration session. For example, with respect to the example provided in connection with
To illustrate, reference is made to
Additionally or alternatively, a user may desire to know who created a particular graphical object displayed within a whiteboard space that is displayed on a display. To this end, the user may select the graphical object (e.g., by performing one or more touch gestures with respect to the graphical object). Tracking facility 104 may detect the selection of the graphical object, and, in response, present information identifying the user associated with the graphical object.
To illustrate, reference is made to
In some examples, once a graphical object has been drawn or otherwise created within a whiteboard space that is displayed on a display, a user may perform one or more touch gestures with respect to the graphical object to direct tracking facility 104 to perform an action associated with the graphical object as specified by the touch gesture. For example, tracking facility 104 may email a representation (e.g., a copy) of the graphical object to one or more recipients, print a representation (e.g., a copy) of the graphical object, flag the graphical object for follow up, and/or otherwise take action with respect to the graphical object.
To illustrate, reference is made to
Server subsystem 1402 may be associated with a service provider (e.g., a collaboration service provider, an Internet service provider, etc.) and/or any other entity. Accordingly, server subsystem 1402 may be configured to provide one or more collaboration tracking services to users of computing device 1404. Server subsystem 1402 may be implemented by one or more computing devices as may serve a particular implementation.
Computing device 1404 may be implemented by any suitable combination of processing or computing devices. For example, computing device 1404 may be implemented by one or more personal computers, mobile devices (e.g., mobile phones and/or tablet computers), set-top box devices, digital video recording (“DVR”) devices, personal-digital assistant devices, television devices, etc.
Display 1408 may be implemented by any of the displays described herein. For example, display 1408 may be implemented by an electronic whiteboard, a display screen integrated into or otherwise associated with a mobile device and/or any other computing device, etc.
Server subsystem 1402 and computing device 1404 may communicate with one another using any suitable communication technologies, devices, media, and protocols supportive of data communications, including, but not limited to, socket connections, Ethernet, data bus technologies, data transmission media, communications devices, Transmission Control Protocol (“TCP”), Internet Protocol (“IP”), File Transfer Protocol (“FTP”), Telnet, Hypertext Transfer Protocol (“HTTP”), Hypertext Transfer Protocol Secure (“HTTPS”), Session Initiation Protocol (“SIP”), Simple Object Access Protocol (“SOAP”), Extensible Mark-up Language (“XML”) and variations thereof, Representational State Transfer (“REST”), JavaScript Object Notation (“JSON”), Simple Mail Transfer Protocol (“SMTP”), Real-Time Transport Protocol (“RTP”), User Datagram Protocol (“UDP”), Global System for Mobile Communications (“GSM”) technologies, Code Division Multiple Access (“CDMA”) technologies, Evolution Data Optimized Protocol (“EVDO”), Time Division Multiple Access (“TDMA”) technologies, Short Message Service (“SMS”), Multimedia Message Service (“MMS”), radio frequency (“RF”) signaling technologies, wireless communication technologies (e.g., Bluetooth, Wi-Fi, etc.), in-band and out-of-band signaling technologies, and other suitable communications technologies.
Server subsystem 1402 and computing device 1404 may communicate using any suitable network. For example, as shown in
In certain embodiments, system 100 may be implemented entirely by server subsystem 1402 or by computing device 1404 and display 1408. In other embodiments, components of system 100 may be distributed across server subsystem 1402, computing device 1404, and/or display 1408.
In step 1502, a multi-user collaboration tracking system detects an initiation of a collaboration session during which a plurality of users interact with a whiteboard space displayed on a single physical display associated with a computing device. Step 1502 may be performed in any of the ways described herein.
In step 1504, the multi-user collaboration tracking system detects an interaction event performed with respect to the whiteboard space during the collaboration session. Step 1504 may be performed in any of the ways described herein.
In step 1506, the multi-user collaboration tracking system identifies a user included in the plurality of users as having performed the interaction event. Step 1506 may be performed in any of the ways described herein.
In step 1508, the multi-user collaboration tracking system associates the interaction event with the user. Step 1508 may be performed in any of the ways described herein.
In step 1602, a multi-user collaboration tracking system detects a plurality of interaction events performed with respect to a single physical display associated with a computing device during a collaboration session in which a plurality of users interact with the single physical display. Step 1602 may be performed in any of the ways described herein. For example, the multi-user collaboration tracking system may detect the plurality of interaction events performed with respect to a whiteboard space displayed on the single physical display.
In step 1604, the multi-user collaboration tracking system determines which user among the plurality of users performed each interaction event included in the plurality of interaction events. Step 1604 may be performed in any of the ways described herein.
In step 1606, the multi-user collaboration tracking system provides, subsequent to the collaboration session and based on the determination made in step 1604, a digital document that chronicles the collaboration session by summarizing each interaction event included in the plurality of interaction events and identifying which user included in the plurality of users performed each interaction event included in the plurality of interaction events. Step 1606 may be performed in any of the ways described herein.
In certain embodiments, one or more of the processes described herein may be implemented at least in part as instructions embodied in a non-transitory computer-readable medium and executable by one or more computing devices. In general, a processor (e.g., a microprocessor) receives instructions, from a non-transitory computer-readable medium, (e.g., a memory, etc.), and executes those instructions, thereby performing one or more processes, including one or more of the processes described herein. Such instructions may be stored and/or transmitted using any of a variety of known computer-readable media.
A computer-readable medium (also referred to as a processor-readable medium) includes any non-transitory medium that participates in providing data (e.g., instructions) that may be read by a computer (e.g., by a processor of a computer). Such a medium may take many forms, including, but not limited to, non-volatile media, and/or volatile media. Non-volatile media may include, for example, optical or magnetic disks and other persistent memory. Volatile media may include, for example, dynamic random access memory (“DRAM”), which typically constitutes a main memory. Common forms of computer-readable media include, for example, a disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip or cartridge, or any other tangible medium from which a computer can read.
Communication interface 1702 may be configured to communicate with one or more computing devices. Examples of communication interface 1702 include, without limitation, a wired network interface (such as a network interface card), a wireless network interface (such as a wireless network interface card), a modem, an audio/video connection, and any other suitable interface.
Processor 1704 generally represents any type or form of processing unit capable of processing data or interpreting, executing, and/or directing execution of one or more of the instructions, processes, and/or operations described herein. Processor 1704 may direct execution of operations in accordance with one or more applications 1712 or other computer-executable instructions such as may be stored in storage device 1706 or another computer-readable medium.
Storage device 1706 may include one or more data storage media, devices, or configurations and may employ any type, form, and combination of data storage media and/or device. For example, storage device 1706 may include, but is not limited to, a hard drive, network drive, flash drive, magnetic disc, optical disc, random access memory (“RAM”), dynamic RAM (“DRAM”), other non-volatile and/or volatile data storage units, or a combination or sub-combination thereof. Electronic data, including data described herein, may be temporarily and/or permanently stored in storage device 1706. For example, data representative of one or more executable applications 1712 configured to direct processor 1704 to perform any of the operations described herein may be stored within storage device 1706. In some examples, data may be arranged in one or more databases residing within storage device 1706.
I/O module 1708 may be configured to receive user input and provide user output and may include any hardware, firmware, software, or combination thereof supportive of input and output capabilities. For example, I/O module 1708 may include hardware and/or software for capturing user input, including, but not limited to, a keyboard or keypad, a touch screen component (e.g., touch screen display), a receiver (e.g., an RF or infrared receiver), and/or one or more input buttons.
I/O module 1708 may include one or more devices for presenting output to a user, including, but not limited to, a graphics engine, a display (e.g., a display screen, one or more output drivers (e.g., display drivers), one or more audio speakers, and one or more audio drivers. In certain embodiments, I/O module 1708 is configured to provide graphical data to a display for presentation to a user. The graphical data may be representative of one or more graphical user interfaces and/or any other graphical content as may serve a particular implementation.
In some examples, any of the facilities described herein may be implemented by or within one or more components of computing device 1700. For example, one or more applications 1712 residing within storage device 1706 may be configured to direct processor 1704 to perform one or more processes or functions associated with detection facility 102 and/or tracking facility 104. Likewise, storage facility 106 may be implemented by or within storage device 1706.
To the extent the aforementioned embodiments collect, store, and/or employ personal information provided by individuals, it should be understood that such information shall be used in accordance with all applicable laws concerning protection of personal information. Additionally, the collection, storage, and use of such information may be subject to consent of the individual to such activity, for example, through well known “opt-in” or “opt-out” processes as may be appropriate for the situation and type of information. Storage and use of personal information may be in an appropriately secure manner reflective of the type of information, for example, through various encryption and anonymization techniques for particularly sensitive information.
In the preceding description, various exemplary embodiments have been described with reference to the accompanying drawings. It will, however, be evident that various modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the scope of the invention as set forth in the claims that follow. For example, certain features of one embodiment described herein may be combined with or substituted for features of another embodiment described herein. The description and drawings are accordingly to be regarded in an illustrative rather than a restrictive sense.