Previewing a back gesture on a computing device

By offering a visual preview of the back gesture's outcome, the computing device enhances user experience and optimizes resource usage, addressing the frustration caused by unpredictable back gesture effects.

JP2025509204APending Publication Date: 2025-04-11GOOGLE LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024552484
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-10-05
Filing Date
2023-03-02
Publication Date
2025-04-11

AI Technical Summary

Technical Problem

Users of computing devices often experience frustration due to the unpredictable effects of the back gesture, which can lead to unintended page navigation or application closure, resulting in increased system resource usage.

Method used

The computing device provides a visual preview of the result of a back gesture before the user commits to it, allowing the user to determine the intended outcome and choose whether to proceed with the gesture.

Benefits of technology

This approach reduces user frustration and conserves system resources by preventing unintended actions and minimizing the need for application restarts.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025509204000001_ABST
    Figure 2025509204000001_ABST
Patent Text Reader

Abstract

An example method includes outputting a graphical user interface of an application executing on a computing device for display by a display device; in response to receiving an indication of initiation of a user input swipe gesture, outputting a visual indication of a result of the user input swipe gesture for display by the display device while at least partially obscured by a scaled version of the graphical user interface of the application; and in response to receiving an indication of commitment of the user input swipe gesture, outputting a graphical user interface corresponding to the result of the user input swipe gesture for display by the display device.
Need to check novelty before this filing date? Find Prior Art

Description

[Background technology]

[0001] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 378,483, filed October 5, 2022, and U.S. Provisional Patent Application No. 63 / 269,007, filed March 8, 2022, the entire contents of each of which are incorporated herein by reference.

[0002] A computing device may include a display device that displays content, such as textual or graphical content, from one or more applications executing on the computing device. A user may wish to "go back" to view additional portions of content not currently displayed on the display. For example, a user may use a presence-sensitive screen (e.g., a touch screen) of the computing device to interact with a graphical user interface to return to previously displayed content. Summary of the Invention

[0003] In general, aspects of the present disclosure are directed to techniques that enable a computing device to provide a visual indication of the effect of a back gesture. Depending on the context, a back gesture (e.g., a swipe from the edge of a display) may have different effects. For example, in response to receiving a back gesture while displaying a main page of an application, the computing device may display a home page (e.g., close the application). However, in response to receiving a back gesture while displaying a sub-page of the application, the computing device may display the main page of the application. These different behaviors may be frustrating for a user of the computing device. For example, if a user performs a back gesture with the intention of navigating to another page of the application, and the computing device closes the application, the user may be frustrated. Such an event may require the user to restart the application, resulting in increased system resource usage (e.g., processor cycles, memory calls, battery consumption over time, etc.).

[0004] According to one or more aspects of the present disclosure, a computing device may provide a visual indication of the outcome of a back gesture before a user commits to the back gesture. For example, while displaying a page of an application, a computing device may receive an initiation of a back gesture requesting the performance of a back action (e.g., a swipe gesture). Before performing the back action, the computing device may display a preview of what would result if the back action were performed (e.g., a preview of the resulting graphical user interface). The preview may include a scaled version of the page of the application (e.g., reduced in size) and the resulting graphical user interface (e.g., at least partially hidden) below the scaled version of the page of the application. Thus, a user may determine whether the back gesture will result in a behavior that the user desires. If the preview indicates that the behavior is what the user desires, the user may commit to the back gesture (e.g., continue swiping and release the finger, or release the finger). In contrast, if the preview indicates that the behavior is not what the user wants, the user may not commit to the back gesture (e.g., lift finger or release swipe and lift finger). In this manner, the techniques of this disclosure may reduce user frustration and / or conserve system resources.

[0005] As an example, a method includes outputting a graphical user interface of an application executing on a computing device for display by a display device; in response to receiving, by the computing device, an indication of initiation of a user input swipe gesture, outputting, by the computing device, a visual indication of a result of the user input swipe gesture for display by the display device; and in response to receiving, by the computing device, an indication of commitment of the user input swipe gesture, outputting, by the computing device, a graphical user interface corresponding to the result of the user input swipe gesture for display by the display device.

[0006] As another example, a computing device includes a display device, one or more processors, and memory storing instructions that, when executed by the one or more processors, cause the one or more processors to output a graphical user interface of an application executing on the computing device for display by the display device; in response to receiving an indication of initiation of a user input swipe gesture via the display device, output a visual indication of a result of the user input swipe gesture for display by the display device; and in response to receiving an indication of commitment of the user input swipe gesture via the display device, output a graphical user interface corresponding to the result of the user input swipe gesture for display by the display device.

[0007] As another example, a computer-readable storage medium stores instructions that, when executed by one or more processors of a computing device, cause the one or more processors to: output a graphical user interface of an application executing on the computing device for display by a display of the computing device; in response to receiving an indication of initiation of a user input swipe gesture via the display device, output a visual indication of a result of the user input swipe gesture for display by the display device; and in response to receiving an indication of commitment of the user input swipe gesture via the display device, output a graphical user interface corresponding to the result of the user input swipe gesture for display by the display device.

[0008] The details of one or more embodiments of the disclosure are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the disclosure will be apparent from the description and drawings, and from the claims. [Brief description of the drawings]

[0009] [Figure 1A] 1 is a conceptual diagram illustrating an example computing device configured to provide a visual preview of a back gesture result, in accordance with one or more aspects of the present disclosure. [Figure 1B] 1 is a conceptual diagram illustrating an example computing device configured to provide a visual preview of a back gesture result, in accordance with one or more aspects of the present disclosure. [Figure 1C] 1 is a conceptual diagram illustrating an example computing device configured to provide a visual preview of a back gesture result, in accordance with one or more aspects of the present disclosure. [Figure 1D] 1 is a conceptual diagram illustrating an example computing device configured to provide a visual preview of a back gesture result, in accordance with one or more aspects of the present disclosure. [Figure 1E] 1 is a conceptual diagram illustrating an example computing device configured to provide a visual preview of a back gesture result, in accordance with one or more aspects of the present disclosure. [Figure 1F] 1 is a conceptual diagram illustrating an example computing device configured to provide a visual preview of a back gesture result, in accordance with one or more aspects of the present disclosure. [Diagram 2] FIG. 1 is a block diagram illustrating an example computing device configured to provide a visual preview of a back gesture result, in accordance with one or more aspects of the present disclosure. [Diagram 3] 11 is a flowchart illustrating example operations for providing a visual preview of a back gesture result in accordance with one or more aspects of the present disclosure. [Figure 4A] 1 is a conceptual diagram illustrating an example of a visual preview of a back gesture result, according to one or more aspects of the present disclosure. [Figure 4B] 1 is a conceptual diagram illustrating an example of a visual preview of a back gesture result, according to one or more aspects of the present disclosure. [Figure 4C] 1 is a conceptual diagram illustrating an example of a visual preview of a back gesture result, according to one or more aspects of the present disclosure. [Diagram 5] 11 is a flowchart illustrating example operations for providing a visual preview of a back gesture result in accordance with one or more aspects of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] 1A-1F are conceptual diagrams illustrating an example computing device 102 configured to provide a visual preview of a back gesture result, according to one or more aspects of the present disclosure. As shown in FIG. 1A, the computing device 102 is a mobile computing device (e.g., a mobile phone). However, in other examples, the computing device 102 may be a tablet computer, a laptop computer, a desktop computer, a gaming system, a media player, an e-book reader, a television platform, an automobile navigation system, a wearable computing device (e.g., a computerized watch, a computerized headset, a computerized eyewear, a computerized glove), or any other type of mobile or non-mobile computing device.

[0011] The computing device 102 includes a user interface device (UID) 104. The UID 104 of the computing device 102 may function as an input device for the computing device 102 and as an output device for the computing device 102. The UID 104 may be implemented using a variety of technologies. For example, the UID 104 may function as an input device using a presence-aware input screen, such as a resistive touch screen, a surface acoustic wave touch screen, a capacitive touch screen, a projected capacitive touch screen, a pressure-sensitive screen, an acoustic pulse recognition touch screen, or another presence-aware display technology. The UID 104 may function as an output (e.g., display) device using any one or more display devices, such as a liquid crystal display (LCD), a dot matrix display, a light-emitting diode (LED) display, a micro LED, an organic light-emitting diode (OLED) display, an E-ink, or similar monochrome or color display capable of outputting visual information to a user of the computing device 102.

[0012] The UID 104 of the computing device 102 may include a presence-aware display that may receive tactile input from a user of the computing device 102. The UID 104 may receive an indication of the tactile input from a user of the computing device 102 by detecting one or more gestures (e.g., a user touching or pointing at one or more locations on the UID 104 with a finger or a stylus pen) from the user of the computing device 102. The UID 104 may present output to the user, for example, in a presence-aware display. The UID 104 may present output as a graphical user interface (e.g., graphical user interfaces 110A and 110B) that may be associated with functionality provided by the computing device 102. For example, the UID 104 may present various user interfaces of components of a computing platform, operating system, applications, or services (e.g., electronic messaging applications, Internet browser applications, mobile operating systems, etc.) executed by or accessible by the computing device 102. A user may interact with each user interface to cause computing device 102 to perform actions associated with certain functionality.

[0013] The computing device 102 includes a UI module 106, which manages user interactions with the UID 104 and other components of the computing device 102. In other words, the UI module 106 may act as an intermediary between various components of the computing device 102 to make decisions based on user input detected by the UID 104 and generate output at the UID 104 in response to the user input. The UI module 106 may receive instructions from applications, services, platforms, or other modules of the computing device 102 to cause the UID 104 to output a user interface (e.g., user interface 110). The UI module 106 manages input received by the computing device 102 when a user views and interacts with the user interface presented at the UID 104, and may update the user interface in response to receiving additional instructions from applications, services, platforms, or other modules of the computing device 102 that are processing the user input. Thus, UI module 106 may cause UID 104 to display a graphical user interface (GUI), such as GUIs 110A-110G (collectively "GUI 110").

[0014] An application running on the computing device 102 may include several pages. For example, the application may include a main / home page and several sub-pages (which may further have their own sub-pages). For example, as shown in FIG. 1A, GUI 110A may be the main page of a calendar application running on the computing device 102 and may include graphical elements of several events. To view a sub-page corresponding to a particular event, a user may tap on the graphical element corresponding to the particular event. For example, to view a sub-page of a "Vendor Status" event, a user may provide a user input to select a graphical element of GUI 110A corresponding to the "Vendor Status" event (e.g., as shown in FIG. 1A, a user may tap on a graphical element of GUI 110A corresponding to the "Vendor Status" event).

[0015] In response to receiving a user input to select a graphical element of GUI 110A corresponding to the “vendor status” event, computing device 102 may display GUI 110B, which may be a subpage containing further information regarding the “vendor status” event. When the user is done viewing / interacting with the subpage containing further information regarding the “vendor status” event, the user may provide a user input to close the subpage. For example, in response to receiving a user input to select close UI element 111 (e.g., X), computing device 102 may display GUI 110A (i.e., return to the previous page). However, requiring the user to find and tap close UI element 111 may not be desirable. For example, in different applications, the user may find close UI element 111 (or a similar UI element) in different locations. Therefore, it may be desirable for computing device 102 to provide the user with the ability to go back using a common gesture.

[0016] An example of a common gesture for going back (also referred to as a "back gesture") is for a user to swipe inward from the edge of the UID 104. However, in some circumstances, such a back gesture may have different effects. For example, in response to receiving a back gesture while displaying a main page of a calendar application, the computing device 102 may display a home page (e.g., close the calendar application). However, in response to receiving a back gesture while displaying a sub-page of the application, the computing device 102 may display the main page of the application. These different behaviors may be frustrating for a user of the computing device 102. For example, if a user performs a back gesture with the intention of navigating to another page of the calendar application, and the computing device 102 closes the calendar application, the user may be frustrated. Such an event may require the user to restart the calendar application, resulting in increased system resource usage (e.g., processor cycles, memory calls, battery consumption over time, etc.).

[0017] According to one or more aspects of the present disclosure, the computing device 102 may provide a visual indication of the outcome of a back gesture before the user commits to the back gesture. For example, while displaying a page of an application (e.g., GUI 110B), the computing device 102 may receive an initiation of a back gesture requesting the performance of a back action (e.g., a swipe gesture). Before performing the back action, the computing device 102 may display a preview of what would result if the back action were performed (e.g., a preview of the resulting graphical user interface). The preview may include a scaled version of the page of the application (e.g., reduced in size) and the resulting graphical user interface (e.g., at least partially obscured) below the scaled version of the page of the application. Thus, the user may determine whether the back gesture will result in a behavior that the user desires. If the preview indicates that the behavior is what the user desires, the user may commit to the back gesture (e.g., release the finger). In contrast, if the preview indicates that the behavior is not what the user wants, the user may not commit to a back gesture (e.g., release the swipe and lift the finger). In this manner, the techniques of this disclosure may reduce user frustration and / or conserve system resources.

[0018] 1A-1F show detailed examples of the above techniques. In general, back gesture recognition can be decomposed into three phases: gesture initiation, result preview, and gesture commitment. In the gesture initiation phase, the computing device 102 can receive an indication of a swipe gesture originating from an end of the UID 104. In the result preview phase, the computing device 102 can display a visual preview of the result of the gesture commitment. In the gesture commitment phase, the computing device 102 can determine whether the user has committed to the back gesture. If the user has committed to the back gesture, the computing device 102 may perform a back operation. On the other hand, if the user has not committed to the back gesture, the computing device 102 can remove the visual preview and restore the GUI to its appearance before the gesture initiation.

[0019] As shown in FIG. 1A, the computing device 102 may initially display a GUI 110A, which may be a home page of an application. In response to receiving a user input to navigate to a subpage of the application, the computing device 102 may display the subpage of the application, shown as GUI 110B. While displaying the subpage in GUI 110B, the computing device 102 may receive an indication of the start of a user input swipe gesture (e.g., a gesture start phase). For example, the computing device 102 may receive an indication of a swipe gesture originating from an end of the UID 104 (shown in FIG. 1B as starting from the left end of the UID 104). The swipe gesture may have at least some displacement in a vertical direction (e.g., horizontally in FIG. 1B) relative to the end. In general, the end may be a vertical end of the UID 104 in the orientation of the UID 104 at the time the indication of the start of the user input swipe gesture is received.

[0020] In response to receiving an indication of the initiation of a user input swipe gesture, the computing device 102 may provide a visual preview of the outcome of the gesture (e.g., an outcome preview phase). For example, the UI module 106 may output a scaled version of the application's graphical user interface in the direction of the user input swipe gesture for display by the UID 104. Additionally, the UI module 106 may output a visual indication of the outcome of the user input swipe gesture at least partially obscured by the scaled version of the application's graphical user interface for display by the UID 104. As shown in the example of FIGS. 1A-1F, the visual indication of the outcome may be a GUI that is displayed in response to the computing device 102 determining that the user is committing to the user input swipe gesture.

[0021] As discussed above, the UI module 106 can output a scaled version of the application's graphical user interface in the direction of the user input swipe gesture. For example, as shown in the examples of FIGS. 1B-1D, if the user input swipe gesture is from left to right, the UI module 106 can output a scaled version of the application's graphical user interface to the right of the UID 104 (e.g., when the gesture direction is toward the right). Similarly, if the user input gesture is from right to left, the UI module 106 can output a scaled version of the application's graphical user interface to the left of the UID 104. In some examples, in addition to the horizontal position of the scaled version (e.g., the right side when the gesture is from left to right), the UI module 106 can adjust the vertical position of the scaled version based on the vertical displacement of the gesture (e.g., the displacement in the direction parallel to the edge where the swipe gesture was initiated).

[0022] In some examples, the result of the user input swipe gesture may be a return to a previous page of the application (e.g., from another page of the application). For example, if the computing device 102 receives a user input swipe gesture while displaying a sub-page of the application (e.g., while displaying GUI 110B), the result of the user input swipe gesture may be a return to the previous page of the application (e.g., a return to GUI 110A). In such a case, the visual indication of the result of the user input swipe gesture may be a graphical user interface of the previous page. Specifically, as can be seen in FIGS. 1B-1D, the computing device 102 may display the GUI of the previous page (e.g., GUI 110A) at least partially obscured below / by the scaled GUI of the application. For example, the computing device 102 may display a scaled version of the current page of the application on top of a full-sized version of the previous page.

[0023] In some examples, the result of the user input swipe gesture may be a return to (e.g., from) the home page of the operating system of the computing device 102. For example, if the computing device 102 receives a user input swipe gesture while displaying the main page / home page of the application (e.g., while displaying GUI 110A), the result of the user input swipe gesture may be the home page of the operating system of the computing device 102 (e.g., relative to GUI 110G). In such a case, the visual indication of the result of the user input swipe gesture may be the graphical user interface of the home page. Specifically, as can be seen in FIG. 1E and FIG. 1F, the computing device 102 may display the GUI of the home page (e.g., GUI 110G) at least partially obscured under / by a scaled GUI of the application's home page (e.g., as shown in FIG. 1E). For example, the computing device 102 may display a scaled version of the application's home page on top of a full-sized version of the home page of the operating system of the computing device 102.

[0024] The computing device 102 can determine whether the user has committed to the back gesture (e.g., gesture commitment phase). In some examples, the computing device 102 can determine whether the user has committed to the back gesture based on the location on the UID 104 where the user input swipe gesture ends (e.g., where the user lifts his finger). For example, if the UI module 106 determines that the user input swipe gesture ends with a vertical displacement to an edge that is greater than the commitment threshold (e.g., commitment threshold 113), the UI module 106 can determine that the user has committed to the gesture (e.g., can receive an indication of commitment of the user input swipe gesture). On the other hand, if the UI module 106 determines that the user input swipe gesture ends with a vertical displacement to an edge that is equal to or less than the commitment threshold (e.g., commitment threshold 113), the UI module 106 can determine that the user has not committed to the gesture (e.g., can receive an indication of non-commitment of the user input swipe gesture).

[0025] In response to determining that the user has committed to a back gesture (e.g., in response to receiving an indication of a commitment of a user input swipe gesture), computing device 102 may perform a back operation by displaying a GUI corresponding to a visual indication. For example, in response to determining that the user has released the user input swipe gesture at a point indicated in FIG. 1D (e.g., on the committed side of commitment threshold 113), computing device 102 may display GUI 110A (e.g., corresponding to the outcome shown at least partially obscured in FIG. 1D). Similarly, in response to determining that the user has released the user input swipe gesture at a point indicated in FIG. 1E (e.g., on the uncommitted side of commitment threshold 113), computing device 102 may display GUI 110G (e.g., corresponding to the outcome shown at least partially obscured in FIG. 1E).

[0026] In response to determining that the user has not committed to the back gesture (e.g., in response to receiving an indication of non-commitment of the user input swipe gesture), computing device 102 may cancel the scaling by displaying a GUI for the unscaled version of the application. For example, in response to determining that the user has released the user input swipe gesture at the point indicated in FIG. 1B (e.g., on the non-commitment side of commitment threshold 113), computing device 102 may display GUI 110B.

[0027] In some examples, the computing device 102 may provide an output to the user indicating whether the release of the user input gesture is interpreted as a commitment to the user input swipe gesture. As an example, the computing device 102 may provide haptic feedback indicating when the displacement of the swipe gesture perpendicular to the edge exceeds the commitment threshold 113. The computing device 102 may provide haptic feedback when the swipe gesture crosses from the non-commitment side to the commitment side (the side labeled in FIG. 1D ) of the commitment threshold 113. Additionally or alternatively, the computing device 102 may provide haptic feedback when the swipe gesture crosses from the commitment side to the non-commitment side of the commitment threshold 113.

[0028] In some examples, the computing device 102 may output a graphic element that indicates, via the UID 104, that a back gesture has been recognized. For example, as shown in FIGS. 1B-1E, the computing device 102 may output the graphic element 115 proximate to an end where an indication of the beginning of a user input swipe gesture was received. As another example of feedback, the computing device 102 may adjust the appearance of the graphic element 115 based on whether the release of the user input swipe gesture commits. For example, as shown in FIG. 1B, if the release of the user input swipe gesture does not commit at the point shown, the computing device 102 may display the graphic element 115 as a rectangle with rounded corners. In response to the user input gesture reaching the commitment threshold 113, the computing device 102 may change the appearance of the graphic element 115. For example, as shown in FIG. 1C, the computing device 102 may change the graphic element 115 from a rectangle to a circle. As shown in FIG. 1D, as the user input gesture continues further toward the commitment side, the computing device 102 may elongate the graphic element 115 (e.g., into a circular-ended rectangle with a length that is positively correlated with the displacement of the gesture).

[0029] As discussed above, at least during the result preview phase, the computing device 102 may display a scaled version of the application's graphical user interface. In some examples, the scaled version of the application's GUI may be a scaled (e.g., reduced) version of the application's GUI. The computing device 102 may generate the scaled version of the application's GUI based on a scaling factor. In some examples, the scaling factor may be a static variable (e.g., the scaled version may always be 80% of the full size). In other examples, the computing device 102 may dynamically determine the scaling factor based on characteristics of the swipe gesture. For example, the computing device 102 may determine the scaling factor based on a displacement of the swipe gesture perpendicular to the edge (e.g., such that the scaling factor is positively correlated with the displacement). In some examples, the computing device 102 may determine the scaling factor as a linear function of the displacement. In other examples, the computing device 102 may determine the scaling factor as a non-linear function of the displacement (e.g., the effect of the displacement on the scaling factor may decrease exponentially).

[0030] The techniques of this disclosure may provide one or more technical advantages. For example, by providing a preview of the results of a back gesture, a user may avoid unintentional page navigation and / or closing of an application, thereby saving processor cycles and power.

[0031] FIG. 2 is a block diagram illustrating an exemplary computing device 202 in accordance with one or more aspects of the present disclosure. The computing device 202 of FIG. 2 is an example of the computing device 102 of FIG. 1A. The computing device 202 is just one particular example of the computing device 102 of FIG. 1A, and many other examples of the computing device 102 may be used in other cases. In the example of FIG. 2, the computing device 202 may be a wearable computing device, a mobile computing device (e.g., a smartphone), or any other computing device. The computing device 202 of FIG. 2 may include a subset of the components included in the exemplary computing device 202 or may include additional components not shown in FIG. 2.

[0032] 2, computing device 202 includes a user interface device 204 ("UID 204"), one or more processors 240, one or more input devices 242, one or more communication units 244, one or more output devices 246, and one or more storage devices 248. The storage device 248 of computing device 202 also includes an operating system 254 and a UI module 206.

[0033] A communication channel 250 may interconnect (physically, communicatively, and / or operationally) each of the components 240, 242, 244, 246, 248, 204, and 214 for inter-component communication. In some examples, the communication channel 250 may include a system bus, a network connection, an inter-process communication data structure, or any other method for communicating data.

[0034] One or more input devices 242 of computing device 202 may be configured to receive input. Examples of input include tactile input, audio input, and video input. The input devices 242 of computing device 202, in one example, include a presence-aware display, a touch-sensitive screen, a mouse, a keyboard, a voice response system, a video camera, a microphone, or any other type of device for detecting input from a human or a machine.

[0035] One or more output devices 246 of the computing device 202 may be configured to generate output. Examples of output include haptic output, audio output, and video output. The output devices 246 of the computing device 202, in one example, include a presence-aware display, a sound card, a video graphics adapter card, a speaker, a cathode ray tube (CRT) monitor, a liquid crystal display (LCD), or any other type of device for generating output to a human or machine.

[0036] One or more communication units 244 of the computing device 202 may be configured to communicate with external devices over one or more wired and / or wireless networks by transmitting and / or receiving network signals on one or more networks. Examples of the communication unit 244 include a network interface card (e.g., an Ethernet card, etc.), an optical transceiver, a radio frequency transceiver, a GPS receiver, or any other type of device capable of transmitting and / or receiving information. Other examples of the communication unit 44 may include a shortwave radio, a cellular data radio, a wireless network radio, and a universal serial bus (USB) controller.

[0037] One or more storage devices 248 in computing device 202 may store information for processing during operation of computing device 202. In some examples, storage device 248 is temporary memory, meaning that the primary purpose of storage device 248 is not long-term storage. Storage device 248 on computing device 202 may be configured for short-term storage of information as volatile memory, and thus, stored content may not be retained when power is turned off. Examples of volatile memory include random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), and other forms of volatile memory known in the art.

[0038] The storage device 248 also includes one or more computer-readable storage media in some examples. The storage device 248 may be configured to store a larger amount of information than volatile memory. The storage device 248 may be further configured for long-term storage of information as a non-volatile memory space, where information may be retained after a power on / off cycle. Examples of non-volatile memory include magnetic hard disks, optical disks, floppy disks, flash memory, or forms of electrically programmable memory (EPROM) or electrically erasable and programmable memory (EEPROM). The storage device 248 may store program instructions and / or information (e.g., data) associated with the UI module 206, the back gesture module 208, and the operating system 254.

[0039] One or more processors 240 may implement functions and / or execute instructions within computing device 202. For example, processor 240 on computing device 202 may receive and execute instructions stored by storage device 248 that perform functions of UI module 206 and back gesture module 208. These instructions executed by processor 240 may cause UI module 206 of computing device 202 to provide a visual indication of the effect of a back gesture as described herein.

[0040] In some examples, the UID 204 of the computing device 202 may include the functionality of the input device 242 and / or the output device 246. In the example of FIG. 2, the UID 204 may be or include a presence-aware input device. In some examples, the presence-aware input device may detect objects at and / or near the screen. As an example of a range, the presence-aware input device may detect an object, such as a finger or stylus, within 2 inches or less from the screen. The presence-aware input device may determine the location (e.g., (X, y) coordinates) of the screen where the object is detected. In another example range, the presence-aware input device may detect an object within 6 inches or less from the screen, with other ranges also possible. The presence-aware input device may use capacitive, inductive, and / or optical recognition techniques to determine the location of the screen selected by the user's finger. In some examples, the presence-aware input device also provides output to the user, for example, at a display, using tactile, audio, or video stimuli, as described with respect to the output device 246. In the example of FIG. 2, the UID 204 may present a user interface.

[0041] Although UID 204 is shown as an internal component of computing device 202, it also represents external components that share data paths with computing device 202 to send and / or receive inputs and outputs. For example, in one example, UID 204 represents an embedded component of computing device 202 that is located within and physically connected to the external packaging of computing device 202 (e.g., the screen of a cell phone). In another example, UID 204 represents an external component of computing device 202 that is located outside and physically separate from the packaging of computing device 202 (e.g., a monitor, projector, etc. that shares a wired and / or wireless data path with a tablet computer).

[0042] 1 and may perform similar operations as UI module 106 to manage the user interface (e.g., user interface 110) that computing device 202 provides at UID 204. For example, UI module 206 of computing device 202 may include a back gesture module 208 that provides a visual indication of the effect of a back gesture, as discussed above with respect to FIGS. 1A-1F.

[0043] 3 is a flow chart illustrating an example operation for stretching content in accordance with one or more aspects of the present disclosure. For illustrative purposes only, the example operation is described below within the context of GUI 110 of FIGS. 1A-1F and computing device 202 of FIG.

[0044] The computing device 102 may output a graphical user interface of a page of an application (302). For example, the UI module 106 may cause the UID 104 to display a sub-page of a calendar (e.g., GUI 110B of FIG. 1A).

[0045] The computing device 102 may monitor for receipt of an indication of the initiation of a user input swipe gesture (304). For example, the UID 104 may generate user input data (e.g., via a touch-sensitive or presence-sensitive screen). The UI module 106 may process the user input data and generate an indication of the initiation of a user input swipe gesture in response to the user input data indicating a swipe of a user's finger originating from an end of the UID 104. If an indication of the initiation of a user input swipe gesture is not received (the "No" branch of 304), the computing device 102 may continue to output the application's graphical user interface (302).

[0046] In response to receiving an indication of the initiation of a user input swipe gesture ("Yes" branch of 304), the computing device 102 may output a scaled version of the application's graphical user interface (306) and output a visual indication of the result of the user input swipe gesture at least partially obscured by the scaled version of the application's graphical user interface (308). As discussed above, the visual indication may be a preview of what will be displayed if the user commits to the swipe gesture. For example, the UI module 106 may cause the UID 104 to display GUI 110C of FIG. 1B. As discussed above, in some examples, the scaling factor used to generate the scaled version may be based on the displacement of the swipe gesture. For example, as the user's finger moves further to the right along the UID 104, the UI module 106 may further reduce the size of the scaled version (e.g., as shown in FIGS. 1B-1D).

[0047] As discussed above, a user may or may not commit to a swipe gesture. The computing device 102 may determine whether the user has committed to a swipe gesture based on the location on the UID 104 where the user ended the swipe gesture (e.g., lifted the user's finger off the UID 104). In response to receiving an indication of non-commitment of the user input swipe gesture ("Yes" branch of 310), the computing device 102 may remove the scaling and output (302) the (unscaled) graphical user interface of the application (e.g., as displayed before receiving the indication of the start of the user input swipe gesture). In response to receiving an indication of commitment of the user input swipe gesture ("Yes" branch of 312), the computing device 102 may perform a back operation and display (314) a graphical user interface corresponding to the result of the user input swipe gesture. For example, the UI module 106 may cause the UID 104 to display a graphical user interface obscured by a scaled version (eg, remove the scaled version from the display).

[0048] 4A-4C (in combination with FIG. 1A) illustrate another detailed example of the above technique. In general, back gesture recognition can be decomposed into three phases: gesture initiation, result preview, and gesture commitment. In the gesture initiation phase, the computing device 102 can receive an indication of a swipe gesture originating from an end of the UID 104. In the result preview phase, the computing device 102 can display a visual preview of the result of the gesture commitment. In the gesture commitment phase, the computing device 102 can determine whether the user has committed to the back gesture. If the user has committed to the back gesture, the computing device 102 may perform a back operation. On the other hand, if the user does not commit to the back gesture, the computing device 102 can remove the visual preview and restore the GUI to its appearance before the gesture initiation.

[0049] As shown in FIG. 1A, the computing device 102 may initially display a GUI 110A, which may be a home page of an application. In response to receiving a user input to navigate to a subpage of the application, the computing device 102 may display the subpage of the application, shown as GUI 110B. While displaying the subpage in GUI 110B, the computing device 102 may receive an indication of the start of a user input swipe gesture (e.g., a gesture start phase). For example, the computing device 102 may receive an indication of a swipe gesture originating from an end of the UID 104 (shown in FIG. 1B as starting from the left end of the UID 104). The swipe gesture may have at least some displacement in a vertical direction (e.g., horizontally in FIG. 1B) relative to the end. In general, the end may be a vertical end of the UID 104 in the orientation of the UID 104 at the time the indication of the start of the user input swipe gesture is received.

[0050] In response to receiving an indication of the initiation of a user input swipe gesture, the computing device 102 may provide a visual preview of the outcome of the gesture (e.g., an outcome preview phase). For example, the UI module 106 may output a scaled version of the application's graphical user interface in the direction of the user input swipe gesture for display by the UID 104. Additionally, the UI module 106 may output a visual indication of the outcome of the user input swipe gesture at least partially obscured by the scaled version of the application's graphical user interface for display by the UID 104. As shown in the examples of FIGS. 1A, 4A, and 4B, the visual indication of the outcome may be a GUI that is displayed in response to the computing device 102 determining that the user is committing to the user input swipe gesture.

[0051] In some examples, the UI module 106 can omit or otherwise adjust the output of a scaled version of the application's graphical user interface in the direction of the user input. For example, as shown in the examples of FIGS. 4A-4C, the UI module 106 may not output a scaled version of the application's graphical user interface.

[0052] In some examples, the result of the user input swipe gesture may be a return to a previous page of the application (e.g., from another page of the application). For example, if the computing device 102 receives a user input swipe gesture while displaying a subpage of the application (e.g., while displaying GUI 110B), the result of the user input swipe gesture may be a return to the previous page of the application (e.g., back to GUI 110A). In such a case, the visual indication of the result of the user input swipe gesture may be a graphical user interface of the previous page. Specifically, as can be seen in FIGS. 4A-4C, the computing device 102 may display the GUI of the previous page (e.g., GUI 110A).

[0053] In some examples, the computing device 102 may output the visual indication of the result with visual modifications (e.g., compared to the actual result). For example, the computing device 102 may adjust one or more of the brightness, scaling, position, contrast, color, color scheme (e.g., grayscale and color), etc. of the visual indication of the result. As one specific example, the computing device 102 may output the visual indication of the result as a scaled version of the result. The computing device 102 may output the visual indication with visual modifications regardless of whether a scaled version of the application is displayed.

[0054] The computing device 102 can determine whether the user has committed to the back gesture (e.g., gesture commitment phase). In some examples, the computing device 102 can determine whether the user has committed to the back gesture based on the location on the UID 104 where the user input swipe gesture ends (e.g., where the user lifts his finger). For example, if the UI module 106 determines that the user input swipe gesture ends with a vertical displacement to an edge that is greater than the commitment threshold (e.g., commitment threshold 113), the UI module 106 can determine that the user has committed to the gesture (e.g., can receive an indication of commitment of the user input swipe gesture). On the other hand, if the UI module 106 determines that the user input swipe gesture ends with a vertical displacement to an edge that is equal to or less than the commitment threshold (e.g., commitment threshold 113), the UI module 106 can determine that the user has not committed to the gesture (e.g., can receive an indication of non-commitment of the user input swipe gesture).

[0055] In response to determining that the user has committed to the back gesture (e.g., in response to receiving an indication of the commitment of the user input swipe gesture), computing device 102 may perform the back operation by displaying a GUI corresponding to the visual indication. For example, in response to determining that the user has released the user input swipe gesture at the point shown in FIG. 4C (e.g., on the commit side of commitment threshold 113), computing device 102 may display GUI 110A (e.g., corresponding to the outcome shown at least partially obscured in FIG. 4C).

[0056] In response to determining that the user has not committed to the back gesture (e.g., in response to receiving an indication of non-commitment of the user input swipe gesture), computing device 102 may cancel the scaling by displaying a GUI for the unscaled version of the application. For example, in response to determining that the user has released the user input swipe gesture at the point shown in FIG. 4A (e.g., on the non-commitment side of commitment threshold 113), computing device 102 may display GUI 110B.

[0057] 5 is a flow chart illustrating an example operation for stretching content in accordance with one or more aspects of the present disclosure. For illustrative purposes only, the example operation is described below in the context of computing device 202 of FIGS. 1A and 4A-4C and 2.

[0058] The computing device 102 may output a graphical user interface of a page of an application (502). For example, the UI module 106 may cause the UID 104 to display a sub-page of a calendar (e.g., GUI 110B of FIG. 1A).

[0059] The computing device 102 may monitor for receipt of an indication of the initiation of a user input swipe gesture (504). For example, the UID 104 may generate user input data (e.g., via a touch-sensitive or presence-sensitive screen). The UI module 106 may process the user input data and generate an indication of the initiation of a user input swipe gesture in response to the user input data indicating a swipe of a user's finger originating from an end of the UID 104. If an indication of the initiation of a user input swipe gesture is not received (the "No" branch of 504), the computing device 102 may continue to output the application's graphical user interface (302).

[0060] In response to receiving an indication of initiating a user input swipe gesture (the "Yes" branch of 504), the computing device 102 may output a visual indication of the outcome of the user input swipe gesture (506). As discussed above, the visual indication may be a preview of what will be displayed if the user commits to the swipe gesture. For example, the UI module 106 may cause the UID 104 to display GUI 110C of FIG. 1B.

[0061] As discussed above, a user may or may not commit to a swipe gesture. Computing device 102 may determine whether a user has committed to a swipe gesture based on the location on UID 104 where the user terminates the swipe gesture (e.g., lifts the user's finger off UID 104). In response to receiving an indication of non-commitment of a user input swipe gesture ("Yes" branch of 508), computing device 102 may output a graphical user interface of the application (e.g., as displayed prior to receiving an indication of initiation of a user input swipe gesture) (502). In response to receiving an indication of commitment of a user input swipe gesture ("Yes" branch of 510), computing device 102 may perform a back operation and display a graphical user interface corresponding to the result of the user input swipe gesture (512).

[0062] The following numbered examples may illustrate one or more aspects of the present disclosure. Example 1. A method comprising: outputting a graphical user interface of an application executing on a computing device for display by a display device; in response to receiving, by the computing device, an indication of initiation of a user input swipe gesture, outputting a scaled version of the graphical user interface of the application in a direction of the user input swipe gesture for display by the display device; outputting a visual indication of a result of the user input swipe gesture, at least partially obscured by the scaled version of the graphical user interface of the application, for display by the display device; and in response to receiving, by the computing device, an indication of commitment of the user input swipe gesture, outputting, by the computing device, a graphical user interface corresponding to the result of the user input swipe gesture for display by the display device.

[0063] Example 2. The method of example 1, wherein the graphical user interface of the application includes a current page of the application, and the graphical user interface corresponding to the result of the user input swipe gesture includes a previous page of the application.

[0064] Example 3. The method of example 1, wherein the graphical user interface of the application includes a home page of the application, and the graphical user interface corresponding to the result of the user input swipe gesture includes a home page of an operating system of the computing device.

[0065] Example 4. The method of example 1, wherein receiving an indication of the start of the user input swipe gesture includes receiving an indication of a swipe gesture originating from an edge of a display device, the swipe gesture having at least a displacement in a direction perpendicular to the edge.

[0066] Example 5. The method of example 4, wherein the edge is a vertical edge of the display device in an orientation of the display device at the time the indication of the start of the user input swipe gesture is received.

[0067] Example 6. The method of Example 4, further comprising determining whether the displacement of the swipe gesture in the vertical direction relative to the edge is greater than a commitment threshold, and receiving the indication of the commitment of the user input swipe gesture comprises receiving by the computing device an indication that the user input swipe gesture has been released while the displacement of the swipe gesture in the vertical direction relative to the edge is greater than the commitment threshold.

[0068] Example 7. The method of example 6, further comprising generating, by the computing device, haptic feedback indicating when the displacement of the swipe gesture in the perpendicular direction relative to the edge exceeds the commitment threshold.

[0069] Example 8. The method of example 4, further comprising, in response to receiving by the computing device the indication of the initiation of the user input swipe gesture, outputting, for display by the display device, a graphical element proximate to the end indicating that a back gesture has been recognized.

[0070] Example 9. The method of example 8, wherein outputting the graphic element indicating that the back gesture has been recognized includes adjusting an appearance of the graphic element based on whether release of the user input swipe gesture commits.

[0071] Example 10. The method of example 9, wherein determining that release of the user input swipe gesture is committed includes determining that the displacement of the swipe gesture in the perpendicular direction relative to the edge is greater than a commitment threshold.

[0072] Example 11. The method of example 4, wherein outputting the scaled version of the graphical user interface of the application includes determining a scaling factor based on the displacement of the swipe gesture in the vertical direction relative to the edge, and generating the scaled version of the graphical user interface of the application based on the scaling factor.

[0073] Example 12. The method of example 11, wherein determining the scaling factor includes determining the scaling factor as a non-linear function of the displacement of the swipe gesture in the perpendicular direction relative to the edge.

[0074] Example 13. The method of example 1, further comprising, in response to receiving, by the computing device, an indication of non-commitment of the user input swipe gesture, outputting an unscaled version of the graphical user interface of the application for display by the display device.

[0075] Example 14. A computing device comprising a display device, one or more processors, and a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform the methods described in Examples 1 to 13.

[0076] Example 15. A computing device comprising means for carrying out any of the methods described in Examples 1-13.

[0077] Example 16. A non-transitory computer-readable storage medium storing instructions that, when executed by one or more processors of a computing device, cause the one or more processors to perform any of the methods described in Examples 1-13.

[0078] In one or more examples, the described functions may be implemented in hardware, software, firmware, or a combination thereof. If implemented in software, the functions may be stored on or transmitted to a computer-readable medium as one or more instructions or code and executed by a hardware-based processing unit. A computer-readable medium may include a computer-readable storage medium corresponding to a tangible medium, such as a data storage medium, or a communication medium including any medium that facilitates transfer of a computer program from one place to another, for example according to a communication protocol. In this manner, a computer-readable medium may generally correspond to (1) a tangible computer-readable storage medium that is non-transitory, or (2) a communication medium such as a signal or carrier wave. A data storage medium may be any available medium that may be accessed by one or more computers or one or more processors to retrieve instructions, code, and / or data structures for implementing the techniques described in this disclosure. A computer program product may include a computer-readable medium.

[0079] By way of example and not limitation, such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM, or other optical disk storage, magnetic disk storage, or other magnetic storage devices, flash memory, or any other storage media that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Any connection is also properly referred to as a computer-readable medium. For example, if instructions are transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of the medium. However, it should be understood that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transitory media, and instead, such media are directed to non-transitory, tangible storage media. As used herein, disk and disc include compact discs (CDs), laser discs, optical discs, digital versatile discs (DVDs), floppy disks, and Blu-ray discs, where disks typically reproduce data magnetically, while discs reproduce data optically using lasers. Combinations of the above should also be included within the scope of computer readable media.

[0080] The instructions may be executed by one or more processors, such as one or more digital signal processors (DSPs), general-purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. Thus, the term "processor" as used herein may refer to any of the foregoing structures, or any other structure suitable for implementing the techniques described herein. In addition, in some aspects, the functionality described herein may be provided in dedicated hardware and / or software modules. The techniques may also be implemented entirely in one or more circuits or logic elements.

[0081] The techniques of the present disclosure may be implemented in a wide variety of devices or apparatuses, including a wireless handset, an integrated circuit (IC), or a set of ICs (e.g., a chipset). Various components, modules, or units are described in this disclosure to highlight functional aspects of devices configured to implement the disclosed techniques, but do not necessarily require realization by different hardware units. Rather, as described above, the various units may be combined into a hardware unit or provided by a collection of interoperable hardware units, including one or more processors as described above, together with suitable software and / or firmware.

[0082] Various examples of the present disclosure have been described. Any combination of the described systems, operations, or functions is contemplated. These and other embodiments are within the scope of the following claims.

Claims

1. outputting a graphical user interface of an application executing on the computing device for display by a display device; in response to receiving, by the computing device, an indication of an initiation of a user input swipe gesture; outputting a visual indication of a result of the user input swipe gesture for display by the display device; and in response to receiving, by the computing device, an indication of a commitment of the user input swipe gesture; outputting a graphical user interface corresponding to the result of the user input swipe gesture for display by the display device; and A method comprising:

2. the graphical user interface of the application includes a current page of the application; The method of claim 1 , wherein the graphical user interface corresponding to the result of the user input swipe gesture includes a previous page of the application.

3. the graphical user interface of the application includes a home page of the application; The method of claim 1 or claim 2, wherein the graphical user interface corresponding to the result of the user input swipe gesture comprises a home page of an operating system of the computing device.

4. Receiving the indication of the initiation of the user input swipe gesture includes: The method of any preceding claim, comprising receiving an indication of a swipe gesture originating from an edge of the display device, the swipe gesture having at least a displacement perpendicular to the edge.

5. The method of claim 4 , wherein the edge is a vertical edge of the display device in an orientation of the display device at the time the indication of the start of the user input swipe gesture is received.

6. determining whether the displacement of the swipe gesture in the perpendicular direction relative to the edge is greater than a commitment threshold; 6. The method of claim 4 or claim 5, wherein receiving the indication of the commitment of the user input swipe gesture comprises receiving, by the computing device, an indication that the user input swipe gesture was released while the displacement of the swipe gesture in the perpendicular direction relative to the edge is greater than the commitment threshold.

7. The method of claim 6 , further comprising generating, by the computing device, haptic feedback indicating when the displacement of the swipe gesture in the perpendicular direction relative to the edge exceeds the commitment threshold.

8. in response to receiving, by the computing device, the indication of the initiation of the user input swipe gesture; The method of any of claims 4 to 7, further comprising outputting, proximate to the edge, for display by the display device, a graphical element indicating that a back gesture has been recognized.

9. Outputting the graphical element indicating that the back gesture has been recognized may further include: The method of claim 8 , comprising adjusting an appearance of the graphical element based on whether release of the user input swipe gesture commits.

10. The method of claim 9 , wherein determining that release of the user input swipe gesture is committed comprises determining that the displacement of the swipe gesture in the perpendicular direction relative to the edge is greater than a commitment threshold.

11. and further comprising: in response to receiving, by the computing device, the indication of the initiation of the user input swipe gesture, outputting a scaled version of the graphical user interface of the application in a direction of the user input swipe gesture for display by the display device; 11. The method of claim 1, wherein outputting the visual indication of the result of the user input swipe gesture further comprises outputting the visual indication of the result of the user input swipe gesture at least partially obscured by the scaled version of the graphical user interface of the application for display by the display device.

12. 12. The method of claim 11, further comprising, in response to receiving, by the computing device, an indication of non-commitment of the user input swipe gesture, outputting an unscaled version of the graphical user interface of the application for display by the display device.

13. Receiving the indication of the initiation of the user input swipe gesture includes: receiving an indication of a swipe gesture originating from an edge of the display device, the swipe gesture having at least a displacement in a direction perpendicular to the edge; Outputting the scaled version of the graphical user interface of the application includes: determining a scaling factor based on the displacement of the swipe gesture in the perpendicular direction relative to the edge; generating the scaled version of the graphical user interface of the application based on the scaling factor; The method of claim 11 or 12, comprising:

14. Determining the scaling factor comprises: The method of claim 13 , comprising determining the scaling factor as a non-linear function of the displacement of the swipe gesture in the perpendicular direction relative to the edge.

15. A display device; one or more processors; A memory storing instructions which, when executed by said one or more processors, cause said one or more processors to perform a method according to any one of claims 1 to 15; A computing device comprising:

16. A computing device comprising means for carrying out the method according to any preceding claim.

17. A non-transitory computer-readable storage medium storing instructions which, when executed by one or more processors of a computing device, cause the one or more processors to perform a method according to any of claims 1 to 15.