Patent Publication Number: US-10768804-B2

Title: Gesture language for a device with multiple touch surfaces

Description:
BACKGROUND 
     Mobile devices provide today&#39;s user with a variety of different functionality, and in many instances allow the user to directly interact with objects displayed via touch-sensitive display devices. A typical gesture language, however, may be inefficient for devices having multiple touch-sensitive surfaces given the ergonomics of holding and interacting with such a device. This can detract from user enjoyment and lead to user frustration when using these types of devices. 
     SUMMARY 
     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 as an aid in determining the scope of the claimed subject matter. 
     A gesture language for a device with multiple touch surfaces is described. Generally, a series of new touch input models is described that includes touch input interactions on two disjoint touch-sensitive surfaces. For example, a mobile device can include a primary display on a “front” side of the device, and a secondary display or touch-sensitive surface on the “back” side of the device, such as a surface that is opposite the primary display. Accordingly, the gesture language can include a series of “back touch” interactions with the touch-sensitive surface on the backside of the device. Example interactions include direct and indirect touch input on the back side, as well as simultaneous touch input on both sides of the device. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different instances in the description and the figures may indicate similar or identical items. Entities represented in the figures may be indicative of one or more entities and thus reference may be made interchangeably to single or plural forms of the entities in the discussion. 
         FIG. 1  is an illustration of an environment in an example implementation that is operable to employ the techniques described herein in accordance with one or more embodiments. 
         FIG. 2  depicts example implementation scenarios for a gesture language for a device with multiple touch surfaces in accordance with one or more implementations. 
         FIG. 3  depicts an example implementation scenario for a gesture language for a device with multiple touch surfaces in accordance with one or more embodiments. 
         FIG. 4  depicts an example implementation scenario which represents non-aligned dual-surface gestures in accordance with one or more embodiments. 
         FIG. 5  depicts an example implementation scenario which represents a dual-surface gesture modifier in accordance with one or more embodiments. 
         FIG. 6  depicts an example implementation scenario which represents a dual-surface targeted gesture in accordance with one or more embodiments. 
         FIG. 7  is a flow diagram that describes steps in a method in accordance with one or more embodiments. 
         FIG. 8  is a flow diagram that describes steps in a method in accordance with one or more embodiments. 
         FIG. 9  illustrates an example system including various components of an example device that can be implemented as any type of computing device as described with reference to  FIGS. 1-8  to implement embodiments of the techniques described herein. 
     
    
    
     DETAILED DESCRIPTION 
     Overview 
     Techniques for a gesture language on a device with multiple touch surfaces are described. Generally, techniques described herein allow touch input interactions with two disjoint surfaces of a mobile device. In implementations, the two surfaces face opposite directions from one another, such that the two surfaces have a front-to-back relationship, at least temporarily. In this way, the back surface faces away from a user while the user is looking at the primary display. Such a device is aware of touch input on both sides of the device and is able to correlate the two input streams. This is not to be construed as limiting, however, and techniques described herein can be employed in devices that have two or more input surfaces that are not “back-to-front” in relation to one another, but can be positioned adjacent one another at different angles. 
     By having multiple touch surfaces, devices described herein enable a range of interaction models that take advantage of touch input on a touch surface that is not a primary touch surface, or that take advantage of correlated touch input on multiple sides of the device. These interaction models can be complementary to one another, selected based on user preferences, selected based on a current context of the device (e.g., based on which shell user interface or application is currently active), and so on. 
     In the following discussion, an example environment is first described that is operable to employ techniques described herein. Next, a section entitled “Example Implementation Scenarios” describes some example implementation scenarios in accordance with one or more embodiments. Following this, a section entitled “Example Procedures” describes some example procedures in accordance with one or more embodiments. Finally, a section entitled “Example System and Device” describes an example system and device that are operable to employ techniques discussed herein in accordance with one or more embodiments. 
     Having presented an overview of example implementations in accordance with one or more embodiments, consider now an example environment in which example implementations may by employed. 
     Example Environment 
       FIG. 1  is an illustration of an environment  100  in an example implementation that is operable to employ techniques for a gesture language for a device with multiple touch surfaces discussed herein. Environment  100  includes a client device  102  which can be configured for mobile use, such as a mobile phone, a tablet computer, a wearable device, a handheld gaming device, a media player, and so on. The client device  102  includes a touch surface  104   a  and a touch surface  104   b  that are disjoint from one another, and an input module  106  configured to process input received via one or more of the touch surfaces  104   a ,  104   b  according to techniques described herein. Generally, the touch surfaces  104   a ,  104   b  are disjoint from one another since they are not adjacent one another and/or directly connected to one another. The touch surface  104   a , for instance, is positioned on a front surface of the client device  102 , and the touch surface  104   b  is positioned on a rear surface of the client device  102 . In at least some alternative implementations, disjoint touch surfaces may represent touch surfaces that are connected to one another yet may be oriented at different angles and/or planar orientations relative to each other. 
     While implementations presented herein are discussed in the context of a mobile device, it is to be appreciated that various other types and form factors of devices may be utilized in accordance with the claimed implementations. Thus, the client device  102  may range from full resource devices with substantial memory and processor resources, to a low-resource device with limited memory and/or processing resources. An example implementation of the client device  102  is discussed below with reference to  FIG. 9 . 
     The client device  102  includes a variety of different functionalities that enable various activities and tasks to be performed. For instance, the client device  102  includes an operating system  108 , applications  110 , and a communication module  112 . Generally, the operating system  108  is representative of functionality for abstracting various system components of the client device  102 , such as hardware, kernel-level modules and services, and so forth. The operating system  108 , for instance, can abstract various components (e.g., hardware, software, and firmware) of the client device  102  to enable interaction between the components and applications running on the client device  102 . 
     The applications  110  are representative of functionality for performing different tasks via the client device  102 . In one particular implementation, the applications  110  represent a web browser, web platform, or other application that can be leveraged to browse websites  116  over the network  114 . 
     The communication module  112  is representative of functionality for enabling the client device  102  to communicate over wired and/or wireless connections. For instance, the communication module  112  represents hardware and logic for communicating data via a variety of different wired and/or wireless technologies and protocols. 
     The client device  102  further includes a display device  118 , the input module  106 , and input mechanisms  120 . The display device  118  generally represents functionality for visual output for the client device  102 . Additionally, the display device  118  represents functionality for receiving various types of input, such as touch input, pen input, touchless proximity input, and so forth via one or more of the touch surfaces  104   a ,  104   b . The input module  106  is representative of functionality to enable the client device  102  to receive input (e.g., via the input mechanisms  120 ) and to process and route the input in various ways. 
     The input mechanisms  120  generally represent different functionalities for receiving input to the client device  102 , and include a digitizer  122  and touch input devices  124 . Examples of the input mechanisms  120  include gesture-sensitive sensors and devices (e.g., such as touch-based sensors), a stylus, a touch pad, accelerometers, a microphone with accompanying voice recognition software, and so forth. The input mechanisms  120  may be separate or integral with the display device  118 ; integral examples include gesture-sensitive displays with integrated touch-sensitive sensors. The digitizer  122  represents functionality for converting various types of input to the display device  118  and the touch input devices  124  into digital data that can be used by the client device  102  in various ways. 
     The network  114  may be implemented in various ways, such as a wired network, a wireless network, and combinations thereof. In at least some implementations, the network  114  represents the Internet. For instance, the applications  110  may be leveraged to browse websites  116  that are accessible via the network  114 . 
     Having described an example environment in which the techniques described herein may operate, consider now a discussion of some example implementation scenarios in accordance with one or more implementations. 
     Example Implementation Scenarios 
     This section describes some example implementation scenarios for a gesture language for a device having multiple touch surfaces in accordance with one or more implementations. The implementation scenarios may be implemented in the environment  100  described above, the system  900  of  FIG. 9 , and/or any other suitable environment. The implementation scenarios and procedures, for example, describe example operations of the client device  102 . 
       FIG. 2  depicts example implementation scenarios  200  of devices that include functionality for a gesture language for a device with multiple touch surfaces as described herein. The scenarios  200  include various different configurations of devices having multiple touch surfaces. The devices discussed in the scenarios  200 , for instance, represent different instances of the client device  102 . 
     For example, a device, such as mobile device  202 , includes a touch-sensitive display  204  (e.g., gesture-sensitive display or surface) on a front side of the mobile device  202 . In addition, the mobile device  202  includes a back surface  206 , which is configured as a touch-sensitive surface on a back side of the mobile device  202  and faces a direction that is opposite to that of the touch-sensitive display  204 . In some implementations, the back surface  206  is a touchpad. Alternatively or additionally, the back surface  206  can be implemented as a display with touch sensors configured to detect touch input. According to various implementations, touch input to the touch-sensitive display  204  and the back surface  206  can be interpreted according to techniques for gesture language for a device having multiple touch surfaces described herein. 
     The scenarios  200  include a bendable device  208  having a display device  210  disposed on a bendable material that is bendable into different configurations, causing at least a portion of the display device  210  to be hidden from the user&#39;s view. For example, the bendable device  208  can be shaped into a position having a first portion  210   a  of the display device  210  facing the user and a second portion  210   b  of the display device  210  that is non-planar with the first portion  210   a , such that the second portion  210   b  of the display device  210  is essentially “on the backside” of the bendable device  208 . In at least one implementation, the second portion  210   b  can be positioned normal to the first portion  210   a . Accordingly, a variety of different positions and configurations of the bendable device  208  are contemplated, and are not necessarily limited to a front/back configuration. According to various implementations, touch input to the first portion  210   a  and the second portion  210   b  can be interpreted according to techniques for gesture language for a device having multiple touch surfaces described herein. 
     The scenarios  200  also include multiple devices  212 ,  214  that are physically connected to one another and include touch-sensitive displays  216 ,  218 , respectively. In implementations, the devices  212 ,  214  can be connected via a movable physical connection  220 , such as a hinge, a pivot, a joint, a swivel, and so on. The movable physical connection  220  can allow the devices  212 ,  214  to be positioned in a variety of different configurations, such as a “closed book” configuration where the displays  216 ,  218  face each other. Additionally, the devices  212 ,  214  can be positioned in an “open book” configuration where the displays  216 ,  218  are positioned relative to one another at an angle between zero and 90 degrees, or between 90 degrees and 360 degrees. In yet another example position, the displays  216 ,  218  can be parallel with one another in a side-by-side configuration where both displays  216 ,  218  face the same direction. In at least one implementation, the devices  212 ,  214  can be positioned such that the displays  216 ,  218  face substantially opposite directions, as illustrated in example configuration  222 . According to various implementations, touch input to the displays  216 ,  218  can be interpreted according to techniques for gesture language for a device having multiple touch surfaces described herein. 
       FIG. 3  depicts example implementation scenarios  300  for a gesture language for a device with multiple touch surfaces in accordance with one or more implementations. In one example implementation, a user may effectively “pinch” the mobile device  202 , such as in a scenario  300   a . A pinch gesture includes two touch points, each on a different touch surface, that are both spatially and temporally correlated by the device. For instance, in the scenario  300   a , a user applies a pinch gesture with a thumb and index finger at touch points on the display  204  and the back surface  206  correlating to an object  302   a  that is displayed on the display  204 . This pinch gesture, represented by arrows  304 ,  306  which represent approximately simultaneous touch points on both the display  204  and the back surface  206  of the mobile device  202 , selects the object  302   a . In at least one implementation, the object  302   a  can be visually modified to visually indicate that the object  302   a  has been selected, such as by highlighting the object to provide a selected object  302   b  that is visually altered. The user may then release the pinch and the object  302   a  remains selected as the selected object  302   b . In this way, the device enables the user to initiate other operations with respect to the selected object  302   b.    
     Alternatively or additionally, the user may perform a pinch and drag gesture, such as in scenario  300   b . For example, pinching the object  302   a  as described above detaches the object  302   a  from its current position on the display  204  to provide a detached object  302   c . Then, while both fingers remain in a state of touching the mobile device  202 , the user may slide their fingers along the surfaces, with both fingers aligned to drag the detached object  302   c  to different locations or regions of the user interface. An example of this drag gesture is illustrated by arrows  308 ,  310 , which represent contact points and movement of a gesture applied to both the display  204  and the back surface  206  of the mobile device  202 . This gesture drags the detached object  302   c  with both fingers to another location within the display. 
     In some implementations, the user may drag the detached object  302   c  conceptually off the edges of the display  204 . This interaction can be interpreted as a copy operation to copy content to a temporary memory, such as a clipboard. For example, the user can drag the detached object  302   c  off the edge of the display  204  to copy the detached object  302   c  to the clipboard. Then, the user can pinch the mobile device  202  in another location to paste the detached object  302   c  at that location. In at least one implementation, the user may switch to a different context (e.g., a different application), such as context  312  displayed on mobile device  202 , after dragging the detached object  302   c  off an edge of the display  204 . Once the context  312  is opened and displayed, the user may perform another gesture to paste the copied content into the context  312 . For example, the user may pinch the mobile device  202  at touch points represented by an arrow  314  on the display  204  and an arrow  316  on the back surface  206  to paste the object  302   c  into the context  312 . Alternatively or additionally, if the back surface  206  includes a touch display, the user can flip the mobile device  202  over and paste the object  302   c  on the backside touch display. 
     In another example, a dual-surface pinch-and-drag gesture such as described above can be used to change a current view, to resize, rotate, delete, or manipulate content, and so on. Alternatively, a dual-screen tap gesture can be used to select an object in a context where a single-screen tap is interpreted to activate the object. Accordingly, a variety of different operations can be performed using a dual-surface pinch gesture and/or drag gesture. 
     The scenario  300  represents example scenarios for aligned dual-surface pinch gestures. These interactions begin with simultaneous correlated touch points (e.g., touch points represented by arrows  304 ,  306 ) on both surfaces (e.g., display  204  and back surface  206 ). In at least one implementation, the interactions can then continue with an aligned gesture movement (e.g., movement represented by arrows  308 ,  310 ) on both surfaces. Both the position of each touch point and the timing between the touch points is considered by the system to disambiguate the dual-surface pinch gesture from conventional touch input. For example, spatial information associated with the positions of the touch points (e.g., arrows  304 ,  306 ) on each surface is combined with temporal information associated with a duration of time occurring between non-simultaneous touch points received by the system on each surface. Combining the spatial information with the temporal information enables the system to reliably disambiguate those gestures from other user interactions, such as traditional touch gestures or single-screen touch gestures via the display  204 , or inadvertent touch events via the back surface  206  that might be caused by changing the user&#39;s grip on the device. 
       FIG. 4  depicts an example implementation scenario  400  which represents non-aligned dual-surface gestures in accordance with one or more implementations. For example, a representation of a three-dimensional (3D) object  402  is displayed via the touch-sensitive display  204  of the mobile device  202 . In implementations, non-aligned dual-surface gestures can begin with a simultaneous correlated touch points on both the display  204  and the back surface  206 , and then continue with non-aligned gesture movement on one or both surfaces. For instance, in at least one implementation, a user pinches the object  402  with substantially simultaneous touch inputs  404 ,  406 , and then moves the touch inputs  404 ,  406  in opposite directions on each surface. For example, gesture movement can include moving the touch input  404  on the display  204  to the left while moving the touch input  406  on the back surface  206  to the right, as illustrated by arrows  408 ,  410 , respectively. These two gestures can cause the object  402  to flip or rotate in a corresponding direction. For example, the object  402  is illustrated as a 3D die with 1-, 2-, and 3-sides showing. By performing the non-aligned dual-surface gesture represented by the arrows  408 ,  410 , the 3D die is rotated to show a different arrangement of sides of the die. In the illustrated example, the object  402  has been rotated to show the 1-, 3-, and 5-sides of the die. 
     In another example, the non-aligned dual-surface gesture can be used to flip an object to view content on the back side of that object. This can be referred to as a “coin flip” because it is similar to flipping a coin to view content on the reverse side. Any piece of content can be flipped to view additional content on the reverse side of that piece of content. The additional content can include a variety of different data, such as metadata describing the object, user annotations associated with the object, related content, contextual actions, insights about the object provided by a digital agent, and so on. This provides content developers with potentially additional space usable to display information or other content to the user without cluttering the display area. 
       FIG. 5  depicts an example implementation scenario  500  which represents a dual-surface gesture modifier in accordance with one or more implementations. The scenario  500  includes a mobile device  502 , which represents an instance of the client device  102 . The mobile device  502  includes a first surface  504  and a second surface  506  opposite the first surface  504 . The first surface  504  and the second surface  506 , for instance, represent a front surface and a back surface of the mobile device  502 , respectively, or vice-versa. 
     In the scenario  500 , the second surface  506  of the mobile device  502  is used to trigger a gesture modifier, which places the other surface and/or the input module  106  configured to process input received via the other surface, in a temporary mode that changes the interpretation of touch inputs on that surface. This can be compared to pressing and holding down the Shift key or the Ctrl key on a keyboard while pressing other keys. For example, in a word processor, pressing the “s” key causes the letter “s” to be entered in the currently displayed document, whereas holding the Ctrl key first and then pressing the “s” key causes the system to interpret the interaction differently and save the document instead. 
     For instance, the user interacts with the second surface  506  by holding two fingers on the second surface  506  at touch points  508 , which in this implementation is interpreted as a gesture modifier  510 . Then, the user interacts with the first surface  504  by performing a gesture  512 . The gesture  512 , for instance, represents a swipe gesture. A conventional swipe gesture might scroll a list or navigate to a next/previous image. Performing the same swipe gesture (e.g., the gesture  512 ), however, while performing the gesture modifier  510  via the second surface  506  can initiate a different action than a swipe gesture alone, such as scrolling the list by a different amount, jumping to a different category or section of the list, zooming the list, modifying the list, sorting the list, filtering the list, commanding on the list, and so on. 
     According to various implementations, the gesture modifier  510  is mapped to a gesture performed on the second surface  506 . Examples of the gesture modifier  510  include touching the second surface  506  with a particular finger or a particular number of fingers, or swiping the second surface  506  with one or more fingers. Another example includes tapping a particular number of times on the second surface  506  rather than touching and holding the second surface  506 . Further, multiple different temporary modes can be initiated using different gesture modifiers, such as using one versus two touch points on the second surface  506 , or a tap versus a swipe on the second surface  506 . Accordingly, any of a variety of different gestures on one surface of the mobile device  502  can be used as modifiers to change the mode of interpretation of gestures on another surface of the mobile device  502 . While the scenario  500  is described as using the second surface  506  to perform the gesture modifier  510 , it is also contemplated that the gesture modifier  510  can be performed via the first surface  504  to place the second surface  506  in the temporary mode that changes the interpretation of touch inputs on the second surface  506 . 
       FIG. 6  depicts example implementation scenarios  600  which represents a dual-surface targeted gesture in accordance with one or more implementations. The scenarios  600  include a scenario  600   a  and a scenario  600   b.    
     In the scenario  600   a , one of the display  204  or the back surface  206  is used to establish a target of an operation and the other of the display  204  or the back surface  206  is used to establish the command of the operation. In a speech command context, for example, a first surface gesture establishes a noun, while a second surface gesture establishes a verb indicating an action in relation to the noun. Accordingly, the display  204  and back surface  206  can serve different complementary functions in this interaction model. 
     In at least one implementation, the target of a command is a digital photo, and the operation or command to be performed on the photo is adding the photo to a collection, resizing the photo, rotating the photo, sharing the photo with a friend, deleting the photo, and so on. Accordingly, a set of different contextual commands can all be applicable to the same context (e.g., different commands applied to the same object). In the scenario  600   a , for instance, the mobile device  202  is illustrated as displaying an object  602  (e.g., a photo) on the display  204 . The user touches the display  204  at the location of the object  602  to specify the object, such as by performing a gesture  604 . The gesture  604  can be implemented in various ways, such as pressing and holding the object  602 , tapping the object  602 , double-tapping the object  602 , and so on. Then, with the object  602  specified, a gesture  606  (e.g., a directional swipe) is performed on the back surface  206 , and the gesture  606  is mapped to a particular command. In the illustrated example, the gesture  606  maps to a resizing command to enlarge the object  602  that was specified using gesture  604  to provide an enlarged object  608 . 
     In another example, swiping to the right in the context of a photo can indicate that the photo is to be shared, but swiping to the right in a different context may have a different interpretation. This allows the same family of gesture input on the side that is performing the commands to have a different interpretation based on the context. 
     In yet another example, a context menu can be displayed based on a conventional right-click on an object or press-and-hold on the object  602 . Generally, the context menu includes a number of commands that can be performed in relation to the particular context. The techniques described herein can essentially create shortcuts to those operations that generally appear in the context menu. For example, rather than performing various different steps to open the context menu, navigate through a user interface, and perform an operation, the operations in the context menu can be initiated with a single step using a dual-surface gesture modifier. Additionally, the context menu can be used to teach the user about available gesture shortcuts and their corresponding behaviors. 
     Scenario  600   b , for instance, includes mobile device  610 , which represents an instance of the client device  102 . While holding mobile device  610 , the user presses and holds a touch point  612  on a front display  614  corresponding to an object  616 , which is not shown because the object  616  is occluded by the user&#39;s thumb, but is indicated via dashed lines to indicate a position of the object  616  under the user&#39;s thumb. While holding the object  616  via the front display  614 , the user performs a directional swipe  618  via a back surface  620  of the mobile device  610  with another finger. This gesture can perform any of a variety of different operations on the selected object, such as resize, unpin, pin, flip a state, mark/unmark as a favorite, share, rotate, copy, delete, and so on. By simultaneously specifying the object and the command with the dual-surface targeted gestures, individual operations in the context menu can be initiated with a single step. 
     Having described some example implementation scenarios, consider now some example procedures for a gesture language for a mobile device with multiple touch surfaces in accordance with one or more implementations. 
     Example Procedures 
     The following discussion describes example procedures for a gesture language for a device with multiple touch surfaces in accordance with one or more implementations. The example procedures may be employed in the environment  100  of  FIG. 1 , the system  900  of  FIG. 9 , and/or any other suitable environment. The procedures, for instance, represents procedures for implementing the example implementation scenarios discussed above. In at least some implementations, the steps described for the various procedures can be implemented automatically and independent of user interaction. 
       FIG. 7  is a flow diagram that describes steps in a method in accordance with one or more implementations. The method, for instance, describes an example procedure for a gesture language for a device with multiple touch surfaces in accordance with one or more implementations. 
     Step  700  executes a first mode of touch-input interpretation corresponding to a first touch-sensitive surface of at least two disjoint touch-sensitive surfaces of a computing device. The client device  102 , for instance, executes a mode of interpreting touch inputs a first surface, such as a front display. The mode represents a set of mappings between gestures and operations. 
     Step  702  recognizes a touch input via a second surface of the at least two disjoint touch-sensitive surfaces as a gesture modifier configured to change the first mode of the first surface to a second mode that interprets touch inputs via the first surface differently than the first mode. For example, the client device  102  can receive a touch input via the back surface  206 . The touch input can include any of a variety of gestures, such as a tap, double-tap, directional swipe, multi-finger tap or swipe, and so on. The second mode and the first mode are configured to interpret the same touch input differently. For example, a directional swipe in the first mode via the first surface can be interpreted to navigate a currently displayed photo to a next photo in a group of photos. Using the second mode, however, the same directional swipe via the first surface can be interpreted to resize or rotate the photo. Accordingly, different modes of touch-input interpretation map the same group of gestures to different operations, and each mode can be initiated based on a different gesture modifier. Utilizing multiple different modes that are accessible each with a different gesture modifier extends a number of operations that are directly available to a user and which are accessible without resorting to additional onscreen user interfaces used by traditional nesting menus. 
     Step  704  executes the second mode corresponding to the first surface based on the gesture modifier. The client device  102 , for example, changes the mode of touch-input interpretation of the front surface based on the gesture modifier recognized via the back surface. This can be analogized to conventional Shift, Ctrl, and Alt keys on a keyboard that modify operations associated with particular keys on the keyboard. 
     Optional step  706  changes the second mode to the first mode in response to an interruption of the gesture modifier. For example, once the user releases the touch input on the back surface  206 , such as by lifting their finger(s), the gesture modifier is interrupted or canceled. Based on this, the mode of the first surface can return to a default mode. Alternatively, the mode can return to the default mode after expiration of a duration of time, or based on an additional gesture modifier received via the back surface  206 . 
     Optional step  708  changes the first mode to a third mode of touch-input interpretation in response to recognizing an additional gesture modifier received via the second surface. The mobile device  202  can recognize, for instance, a different gesture modifier via the back surface  206  that is mapped to an alternative mode corresponding to the first surface. In at least one implementation, the additional gesture modifier corresponding to the third mode can include a three-finger double-tap in contrast to a single finger double-tap corresponding to the gesture modifier for the second mode. Any of a variety of different gestures can be used as the additional gesture modifier corresponding to the third mode. 
       FIG. 8  is a flow diagram that describes steps in a method in accordance with one or more implementations. The method, for instance, describes an example procedure for a gesture language for a device with multiple touch surfaces in accordance with one or more implementations. 
     Step  800  displays an object via a display device of a computing device. In implementations, the display device is configured as a first touch-sensitive surface that is disjoint from a second touch-sensitive surface of the mobile device. For example, the mobile device  202  can include two display devices that face different directions from one another, such as opposite directions. Alternatively, the mobile device  202  can include the display device disposed on a front surface and a touchpad disposed on a back surface. A variety of different configurations are contemplated for a device having two disjoint touch-sensitive surfaces, examples of which are discussed above. 
     Step  802  recognizes a first gesture establishing the object as a target of an operation. In implementations, a first touch input is received via the first touch-sensitive surface and recognized as the first gesture. For example, in the scenario  600   b  in  FIG. 6 , the first gesture includes a tap-and-hold gesture at the touch point  612 , which is associated with a location of the object  616  displayed via the front display  614  of the mobile device  610 . This gesture is recognized as selecting the object  616  and establishing the object as the target of an operation. 
     Step  804  recognizes a second gesture initiating the operation on the object. In implementations, a second touch input is received via the second touch-sensitive surface while the object is selected via the first touch-sensitive surface, and the second touch input is recognized as the second gesture. Continuing with the example from scenario  600   b , the second gesture can include the directional swipe  618  gesture received via the back surface  620  of the mobile device  610 . The directional swipe  618  received via the back surface  620  can be mapped to a variety of different operations that are performable in relation to the selected object  616 , examples of which are described above. 
     Step  806  performs the operation on the object in response to recognizing the second gesture. For example, the second gesture can be mapped to a particular operation, and the operation can be performed in relation to the target that was selected using the first gesture via the front display of the mobile device. In implementations, the operation is performed on the selected object based on the second touch input received via the second touch-sensitive surface. 
     Having described some example procedures for a gesture language for a device with multiple touch surfaces, consider now some further implementation details in accordance with one or more implementations. 
     Implementation Details 
     Generally, techniques for gesture language for a device with multiple touch surfaces described herein enable, as part of the gesture language:
         Input control based on back touch interactions with a touch-sensitive input surface on the backside of a mobile device, positioned opposite the primary display   Extension of gesture languages to simultaneous touch input on a forward-facing touchscreen and a rear surface to enable additional categories of gesture interactions   Extension of gesture languages without conflicting with existing gesture language models, such as single surface gesture language models   Specific simultaneous touch model using “pinch” gestures that begin with simultaneous correlated touch points on both surfaces and continue with aligned gesture movement on both surfaces (e.g., pinch and drag)   Specific simultaneous touch model using “pinch” gestures that begin with simultaneous correlated touch points on both surfaces and continue with non-aligned gesture movement on both surfaces (e.g., “coin flip”)   Alternative use for gesture modifiers performed on one side that place the opposite input surface into a temporary mode that changes interpretation of touch input       

     Accordingly, techniques described herein provide new and more efficient ways for users to interact with devices that have multiple touch surfaces without conflicting with existing gesture input models. Additionally, the techniques described herein improve the user experience by extending the number and type of gesture inputs recognizable by these devices. Further, these additional gesture inputs can be used as shortcuts to perform a variety of operations that would otherwise require several navigational steps to initiate, thereby increasing efficiency and reducing the time used to navigate to and initiate various commands. 
     Having described some example implementation details, consider now a discussion of an example system and device in accordance with one or more implementations. 
     Example System and Device 
       FIG. 9  illustrates an example system generally at  900  that includes an example computing device  902  that is representative of one or more computing systems and/or devices that may implement the various techniques described herein. In at least some implementations, the computing device  902  represents an implementation of the client device  102  discussed above. The computing device  902  may be, for example, be configured to assume a mobile configuration through use of a housing formed and sized to be grasped and carried by one or more hands of a user, illustrated examples of which include a mobile phone, mobile game and music device, and tablet computer although other examples are also contemplated. In at least some implementations, the client device  102  may be implemented as a wearable device, such as a smart watch, smart glasses, a dual surface gesture-input peripheral for a computing device, and so forth. 
     The example computing device  902  as illustrated includes a processing system  904 , one or more computer-readable media  906 , and one or more I/O interface  908  that are communicatively coupled, one to another. Although not shown, the computing device  902  may further include a system bus or other data and command transfer system that couples the various components, one to another. A system bus can include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and/or a processor or local bus that utilizes any of a variety of bus architectures. A variety of other examples are also contemplated, such as control and data lines. 
     The processing system  904  is representative of functionality to perform one or more operations using hardware. Accordingly, the processing system  904  is illustrated as including hardware element  910  that may be configured as processors, functional blocks, and so forth. This may include implementation in hardware as an application specific integrated circuit or other logic device formed using one or more semiconductors. The hardware elements  910  are not limited by the materials from which they are formed or the processing mechanisms employed therein. For example, processors may be comprised of semiconductor(s) and/or transistors (e.g., electronic integrated circuits (ICs)). In such a context, processor-executable instructions may be electronically-executable instructions. 
     The computer-readable storage media  906  is illustrated as including memory/storage  912 . The memory/storage  912  represents memory/storage capacity associated with one or more computer-readable media. The memory/storage component  912  may include volatile media (such as random access memory (RAM)) and/or nonvolatile media (such as read only memory (ROM), Flash memory, optical disks, magnetic disks, and so forth). The memory/storage component  912  may include fixed media (e.g., RAM, ROM, a fixed hard drive, and so on) as well as removable media (e.g., Flash memory, a removable hard drive, an optical disc, and so forth). The computer-readable media  906  may be configured in a variety of other ways as further described below. 
     Input/output interface(s)  908  are representative of functionality to allow a user to enter commands and information to computing device  902 , and also allow information to be presented to the user and/or other components or devices using various input/output devices. Examples of input devices include a keyboard, a cursor control device (e.g., a mouse), a microphone, a scanner, touch functionality (e.g., capacitive or other sensors that are configured to detect physical touch), a camera (e.g., which may employ visible or non-visible wavelengths such as infrared frequencies to recognize movement as gestures that do not involve touch), and so forth. Examples of output devices include a display device (e.g., a monitor or projector), speakers, a printer, a network card, tactile-response device, and so forth. Thus, the computing device  902  may be configured in a variety of ways to support user interaction. 
     The computing device  902  is further illustrated as being communicatively and physically coupled to an input device  914  that is physically and communicatively removable from the computing device  902 . In this way, a variety of different input devices may be coupled to the computing device  902  having a wide variety of configurations to support a wide variety of functionality. In this example, the input device  914  includes one or more keys  916 , which may be configured as pressure sensitive keys, mechanically switched keys, and so forth. 
     The input device  914  is further illustrated as include one or more modules  918  that may be configured to support a variety of functionality. The one or more modules  918 , for instance, may be configured to process analog and/or digital signals received from the keys  916  to determine whether a keystroke was intended, determine whether an input is indicative of resting pressure, support authentication of the input device  914  for operation with the computing device  902 , and so on. 
     Various techniques may be described herein in the general context of software, hardware elements, or program modules. Generally, such modules include routines, programs, objects, elements, components, data structures, and so forth that perform particular tasks or implement particular abstract data types. The terms “module,” “functionality,” and “component” as used herein generally represent software, firmware, hardware, or a combination thereof. The features of the techniques described herein are platform-independent, meaning that the techniques may be implemented on a variety of commercial computing platforms having a variety of processors. 
     An implementation of the described modules and techniques may be stored on or transmitted across some form of computer-readable media. The computer-readable media may include a variety of media that may be accessed by the computing device  902 . By way of example, and not limitation, computer-readable media may include “computer-readable storage media” and “computer-readable signal media.” 
     “Computer-readable storage media” may refer to media and/or devices that enable persistent storage of information in contrast to mere signal transmission, carrier waves, or signals per se. Thus, computer-readable storage media refers to non-signal bearing media and does not include signals per se. The computer-readable storage media includes hardware such as volatile and non-volatile, removable and non-removable media and/or storage devices implemented in a method or technology suitable for storage of information such as computer readable instructions, data structures, program modules, logic elements/circuits, or other data. Examples of computer-readable storage media may include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, hard disks, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or other storage device, tangible media, or article of manufacture suitable to store the desired information and which may be accessed by a computer. 
     “Computer-readable signal media” may refer to a signal-bearing medium that is configured to transmit instructions to the hardware of the computing device  902 , such as via a network. Signal media typically may embody computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as carrier waves, data signals, or other transport mechanism. Signal media also include 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 include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. 
     As previously described, hardware elements  910  and computer-readable media  906  are representative of modules, programmable device logic and/or fixed device logic implemented in a hardware form that may be employed in some implementations to implement at least some aspects of the techniques described herein, such as to perform one or more instructions. Hardware may include components of an integrated circuit or on-chip system, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a complex programmable logic device (CPLD), and other implementations in silicon or other hardware. In this context, hardware may operate as a processing device that performs program tasks defined by instructions and/or logic embodied by the hardware as well as a hardware utilized to store instructions for execution, e.g., the computer-readable storage media described previously. 
     Combinations of the foregoing may also be employed to implement various techniques described herein. Accordingly, software, hardware, or executable modules may be implemented as one or more instructions and/or logic embodied on some form of computer-readable storage media and/or by one or more hardware elements  910 . The computing device  902  may be configured to implement particular instructions and/or functions corresponding to the software and/or hardware modules. Accordingly, implementation of a module that is executable by the computing device  902  as software may be achieved at least partially in hardware, e.g., through use of computer-readable storage media and/or hardware elements  910  of the processing system  904 . The instructions and/or functions may be executable/operable by one or more articles of manufacture (for example, one or more computing devices  902  and/or processing systems  904 ) to implement techniques, modules, and examples described herein. 
     Implementations Discussed Herein Include 
     Example 1 
     A system for performing an operation based on a dual-surface interaction model, the system comprising: a touch-sensitive display; a touch-sensitive surface that is disjoint from the touch-sensitive display; at least one processor; at least one computer-readable storage media storing instructions that are executable by the at least one processor to implement an input module configured to: receive a first touch input via the touch-sensitive display, the first touch input selecting an object displayed via the touch-sensitive display; receive a second touch input via the touch-sensitive surface while the object is selected via the touch-sensitive display; and perform an operation on the selected object based on the second touch input received via the touch sensitive surface. 
     Example 2 
     A system as described in example 1, wherein the touch-sensitive display is connected to the touch-sensitive surface via a movable physical connection. 
     Example 3 
     A system as described in one or more of examples 1 or 2, wherein the touch-sensitive display and the touch-sensitive surface are both disposed on a bendable material that enables the touch-sensitive display and the touch-sensitive surface to face different directions. 
     Example 4 
     A system as described in one or more of examples 1-3, wherein the touch-sensitive surface includes a display device. 
     Example 5 
     A system as described in one or more of examples 1-4, wherein the operation comprises at least one of resizing, rotating, flipping, copying, deleting, or sharing the object. 
     Example 6 
     A system as described in one or more of examples 1-5, wherein the operation comprises a context menu command and is performed without displaying a context menu. 
     Example 7 
     A system as described in one or more of examples 1-6, wherein the second touch input includes a multi-finger gesture performed via the touch-sensitive surface. 
     Example 8 
     A method implemented by a computing device for switching between modes of touch-input interpretation, the method comprising: executing a first mode of touch-input interpretation corresponding to a first surface of at least two disjoint touch-sensitive surfaces of the computing device; recognizing a touch input via a second surface of the at least two disjoint touch-sensitive surfaces as a gesture modifier configured to change the first mode of the first surface to a second mode that interprets touch inputs via the first surface differently than the first mode; and executing the second mode corresponding to the first surface based on the gesture modifier. 
     Example 9 
     A method as described in example 8, wherein the first surface and the second surface are disposed on opposite sides of the computing device. 
     Example 10 
     A method as described in one or more of examples 8 or 9, wherein the first surface is disposed on a first member that is hingedly connected to a second member having the second surface. 
     Example 11 
     A method as described in one or more of examples 8-10, wherein both the first surface and the second surface include display devices. 
     Example 12 
     A method as described in one or more of examples 8-11, further comprising changing the second mode to the first mode in response to an interruption of the gesture modifier. 
     Example 13 
     A method as described in one or more of examples 8-12, wherein the second surface is disposed on a back side of the computing device and faces away from a user when the first surface is facing the user. 
     Example 14 
     A method as described in one or more of examples 8-13, further comprising changing the second mode to a third mode of touch-input interpretation in response to recognizing an additional touch input received via the second surface as an additional gesture modifier that is mapped to the third mode. 
     Example 15 
     A method implemented by a device, the method comprising: displaying an object via a display device of the device; recognizing a first gesture establishing the object as a target of an operation, the first gesture based on a first input received via a first gesture-sensitive surface of the device; recognizing a second gesture initiating the operation on the object, the second gesture based on a second input received via a second gesture-sensitive surface of the device that is disjoint from the first gesture-sensitive surface of the device; and performing the operation on the object in response to recognizing the second gesture. 
     Example 16 
     A method as described in example 15, wherein the operation is performed based on recognizing the second gesture and during the first gesture. 
     Example 17 
     A method as described in one or more of examples 15 or 16, wherein the gesture-sensitive display is connected to the gesture-sensitive surface via a movable physical connection. 
     Example 18 
     A method as described in one or more of examples 15-17, wherein the gesture-sensitive display and the gesture-sensitive surface are both disposed on a bendable material that enables the gesture-sensitive display and the gesture-sensitive surface to face different directions. 
     Example 19 
     A method as described in one or more of examples 15-18, wherein the operation comprises at least one of resizing, rotating, flipping, copying, deleting, or sharing the object. 
     Example 20 
     A method as described in one or more of examples 15-19, wherein the second gesture includes a multi-finger gesture performed via the gesture-sensitive surface. 
     CONCLUSION 
     Techniques for a gesture language for a device with multiple touch surfaces are described. Although implementations are described in language specific to structural features and/or methodological acts, it is to be understood that the implementations defined in the appended claims are not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as example forms of implementing the claimed subject matter, and other equivalent features and methods are intended to be within the scope of the appended claims. Further, various different embodiments are described and it is to be appreciated that each described embodiment can be implemented independently or in connection with one or more other described embodiments.