The collaboration, creating, and editing of content through content creation and consumption applications can be conducted in many different settings, such as classrooms, meetings, seminars, and conferences. Users of such applications utilize different resources to display the content. One resource includes large screen digital devices, such as interactive whiteboards.
However, the collaboration, creating, and editing of content on large screen digital devices can be challenging. Often, users want to select groups of items that are located close to each other, but not close to the location of the user, resulting in the user having to perform large arm movements or walk across to the other side of the large screen digital device in order to select the content.
A proximity selection feature of a content creation and consumption application (“content application”) for selecting proximate content displayed by a computing device is described. The proximity selection feature can capture proximate content starting at an origination point.
The content application can initiate a selection mode in response to receiving, for example, a command to enter the selection mode or a defined gesture. The content application can identify an origination point and surface a selection shape anchored to the origination point. The origination point is a location on a user interface where a two-dimensional selection shape is to be surfaced, anchored to, and have a capture area expanded from. The selection shape forms an original capture area. After surfacing the selection shape, the content application can receive indicia of expansion, and based on the indicia of expansion, expand the selection shape from its original capture area to an expanded capture area to capture content proximate the original capture area. Additionally, the content application can receive indicia of contraction, and based on the indicia of contraction, contract the selection shape to remove content from the captured content area.
The content application may provide an identifier for the captured content, which may be a modification to the captured content. The modification can include highlighting the captured content or changing a property of the captured content, such as color or size. In some cases, alternatively or in addition to the modification of the captured content, a box surrounds the captured content. Further, once “captured”, the captured content may be manipulated, for example, by moving, rotating, or scaling the captured content.
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 identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
A proximity selection feature of a content creation and consumption application (“content application”) for selecting proximate content displayed by a computing device is described. The proximity selection feature can capture proximate content starting at an origination point.
The proximity selection feature may allow a user to quickly and easily identify a zone that emanates from the origination point to select items that are located close together spatially. The proximity selection feature is beneficial for the selection of items on large screen digital devices, such as an interactive whiteboard, as there is a large area where content can be displayed. Because of the large form factor, it can be desirable to have a feature that allows the user to select content far away without physically having to walk over to the content or reach the content. For example, a user may be too short to reach the top of the device or may be in a wheelchair.
The described invention relates to the ability to select an area on a user interface and identify content within that area. The proximity selection feature evaluates the distance from the selection point to identify proximate content. Through the described proximity selection feature, the user can select content that is being displayed separate from where the user is interacting with the user interface without having to move their body away from their position. The proximity selection feature can select content that is located close together spatially via a selection shape. The proximity selection feature can then expand the selection shape to continue to select proximate content, including content far away from the position of the user.
The described proximity selection feature is suitable for content creation and consumption applications that support a variety of different types of content, such as, but not limited to, digital ink, text, graphics, and images. The user interactions with the content creation and consumption application may be performed via a stylus, pen, user finger, or mouse, or other user interface device.
Digital ink refers to the mode of user input where a stylus or pen (or even user finger of a touchscreen or pad) is used to capture handwriting in its natural form. Digital ink strokes are markings that are represented by a set of properties and point data that a digitizer captures.
Content creation and consumption applications are software applications in which users can contribute, consume, and/or modify content. The content can be visual content where users can create text and/or image-based content in digital form. The content creation and consumption application may include a reader application and/or an editor application. The term “content creation and consumption application” may in some cases be synonymous with “content authoring application”, “productivity application”, or “content authoring tool”, and such terms may be used interchangeably herein.
A large screen display refers to a large output device for presentation of information in visual or tactile form. The large screen display can be a standalone computing device or a large touchpad display for a separate computing device.
An interactive whiteboard is one example of a large screen interactive display with a form factor of a whiteboard. The interactive whiteboard may be used in a variety of settings, such as classrooms and corporate environments.
The terms “captured” and “selected” are used interchangeably herein.
The content application can initiate a selection mode in response to receiving, for example, a command to enter the selection mode or a defined gesture. The content application can identify an origination point and surface a selection shape anchored to the origination point. The origination point is a location on a user interface where the two-dimensional selection shape is to be surfaced, anchored to, and have a capture area expanded from. The surfaced selection shape forms an original capture area. After surfacing the selection shape, the content application can receive indicia of expansion, and based on the indicia of expansion, expand the selection shape from its original capture area to an expanded capture area to capture content proximate the original capture area. Additionally, the content application can receive indicia of contraction, and based on the indicia of contraction, contract the selection shape to remove content from the captured content area.
The content application may provide an identifier that identifies the content that has been captured. The identifier may be a modification to the captured content. The modification can include highlighting the captured content or changing a property of the captured content, such as color or size. In some cases, alternatively or in addition to the modification of the captured content, a box surrounds the captured content. Once “captured” by being within a captured content area, the captured content may be manipulated, for example, by moving, rotating, deleting, adjusting formatting, or scaling the captured content.
In one example, the user 102 may be a teacher using the interactive whiteboard 104 in a classroom setting. In another example, the user 102 may be using the interactive whiteboard 104 in a corporate setting, such as during a meeting, conference, or seminar.
The user interface (“UI”) 106 can refer to the graphical user interface through which content appears to be created, conceptually being a substrate for a work of authorship. The user 102 may manipulate a selection shape 107 surfaced (or rendered) on the UI 106 to select content that is separate from where the user 102 is interacting with the UI 106. For example, the user 102 can perform a single-handed user interaction, such as a gesture or multiple finger gesture, with the UI 106 that allows the user 102 to select content that the user 102 cannot reach.
The user 102 may press and hold a point on the UI 106, such as origination point 108. The origination point 108 is the point at which the selection shape 107 is to be surfaced, anchored to, and have a capture area expanded from. As the user 102 holds down on the origination point, the capture area of the selection shape 107 can expand outward to select content. In some cases, any content within the selection shape 107 may be selected. In other cases, the selection shape 107 may be segmented into zones and the user 102 can tap in one of the zones to select content. A shaded area 109 may be provided within the selection shape 109 to identify selected content. In this case, a user may modify the shaded area 109 using a variety of touch gestures, such as a tap, a drag, or a slide, and any content within the shaded area 109 may be selected.
The proximity selection feature can be a standalone application or a proximity selection feature of the content application to provide the functionality within the content application.
Referring to
A computing device (e.g., the user computing device 110) is configured to receive input from a user (e.g., user 105) through, for example, a keyboard, mouse, trackpad, touch pad, touch screen, microphone, or other input device. The display 116 of the user computing device 110 is configured to display one or more user interfaces (including UI 114) to the user 105. In some embodiments, the display 116 can include a touchscreen such that the user computing device 110 may receive user input through the display. In some cases, the display 116 is a large screen display.
The UI 114 enables a user to interact with various applications, such as the content application, running on or displayed through the user computing device 110. Generally, UI 114 is configured such that a user may easily interact with functionality of an application. For example, a user may simply select (via, for example, touch, clicking, gesture or voice) an option within UI 114 to perform an operation such as selecting content being authored or edited in an application 112.
The user 105 can execute numerous commands through the UI 114 in order to perform specific tasks related to features available in the application 112. In some cases, the user 105 may have multiple devices running a similar program and the user 105 can edit a same or different document (or other content) across multiple user computing devices (such as second device 118-1 and/or third device 118-2).
The user computing device 110 (as well as the second device 118-1 and the third device 118-2) may operate on or in communication with a network 120, and may communicate with one or more servers 130 over the network 120.
The network 120 can be, but is not limited to, a cellular network (e.g., wireless phone), a point-to-point dial up connection, a satellite network, the Internet, a local area network (LAN), a wide area network (WAN), a WiFi network, an ad hoc network or a combination thereof. Such networks are widely used to connect various types of network elements, such as hubs, bridges, routers, switches, servers, and gateways. The network 120 may include one or more connected networks (e.g., a multi-network environment) including public networks, such as the Internet, and/or private networks such as a secure enterprise private network. Access to the network 120 may be provided via one or more wired or wireless access networks as will be understood by those skilled in the art.
As will also be appreciated by those skilled in the art, communication networks can take several different forms and can use several different communication protocols. Certain embodiments of the invention can 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 can be located in both local and remote computer-readable storage media.
The user computing device 110 can be, but is not limited to, a personal computer (e.g. desktop computer), laptop, personal digital assistant (PDA), video game device, mobile phone (or smart phone), tablet, slate, terminal, an interactive whiteboard, and the like. It should be apparent that the user computing device 110 may be any type of computer system that provides its user the ability to load and execute software programs and the ability to access a network, such as network 120. The second device 118-1 and third device 118-2 may include the same types of devices (or systems) as user computing device 110 and they may or may not be of a same form. For example, a user 105 may have a laptop, a tablet, and a smart phone as the three devices.
The application 112 can be stored on the user computing device 110 (e.g., a client-side application). In another embodiment, the user 105 may access a web-based application 132 (e.g., running on server 130 or hosted on a cloud) using a web browser (e.g., a standard internet browser), and the application's interface may be displayed to the user 105 within the web browser. Thus, the application may be a client-side application and/or a non-client side (e.g., a web-based) application.
The content application can initiate a selection mode (205). The selection mode can be initiated in response to receiving a variety of user interactions with the UI, such as, but not limited to, receiving a command to enter selection mode or receiving a defined gesture. As previously described, the user interactions with the UI may be accomplished via input mechanisms of a stylus, pen, or finger (on a touch screen or pad).
In the case of receiving a command to enter selection mode, the content application may receive a selection of a selection icon. The selection icon may be displayed at any location on the UI, such as a tool bar of the content application.
In the case of receiving a defined gesture, one example of receiving the defined gesture includes an encircling and a context menu selection (see e.g., scenario shown in
In another example of receiving the defined gesture, the defined gesture includes a tap and hold touch gesture. In this case, a user may tap and hold a point on the UI for a period of time. If the period of time is greater than a selection time threshold used by the application to identify whether the gesture corresponds to a command to initiate selection mode, then the content application can initiate the selection mode.
Once the content application initiates the selection mode (205), the content application can then identify an origination point (210) and surface the selection shape anchored to the origination point (215). The origination point is a location on the UI where a two-dimensional selection shape is to be surfaced, anchored to, and have a capture area expanded from. The origination point may be any point on the UI. The origination point does not have to be a location on the UI that includes content. The origination point may not be near content, but once the selection shape is surfaced, the selection shape may be expanded to cover some or all of the content.
In some cases, the origination point can be a default origination point. For example, the origination point may be the same location any time the selection mode is initiated. In other cases, the origination point may be a location at which the content application received the user interaction with the UI. For example, the origination point may be the location at which the user performed the tap and hold defined touch gesture.
Additionally, the selection shape can be a variety of two dimensional shapes, as will be discussed in more detail. The selection shape may be segmented into one or more sections (e.g., zones). The variety of shapes available for the selection shape may allow flexibility with the customization of the zones. For example, a rectangular selection shape may allow individual lines of content to be selected easily.
Further, the surfaced selection shape forms an original capture area. The selection shape may be moved to different locations on the UI. For example, the selection shape may be moved near content or to cover content within the original capture area on the UI. In another example, the selection shape may be moved to a bottom corner of the display to more easily select all the content on the display. Any time the selection shape is moved, the content application identifies a new origination point in which to anchor the selection shape.
Referring to
Referring back to
Referring again to
In some cases, the indicator handles may be omitted from the selection shape 310a. The indicator handles may be located adjacent the selection shape 310a or omitted entirely and the expansion and contraction be controlled by gestures not having visual indicators. For example, a user interaction may be a swipe gesture on the selection shape 310a or near the selection shape 310a and the content application will understand that a selection/expansion/contraction is desired. For example, the user may make a drag and hold gesture near the selection shape 310a and the content application will still receive the indicia of expansion.
In another example not shown in
Returning to
In block 330, the selection shape 310c may cover a large area of the UI and may be sectioned into several zones (e.g., zone 332a, zone 332b, zone 332c, zone 332d, zone 332e, and zone 332f). The user can tap (336), or perform some other action to indicate a location of a selection of a zone, in one or more of the zones (e.g., zone 332e) of the selection shape 310c. In this example, the content application receives the location of the tap. Then, based on the location of the tap, the selection shape 310c can expand a shaded area 338 of the selection shape 310c to capture content within all the zones up to and including the zone the user performed the tap (e.g., zone 332a, zone 332b, zone 332c, zone 332d, and zone 332e).
Further, the user may tap in an area outside of the selection shape. In this case, additional zones may be added based on the location of the tap to expand the selection shape to allow the content near the location of the tap to be captured.
Additionally, the user may also tap on content outside of the selection shape. In some cases, the selection shape will expand to capture the content at the location of the tap. In other cases, the content application may, based on the location of the tap, expand the selection shape from its original capture area to an expanded capture area to capture the selected objected, as well as any objects near the location of the tap. Also, specific content may be selected or deselected by the user. For example, when the content application has identified groupings of ink strokes, each grouping may be selected or deselected by the user. In this example, if the selection shape is expanded to capture more content than the user intended, the user may tap on the grouping that they would like deselected and that grouping will not be included in the captured content.
In some cases, the captured content may include only the content that the selection shape completely covers within the original capture area or the expanded capture area. For example, a user may write one or more words on the UI, such as “Math 101”. If, when the selection shape is expanded, the expanded capture area of the selection shape only covers and selects the word “Math,” the captured content may only include “Math” and not the whole phrase, “Math 101.”
In other cases, the captured content may include more than the content that is completely covered by the original capture area of the selection shape or the expanded capture area of the selection shape. In an example, the content application may include an ink analyzer. An ink analyzer is a feature that analyzes the ink strokes and identifies inked terms and other recognizable groupings of ink strokes. A grouping of ink strokes that are identified as forming a drawn unit (e.g., term or drawing) can be considered stored within a data structure of an ink container.
In this case, as soon as any part of an identified grouping is selected or covered by one of the capture areas of the selection shape, the whole grouping may be selected. For example, if the content application has identified the word “apple” as a grouping and only the letters “ap” are selected (covered by the selection shape) during the expansion of the selection shape, the content application may include the whole word “apple” as the captured content. In another example, the identified grouping may be “Math 101.” If only the word “Math” is selected during the expansion of the selection shape, the content application can include the whole phrase “Math 101” as the captured content.
The content application may perform a proximity calculation to identify what content to capture. In this case, any content within a proximity distance threshold of the selection shape may be selected. The proximity calculation may be used in the case where the content application does not include an ink analyzer to identify groupings. For example, a letter in a word may not have been included in the selection, but may have been intended to be included. The proximity calculation may be used to identify that the letter is close enough to the rest of the letters in the word that has been selected. Therefore, the content application can capture the whole word instead of only a part of the word.
The captured content may be distinguished from the rest of the content in a variety of ways. In some cases, an identifier for the captured content may be provided. The identifier may modify the captured content, for example, by highlighting the captured content or changing a property of the captured content, such as color or size.
The selection shape may include a shaded area to indicate what content has been captured. The shaded area may cover the selected content and does not have to be the same size as the selection shape. For example, the selection shape may include several zones and the shaded area of the selection shape may only include some of those zones.
In addition to the indicia of expansion, the content application can receive indicia of contraction; and based on the indicia of contraction, can contract the selection shape to remove content from the captured content. The indicia of contraction can also comprise, for example, one or more of a time of a hold, a location of a tap (or other gesture indicating location of a selection of a zone), and a direction of a drag and may be received through a variety of user interactions with the UI, such as, but not limited to, a tap control, a drag control, and a slide control.
Further, once the selection shape has been expanded to capture the content, the captured content may be manipulated. For example, the captured content may be moved, rotated, or scaled.
In block 402, a selection shape 404a may be surfaced anchored to origination point 406. The selection shape 404a has an initial size, an original capture area, and includes multiple indicator handles, such as indicator handle 408a and indicator handle 408b. The initial size of selection shape 404a may be a default size or a size based on a user interaction received by a content application in which the content application then initiates a selection mode.
In block 410, a user may drag (415) indicator handle 408b from an initial position 417 to a second position 418. As the user performs the drag gesture (415), the selection shape 404b expands from the origination point 406 to a second size that is larger than the initial size. As the selection shape 404b is expanded, the original capture area is expanded to an expanded capture area to capture content proximate to the original capture area. As previously discussed, the amount of expansion may be determined using a ratio based on the length of the user interaction.
In this case, the indicator handle 408b moves along with the drag gesture (415) and stays at the second position 418 after the drag gesture (415) is performed. In some cases, the indicator handle 408b may return to the initial position 417 after any user interaction.
In block 420, the user may further drag (422) indicator handle 408b from the second position 418 to a third position 424. As the user performs the drag gesture (422), the selection shape 404c (and the expanded capture area) continues to expand from the origination point 406 to a third size that is larger than the second size.
The expansion of the selection shape 404 allows single handed proximity selection of content that is out of reach of the user, thus, minimizing large movements (e.g., large arm movements, taking multiple steps, etc.) performed by the user for large displays.
For example, the content application may understand a capture area (such as an original capture area or an expanded capture area) of content based on where the selection shape is covering and/or where a selected zone of the selection shape covers.
A selection shape may be expanded or contracted in multiple directions. In some cases, when a content application expands or contracts the selection shape, the entire selection shape may grow or shrink proportionately. In other cases, one side of the selection shape may be expanded or contracted. This type of expansion may change the shape of the selection, for example, from a rectangle to a square or from a circle to an oval. Further, the sides of selection shape 505 may be able to be manipulated to grow the sector of the circle into a full circle.
Referring to
Selection shape 530, as shown in
Referring to
In response to receiving a variety of user interactions with the UI 605, the content application 600 may initiate selection mode. As previously described, the user interactions with the UI 605 may be accomplished via input mechanisms of a stylus, pen, or finger (on a touch screen or pad). For example, the user may tap a selection icon 620 in the UI 605 of the content application 600. In addition, or as an alternative, a user may tap and hold a point on the UI 605 of the content application.
Referring to
As shown in
Referring to
Referring to
Referring to
A user may draw a circle 715 in digital ink on the UI 705 with a stylus 720. The circle 715 may be drawn at any location on the UI 705. In this example, the circle 715 is drawn around content 710a.
Referring to
Referring to
Although the selection shape 735 is surfaced where the selection shape 735 is covering the content 710a, the selection shape 735 may, in some cases initially surface in front of the content in the UI and be moved to another location of the UI 705 to capture different content. For example, the selection shape 735 may be moved to the content 710b. There may be a time period that the selection shape floats and/or a select/deselect functionality
Referring to
In this example, the captured content 750a is moved from an initial position 755 on the UI 760 to a second position 760 on the UI 705. The captured content 750 may be moved by a user interaction with the UI 705. For example, the user may press down on a location inside or on the selection shape 735 and perform a drag gesture to the desired location.
Referring to
System 800 includes a processing system 805 of one or more processors to transform or manipulate data according to the instructions of software 810 stored on a storage system 815. Examples of hardware processors of the processing system 805 include general purpose central processing units, application specific processors, and logic devices, as well as any other type of processing device, combinations, or variations thereof. The processing system 805 may be, or is included in, a system-on-chip (SoC) along with one or more other components such as network connectivity components, sensors, video display components.
The software 810 can include an operating system and application programs such as a content creation and consumption application 820. Device operating systems generally control and coordinate the functions of the various components in the computing device, providing an easier way for applications to connect with lower level interfaces like the networking interface. Non-limiting examples of operating systems include Windows® from Microsoft Corp., Apple® iOS™ from Apple, Inc., Android® OS from Google, Inc., and the Ubuntu variety of the Linux OS from Canonical.
It should be noted that the operating system may be implemented both natively on the computing device and on software virtualization layers running atop the native device operating system (OS). Virtualized OS layers, while not depicted in
Storage system 815 may comprise any computer readable storage media readable by the processing system 805 and capable of storing software 810 including the content creation and consumption application 820.
Storage system 815 may include volatile and nonvolatile memory, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. Examples of storage media of storage system 815 include random access memory, read only memory, magnetic disks, optical disks, CDs, DVDs, flash memory, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other suitable storage media. In no case is the storage medium a transitory propagated signal or carrier wave.
Storage system 815 may be implemented as a single storage device but may also be implemented across multiple storage devices or sub-systems co-located or distributed relative to each other. Storage system 815 may include additional elements, such as a controller, capable of communicating with processing system 805.
In general, software may, when loaded into processing system 805 and executed, transform computing system 800 overall from a general-purpose computing system into a special-purpose computing system customized to retrieve and process the information for facilitating content authoring as described herein for each implementation. Indeed, encoding software on storage system 815 may transform the physical structure of storage system 815. The specific transformation of the physical structure may depend on various factors in different implementations of this description. Examples of such factors may include, but are not limited to the technology used to implement the storage media of storage system 815 and whether the computer-storage media are characterized as primary or secondary storage.
The system can further include a user interface system 830, which may include input/output (I/O) devices and components that enable communication between a user and the system 800. User interface system 830 can include input devices such as a mouse, track pad, keyboard, a touch device for receiving a touch gesture from a user, a motion input device for detecting non-touch gestures and other motions by a user, a microphone for detecting speech, and other types of input devices and their associated processing elements capable of receiving user input.
The user interface system 830 may also include output devices such as display screen(s), speakers, haptic devices for tactile feedback, and other types of output devices. In certain cases, the input and output devices may be combined in a single device, such as a touchscreen display which both depicts images and receives touch gesture input from the user. A touchscreen (which may be associated with or form part of the display) is an input device configured to detect the presence and location of a touch. The touchscreen may be a resistive touchscreen, a capacitive touchscreen, a surface acoustic wave touchscreen, an infrared touchscreen, an optical imaging touchscreen, a dispersive signal touchscreen, an acoustic pulse recognition touchscreen, or may utilize any other touchscreen technology. In some embodiments, the touchscreen is incorporated on top of a display as a transparent layer to enable a user to use one or more touches to interact with objects or other information presented on the display.
Visual output may be depicted on the display in myriad ways, presenting graphical user interface elements, text, images, video, notifications, virtual buttons, virtual keyboards, or any other type of information capable of being depicted in visual form.
The user interface system 830 may also include user interface software and associated software (e.g., for graphics chips and input devices) executed by the OS in support of the various user input and output devices. The associated software assists the OS in communicating user interface hardware events to application programs using defined mechanisms. The user interface system 830 including user interface software may support a graphical user interface, a natural user interface, or any other type of user interface. For example, the interfaces for the selection of proximate content described herein may be presented through user interface system 830.
Communications interface 840 may include communications connections and devices that allow for communication with other computing systems over one or more communication networks (not shown). Examples of connections and devices that together allow for inter-system communication may include network interface cards, antennas, power amplifiers, RF circuitry, transceivers, and other communication circuitry. The connections and devices may communicate over communication media (such as metal, glass, air, or any other suitable communication media) to exchange communications with other computing systems or networks of systems. Transmissions to and from the communications interface are controlled by the OS, which informs applications of communications events when necessary.
This application is a continuation application of U.S. application Ser. No. 15/629,141, filed Jun. 21, 2017.
Number | Name | Date | Kind |
---|---|---|---|
5973692 | Knowlton | Oct 1999 | A |
10613748 | Alcorn | Apr 2020 | B2 |
20100085318 | Lee | Apr 2010 | A1 |
20120249595 | Feinstein | Oct 2012 | A1 |
20150058754 | Rauh | Feb 2015 | A1 |
20180300302 | Holley | Oct 2018 | A1 |
20180302232 | Rodrigues | Oct 2018 | A1 |
20180357206 | Biswas | Dec 2018 | A1 |
Number | Date | Country | |
---|---|---|---|
20190294292 A1 | Sep 2019 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15629141 | Jun 2017 | US |
Child | 16437548 | US |