Method for improving instrument performance by predicting completion of gestures

By estimating the direction and assuming identity before the vector gesture is completed, and performing update commands, the delay and oscillation problems caused by gesture operations are solved, the interface response speed and user experience are improved, and the display updates are achieved smoother.

CN114779921BActive Publication Date: 2025-01-14KEYSIGHT TECHNOLOGIES INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210128082.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2013-01-25
Filing Date
2013-12-25
Publication Date
2025-01-14
Estimated Expiration
2033-12-25

AI Technical Summary

Technical Problem

In the measuring instrument controlled by touch screen, the delay and oscillation problems caused by gesture operations, especially when gesture time accounts for a large part of the update time, resulting in interface delays and data transmission delays, affecting the user experience.

Method used

By estimating the direction and assuming identity before the vector gesture is completed, executing the corresponding command to update the current state of the data processing system, and updating the display state after the gesture is completed, intermediate data is sent in a narrow bandwidth form to avoid premature termination of the gesture.

Benefits of technology

Reduces delays and oscillations during gesture operations, improves interface response speed and user experience, ensuring the continuity and aesthetics of the display, especially in scrolling and zooming operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114779921B_ABST
    Figure CN114779921B_ABST
Patent Text Reader

Abstract

The present invention discloses a method of operating a first data processing system having a screen, in response to a vector gesture made on the screen. The method includes estimating a direction and assuming an identity of a vector gesture before the vector gesture is completed. Executing a command that depends on the estimated direction and the assumed identity, the command being a command that requires updating the current state of the first data processing system if the assumed identity of the vector gesture is correct. The command is executed before the vector gesture is completed. The current state of the first data processing system is then updated based on data generated by the command. After determining that the vector gesture is completed, the first data processing system is updated to the state indicated by the completed vector gesture.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This invention application is a divisional application based on a patent application with an application date of December 25, 2013, application number 201310724114.6, and invention name “Method for improving instrument performance by utilizing completion of expected gestures”. Technical Field

[0002] The present invention relates to a method for improving instrument performance by predicting the completion of gestures. Background Art

[0003] It is common to use gestures on touch screen displays to control the underlying computer program. There is a class of gestures where the user moves one or more fingers while in contact with the screen. For example, a user can scroll down a list or pan a view by touching the screen and moving the gesture in the desired direction. Similarly, a "pinch" gesture is used to zoom in or out on a scene displayed on the screen.

[0004] Touch screens are also being used to control measuring instruments. The screen can be a display on a computer that directly controls the measurement or on a mobile device that is connected to the instrument via a network, which can include the Internet and / or part of a wireless telecommunications network. Consider a situation where a mobile device is being used to control an instrument. The control depends on the data currently displayed on the screen of the mobile device. In order to update the screen data, the mobile device must send appropriate commands to the instrument and wait for the instrument to return the new data. If the time to make a gesture is a significant portion of the total time to update the display, the gesture delays the control of the instrument and / or the display of information on the screen. Such delays result in a "jumpy" or "sluggish" interface. If the gesture is part of the control loop, the resulting system may oscillate.

[0005] For example, if a user is scrolling through a list to find a value in the list, the user might use a "fling" gesture. If the mobile device waits until the gesture is complete, there is a delay between the start of the gesture and seeing the new data on the screen. This delay is compounded by any delays introduced by the instrument and communication link to return the data pointed to by the gesture. If the user determines that further scrolling is needed, another gesture is performed, and so on. Summary of the invention

[0006] The present invention includes a method of operating a first data processing system including a screen, in response to a vector gesture made on the screen. The method includes estimating a direction and assuming an identity for a vector gesture before the vector gesture is completed. Executing a command dependent on the estimated direction and assumed identity, the command being a command requiring an update of a current state of the first data processing system if the assumed identity of the vector gesture is correct. The command is executed before the vector gesture is completed. The current state of the first data processing system is then updated based on data generated by the command. After determining that the vector gesture is completed, the first data processing system is updated to a state indicated by the completed vector gesture.

[0007] In one aspect of the invention, the command causes the second data processing system to provide data to the first data processing system.

[0008] In another aspect of the invention, updating the current state of the first data processing system includes updating a display on the first data processing system using data obtained by executing the command. In a further aspect of the invention, the current state includes a first scene on the screen, and the assumed identity includes a scroll gesture indicating that the first scene is to be scrolled along the determined direction.

[0009] In a further aspect of the invention, the current state includes displaying a first scene on the screen, and updating the current state includes providing a partially scrolled version of the first scene.

[0010] In another aspect of the invention, updating the first data processing system to a state indicated by the completed vector gesture includes displaying a first scene on the screen and then displaying a second scene having a higher resolution than the first scene.

[0011] In a further aspect of the invention, if the vector gesture is not complete when the result of the command is reached, estimating the direction and assuming the identity for the vector gesture is repeated.

[0012] The present invention comprises:

[0013] 1. A method of operating a first data processing system having a screen, in response to a vector gesture made on the screen, the method comprising:

[0014] estimating a direction and assuming an identity for the vector gesture before completion of the vector gesture;

[0015] executing a command dependent on the estimated direction and the assumed identity, the command being required to update a current state of the first data processing system if the assumed identity of the vector gesture is correct, the command being executed before the vector gesture is completed; and

[0016] The current state of the first data processing system is updated according to the result generated by the command.

[0017] 2. The method of claim 1, wherein the screen includes a touch-enabled screen.

[0018] 3. The method of item 1 further comprises:

[0019] determining whether the vector gesture has been completed; and

[0020] If the vector gesture has been completed, the first data processing system is updated to a state indicated by the completed vector gesture.

[0021] 4. The method of claim 1 , wherein the command causes a second data processing system to provide data to the first data processing system.

[0022] 5. The method of claim 1 , wherein updating the current state of the first data processing system comprises updating a display on the first data processing system using data obtained by executing the command.

[0023] 6. The method of claim 1, wherein the current state comprises a first scene on the screen, and the assumed identity comprises a scrolling gesture indicating that the first scene is to be scrolled along the estimated direction.

[0024] 7. The method of claim 6, wherein the current state includes displaying a partial scrolling scene on the screen, and the updating to the current state includes a partial scrolling form of the first scene.

[0025] 8. The method of claim 3, wherein updating the first data processing system to a state indicated by the completed vector gesture comprises: displaying a first scene on the screen, and then displaying a second scene having a higher resolution than the first scene.

[0026] 9. The method of claim 3, wherein if the vector gesture has not yet been completed, estimating the direction and assuming the identity for the vector gesture is repeated.

[0027] 10. The method of claim 1, wherein the first data processor determines an end point of a display to be provided on the screen in response to a swipe gesture, and wherein the first data processing system displays an intermediate display in a narrow bandwidth form that is not part of a final display provided when the swipe gesture is not terminated prematurely, so as to enable the swipe to be terminated prematurely.

[0028] 11. A computer readable medium comprising instructions for causing a data processing system to execute a method of responding to a vector gesture made on a screen of the data processing system, the method comprising:

[0029] estimating a direction and assuming an identity for the vector gesture before completion of the vector gesture;

[0030] executing a command dependent on the estimated direction and the assumed identity, the command being required to update a current state of the first data processing system if the assumed identity of the vector gesture is correct, the command being executed before the vector gesture is completed; and

[0031] The current state of the first data processing system is updated according to the result generated by the command.

[0032] 12. The computer-readable medium of claim 11, wherein the screen comprises a touch-enabled screen.

[0033] 13. The computer-readable medium of claim 11, further comprising:

[0034] determining whether the vector gesture has been completed; and

[0035] If the vector gesture has been completed, the first data processing system is updated to a state indicated by the completed vector gesture.

[0036] 14. The computer-readable medium of claim 11, wherein the command causes a second data processing system to provide data to the first data processing system.

[0037] 15. The computer-readable medium of claim 11, wherein updating the current state of the first data processing system comprises updating a display on the first data processing system using data obtained by executing the command.

[0038] 16. The computer-readable medium of claim 11, wherein the current state comprises a first scene on the screen, and the assumed identity comprises a scrolling gesture indicating that the first scene is to be scrolled along the estimated direction.

[0039] 17. The computer-readable medium of claim 16, wherein the current state comprises displaying a partial scrolling scene on the screen, and wherein the updating to the current state comprises a partial scrolling form of the first scene.

[0040] 18. The computer-readable medium of claim 13, wherein updating the first data processing system to a state indicated by the completed vector gesture comprises displaying a first scene on the screen and then displaying a second scene with a higher resolution than the first scene.

[0041] 19. The computer-readable medium of claim 13, wherein if the vector gesture is not yet complete, repeating estimating a direction and assuming an identity for the vector gesture.

[0042] 20. A computer-readable medium as described in claim 11, wherein the first data processor determines an end point of a display to be provided on the screen in response to a swipe gesture, and wherein the first data processing system displays an intermediate display in a narrow bandwidth form that is not part of a final display provided when the swipe gesture is not terminated prematurely, so as to enable the swipe to be terminated prematurely. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] Figure 1 A mobile device utilizing the method of the present invention is illustrated;

[0044] Figure 2 The method of implementing a zoom-out gesture in one embodiment of the present invention is illustrated;

[0045] Figure 3 Illustrated in Figure 2 The curve that appears on the display after the zoom-out gesture is completed;

[0046] Figure 4 -6 illustrates scaling in operation where missing data points are sent in an order that allows an approximation of the final display to be generated before the entire data set required for display is sent from the data processor; and

[0047] Figure 7 is a flow chart of one embodiment of a method according to the present invention. DETAILED DESCRIPTION

[0048] The present invention can be more easily understood with respect to a class of gestures involving moving an object on the screen, where the gesture involves an object moving in one direction and ending by slowing down the rate of movement or lifting the object off the screen. The object is typically one or more fingers of the user. However, the teachings of the present invention can be applied to other objects like a stylus. It should also be noted that the object can be a virtual object like a pointer controlled by a mouse. The pointer "touches" the screen when a particular button is pressed and leaves the screen when the button is released.

[0049] The direction of motion is typically linear; however, gestures utilizing rotational motion are also acceptable. For example, a gesture utilizing two fingers may mimic a knob displayed on a screen.

[0050] The present invention is based on the observation that in many cases, the operations necessary to provide an updated display specified by a gesture can begin before, or even before, the gesture is completed. Thus, the display can be updated while the gesture is in progress, so as to provide a display that nearly matches the gesture at any point during the gesture.

[0051] refer to Figure 1 The manner in which the present invention provides its advantages can be more readily understood by Figure 1 A mobile device utilizing the method of the present invention is illustrated. The mobile device 20 contains a touch-enabled screen 22 for displaying data to a user of the mobile device 20 and receiving commands in the form of touch gestures. The mobile device 20 communicates with a data processor 31 that stores or generates data displayed on the mobile device 20 in response to touch gestures made on the screen 22. Figure 1 In the example of FIG. 3 , mobile device 20 displays a portion of list 33 received from data processor 31. Screen 22 can be viewed as a window for a user to view a portion of a list that is too large to be viewed in its entirety at one time.

[0052] The user of mobile device 20 wants to scroll list 33 by making a swipe gesture on screen 22. For the purpose of this discussion, the swipe gesture is indicated by the user moving the user's finger 34 on screen 22 in a rapid motion while the user maintains contact with screen 22, while the finger is still in motion when the finger is lifted. During the swipe gesture, the list scrolls across the window in such a way that the user sees the portion of the list currently displayed in the window. The speed at which the list scrolls across the window decreases over time after the user lifts his or her finger, until it eventually stops scrolling, leaving the portion of the list visible in the window if the user takes no further action. However, if the user touches the screen again after lifting his or her finger and during the time the list is still scrolling, the scrolling stops, leaving the currently visible portion of the list in the window. Therefore, since the gesture includes a premature stop indicated by the user touching the screen again, the scrolling gesture is not completed until the scrolling stops. The direction of motion of the user's finger specifies the way the list scrolls. The speed at which the user moves the finger 34 determines the time and speed at which the list continues to scroll after the finger is lifted. In response to the gesture, the data processor 31 sends the data required to supplement the display on the mobile device 20.

[0053] As soon as the user begins making a gesture, the direction of the window's movement relative to the list 33 can be determined. However, the distance that the mobile device 20 has moved the list is not known until the gesture is completed. In the present invention, the mobile device 20 determines the direction and signals the data processor 31 to begin generating and sending the data in the area 35 of the list 33. In one aspect of the present invention, the data is sent in the order in which it appears in the list, with the data closest to the portion of the list currently being displayed being sent first. As data is received, the mobile device 20 updates the screen 22 by supplementing the portion of the list that is visible along the indicated direction. Thus, updating the display begins before the gesture is completed.

[0054] When the gesture is complete, the mobile device 20 ascertains the extent of the requested scrolling. If the updated display already reflects the desired scrolling, the mobile device 20 terminates the update operation. However, generally, the displayed portion of the list is inconsistent with the requested update as determined by the swipe operation. If the amount of data received from the data processor 31 at the end of the gesture is less than the amount of data required to satisfy the gesture, the mobile device 20 continues to request data from the data processor 31 until the desired data is received and displayed. If the data received at the end of the gesture is sufficient to update the display, the mobile device 20 adjusts the display to reflect the indicated scroll amount. If the display has scrolled past the desired end point, this may involve scrolling back through the scrolled list.

[0055] Consider a situation where data processor 31 is unable to provide information to mobile device 20 at a sufficient rate that mobile device 20 can provide a fully scrolled display to the user at the end of a gesture. This situation may be the result of limitations in bandwidth between data processor 31 and mobile device 20, as well as limitations in the time required to generate the data in data processor 31. If information is sent as it arrives to update screen 22 and in the order in which the data appears in the list, screen 22 will display a continuous slow update which may not be the most aesthetically pleasing form of update from the user's point of view, as the user may be more interested in data near the end of the updated portion of the list.

[0056] Consider the case of a swipe. When the user lifts his or her finger from the display, the end point of the list in the final screen display is known, assuming the user does not stop the swipe prematurely by touching the screen. However, in order to provide the user with a view of the data scrolling through the window on the list on the way to the final screen display, various intermediate list items must be sent and displayed so that the user can decide whether the user wants to end the scrolling prematurely.

[0057] In one aspect of the present invention, these intermediate list items can be sent and displayed in a narrow bandwidth form that is sufficient to allow the user to determine whether the user wants to stop scrolling. For the purpose of this discussion, the narrow bandwidth form of the list is defined as a form that can be sent to a mobile device in a shorter time than the time of sending the list when the list is displayed on the screen in final form. For example, this can be a form that only sends the first few words of each list item, replaces the word or phrase with an abbreviation to send the item, or sends the form of every n-1 item in the list. If the user stops scrolling prematurely according to this narrow bandwidth form of the list, the correct form of each item to be displayed is used to replace the narrow bandwidth form. Use the bandwidth reduction form of the list to release bandwidth for sending the final form of the part to be displayed by the list or a more beautiful scrolling that moves at a desired speed.

[0058] In another aspect of the invention, the update information is sent in an order that allows the user to view data near the end of the update information before other information appears. For example, if the last entry in the updated list is known, that entry can be sent next so that it appears on the mobile device 20. The missing items are then sent in an order that depends on the particular mode of operation. For example, the missing items can be sent in a random order so that the user can view items at different locations in the update list to determine whether further scrolling is required. Alternatively, the list can be filled by working backwards from the last entry or working forwards from the last received entry in the completed portion of the list.

[0059] This type of non-sequential updating can be more easily understood with reference to a display showing an analog signal as a graph of signal strength as a function of time or some other parameter like frequency. Such displays are common in mobile devices that control or view data from instruments like oscilloscopes or frequency analyzers.

[0060] For example, consider a scenario showing a signal as a function of some variable X. The user controls the zoom level of the signal by making a "zoom gesture" to change the portion and resolution of the signal displayed on the device using a touch screen. For the purposes of this example, assume that the user wants to zoom out, thereby displaying more of the signal at a lower resolution on a mobile device used to control an instrument that provides data. In order to provide a new display, data related to the portion of the scene that is not currently displayed is required. Once the mobile device determines to start zooming out, the mobile device can obtain additional data on each side of the current scene and add the data to the current display. When the user completes the zoom operation, the additional data, or at least some significant portion thereof, has been provided. This provides the appearance of a display that is continuously updated using a zoom operation. In one aspect of the present invention, a computer can approximately predict where the gesture will be completed. For example, if a pinch-to-zoom gesture is used, the pinch-to-zoom cannot exceed the span of the user's fingers; therefore, when the pinch-to-zoom is started, the maximum amount of data that may be required can be predicted.

[0061] Now refer to Figure 2 , Figure 2 The manner in which a zoom-out gesture is implemented in one embodiment of the present invention is illustrated. A touch-enabled display screen 12 that is part of a mobile device 10 currently shows a portion of a curve 13 that is within the boundaries of the display screen 12. A user 14 of the mobile device 10, by making a pinch gesture on the display screen 12, signals to a data processor 11 that the entire trace or a portion that may be generated outside the range currently displayed by the mobile device 10. The extent of the zoom is determined by the distance the user moves the user's fingers together during the pinch-to-zoom gesture. This information is not available until the user completes the gesture.

[0062] However, once the mobile device 10 recognizes the gesture as a pinch-to-zoom gesture, the mobile device 10 signals the data processor 11 to begin sending the required portions, such as portion 15, that are outside the current window. As described above, in one aspect of the invention, the data is sent in an order that gives priority to the portions of the curve 13 that are closest to the portion already being displayed, because those portions are most likely to satisfy the portions required to satisfy the pinch-to-zoom command. The data processor 11 begins sending the portions that may be needed before the pinch gesture is completed. The display is updated by decimating the portion of the curve that continues to be displayed at a lower resolution and adding the new data to that portion as it is sent.

[0063] The actual data sent to mobile device 10 by the time the pinch gesture is complete may be more or less than what is needed to satisfy the pinch gesture. During the gesture, mobile device 10 continuously updates display screen 12 with data as it arrives. If the data available on mobile device 10 is sufficient to generate a correct display when the pinch zoom operation is about to terminate at its current location, the display will smoothly follow the pinch zoom. If there is insufficient data, the display will appear to continuously change and catch up after the pinch zoom. Mobile device 10 can determine the maximum amount of data required to satisfy the pinch zoom because it corresponds to the minimum distance between the user's fingers. Therefore, if data is sent faster than required to catch up with the pinch zoom, at least some additional data will be sent to mobile device 10 if the gesture ends at a point less than this minimum distance.

[0064] If the display cannot be updated to keep up with the data required for the zoom operation, a mode of sending update information out of the order indicated above can be used. For example, the missing portion of the curve can be provided in an order that allows approximation to the final display generated when the pinch zoom gesture is completed. The approximation is then refined as more data is received. For example, an approximation of the final curve can be generated by sending every n-1 point to the mobile device 10 in the area where the data is lost. These points are then fitted to a curve displayed on the display screen 12. After sending these points, the points in the middle of these points are then sent. As additional points arrive to fill in the missing points, these data points are then refitted to a curve and displayed. In this way, the display appears at its final resolution, and these updates provide a more detailed view of the data. Since it is difficult for the human eye to perceive rapid changes in scenes at high resolutions, this form of update hides the underlying "noise" caused by approximating the curve with an incomplete data set.

[0065] Similarly, during a zoom-in operation, lost data is data between existing points on the portion of the display that is still within the area displayed on the display screen 12. Referring now to Figure 4 –6, Figure 4 -6 illustrates scaling in operation where the missing data points are sent in an order that allows approximation of the final display to be generated before the entire data set required for display is sent from the data processor. Figure 4 , the user 14 indicates that the user wants to zoom in on the portion of the curve 53 displayed by 54 by pinching the fingers. The final display will include some of the data points currently stored in the mobile device 10, as well as a set of additional points between the points currently being displayed that provide information about the curve 53. When the zoom-in operation is initiated, the mobile device 10 signals the data processor 11 to begin sending data points between the existing data points. By the time the zoom-in gesture is complete, the mobile device 10 has accumulated Figure 5These exemplary data points are labeled 41–45. These data points are used to generate the final displayed approximation 49. As the image is displayed in Figure 6 As additional data points arrive at locations between the locations of existing data points, as with data point 46 in FIG. 5 , display screen 12 is updated to provide a better approximation of the final curve as shown at 51 .

[0066] The above embodiments of the present invention utilize specific touch-enabled gestures that operate on a mobile device such as a tablet or smartphone. However, the present invention can be used in any data processing system that responds to certain gestures on a touch-enabled display. For the purposes of this discussion, a vector touch gesture is defined as a gesture characterized by a direction and a magnitude, where the exact magnitude is unknown before the gesture is completed. Instead, the direction can be determined by the data processing system before the magnitude can be ascertained.

[0067] Now refer to Figure 7 , Figure 7 is a flow chart of one embodiment of a method according to the present invention. A data processing system operating a touch-enabled display detects a gesture initiated on the touch-enabled display and determines, as shown at 71, whether the gesture is a vector gesture. If the touch gesture is a vector touch gesture, the data processing system determines, as shown at 72, a direction associated with the touch gesture. Additionally, the data processing system determines, as shown at 73, a set of vector touch gestures of which one is being implemented.

[0068] It should be noted that a particular vector gesture may not be precisely known until the vector gesture is completed. For example, a scrolling operation may be performed by a swipe or a traditional scrolling in which the user moves the user's finger in a continuous manner while in contact with the screen, but stops moving before lifting the finger. In contrast, a swipe is characterized by the finger moving at a speed greater than a certain threshold speed when the finger is lifted. The data processing system cannot determine which scrolling operation is being requested until the user actually lifts the user's finger.

[0069] After the data processing system determines that the set of possible gestures has not been completed, the data processing system, as shown at 74, uses the determined direction and current state of the gesture to execute a command that at least partially completes the work required to respond to one or more possible gestures. For example, consider the case where all possible gestures require scrolling from their current state to the final state, and the scrolling is performed along the determined direction. When the direction is determined, one or more finger positions will advance to a new location that provides some additional information about the magnitude associated with the vector gesture. For example, from the current position, the data processing system can determine the minimum distance required to scroll the display, and therefore, the minimum amount of new information required to scroll. The maximum distance displayed by scrolling in the current possible gesture can also be determined. For example, if the current gesture is a traditional scroll, the maximum distance is determined by measuring the scrolling distance corresponding to the user's finger reaching the edge of the screen along the current direction. If the scrolling operation is a swipe, the maximum distance is determined by the current scrolling speed and some estimate of the maximum speed of the finger when the finger is lifted.

[0070] In the case of a scrolling operation, the command returns the data required to provide a display in a scrolled state that better approximates the final state than the current state. Generally speaking, as shown in 75, the system is updated based on the results of those commands. For example, as data from those commands are received, an updated display can be generated based on the results of the executed commands. These commands can continuously issue the data required to perform the maximum possible scrolling in the case of scrolling. If the scrolling requirement is less than this amount of data, the excess data can be ignored or saved for future operations.

[0071] After executing the command, the data processing system determines whether the gesture is complete, as shown at 76. If the gesture is not complete, the current state of the gesture is determined, as shown at 77. The state is determined from the current location of the user's finger. This information is used to update the set of possible gestures and determine further commands to be executed based on the current estimate of the gesture.

[0072] If the data processing system determines that the gesture is complete, the data processing system completes the operation specified by the gesture as shown at 78. This completion may require receiving results from one or more commands previously issued. In addition, this completion may require additional commands. For example, in the case of a swipe gesture, additional data may need to be requested before the screen can be updated to its final form.

[0073] The above examples are directed to actions that result in updating the display. However, actions that control a device in communication with the data processing system may also be utilized. In this case, the command may be a command sent to an external device to cause the device to perform an operation. The operations involved result in an update of the display; however, such an update is not necessarily required. For example, an instrument separate from a mobile device may be updated without changing the display on the mobile device.

[0074] The above embodiments utilize a mobile device with a touch-enabled screen. However, the present invention can be implemented on any data processing system that contains a touch-enabled screen and software that detects one or more vector gestures. In addition to mobile devices, touch-enabled screens can be used on desktop systems. It should also be noted that the updated screen view does not need to be a touch-enabled screen. Systems with two screens, one touch-enabled and the other a conventional screen, can also benefit from the present invention for receiving vector gestures on a touch-enabled screen while updating a conventional display.

[0075] The present invention also includes any computer-readable medium storing instructions that enable a computer reading that medium to perform the methods of the present invention. For the purposes of this discussion, any computer-readable medium that qualifies as patentable subject matter under 35 U.S.C. 101 is defined as a computer-readable storage medium. Such media include non-transitory storage media such as non-volatile memory, magnetic and optical based disk drives, and storage elements read by those disk drives.

[0076] The above-described embodiments of the present invention are provided to illustrate various aspects of the present invention. However, it will be appreciated that the different aspects of the present invention shown in the different specific embodiments may be combined to provide other embodiments of the present invention. In addition, various modifications of the present invention may be apparent from the foregoing and accompanying drawings. Thus, the present invention is limited only by the scope of the appended claims.

Claims

1. A method of operating a first data processing system having a screen, in response to a vector gesture made on the screen, the vector gesture being characterized by contact being formed between an object and the screen at a contact point, and the object moving on the screen from the contact point in a direction without breaking the contact, the method comprising: detecting contact between the object and the screen at a contact point on the screen; determining said direction; before the vector gesture is completed but after detecting contact between the object and the screen at the contact point, assuming an identity of the vector gesture from the contact point and the direction; after detecting contact between the object and the screen at the contact point, executing a command dependent on the assumed identity, the direction, and the contact point, the command being required to update a current state of the first data processing system if the assumed identity of the vector gesture is correct, the command being executed before the vector gesture is completed; as well as updating the current state of the first data processing system based on a result generated by the command, wherein the first data processing system determines an end point of a display to be provided on the screen in response to a swipe gesture, wherein the swipe gesture is characterized by the object also moving at a speed greater than a threshold speed when the object is lifted from the screen; The command is a command requesting to update a current state of the first data processing system if the assumed identity of the vector gesture is correct; and the current state includes a first scene on the screen.

2. The method of claim 1, wherein the screen comprises a touch-enabled screen.

3. The method according to claim 1, further comprising: determining whether the vector gesture has been completed; and If the vector gesture has been completed, the first data processing system is updated to a state indicated by the assumed identity of the vector gesture.

4. The method of claim 1, wherein the command causes a second data processing system to provide data to the first data processing system.

5. The method of claim 1, wherein updating the current state of the first data processing system comprises updating a display on the first data processing system with data obtained by executing the command. The method of claim 1 , wherein the assuming the identity of the vector gesture comprises a scroll gesture indicating that the first scene is to be scrolled along the direction. 7 . The method of claim 6 , wherein the current state includes displaying a partially scrolled scene on the screen, and the updating to the current state includes a partially scrolled form of the first scene.

8. The method of claim 3 , wherein if the vector gesture has not been completed after detecting contact between the object and the screen at the contact point, repeating the determining of the direction and the assuming identity for the vector gesture, and repeating the determining of the direction and the assuming identity for the vector gesture based on the current positions of the object and the screen.

9. A method according to claim 1, wherein the first data processing system determines an end point of a display to be provided on the screen in response to a swipe gesture, and wherein the first data processing system displays an intermediate display in a narrow bandwidth form that is not a part of the final display provided when the swipe gesture is not prematurely terminated by contacting the screen, so as to enable the swipe to be terminated prematurely by contacting the screen.

10. A non-transitory computer readable medium comprising instructions that cause a data processing system to perform a method of operating a first data processing system having a screen in response to a vector gesture made on a screen of the first data processing system having the screen, the vector gesture being characterized by contact being formed between an object and the screen at a contact point on the screen, and the object moving from the contact point in a direction on the screen without breaking the contact, the method comprising: detecting contact between the object and the screen at a contact point on the screen; determining said direction; before the vector gesture is completed but after detecting contact between the object and the screen at the contact point, assuming an identity of the vector gesture from the contact point and the direction; after detecting contact between the object and the screen at the contact point, executing a command dependent on the assumed identity, the direction, and the contact point, the command being required to update a current state of the first data processing system if the assumed identity of the vector gesture is correct, the command being executed before the vector gesture is completed; as well as updating the current state of the first data processing system based on a result generated by the command, wherein the first data processing system determines an end point of a display to be provided on the screen in response to a swipe gesture, wherein the swipe gesture is characterized by the object also moving at a speed greater than a threshold speed when the object is lifted from the screen; The command is a command requesting to update a current state of the first data processing system if the assumed identity of the vector gesture is correct; and the current state includes a first scene on the screen.

11. The non-transitory computer readable medium of claim 10, wherein the screen comprises a touch enabled screen.

12. The non-transitory computer readable medium of claim 10, further comprising: determining whether the vector gesture has been completed; and If the vector gesture has been completed, the first data processing system is updated to a state indicated by the assumed identity of the vector gesture.

13. The non-transitory computer readable medium of claim 10, wherein the command causes a second data processing system to provide data to the first data processing system.

14. The non-transitory computer readable medium of claim 10, wherein updating the current state of the first data processing system comprises updating a display on the first data processing system with data obtained by executing the command. 15 . The non-transitory computer-readable medium of claim 10 , wherein the assumed identity of the vector gesture comprises a scroll gesture indicating that the first scene is to be scrolled along the direction.

16. The non-transitory computer-readable medium of claim 15, wherein the current state comprises displaying a partially scrolled scene on the screen, the updating to the current state comprising a partially scrolled form of the first scene.

17. A non-transitory computer-readable medium according to claim 12, wherein if the vector gesture has not been completed after detecting contact between the object and the screen at the contact point, repeating the determining of the direction and the assumed identity for the vector gesture, and repeating the determining of the direction and the assumed identity for the vector gesture based on the current position of the object and the screen.

18. The non-transitory computer-readable medium of claim 10, wherein the first data processing system determines an end point of a display to be provided on the screen in response to a swipe gesture, and wherein the first data processing system displays an intermediate display in a narrow bandwidth form that is not part of a final display provided when the swipe gesture is prematurely terminated so that the swipe can be prematurely terminated by contacting the screen.

Citation Information

Patent Citations

  • User interface, apparatus and method for gesture recognition

    AU2010366331A1

  • Touch-screen image scrolling system and method

    CN101866268A