Technologies are generally described for providing whiteboard records accessibility to users interacting with a whiteboard. A whiteboard may enable two or more users to interact with the whiteboard concurrently. The whiteboard may identify the users interacting with the whiteboard and may identify permission settings associated with the users. Based on the identification of the users and detected permission settings, the whiteboard may activate a whiteboard records accessibility mode to provide access to whiteboard records. In a public mode, any user may interact with the whiteboard, and the whiteboard may provide access to a public records data store. In a private mode, the whiteboard may provide access to a separate private records data store associated with an authenticated user interacting with the whiteboard. When two users interact with the whiteboard concurrently, the whiteboard may separate the whiteboard records such that each user can access records corresponding to the detected permission settings.
|
1. A method executed at least in part in a computing device for enabling smart whiteboard interactions, the method comprising:
detecting a first action associated with panning an initial canvas displayed on the whiteboard;
panning the initial canvas in a direction indicated by the first action resulting in display of a new canvas being displayed on the whiteboard;
maintaining one or more dimensions and an orientation of the initial canvas within the new canvas;
detecting a second action associated with selection of one of a region and an object on the new canvas;
selecting one of the region and the object indicated by the second action;
detecting insertion of content into the object displayed on the new canvas; and
in response to detecting the inserted content exceeding one or more boundaries of the object, automatically expanding the one or more boundaries of the object.
12. A computing device for enabling smart whiteboard interactions, the computing device comprising:
a memory storing instructions;
a processor coupled to the memory, the processor executing a whiteboard application, wherein the whiteboard application is configured to:
detect a first action associated with panning an initial canvas displayed on the whiteboard;
pan the initial canvas in a direction indicated by the first action resulting in display of a new canvas being displayed on the whiteboard;
maintain one or more dimensions and an orientation of the initial canvas within the new canvas;
detect a second action associated with selection of one of a region and an object on the new canvas;
select one of the region and the object indicated by the second action;
detecting insertion of content into the object displayed on the new canvas; and
in response to detecting the inserted content exceeding one or more boundaries of the object, automatically expanding the one or more boundaries of the object.
18. A computer-readable memory device with instructions stored thereon for enabling smart whiteboard interactions, the instructions containing:
detecting a first action associated with panning an initial canvas displayed on the whiteboard;
panning the initial canvas in a direction indicated by the first action resulting in display of a new canvas being displayed on the whiteboard;
maintaining one or more dimensions and an orientation of the initial canvas within the new canvas;
detecting a second action associated with selection of one of a region and an object on the new canvas;
selecting one of the region and the object indicated by the second action;
detecting insertion of content into the object displayed on the new canvas;
in response to detecting the inserted content exceeding one or more boundaries of the object, automatically expanding the one or more boundaries of the object;
capturing a sequence of content creation, modification, and deletion on one or more of the initial canvas and the new canvas displayed on the whiteboard; and
enabling a playback of the captured sequence through one of the whiteboard and a computing device communicatively coupled to the whiteboard.
2. The method of
in response to displaying the new canvas, preserving content displayed on the new canvas by storing in one of a local data store and a networked data store.
3. The method of
4. The method of
panning the initial canvas and selecting one of the region and the object depending on a type of input for the first and second actions.
5. The method of
enabling one or more of a creation, a modification, and a deletion of displayed content on the initial canvas in response to one of a pen input and a touch input.
6. The method of
enabling one or more of a panning of the initial canvas, a move of an object, a zoom action on the object, and a connection of two or more objects in response to the other of the pen input and the touch input.
7. The method of
9. The method of
detecting insertion of other content into the object displayed on the new canvas; and
in response to detecting unused space between the inserted other content and the one or more boundaries of the object, automatically reducing the one or more boundaries of the object.
10. The method of
detecting insertion of other content into the object displayed on the new canvas; and
in response to detecting one of unused space between the inserted other content and the one or more boundaries of the object and the inserted other content exceeding the one or more boundaries of the object, automatically reducing or increasing a size of the inserted other content.
11. The method of
detecting permission level settings for each of the two or more users interacting with the whiteboard; and
providing whiteboard records to the two or more users concurrently based on a most restrictive detected permission level setting.
13. The computing device of
capture a sequence of content creation, modification, and deletion on one or more of the initial canvas and the new canvas displayed on the whiteboard; and
enable a playback of the captured sequence through one of the whiteboard and a computing device communicatively coupled to the whiteboard.
14. The computing device of
in response to panning the initial canvas and displaying the new canvas, preserve content displayed on the new canvas by storing in one of a local data store and a networked data store; and
enable display of the preserved content through one of the whiteboard, a computing device wirelessly coupled to the whiteboard, and a computing device coupled to a network associated with the networked data store.
15. The computing device of
detect user inserted ink on the new canvas;
recognize the ink; and
render the recognized ink usable for one or more of a search, an automatic container creation, and a record creation.
17. The computing device of
one of preserve the inserted ink on the canvas and replace the inserted ink with standardized content based on the recognition depending on one of a whiteboard default parameter and a user preference.
19. The computer-readable memory device of
detecting user inserted ink on the new canvas;
recognizing the ink; and
presenting a user interface associated with a type of content corresponding to the recognized ink.
|
With the proliferation of collaborative computing and networking technologies, the need to share content and to control and interact with shared is prevalent. Teleconferencing and desktop sharing are example techniques for enabling users in remote locations to share content and to interact with each other without being in the physical presence of each other. Additionally, the ability to continuously share content, interact with and update content has become useful as users collaborate on projects and desire to generate and update content in real-time. Interactive whiteboards are often used to capture written content on a display screen and enable real-time content manipulation, however conventional interactive whiteboards may not have the capabilities of enabling multiple users to manipulate and provide content or enabling interaction from remote locations.
Conventional electronic whiteboards either capture written content on an actual board or are interactive screens with limited content creation capabilities. Capabilities of modern interactive computing devices such as ink recognition, desktop sharing, searches, etc. are not thought of as being features of whiteboards.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to exclusively identify key features or essential features of the claimed subject matter, nor is it intended as an aid in determining the scope of the claimed subject matter.
Embodiments are directed to a canvas for a smart whiteboard that may enable panning of canvases and/or selection of objects and regions through single finger touch or detection of gesture, automatic expansion of containers in response to added ink, and use of pen or touch for distinct actions such as create/delete vs. manipulation. According to some examples, capture and playback of content creation (e.g. on distinct canvases) on the whiteboard and/or associated devices may also be enabled. Furthermore, content (objects, etc.) may be auto-transformed based on user pattern or predicted examples.
These and other features and advantages will be apparent from a reading of the following detailed description and a review of the associated drawings. It is to be understood that both the foregoing general description and the following detailed description are explanatory and do not restrict aspects as claimed.
As briefly described above, panning of canvases and/or selection of objects and regions through single finger touch or detection of gesture, automatic expansion of containers in response to added ink, use of pen or touch for distinct actions such as create/delete vs. manipulation, capture and playback of content creation (e.g. on distinct canvases) on the whiteboard and/or associated devices, and/or auto-transform of content (objects, etc.) based on user pattern or predicted examples may be enabled in a smart whiteboard application.
In the following detailed description, references are made to the accompanying drawings that form a part hereof, and in which are shown by way of illustrations specific embodiments or examples. These aspects may be combined, other aspects may be utilized, and structural changes may be made without departing from the spirit or scope of the present disclosure. The following detailed description is therefore not to be taken in the limiting sense, and the scope of the present invention is defined by the appended claims and their equivalents. While the embodiments will be described in the general context of program modules that execute in conjunction with an application program that runs on an operating system on a personal computer, those skilled in the art will recognize that aspects may also be implemented in combination with other program modules.
Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that embodiments may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and comparable hardware. Embodiments may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
Embodiments may be implemented as a computer-implemented process (method), a computing system, or as an article of manufacture, such as a computer program product or computer readable media. The computer program product may be a computer storage medium readable by a computer system and encoding a computer program that comprises instructions for causing a computer or computing system to perform example process(es). The computer-readable storage medium is a computer-readable memory device. The computer-readable storage medium can for example be implemented via one or more of a volatile computer memory, a non-volatile memory, a hard drive, a flash drive, a floppy disk, or a compact disk, and comparable media.
In some example embodiments, the whiteboard 202 may enable the user 220 to provide input actions to the virtual canvas 218 directly using an input device. Some example conventional input devices may be an interactive stylus 206, electronic pen, keyboard, and/or mouse. Additionally, the whiteboard 202 may be a gesture-enabled device, such that the whiteboard 202 may recognize gestures and/or eye tracking employing an optical or camera device 216. The whiteboard 202 may also be a touch-enabled device such that the whiteboard 202 may recognize finger touch 204 actions on the virtual canvas 218 as input methods for interacting with, controlling, and providing content 208 to the virtual canvas 218. The whiteboard may provide an indicator on the virtual canvas 218 to indicate the location of a touch or gesture input action.
Further, the whiteboard 202 may be configured to enable the user 220 to interact with the virtual canvas 218 employing an individual client device, such as a tablet or slate 210, a smartphone 212, and a personal computer 214, as some examples. The individual client devices (210, 212, 214) may be configured to enable interaction with the whiteboard 202 via a wired or wireless connection. The previously described client devices are exemplary and are not intended to be limiting. Any client device enabling interaction with the whiteboard 202 may be employed by the user to provide content 208 and interact with the virtual canvas 218.
In an example embodiment, the whiteboard 202 may be configured to recognize and track each input method, including touch, gesture, input device, and client device input. The whiteboard 202 may be configured to assign types of input actions to types of input methods, such that when a certain input method is employed by the user 220, the whiteboard 202 may be configured to recognize a distinct type of input action. For example, the whiteboard 202 may be assign that an input device such as the interactive stylus 206 or an electronic pen may be employed for creating, modifying, and deleting content and objects on the virtual canvas 218, while hand gestures and touch actions may be employed to perform manipulation and navigation actions on the virtual canvas 218 such as moving objects, scrolling, panning, zooming, and creating relationships between content and objects displayed on the virtual canvas 218.
In an example embodiment, the content may be input at any location on the canvas 318. The whiteboard 302 may be configured to group the input content based on the object type, such as images, video, tables, and remote desktop sharing session. Each group of objects may be displayed on the canvas 318 in distinct regions or panes. Each region may include one type of object, and the region may display multiple objects within the type of object. For example, one region may display a group of images input on the whiteboard canvas, while another region may display one or more tables and charts input on the canvas 318, and yet another region may display a shared interface 316 of a connected client device. Each region may enable a user to interact with each object within the region, and the whiteboard 302 may recognize different input actions based on the type of objects included within the region. Additionally, a user may create custom regions for grouping objects based on user selection rather than a type of object. The user may also select objects in one region and move, or drag, a selected object to a different region.
In an example embodiment, the regions may be automatically positioned on the canvas 318 according to pre-defined positioning settings and preferences. The whiteboard 302 may enable the regions to be resized and re-positioned on the whiteboard canvas 318. The user may employ touch and gesture input, as well as input with other input devices, to resize and reposition the regions, and also to rearrange objects within the regions. The regions may be able to overlap as the user rearranges and re-positions the regions on the canvas 318.
In another example embodiment, the size and position of the regions and objects on the canvas 318 may be optimized, both horizontally and vertically, based on predefined settings. For example, the display of content on the canvas 318 may be optimized based on detection of an interacting user's size and position in relation to the whiteboard 302. For example, if the whiteboard 302 detects a short user, the content may be displayed on a lower portion of the canvas. Additionally, if the whiteboard 302 detects that the user is far away from the whiteboard 302, the content may be displayed larger. The canvas 318 may be automatically optimized based on predefined settings, and may additionally be optimized according to user preferences. The whiteboard 302 may also be configured to automatically expand or grow (322) as content is added, enlarged, or moved outside of the currently displayed canvas 318 in order to enable the whiteboard canvas to display all of the content concurrently, and also to provide more blank space for adding additional content.
In another example embodiment, the whiteboard 302 may be configured to share the interface of the whiteboard 302 with one or more client devices connected with the whiteboard 302, such that each connected client device may continuously reflect the canvas 318 with the input content and grouped regions. When the canvas 318 is shared with one or more client devices having different sizes and dimensions than the whiteboard 302, the content of the canvas 318 may be reflowed, such that the objects and regions may be rearranged, for optimizing the display of the content on the interface of shared client devices.
Additionally, a user may employ input actions to navigate and manipulate the canvas itself. For example, a user may employ a touch action such as a touch and hold action or a drag action to pan and scroll the displayed canvas 402. The touch action may be performed with a finger or hand of the user, as well as with an input device such as an electronic pen or stylus. Another distinct touch action, such as a swipe 410 in a direction 414, may be employed to move the displayed canvas 402 in any direction in order to open a new canvas 420. For example, when a current canvas area is full or if the user wants to start with a blank canvas, the user may swipe in a particular direction, such as left/right/up/down, and a new blank canvas 420 may be presented. The new canvas 420 may be blank and maintain substantially the same dimensions and orientation as the previously displayed canvas 402. When the new canvas 420 is displayed, the content of the previously displayed canvas 402 may be automatically saved so that the content is preserved for later use. The user may also employ an additional touch action such as a swipe action to may bring back previous canvases. The content of the previously displayed canvas may be stored in a local memory, and may also be stored in other local or external storage associated with the whiteboard. The user may also employ an additional touch action such as a swipe action to may bring back previous canvases.
The user 506 may also add additional content, such as text, to an existing object that extends beyond the object's boundaries, and in response, the object may automatically expand (520) to accommodate the additional content. For example, a cell 522 or a column of a table 504 may expand in response to the user 506 inserting text 512 in the cell 522 that goes beyond the right boundary of the cell. The cell 522 may be configured to expand in any direction for optimally accommodating the added content based on predefined settings and user preferences. The automatic adjustment of objects on the canvas may be based on predefined whiteboard settings, and may also be user customizable. For example, the user 506 may select to activate or deactivate automatic adjustment, and the user 506 may define a maximum and minimum size for an expanded object. The user may also select if text wrapping and/or text size adjustment may be applied to the inserted content instead of adjusting the object size.
In another example embodiment, when a user adds graphics or text input to the canvas, the whiteboard 602 may recognize the input, and the whiteboard may present a suggested object, interface, and/or container for the input based. For example, if the whiteboard recognizes that the user is creating a list, the whiteboard may automatically format the input as a list 608 and provide user interface elements associated with the list 608, such as bullets or numbers. In another example, if the whiteboard 602 determines that the user is creating a table, the whiteboard may automatically format the input into a table 606 including user interface elements associated with the table 606 such as cell boundaries. The whiteboard 602 may also provide automatic functions associated with the table, such as automatic calculations and formulas, as some examples. Further, created content on the whiteboard 602 may also be integrated with other applications such as word processing, spreadsheet, and presentation applications for providing automatic formatting suggestions.
Similarly, the creation, deletion, modification, and other manipulation actions of objects on the whiteboard canvas 718 may be preserved. The actions may be saved as a sequence such that a user's entire interaction or portions thereof with the whiteboard over a period of time may be played back on the whiteboard, and also on the associated client device 720. In some embodiments, permission level settings for each user interacting with the whiteboard may be detected and whiteboard records provided to the two or more users concurrently based on a most restrictive detected permission level setting.
Users may be able to access the content documents via the enterprise management system 820, and also on the personal domain 830 associated with the user, either directly from the whiteboard 802 or through the enterprise management system 820. The user may provide additional content to a document for later use on the whiteboard, and the document may subsequently be accessed for viewing on the whiteboard 802 from where it is stored at the enterprise management system 820 or on a personal domain 830.
Client devices 901-904 are used to access the functionality provided by the hosted service or application. One or more of the servers 906 or server 908 may be used to provide a variety of services as discussed above. Relevant data may be stored in one or more data stores (e.g. data store 914), which may be managed by any one of the servers 906 or by database server 912.
Network(s) 910 may comprise any topology of servers, clients, Internet service providers, and communication media. A system according to embodiments may have a static or dynamic topology. Network(s) 910 may include a secure network such as an enterprise network, an unsecure network such as a wireless open network, or the Internet. Network(s) 910 may also coordinate communication over other networks such as PSTN or cellular networks. Network(s) 910 provides communication between the nodes described herein. By way of example, and not limitation, network(s) 910 may include wireless media such as acoustic, RF, infrared and other wireless media.
Many other configurations of computing devices, applications, data sources, and data distribution systems may be employed to provide smart interaction with a whiteboard. Furthermore, the networked environments discussed in
Interactive sharing module 1024 may operate in conjunction with the operating system 1005 or whiteboard management application 1022 to enable smart interactions with a whiteboard as discussed previously. Detection module 1026 may enable detection of user interactions with the whiteboard through various input mechanisms, remote device input, etc. for content creation, content editing, user identification, and comparable actions. This basic configuration is illustrated in
Computing device 1000 may have additional features or functionality. For example, the computing device 1000 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in
Computing device 1000 may also contain communication connections 1016 that allow the device to communicate with other devices 1018, such as over a wireless network in a distributed computing environment, a satellite link, a cellular link, and comparable mechanisms. Other devices 1018 may include computer device(s) that execute communication applications, other directory or policy servers, and comparable devices. Communication connection(s) 1016 is one example of communication media. Communication media can include therein computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
Example embodiments also include methods. These methods can be implemented in any number of ways, including the structures described in this document. One such way is by machine operations, of devices of the type described in this document.
Another optional way is for one or more of the individual operations of the methods to be performed in conjunction with one or more human operators performing some. These human operators need not be collocated with each other, but each can be only with a machine that performs a portion of the program.
Process 1100 begins with operation 1110, where a user action through a touch, a gesture, a pen, a keyboard, a mouse, an eye-tracking input, a gyroscopic input, etc. may be detected on a whiteboard. At operation 1120, the canvas may be panned bringing into new a blank canvas or a selection/manipulation of one or more objects on the canvas enabled depending on the type or style of input. For example, a particular tough or gesture action may result in one action, while another may result in the other action. Similarly, the input mechanism may be associated with the different types of actions.
At operation 1130, an insertion of new content may be detected on the canvas. At following operation 1140, a size of an existing or newly created (e.g., by inference of user intent) container for the inserted content may be adjusted either to remove unused space around the content or fit content that exceeds boundaries of the container. Similarly, a size of the inserted content may also be adjusted.
At operation 1150, a sequence of content creation, manipulation, and/or deletion may be captured and preserved such that the sequence may be played back on-demand through the whiteboard or through a computing device (e.g., a tablet) that is either directly (wired or wirelessly) or indirectly (e.g., through a network) connected to the whiteboard or a data store where the sequence is stored.
The operations included in process 1100 are for illustration purposes. Enabling smart interactions with a whiteboard according to embodiments may be implemented by similar processes with fewer or additional steps, as well as in different order of operations using the principles described herein.
The above specification, examples and data provide a complete description of the manufacture and use of the composition of the embodiments. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims and embodiments.
Patent | Priority | Assignee | Title |
10019213, | Jun 16 2014 | Teradici Corporation | Composition control method for remote application delivery |
11032336, | Mar 23 2018 | MOTOROLA SOLUTIONS, INC | Methods and systems for providing supplementary information on a virtual whiteboard |
11231850, | Mar 04 2021 | Hybrid digital and physical writing surface with transformational ink effects | |
11782594, | Mar 22 2021 | Ricoh Company, Ltd. | Display apparatus, display system, and display method |
Patent | Priority | Assignee | Title |
6016494, | Nov 21 1997 | International Business Machines Corporation | Expanding web documents by merging with linked documents |
6144991, | Feb 19 1998 | HANGER SOLUTIONS, LLC | System and method for managing interactions between users in a browser-based telecommunications network |
7325197, | Jun 16 2003 | Microsoft Technology Licensing, LLC | Method and system for providing page control content |
7681136, | Jan 08 2003 | Oracle International Corporation | Methods and systems for collaborative whiteboarding and content management |
7907141, | Mar 23 2007 | Palo Alto Research Center Incorporated | Methods and processes for recognition of electronic ink strokes |
20030095113, | |||
20070002377, | |||
20070106950, | |||
20080209327, | |||
20090265634, | |||
20090315861, | |||
20100070878, | |||
20100257457, | |||
20110113323, | |||
20110179351, | |||
20120075182, | |||
20120098757, | |||
20130283192, | |||
20130307796, | |||
20130346924, | |||
20140033073, | |||
20140149880, | |||
20140165152, | |||
20140282229, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Dec 08 2012 | FAROUKI, KARIM | Microsoft Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 029449 | /0598 | |
Dec 11 2012 | Microsoft Technology Licensing LLC | (assignment on the face of the patent) | / | |||
Oct 14 2014 | Microsoft Corporation | Microsoft Technology Licensing, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 039025 | /0454 |
Date | Maintenance Fee Events |
May 28 2020 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
May 22 2024 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Dec 13 2019 | 4 years fee payment window open |
Jun 13 2020 | 6 months grace period start (w surcharge) |
Dec 13 2020 | patent expiry (for year 4) |
Dec 13 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Dec 13 2023 | 8 years fee payment window open |
Jun 13 2024 | 6 months grace period start (w surcharge) |
Dec 13 2024 | patent expiry (for year 8) |
Dec 13 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Dec 13 2027 | 12 years fee payment window open |
Jun 13 2028 | 6 months grace period start (w surcharge) |
Dec 13 2028 | patent expiry (for year 12) |
Dec 13 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |