Touchscreen jog wheel user interface element
The jog wheel UI element on touchscreen devices enables precise and efficient interaction with graphical user interface elements, addressing the challenge of input precision in high-end editing software by animating rotation based on touch inputs, enhancing control and manipulation of media content.
Patent Information
- Application Number
- JP2025517127
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-19
- Filing Date
- 2023-09-20
- Publication Date
- 2025-10-15
AI Technical Summary
High-end graphics and video editing software applications on desktop computers require precise user inputs that are difficult to achieve with non-keyboard and mouse methods, especially on touchscreen devices like tablets or pads.
A jog wheel user interface element is displayed on a graphical user interface, allowing touch inputs to control its rotation, which in turn modifies the display of media content items, enabling precise manipulation without obscuring the view of the user's hand or input device.
Provides a convenient, fast, and accurate method for interacting with graphical user interface elements on touchscreen devices, offering finer granularity of control compared to direct touch input, and allowing operations like media content manipulation, traversal, and selection.
Smart Images

Figure 2025534265000001_ABST
Abstract
Description
[Technical Field]
[0001] (Incorporated by Reference Disclaimer) The following application: U.S. Patent Application No. 63 / 409,625, filed September 23, 2022, is incorporated herein by reference. Applicant hereby voids any disclaimer of claims in the parent application(s) or their prosecution history, and recommends to the USPTO that the claims in this application may be broader than any claims in the parent application(s).
[0002] The present disclosure relates generally to a jog wheel user interface (UI) element for providing various user inputs to an application or operating system. [Background technology]
[0003] Many high-end graphics editing and video editing software applications are best run on desktop computers, utilizing a keyboard and mouse to navigate the application. These types of applications often rely on precise input from the user that is difficult to obtain using other input methods. Summary of the Invention
[0004] In some embodiments, at least a partial view of a jog wheel user interface element (UI) is displayed on a graphical user interface (GUI), the jog wheel UI element being operable to manipulate one or more secondary elements. In response to a touch swipe input to control the jog wheel UI element, a rotation of the jog wheel UI element is animated based on the touch swipe input. Rotating the jog wheel UI element includes rotating the jog wheel UI element at an initial rotation speed based on the touch swipe input, and after cessation of the touch swipe input, the rotation speed of the jog wheel UI element is reduced until the rotation speed of the jog wheel UI element reaches zero. Concurrent with animating the rotation of the jog wheel UI element, a display of the media content item(s) is continuously modified at a modification speed corresponding to the rotation speed of the jog wheel UI element.
[0005] In one embodiment, a computing device, such as a tablet or pad device with a touchscreen display, presents a jog wheel UI element and an arrangement of media content item(s) on a GUI. The computing device receives touch input at a first region of the GUI and performs several actions in response to the touch input. The actions include determining a distance between the touch input and the jog wheel UI element, selecting a modification to the arrangement of the media content item(s), and animating the rotation of the jog wheel UI element over a period of time while animating the modification to the arrangement of the media content item(s).
[0006] Certain embodiments provide at least the following advantages: A user of a tablet or pad computing device can interact with elements displayed in a GUI without the view of the element being manipulated being obscured by the user's thumb, finger, or input device. Instead, the jog wheel UI element provides a convenient, fast, and accurate method of input to a computing device via a touchscreen display to control elements of the GUI, along with countless other functionality. Furthermore, the granularity of manipulation of secondary elements based on touch input received by the jog wheel UI element is much finer than is possible through touch input manipulation of the secondary elements themselves.
[0007] In one or more embodiments, user input to rotate the jog wheel UI element results in updating a display associated with the media content item(s). Updating the display can include, for example, modifying the media content item(s), traversing the media content item(s), selecting the media content item(s), and selecting a position along a timeline associated with the media item(s).
[0008] The details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features, aspects, and potential advantages will become apparent from the description and drawings, and from the claims. [Brief explanation of the drawings]
[0009] [Figure 1] 1 is a simplified diagram of an exemplary graphical user interface (GUI) illustrating jog wheel user interface (UI) elements in accordance with one or more embodiments.
[0010] [Figure 2] 1 is a simplified diagram of an exemplary GUI illustrating a jog wheel UI element in one or more embodiments.
[0011] [Figure 3] 1 is a simplified diagram of an exemplary GUI illustrating touch input on a jog wheel UI element in accordance with one or more embodiments.
[0012] [Figure 4] 1 is a simplified diagram of an exemplary GUI illustrating touch input on a jog wheel UI element in accordance with one or more embodiments.
[0013] [Figure 5] 1 is a simplified diagram of an exemplary GUI illustrating touch input on a jog wheel UI element in accordance with one or more embodiments.
[0014] [Figure 6] 1 is a simplified diagram of an exemplary GUI illustrating multiple jog wheel UI elements in accordance with one or more embodiments.
[0015] [Figure 7] 1 is a simplified diagram of an exemplary GUI illustrating a jog wheel UI element in one or more embodiments.
[0016] [Figure 8] 1 is a simplified diagram of an exemplary GUI illustrating a jog wheel UI element in one or more embodiments.
[0017] [Figure 9] 1 is a simplified diagram of an exemplary GUI illustrating a jog wheel UI element in one or more embodiments.
[0018] [Figure 10] 1 is a simplified diagram of an exemplary GUI illustrating a jog wheel UI element in one or more embodiments.
[0019] [Figure 11] 1 is a simplified diagram of an exemplary GUI illustrating a jog wheel UI element in one or more embodiments.
[0020] [Figure 12] 1 is a simplified diagram of an exemplary GUI illustrating a jog wheel UI element in one or more embodiments.
[0021] [Figure 13] 1 is a simplified diagram of an exemplary GUI illustrating a jog wheel UI element in one or more embodiments.
[0022] [Figure 14] 1 is a simplified diagram of an exemplary GUI illustrating touch input on a jog wheel UI element in accordance with one or more embodiments.
[0023] [Figure 15] 1 is a simplified diagram of an exemplary GUI illustrating touch input on a jog wheel UI element in accordance with one or more embodiments.
[0024] [Figure 16] FIG. 1 is a flow diagram of an example process for interacting with a GUI using a jog wheel UI element in one or more embodiments.
[0025] [Figure 17] FIG. 1 is a flow diagram of an example process for interacting with a GUI using a jog wheel UI element in one or more embodiments.
[0026] [Figure 18] FIG. 1 is a flow diagram of an example process for interacting with a GUI using a jog wheel UI element in one or more embodiments.
[0027] [Figure 19] FIG. 1 is a flow diagram of an example process for interacting with a GUI using a jog wheel UI element in one or more embodiments.
[0028] [Figure 20]FIG. 1 is a flow diagram of an example process for interacting with a GUI using a jog wheel UI element in one or more embodiments.
[0029] [Figure 21] FIG. 21 is a block diagram of an exemplary computing device capable of implementing the features and processes of FIGS.
[0030] [Figure 22A] Various examples of selectable and / or informational UI elements are shown alone or in association with an exemplary jog wheel UI element. [Figure 22B] Various examples of selectable and / or informational UI elements are shown alone or in association with an exemplary jog wheel UI element. [Figure 22C] Various examples of selectable and / or informational UI elements are shown alone or in association with an exemplary jog wheel UI element. [Figure 22D] Various examples of selectable and / or informational UI elements are shown alone or in association with an exemplary jog wheel UI element. [Figure 22E] Various examples of selectable and / or informational UI elements are shown alone or in association with an exemplary jog wheel UI element. [Figure 22F] Various examples of selectable and / or informational UI elements are shown alone or in association with an exemplary jog wheel UI element. [Figure 22G] Various examples of selectable and / or informational UI elements are shown alone or in association with an exemplary jog wheel UI element. [Figure 22H] Various examples of selectable and / or informational UI elements are shown alone or in association with an exemplary jog wheel UI element. [Figure 22I] Various examples of selectable and / or informational UI elements are shown alone or in association with an exemplary jog wheel UI element. [Figure 22J] Various examples of selectable and / or informational UI elements are shown alone or in association with an exemplary jog wheel UI element. [Figure 22K] Various examples of selectable and / or informational UI elements are shown alone or in association with an exemplary jog wheel UI element. [Figure 22L] Various examples of selectable and / or informational UI elements are shown alone or in association with an exemplary jog wheel UI element. [Figure 22M] Various examples of selectable and / or informational UI elements are shown alone or in association with an exemplary jog wheel UI element. [Figure 22N] Various examples of selectable and / or informational UI elements are shown alone or in association with an exemplary jog wheel UI element. [Figure 22O] Various examples of selectable and / or informational UI elements are shown alone or in association with an exemplary jog wheel UI element. [Figure 22P] Various examples of selectable and / or informational UI elements are shown alone or in association with an exemplary jog wheel UI element. [Figure 22Q] Various examples of selectable and / or informational UI elements are shown alone or in association with an exemplary jog wheel UI element. [Figure 22R] Various examples of selectable and / or informational UI elements are shown alone or in association with an exemplary jog wheel UI element.
[0031] Like reference symbols in the various drawings indicate like elements. DETAILED DESCRIPTION OF THE INVENTION
[0032] (Jog Wheel UI element) FIG. 1 is a simplified diagram of an exemplary GUI 100 illustrating a jog wheel UI element 102 in accordance with one or more embodiments. The jog wheel UI element 102 may be referred to as a “jog wheel” for ease of reading in this specification and corresponding drawings. Therefore, “jog wheel” when referred to herein should be interpreted as a jog wheel UI element. The jog wheel UI element 102 may have any shape capable of rotating around an axis of rotation (the center of a complete circle around which the circle rotates). Some exemplary shapes include, but are not limited to, a circle, an oval, an ellipse, a gear-like shape, a shape resembling a watch bezel, a continuous disk, a hollow disk, a multi-sided polygon, a knob, a dial, etc. In some examples, three-dimensional shapes such as a sphere, an ellipsoid, a toroid, a torus, a genus g-surface, etc. may be used. In further embodiments, a partial view of the shape of the jog wheel UI element 102 may be shown in the GUI 100. In some approaches, the jog wheel UI element 102 may be partially displayed on the GUI 100. For example, when the jog wheel UI element 102 is circular or disk-like in shape, the GUI 100 may display a portion of a full circle jog wheel UI element 102, such as approximately a quarter circle (90°), approximately a half circle (180°), approximately three-quarter circle (270°), etc.
[0033] 1, GUI 100 displays a partial view of jog wheel UI element 102 (appearing roughly as a semicircle) with an outer edge 108 of jog wheel UI element 102 having multiple check marks disposed thereon to indicate the rotation of jog wheel UI element 102 and the current position of jog wheel UI element 102. Jog wheel UI element 102 may, in various approaches, include more or fewer check marks on outer edge 108 than those shown in FIG. 1. Furthermore, the check marks may have different sizes and shapes than those shown in FIG. 1. For example, triangular, rectangular, circular, or any other shape may be used for the check marks. In some approaches, jog wheel UI element 102 and / or individual check marks may have one or more indicators associated therewith, such as a rotation angle, a number indicating a parameter setting, a minimum and / or maximum setting, etc.
[0034] The jog wheel UI element 102 is configured to respond to touch input by a user of the GUI 100. Thus, in some embodiments, the GUI 100 is configured for display on a touchscreen display. In response to particular touch input(s), the jog wheel UI element 102 rotates around its axis of rotation (which may appear on the GUI 100, may be located outside of the GUI 100, or may be positioned on the GUI 100 but not displayed). How the jog wheel UI element 102 rotates can be based on any of the following: an aspect of the jog wheel UI element 102, one or more characteristics of the touch input, one or more aspects of the GUI, a user setting, etc.
[0035] Touch input may include swipe touch input, tap touch input, drag-and-drop touch input, double-tap touch input, multi-point touch input (multiple simultaneous contacts with a touchscreen display), contactless "hover" touch input, multi-pressure touch input (touch input pressure intensity varies from touch input to touch input or pressure intensity varies during the same touch input), or any other touch input that can be sensed by a touchscreen interface (e.g., a touchscreen display).
[0036] For example, a tap input received by the jog wheel UI element 102 may select a secondary element displayed on the GUI 100 that was highlighted or otherwise marked for selection prior to the tap input. In one example, a hover touch input over a particular area of the GUI 100 may cause the jog wheel UI element 102 to be invoked from a closed or hidden state, thereby allowing a user to interact with the jog wheel UI element 102. In another example, a double-tap touch input may change the period displayed by a timeline in a media editing application, such as by increasing / decreasing the timescale displayed by the timeline, making fine-grained manipulation of the media content items displayed by the timeline more difficult / easier, depending on how the scale of the timeline changes. In one example, a stronger pressure touch input may cause faster movement, and a weaker pressure touch input may cause slower movement, or vice versa. According to one example, a swipe touch input on the jog wheel UI element 102, in conjunction with a simultaneous tap touch input received at another location within the GUI 100, may operate the selected element based on the selection of the element located at the tap touch input and the swipe touch input received by the jog wheel UI element 102.
[0037] The jog wheel UI element 102, in some embodiments, may be associated with one or more additional UI elements, each of which may have one or more sub-elements associated with it. Figure 1 illustrates a UI element 104 configured to close and / or hide the jog wheel UI element 102 in response to touch input received by the UI element 104. While the UI element 104 is shown as a circle with an "X" located within it, any shape, graphic, icon, and / or text may be used to indicate an action selectable via the UI element 104.
[0038] In some embodiments, the UI element 104 may function to close and / or hide the jog wheel UI element 102 when the jog wheel UI element 102 is open and operable. However, when the jog wheel UI element 102 is closed or hidden, the UI element 104 may be displayed on the GUI 100 and operable to open and / or restore the jog wheel UI element 102.
[0039] In some embodiments, the UI element 106 may be associated with the jog wheel UI element 102. The UI element 106 may include any number of sub-elements (e.g., sub-element 106a, sub-element 106b, etc.), each configured to perform a designated task or function. For example, sub-element 106a may be selectable by a user (e.g., via touch input) and, when selected, may lock the jog wheel UI element 102 to its current position on the GUI relative to other displayed content. In another example, sub-element 106b may be selectable by a user (e.g., via touch input) and, when selected, may invert the functional response to rotation of the jog wheel UI element 102 (e.g., clockwise rotation may cause one action, and counterclockwise rotation may cause the opposite action). Selecting sub-element 106b may switch the response to the same direction of rotation of the jog wheel UI element 102.
[0040] In various approaches, the functionality, appearance, design, or some other aspect of the jog wheel UI element 102 may be modified, removed, added, and / or changed in some way. Permissible changes may be pre-configured and selectable by the user (e.g., from a displayed list, via voice command, with touch input gestures, through a preferences or settings menu, etc.). In one approach, one or more UI elements associated with the jog wheel UI element 102 displayed on the GUI 100 may be configured to modify, remove, add, and / or change the jog wheel UI element 102.
[0041] Some example aspects of the jog wheel UI element 102 that can be manipulated include, but are not limited to, the color of the jog wheel UI element 102, the size of the jog wheel UI element 102, the position of the jog wheel UI element 102 on the GUI 100, the input response direction of the jog wheel UI element 100, the sensitivity of the jog wheel UI element 100, the number of jog wheel UI elements displayed on the GUI 100, the transparency of the jog wheel UI element 102, the overlay characteristics of the jog wheel UI element 102, the inertia of the jog wheel UI element 102, the method for showing and hiding the jog wheel UI element 102, and the portion of the jog wheel UI element 102 for display on the GUI 100. These various aspects are described in more detail in connection with other figures.
[0042] 1 may be associated with the jog wheel UI element 102. Additionally, the functionality associated with any of the UI elements associated with the jog wheel UI element 102 may differ from that described herein in one or more embodiments.
[0043] (Jog wheel input) FIG. 2 is a simplified diagram of an exemplary GUI 200 showing a jog wheel UI element 102, in accordance with one or more embodiments. The GUI 200 and the jog wheel UI element 102 may be configured for display on a touchscreen display, such as a tablet or pad computing device. The pad computing device may be placed on a surface or table for interaction by a user and / or may be held by a user. When a user holds the pad computing device, the user's hands may be placed on the left and right sides of the pad computing device. As shown in FIG. 2 , thumb 110 is positioned proximate to the jog wheel UI element 102 on the left side of the GUI, and thumb 112 is positioned on the opposite (right) side of the GUI 200, simulating a user holding a pad computing device (with the remaining fingers of the user's hand hidden beneath the pad computing device, below the GUI 200). This orientation represents a tablet or pad computing device being held by a user, who provides input to the tablet's or pad's touchscreen display via the user's thumbs 110, 112. Although thumbs 110, 112 are shown for input, any finger and / or implement (stylus, knuckle, palm, fingernail, etc.) may be used to input to the various GUI and jog wheel UI elements illustrated in the various figures. In the remaining description of the figures, thumbs are shown to represent touch input locations.
[0044] 3 is a simplified diagram of an exemplary GUI 300 illustrating touch input on a jog wheel UI element 102 in accordance with one or more embodiments. The thumb 110 provides a swipe touch input 114 in an upward direction relative to the orientation of another element shown on the GUI 300 (e.g., a video player 120 showing a child in front of a car). While the GUI 300 illustrates a media editing application, use of the jog wheel UI element 102 is not limited to such an environment. The jog wheel UI element 102 may be utilized in any application or operating system environment where precise control of a secondary element is desirable and / or useful.
[0045] In a media editing application, a video player 120 displays current visual content corresponding to the position of the current position indicator 116 along a timeline 121. The timeline 121 is a time-based arrangement of media content items 122 (e.g., a wheel graphic, a stone wheel, a Ferris wheel, IMG_9223, etc.) located at specific points in time that together form a media presentation (which may include various types of media content items, e.g., video clips, animation clips, audio clips, images, filters, transitions, etc.). On the timeline 121, earlier times are indicated on the left and later times are indicated on the right, and a series of check marks and time-based indicators provide context as to where within the media presentation the current position indicator 116 is located.
[0046] 3 , in some embodiments, several actions may be performed as a result of touch input 114 received by jog wheel UI element 102. In one embodiment, receipt of touch input 114 by jog wheel UI element 102 results in movement of current position indicator 116 along timeline 121 in a direction corresponding to the direction of movement indicated by touch input 114. As shown, touch input 114 is in an upward direction, which translates into leftward movement 118 of current position indicator 116 along timeline 121. As shown, current position indicator 116 has moved relative to media content items 122 distributed on timeline 121 from its initial position shown in FIG. 2 on the “IMG_9223” media clip to be positioned on the “Stone Wheel” media clip due to touch input 114 being received by jog wheel UI element 102.
[0047] In one embodiment, receipt of touch input 114 by jog wheel UI element 102 results in rotation of jog wheel UI element 102 in a direction corresponding to the direction of movement indicated by touch input 114. Because touch input 114 is in an upward direction, it may be translated into counterclockwise movement of jog wheel UI element 102.
[0048] In other embodiments, the upward touch input 114 may result in a clockwise rotation of the jog wheel UI element 102. In one embodiment, the upward touch input 114 may result in a rightward movement of the current position indicator 116 along the timeline 121.
[0049] In one or more embodiments, the position of the jog wheel UI element 102 is used to map user input to rotation of the jog wheel UI element 102. As an example, when the jog wheel UI element 102 is located on the left side of the GUI 300, an upward movement results in counterclockwise rotation of the jog wheel UI element 102, and a downward movement results in clockwise rotation of the jog wheel UI element 102. When the user drags the same jog wheel UI element 102 to the right side of the interface, the computing device modifies the mapping of user input to rotation of the jog wheel UI element 102. While the jog wheel UI element 102 is located on the right side of the GUI 300, an upward movement results in clockwise rotation, and a downward movement of the jog wheel results in counterclockwise rotation of the jog wheel UI element 102.
[0050] 4 is a simplified diagram of an example GUI 400 illustrating touch input on a jog wheel UI element in one or more embodiments. Thumb 110 makes a downward swipe touch input 126 relative to the orientation of another element shown on GUI 400 (e.g., a video player 120 showing a child in front of a car).
[0051] In some embodiments, several actions may be performed as a result of the touch input 126 received by the jog wheel UI element 102. In one embodiment, the touch input 126 received by the jog wheel UI element 102 results in the current location indicator 116 moving along the timeline 121 in a direction corresponding to the direction of movement indicated by the touch input 126. As shown, the touch input 126 is in a downward direction, which translates into rightward movement 124 of the current location indicator 116 along the timeline 121. As shown, the current location indicator 116 has moved relative to the media content items 122 distributed on the timeline 121 from its initial position shown in FIG. 2 on the “IMG_9223” media clip to be positioned on the “Ferris Wheel” media clip due to the touch input 126 being received by the jog wheel UI element 102.
[0052] In one embodiment, receipt of touch input 126 by jog wheel UI element 102 results in rotation of jog wheel UI element 102 in a direction corresponding to the direction of movement indicated by touch input 126. Because touch input 126 is in a downward direction, it may be translated into clockwise movement of jog wheel UI element 102.
[0053] In other embodiments, the downward touch input 126 may result in a counterclockwise rotation of the jog wheel UI element 102. In one embodiment, the downward touch input 126 may result in a leftward movement of the current position indicator 116 along the timeline 121.
[0054] 5 is a simplified diagram of an example GUI 500 illustrating touch input on a jog wheel UI element in accordance with one or more embodiments. The thumb 110 makes a curved downward swipe touch input 128 that resembles the curvature of the jog wheel UI element 102. This curved touch input 128 is recognized by the jog wheel UI element 102 based on the movement from the initial contact point to the final contact point, along with the corresponding direction of movement (down and left in this case).
[0055] In some embodiments, several actions may be performed as a result of touch input 128 received by jog wheel UI element 102. These actions are the same as those described in Figure 4 in that curved touch input 128 is recognized and treated the same as linear or straight line touch input (such as touch input 126 in Figure 4).
[0056] In one embodiment, the touch input 128 received by the jog wheel UI element 102 results in the current location indicator 116 moving along the timeline 121 in a direction corresponding to the direction of movement indicated by the touch input 128. As shown, the touch input 128 is in a downward direction, which translates into a rightward movement 124 of the current location indicator 116 along the timeline 121. As shown, the current location indicator 116 has moved relative to the media content items 122 distributed on the timeline 121 from its initial position shown in FIG. 2 on the “IMG_9223” media clip to be positioned on the “Ferris Wheel” media clip due to the touch input 128 being received by the jog wheel UI element 102. Additionally, the portion of the video displayed on the video player 120 may be updated based on the current position within the media presentation (formed by the combination of the media content items 122 arranged according to the timeline 121). However, the portions of the media presentation shown on the video player 120 do not change across the various figures described herein for simplicity, and this does not limit this functionality in the embodiments described herein.
[0057] In one embodiment, receipt of touch input 128 by jog wheel UI element 102 results in rotation of jog wheel UI element 102 in a direction corresponding to the direction of movement indicated by touch input 128. Because touch input 128 is in a downward direction, it may be translated into clockwise movement of jog wheel UI element 102.
[0058] In other embodiments, the downward touch input 128 may result in a counterclockwise rotation of the jog wheel UI element 102. In one embodiment, the downward touch input 128 may result in a leftward movement of the current position indicator 116 along the timeline 121.
[0059] In some embodiments, as described in more detail below, the location of the touch input on the jog wheel UI element 102 may affect how the touch input is translated into movement or manipulation of other elements in the GUI.
[0060] In one or more embodiments, rotation of the jog wheel UI element 102 may be paused and / or stopped in response to manipulation of a secondary element (such as moving through a media content item or traversing the timeline 121) that reaches a stop flag. The stop flag may include a bookmark, last or first content, a chapter break, a page break, a section break, a keyword being searched for in text, etc. When a stop flag is reached by the secondary element being manipulated, rotation of the jog wheel UI element 102 ends, indicating that the stop flag has been reached. In one approach, the user may move past the stop flag by providing another touch input in the same direction as the previous movement. If another stop flag is reached, the same procedure may be used (e.g., stop the jog wheel UI element 102, receive another touch input, and move past the stop flag).
[0061] In a similar embodiment, if a user attempts to manipulate a secondary element by rotating the jog wheel UI element 102 and the secondary element reaches a limit (e.g., the volume of the media content item increases to maximum volume, the media content moves to the end of the timeline 121, the object is positioned at the end of the GUI 500, etc.), the rotation of the jog wheel UI element 102 stops, indicating that the limit of the secondary element being manipulated has been reached. Any further attempts to move beyond this limit will cause the jog wheel UI element 102 to resist movement, and in some cases, audible and / or haptic feedback may be provided to the user indicating that a limit has been reached.
[0062] (Multiple Jog Wheel UI elements) 6 is a simplified diagram of an example GUI 600 showing multiple jog wheel UI elements in accordance with one or more embodiments. The jog wheel UI element 102 is shown on the left side of the GUI 600, and simultaneously displayed on the GUI 600 is a second jog wheel UI element 130 displayed on the right side of the GUI 600. The controls, design, and appearance of the second jog wheel UI element 130 are mirrored from the controls, design, and appearance of the jog wheel UI element 102, allowing the second jog wheel UI element 130 to be operated by a user's right thumb, fingers, or hand.
[0063] Each of the jog wheel UI elements 102, 130 may have the same appearance, may be a mirror image of each other, or may have different appearances. In alternative embodiments, the jog wheel UI elements 102, 130 may perform the same or different functions. For example, a jog wheel UI element 102 may be configured to manipulate media content items 122 on a timeline 121, and a second jog wheel UI element 130 may be configured to navigate a list, catalog, or directory of material to add to a media presentation.
[0064] In another embodiment, multiple jog wheel UI elements may be nested and share a common axis of rotation. In this embodiment, the inner jog wheel UI element may be independently operated by touch input from the outer jog wheel UI element. Each of the nested jog wheel UI elements may have a distinct look and feel to set them apart from one another, or may have a consistent look and feel. Furthermore, the nested jog wheel UI elements may perform different functionality on the same sub-element on the GUI or on different elements of the GUI.
[0065] In one example, the inner jog wheel UI element may control the current position indicator 116 along the timeline 121 and the outer jog wheel UI element may control the position of the selected media content item relative to the timeline 121.
[0066] In another example, the inner jog wheel UI element may control the selection of a media content item from media content items available from the “project media,” and the outer jog wheel UI element may control one or more visual parameters (e.g., color, hue, brightness, contrast, applied filters, etc.) of the selected content media item.
[0067] (Part of the jog wheel UI element that is displayed) Any portion of the complete visual representation of the jog wheel may be included in the display on the GUI. The jog wheel UI element shown in FIGS. 1-6 was a partial display including approximately a semicircle (e.g., approximately 90°). FIG. 7 is a simplified diagram of an example GUI 700 showing the jog wheel UI element 132 as a complete circle, according to one or more embodiments. Operation of the jog wheel UI element 132 proceeds as described above in that linear and / or curved touch inputs may be received and translated into rotation of the jog wheel UI element 132. Based on the degree of rotation of the jog wheel UI element 132, one or more secondary elements within the GUI 700 may be manipulated, such as by moving the current position indicator 116, adjusting the volume of one or more media content items 122, moving the relative position of one or more media content items 122, changing the length of one or more media content items 122, etc.
[0068] 8 is a simplified diagram of an example GUI 800 illustrating the jog wheel UI element 134 as the majority of a circle, in accordance with one or more embodiments. Specifically, the jog wheel UI element 134 displays an approximately 270° circle. Operation of the jog wheel UI element 134 proceeds as described above, in that linear and / or curved touch inputs may be received and translated into rotation of the jog wheel UI element 134. Based on the degree of rotation of the jog wheel UI element 134, one or more secondary elements within the GUI 700 may be manipulated, such as by clipping one or more media content items 122, expanding one or more media content items 122, navigating a catalog of additional media content to place on the timeline 121, etc.
[0069] (Jog wheel element overlay) 9 is a simplified diagram of an example GUI 900 showing a jog wheel UI element 136 in one or more embodiments. In one embodiment, the jog wheel UI element 136 may be overlaid anywhere on the GUI 900, with any elements of the GUI 900 that may be below the jog wheel UI element 136 being obscured by the jog wheel UI element 136. In another embodiment, at least a portion of one or more elements disposed below the jog wheel UI element 136 may be modified to accommodate the jog wheel UI element 136 above them, making it easier for a user to see and interact with the jog wheel UI element 136.
[0070] 9 , jog wheel UI element 136 is positioned on the left side of GUI 900 and is overlaid above a portion of video player 120 and timeline 121. In this example GUI 900, the portion 138 of video player 120 and timeline 121 that is below jog wheel UI element 136 is de-emphasized in some manner. For example, the portion 138 of the element below jog wheel UI element 136 may be displayed with dashed lines, lines and edges that are thinner than the rest of the element, blurred lines, softened lines, etc. In this way, a user of GUI 900 can more easily identify the control of jog wheel UI element 136 without visual obstruction by the element below jog wheel UI element 136.
[0071] According to one approach, the lines and / or edges of the jog wheel UI element 136 may be highlighted relative to other elements of the GUI 900 to help the user identify the controls of the jog wheel UI element 136 .
[0072] In another embodiment, the jog wheel UI element 136 may have a degree of transparency that allows elements underneath the jog wheel UI element 136 to be partially visible and not entirely obscured, making the jog wheel UI element and any elements associated with it (e.g., select button, lock button, etc.) more easily identifiable.
[0073] According to another embodiment, the jog wheel UI element 136 may be fully opaque and completely obscure any portion of the element below it.
[0074] (Corner placement of jog wheel UI elements) 10-13 are simplified diagrams of example GUIs showing jog wheel UI elements in the corners of the GUI, in accordance with one or more embodiments. FIG. 10 shows example GUI 1000 with corner jog wheel UI element 140 located in the upper left corner of GUI 1000. Additionally, in one or more embodiments, portions 142 of elements located below corner jog wheel UI element 140 may be de-emphasized relative to other portions of the elements, and / or corner jog wheel UI element 140 may be emphasized relative to other elements of GUI 1000. In some embodiments, such effects may be omitted.
[0075] 11 shows an example GUI 1100 with a corner jog wheel UI element 144 located in the upper right corner of the GUI 1100. Additionally, in one or more embodiments, the portion 146 of the element located below the corner jog wheel UI element 144 may be de-emphasized relative to other portions of the element, and / or the corner jog wheel UI element 144 may be emphasized relative to other elements of the GUI 1100. In some embodiments, such effects may be omitted.
[0076] 12 shows an example GUI 1200 with a corner jog wheel UI element 148 located in the bottom left corner of the GUI 1200. Additionally, in one or more embodiments, the portion of the element located below the corner jog wheel UI element 148 may be de-emphasized relative to other portions of the element, and / or the corner jog wheel UI element 148 may be emphasized relative to other elements of the GUI 1200. However, in FIG. 12 , there are no elements located below the corner jog wheel UI element 148 to illustrate this effect. Furthermore, such an effect may be omitted in this or any other embodiment.
[0077] 13 shows an example GUI 1300 with a corner jog wheel UI element 150 located in the bottom right corner of the GUI 1300. Additionally, in one or more embodiments, the portion 152 of the element located below the corner jog wheel UI element 150 may be de-emphasized relative to other portions of the element, and / or the corner jog wheel UI element 150 may be emphasized relative to other elements of the GUI 1300. In some embodiments, such effects may be omitted.
[0078] (touch input position relative to jog wheel UI element) In one or more embodiments, the location of the touch input relative to a particular portion of the jog wheel UI element can be used to determine how to respond to the touch input. Specifically, as the touch input moves away from a point located on the jog wheel UI element, less rotation is imparted to the jog wheel UI element for the same amount of rotational input provided by the touch input. In some embodiments, the point located on the jog wheel UI element can be the axis of rotation of the jog wheel UI element. In one approach, the point located on the jog wheel UI element can be the inner or outer edge of the furthest extent of the jog wheel. In various other embodiments, some other predetermined point associated with the jog wheel UI element can be used as a measurement point to determine the distance of the touch input from the jog wheel UI element.
[0079] 14 is a simplified diagram of an example GUI 1400 illustrating a touch input 156 on a jog wheel UI element 102 in one or more embodiments. The touch input 156 may be upward / downward, causing the jog wheel UI element 102 to rotate in a clockwise / counterclockwise direction while simultaneously moving the current position indicator 116 in a corresponding direction along the timeline 121.
[0080] In some embodiments, touch input can be applied to the jog wheel UI element 102 anywhere within the GUI, and the farther the input is from the jog wheel UI element 102, the less change is imparted to the secondary element controlled by rotation of the jog wheel UI element 102. This is because, for a circular object like the jog wheel UI element 102, the amount of rotation resulting from a rotational input (which, as described herein, can be a linear or curvilinear touch input applied on the jog wheel) is inversely proportional to the distance of the rotational input from the axis of rotation. In other words, the farther the rotational input is from the axis, the less movement (rotation) of the jog wheel occurs, while the closer the rotational input is to the axis of rotation, the more movement (rotation) of the jog wheel occurs.
[0081] 14 , the position 154 of the touch input 156 is located on the jog wheel UI element 102 near a particular point on the jog wheel UI element 102 (such as the axis of rotation of the jog wheel UI element 102) that is used to measure the distance to the touch input, and is not toward an edge of the jog wheel UI element 102 or completely off the jog wheel UI element 102. This placement of the touch input 156 near the particular point on the jog wheel UI element 102 that is used to measure the distance to the touch input imparts a greater movement to the current position indicator 116 compared to when the touch input is located on an edge of the jog wheel UI element 102 and / or further away from the particular point on the jog wheel UI element 102 and off the jog wheel UI element 102. In some approaches, the touch input 156 can start near a particular point on the jog wheel UI element 102 that is used to measure the distance to the touch input and then extend away from this particular point, so that the user starts moving quickly and then the movement can be refined to become slower the further the touch input moves away from the particular point on the jog wheel UI element 102 that is used to measure the distance to the touch input.
[0082] FIG. 15 is a simplified diagram of an exemplary GUI illustrating touch input on a jog wheel UI element in one or more embodiments.
[0083] 15 is a simplified diagram of an example GUI 1500 illustrating a touch input 160 on a jog wheel UI element 102 in accordance with one or more embodiments. The touch input 160 may be an upward / downward movement of approximately the same distance as the touch input 156 of FIG. 14. The touch input 160 may rotate the jog wheel UI element 102 in a clockwise / counterclockwise direction and simultaneously move the current location indicator 116 in the corresponding direction along the timeline 121 by a distance that is less than the distance of movement imparted to the current location indicator 116 by the movement caused by the touch input 156 of FIG. 14.
[0084] 15, because the position 158 of the touch input 160 is located away from the edge of the jog wheel UI element 102, far away from the particular point on the jog wheel UI element 102 used to measure the distance to the touch input, the movement imparted to the current position indicator 116 is less than if the touch input were located near the particular point on the jog wheel UI element 102 used to measure the distance to the touch input. The touch input 160 may start at a position other than that shown in FIG. 15 (such as on the jog wheel UI element 102 itself) and then move in and out of the position shown in FIG.
[0085] Additionally, in one or more embodiments, the jog wheel UI element 102 may be configured to exhibit inertia. A touch input (such as a fast swipe or flick) may cause the jog wheel UI element 102 to begin spinning at a rotational speed corresponding to the speed of the touch input (such as an average speed, a peak speed, or a final speed when contact ceases). When the touch input ceases, the jog wheel UI element 102 may begin to slow down, but may continue to spin for a period of time after the touch input ceases due to the perceived inertia of the jog wheel itself.
[0086] (Calling and placing jog wheel UI elements) The position of the jog wheel UI element can be selected by the user at any time. In one approach, the jog wheel UI element can be invoked and / or repositioned on the GUI using touch input.
[0087] For example, to invoke a jog wheel UI element, a user may select and / or hover over a particular portion of the GUI, which may be designated by an icon, graphic, text, or some other identifying feature that informs the user that the jog wheel UI element will propagate from that location. When a user invokes the jog wheel UI element using touch input at the invocation location, an animation of the jog wheel UI element may be displayed to indicate that it is now appearing from the side, top, or bottom of the GUI near the invocation location.
[0088] In another approach, the jog wheel UI element may appear at a pre-specified position regardless of the invocation position, which may be done by displaying the jog wheel UI element with or without animation.
[0089] In one embodiment, a user may touch a designated location on or slightly away from the GUI and drag toward the center of the GUI to display a jog wheel UI element. In this embodiment, if the user maintains touch input contact with the touchscreen, the jog wheel UI element may interact with the user to receive input and respond to the input by manipulating some secondary element of the GUI. When the touch input is released by the user, the jog wheel UI element may be hidden from view. This auto-hide feature may have a delay, where the jog wheel UI element remains visible (and operable) on the GUI for a period of time after continuous touch input ends, and then hides from view after that period. This allows the user to interact with the jog wheel UI element at some time after performing a first action without having to re-invoke or display the jog wheel UI element each time they wish to use it.
[0090] Once the jog wheel UI element is displayed on the GUI, it can act like a floating element on the GUI, allowing the user to move the jog wheel UI element to any position on the GUI as desired. This repositioning can be used to ensure that the jog wheel UI element does not overlap content of the GUI that the user needs to see / interact with. As the jog wheel UI element is moved around the GUI, its appearance may change to indicate its new position on the GUI.
[0091] In one example, moving a jog wheel UI element from left to right causes the jog wheel UI element to flip its appearance horizontally and potentially invert its response to touch input received via the jog wheel UI element.
[0092] In another example, moving a jog wheel UI element from the top to the bottom of the GUI causes the jog wheel UI element to flip its appearance vertically and possibly invert its response to touch input received via the jog wheel UI element.
[0093] Moving the jog wheel UI element can be accomplished using drag and drop input or any other touch input that can specify a new position for the jog wheel UI element.
[0094] In another approach, one or more pre-specified positions and appearances can be specified via the jog wheel UI element, and the user can select from these positions when placing the jog wheel UI element on the GUI.
[0095] In one approach, the jog wheel UI element may overlay other content of the GUI, and in some embodiments, various possible treatments for the overlaid content are possible, as discussed herein.
[0096] If a user attempts to move the jog wheel UI element to an undesired and / or disallowed position on the GUI (e.g., due to content in a position designated as disallowing overlay objects), the jog wheel UI element may snap back to an allowable position. In another approach, the jog wheel UI element may "bounce" from a disallowed position to an allowed position. Additionally, audible and / or haptic feedback may be provided to the user indicating a problem with the desired position.
[0097] (Jog Wheel UI element appearance) The appearance of the jog wheel UI element can be selected and / or modified by the user at any time. In one approach, the appearance of the jog wheel UI element can be modified via a menu interface, with various options presented to the user for selection. In another embodiment, a selectable UI element associated with the jog wheel UI element can be touched (and possibly held) while manipulation of the jog wheel itself can cause selection of one of various pre-specified options for the jog wheel UI element.
[0098] Some aspects of the jog wheel UI element that may be selected and / or modified include, but are not limited to, the color of the jog wheel UI element, the size of the jog wheel UI element, the number of jog wheel UI elements displayed on the GUI, the transparency of the jog wheel UI element, the overlay characteristics of the jog wheel UI element, the method for showing and hiding the jog wheel UI element, the portion of the jog wheel UI element to display on the GUI, etc.
[0099] In one embodiment, a touch-and-hold input may increase and / or decrease the size of the jog wheel UI element. For example, by touching, holding, and dragging the outer ring of the jog wheel UI element, a user can intuitively increase or decrease the size of the jog wheel UI element.
[0100] In another embodiment, multi-touch input may be used to enlarge and / or shrink the jog wheel UI element. For example, a pinch touch input may decrease or decrease the size of the jog wheel UI element, while a spread or pinch out touch input may increase or decrease the size of the jog wheel UI element. Of course, these functions may be reversed upon receipt of multi-touch input (e.g., pinch to enlarge / increase, spread to decrease / shrink).
[0101] (Example Process) To enable the reader to gain a clear understanding of the technical concepts described herein, the following processes describe certain steps performed in a particular order. However, one or more of the steps of a particular process can be rearranged and / or omitted while remaining within the contemplated scope of the technology disclosed herein. Furthermore, different processes and / or steps thereof can be combined, recombined, rearranged, omitted, and / or performed in parallel to create different process flows that are also within the contemplated scope of the technology disclosed herein. In addition, the following processes may omit or briefly summarize some of the details of the technology disclosed herein for clarity, but the details described in the above paragraphs can be combined with the process steps described below to gain a more complete and comprehensive understanding of these processes and technologies disclosed herein.
[0102] 16 is a flow diagram of an example process 1600 for interacting with a GUI using a jog wheel UI element in one or more embodiments. In various approaches, process 1600 may include more or fewer operations than those shown and described herein.
[0103] At operation 1602, the computing device displays a partial view of a jog wheel UI element on a GUI, which in some embodiments is configured for display on a touchscreen display. The jog wheel UI element may be displayed in response to a trigger, such as user input invoking the jog wheel UI element, an application or operating system requesting the jog wheel UI element, or some condition of a parameter being met within the computing device's application or operating system. The jog wheel UI element is associated with one or more media content item representations, such as a catalog, list, thumbnail view configuration, folder, or the like, that presents, in a user-understandable manner, various media content items available for interaction, such as moving, copying, deleting, adding to a media presentation, sampling, or the like.
[0104] At act 1604, the computing device receives a touch-swipe input for controlling a jog wheel UI element. The touch-swipe input may, in one embodiment, be received via a touchscreen display. Further, the touchscreen display may be controlled by a tablet or pad computing device.
[0105] A touch swipe input may have one or more distinguishable characteristics that can be determined by a computing device upon receiving the touch input. The touch input characteristics may, in some embodiments, be used, at least in part, to determine a response to the touch swipe input. Some example characteristics include, but are not limited to, the distance between the initial and final contact points associated with the touch input (e.g., the length of the touch swipe input), the general direction of the touch input (e.g., horizontal, vertical, left, right, up, down, or a combination of directions that can be combined into a vector representation having two directional components), the pressure of the touch input (measurable by a touchscreen display capable of detecting touch pressure thereon), the velocity of movement of the touch input, the number of touch inputs received simultaneously, the number of consecutive touch inputs received within a predetermined period (e.g., double tap, triple tap, etc.), the size of the touch input contact (palm vs. finger vs. stylus), the use of a dedicated touch device (e.g., a touch stylus) for configurable input, etc.
[0106] In operation 1606, the computing device, in response to the touch swipe input, animates the rotation of the jog wheel UI element based on the touch swipe input. In one embodiment, animating the rotation of the jog wheel UI element may include rotating a marking (e.g., a check mark) displayed on the jog wheel UI element in a direction consistent with the touch input. In one approach, when the outer edge of the jog wheel UI element is uneven, animating the rotation of the jog wheel UI element may include moving an uneven edge of the jog wheel UI element in a direction consistent with the touch input.
[0107] In one or more embodiments, rotating the jog wheel UI element includes (a) rotating the jog wheel UI element at an initial rotational speed based on the touch swipe input, where the jog wheel UI element continues to rotate after the touch swipe input has ceased due to the perceived inertia of the jog wheel UI element, and (b) reducing the rotational speed of the jog wheel UI element after the touch swipe input has ceased until the rotational speed of the jog wheel UI element reaches 0. In other words, when the touch input ends (e.g., when the user lifts the contact point from the touch screen display), the jog wheel UI element continues to spin but begins to decelerate from the initial rotational speed until it comes to a stop.
[0108] In operation 1608, simultaneously with animating the rotation of the jog wheel UI element, the computing device continuously modifies the display of at least one of the one or more media content items. The speed of the modification for modifying the display of at least one of the one or more media content items corresponds to the speed of the rotation of the jog wheel UI element. Thus, when the jog wheel UI element begins to decelerate after the touch input ends, the modification for modifying the display of at least one of the one or more media content items begins to decelerate until both the rotation and the modification simultaneously stop.
[0109] According to one embodiment, the degree of rotation of the jog wheel UI element may, at least initially, be proportional to the length of the touch-swipe input.
[0110] If another touch input is received on the jog wheel UI element before stopping the rotation due to the first touch input, the jog wheel UI element responds to the second touch input by rotating at an initial rotation rate based on the second touch swipe input. In one approach, the second touch input may be adjusted by any residual rotation provided by the first touch input, particularly when the second touch input is in a generally opposite direction to the first touch input.
[0111] In another embodiment, upon receiving a second touch input, the jog wheel UI element may cease spinning in the direction obtained from the first touch input just before beginning to spin in a direction and at an initial speed consistent with the second touch input.
[0112] The computing device may modify the one or more media content items in any perceptible manner as a result of the touch swipe input to the jog wheel UI element, including, but not limited to, modifying a currently displayed one of the one or more media content items, audio characteristics associated with at least one of the one or more media content items, image characteristics of at least one of the one or more media content items, etc.
[0113] By modifying the currently displayed media content item, a different media content item may be selected and displayed, for example, in a video viewer or an image viewer within the GUI. In other words, the GUI transitions from displaying a first media content item of the one or more media content items (e.g., a video of kids playing soccer) to displaying a second media content item of the one or more media content items (e.g., photos from a trip to Hawaii). Audio characteristics may include any of maximum volume, minimum volume, relative volume level, average loudness, root mean square (RMS) volume, etc. Image characteristics may include any of color, contrast, hue, brightness, applied filter(s), cropping region, dimensions, aspect ratio, format, metadata, blur, etc.
[0114] In one or more embodiments, the computing device may determine the general direction of the touch swipe input. Based on the general direction of the touch input, the computing device may map the general direction of the touch swipe input to a clockwise rotation of the jog wheel UI element or a counterclockwise rotation of the jog wheel UI element. In one example, a downward touch input to the right side of the jog wheel UI element causes a clockwise rotation, and an upward touch input to the right side of the jog wheel UI element causes a counterclockwise rotation. In another example, a downward touch input to the left side of the jog wheel UI element causes a counterclockwise rotation, and an upward touch input to the left side of the jog wheel UI element causes a clockwise rotation. According to another example, a leftward touch input to the top side of the jog wheel UI element causes a counterclockwise rotation, and a rightward touch input to the top side of the jog wheel UI element causes a clockwise rotation. In another example, leftward touch input to the bottom side of the jog wheel UI element causes a clockwise rotation, and rightward touch input to the bottom side of the jog wheel UI element causes a counterclockwise rotation.
[0115] According to one or more embodiments, animating the rotation of the jog wheel UI element includes rotating at least a circular element of the jog wheel UI element in one of a clockwise direction or a counterclockwise direction based on the mapping operation.
[0116] In one approach, while modifying the display of one or more media content items, the computing device may immediately stop rotating the jog wheel UI element when it reaches a stop flag associated with one or more media content items (such as a bookmark, a chapter break, a page break, a section break, a keyword being searched for within text, etc.) In other words, as the jog wheel UI element is rotating to navigate through various media content items, if a stop flag is present at a point within a media content item (either within a particular media content item or located between two media content items), the jog wheel UI element will immediately stop and traversal of the various media content items will halt at the stop flag.
[0117] In one approach, the rotation speed of the jog wheel UI element may be linearly reduced at a constant or decreasing rate (stopping more quickly as the rotation speed is reduced) until the rotation speed of the jog wheel UI element reaches zero, resulting in a gradual cessation of rotation.
[0118] In another approach, the rotational speed of the jog wheel UI element may be reduced at a non-linear ramp-down or decay rate until the rotational speed of the jog wheel UI element reaches zero, resulting in an abrupt stopping of the jog wheel UI element.
[0119] In one or more embodiments, the rotation of the jog wheel UI element may output an audible indication of the rotation. For example, simultaneously with animating the rotation of the jog wheel UI element, the computing device may output audio clicks at a frequency proportional to the speed at which the jog wheel UI element is rotated. In other words, these audio clicks may be faster the faster the jog wheel is rotated, and the audio clicks may be slower the slower the jog wheel is rotated.
[0120] According to one embodiment, one or more characteristics of the jog wheel UI element may be adjustable. The adjustment may be made via a selectable element on the GUI, such as a menu, a voice command, etc. The characteristics of the jog wheel UI element may include, but are not limited to, the color of the jog wheel UI element, the size of the jog wheel UI element, the position of the jog wheel UI element on the GUI, the input response direction of the jog wheel UI element, the sensitivity of the jog wheel UI element, the number of jog wheel UI elements displayed on the GUI, the transparency of the jog wheel UI element, the overlay characteristics of the jog wheel UI element, the inertia of the jog wheel UI element, the method for showing and hiding the jog wheel UI element, the portion of the jog wheel UI element to display on the GUI, etc.
[0121] 17 is a flow diagram of an example process 1700 for interacting with a GUI using a jog wheel UI element in one or more embodiments. In various approaches, process 1700 may include more or fewer operations than those shown and described herein.
[0122] At operation 1702, the computing device displays a jog wheel UI element on a GUI, which in one embodiment may be displayed on a touchscreen display.
[0123] At operation 1704, the computing device presents an arrangement of one or more media content items simultaneously with displaying the jog wheel UI element. The media content items may include videos, images, audio clips, animations, transitions, etc.
[0124] At operation 1706, the computing device receives touch input in a first region of the GUI. The touch input may, in one embodiment, be received via a touchscreen display. Further, the touchscreen display may be controlled by a tablet or pad computing device.
[0125] Touch input may have one or more distinguishable characteristics that can be determined by a computing device upon receiving the touch input. The touch input characteristics, in some embodiments, may be used at least in part to determine a response to the touch input. Some example characteristics include, but are not limited to, the distance between the initial and final contact points associated with the touch swipe input (e.g., the length of the touch swipe input), the approximate direction of the touch swipe input (e.g., horizontal, vertical, left, right, up, down, or a combination of directions that can be combined into a vector representation having two directional components), the pressure of the touch input (measurable by a touchscreen display capable of detecting touch pressure), the velocity of movement of the touch input, the number of touch inputs received simultaneously, the number of consecutive touch inputs received within a predetermined period (e.g., double tap, triple tap, etc.), the size of the touch input contact (palm vs. finger vs. stylus), the use of a dedicated touch device (e.g., a touch stylus) for configurable input, etc.
[0126] In operation 1708, in response to the touch input, the computing device determines a distance between (a) a first location within the GUI associated with a first region of the GUI (e.g., the point where the tap touch input was detected, the average location of the swipe touch input, the nearest point in the swipe touch input, the farthest point in the touch swipe input, etc.) and (b) a second location associated with the jog wheel UI element (e.g., the axis of rotation or some other pre-designated point on or near the jog wheel UI element).
[0127] In one embodiment, the second position may be associated with and / or configured as a particular check mark displayed near the edge of the jog wheel UI element and / or may be the portion of the jog wheel closest to the location of the touch input.
[0128] Upon determining this distance, the computing device selects a modification to the placement of the one or more media content items at operation 1710. The modification may, in one approach, be based on one or more characteristics of: a) the distance between the first position and the second position; and b) the touch input.
[0129] A touch input, in some embodiments, may have one or more identifiable characteristics that can be used at least in part to determine a response to the touch input. Some example characteristics include, but are not limited to, the distance between the initial and final contact points associated with the touch input (e.g., the length of a touch swipe input), the general direction of the touch input (e.g., horizontal, vertical, left, right, up, down, or a combination of directions that can be combined into a vector representation having two directional components), the pressure of the touch input (measurable by a touchscreen display capable of detecting touch pressure), the rate of movement of the touch input, the area, portion, and / or element of a GUI visually displayed at the location where the touch input is detected, etc.
[0130] Modifying one or more media content items may include any change in the appearance, position, content, inclusion, exclusion, or other aspect of the media content items displayed in the GUI (including modifying media content items that are hidden from view in the GUI at least until the modification is performed). Some example modifications include, but are not limited to, moving and / or positioning a media content item relative to other elements and / or media content items displayed on the GUI, removing a media content item from a set of media content items, adding a media content item to a set of media content items, rearranging a media content item on a timeline relative to other media content items on the timeline, displaying properties and / or information about a media content item, resizing (zooming / zooming) at least one media content item for display relative to other elements displayed on the GUI, swapping one media content item for another media content item, duplicating a media content item, clipping a media content item, zooming in on a media content item, changing the volume of one or more media content items simultaneously, changing image properties of one or more media content items simultaneously, displaying one or more individual tracks (audio, video, background, etc.) of a media content item, etc.
[0131] In operation 1712, the computing device animates the rotation of the jog wheel UI element such that the jog wheel UI element rotates from a first jog wheel position to a second jog wheel position. The degree of rotation of the jog wheel UI element may be based on one or more characteristics of: a) the distance between the first position and the second position; and b) the touch input. In other words, the distance between the touchscreen contact point and the jog wheel UI element is used to determine how much rotation to impart to the jog wheel UI element. In one approach, the greater the distance between the touchscreen contact point and the jog wheel UI element, the less rotation is imparted to the jog wheel. Conversely, the shorter the distance between the touchscreen contact point and the jog wheel UI element, the greater the amount of rotation is imparted to the jog wheel.
[0132] In one approach, the computing device detects the length of a swipe motion of the touch input to determine a degree of rotation of the jog wheel UI element that is proportional to the length of the swipe motion.
[0133] According to one or more embodiments, for the same particular length of the swipe motion, the degree of rotation of the jog wheel UI element increases proportionally to the particular length of the swipe motion as the distance between the first position and the second position decreases.
[0134] In some embodiments, for the same particular length of the swipe motion, the degree of rotation of the jog wheel UI element decreases proportionally to the particular length of the swipe motion as the distance between the first position and the second position increases.
[0135] At operation 1714, simultaneously with animating the rotation of the jog wheel UI element from the first jog wheel position to the second jog wheel position, the computing device animates a modification to the placement of the one or more media content items.
[0136] According to one embodiment, one or more characteristics of the jog wheel UI element may be adjustable. The adjustment may be made via a selectable element on the GUI, such as a menu, a voice command, etc. The characteristics of the jog wheel UI element may include, but are not limited to, the color of the jog wheel UI element, the size of the jog wheel UI element, the position of the jog wheel UI element on the GUI, the input response direction of the jog wheel UI element, the sensitivity of the jog wheel UI element, the number of jog wheel UI elements displayed on the GUI, the transparency of the jog wheel UI element, the overlay characteristics of the jog wheel UI element, the inertia of the jog wheel UI element, the method for showing and hiding the jog wheel UI element, the portion of the jog wheel UI element to display on the GUI, etc.
[0137] 18 is a flow diagram of an example process 1800 for interacting with a GUI using a jog wheel UI element in one or more embodiments. In various approaches, process 1800 may include more or fewer operations than those shown and described herein.
[0138] At operation 1802, the computing device displays at least a partial view of a jog wheel UI element on the GUI. The partial view may be a 30°, 45°, 90°, 180°, 270°, 360°, etc. portion about the circular UI element, or some other portion of the circular UI element for receiving touch input and controlling at least one secondary element on the GUI.
[0139] At operation 1804, the computing device displays the first media content item at a first timeline position relative to the timeline while simultaneously displaying the partial view of the jog wheel UI element. In this manner, the timeline, the media content items disposed on the timeline, and the jog wheel UI element are all displayed simultaneously on the GUI. This allows, in various ways, a user to interact with the jog wheel UI element to control some aspect of the media content item, the timeline, and / or other media content items displayed on or available for display on the timeline.
[0140] In one or more embodiments, the timeline may be similar in appearance and / or function to the timeline 121 shown and described in FIGS.
[0141] 18 , in operation 1806, the computing device receives touch input for controlling the jog wheel UI element. The touch input may, in one embodiment, be received via a touchscreen display. Further, the touchscreen display may be controlled by a tablet or pad computing device.
[0142] Touch input may have one or more distinguishable characteristics that can be determined by a computing device upon receiving the touch input. The touch input characteristics may, in some embodiments, be used at least in part to determine a response to the touch input. Some example characteristics include, but are not limited to, the distance between the initial and final contact points associated with the touch swipe input (e.g., the length of the touch swipe input), the approximate direction of the touch swipe input (e.g., horizontal, vertical, left, right, up, down, or a combination of directions that can be combined into a vector representation having two directional components), the pressure of the touch input (measurable by a touchscreen display capable of detecting touch pressure), the speed of movement of the touch input, the area, portion, and / or element of the GUI visually displayed at the location where the touch input is detected, the number of touch inputs received simultaneously, the number of consecutive touch inputs received within a predetermined period (e.g., double tap, triple tap, etc.), the size of the touch input contact (palm vs. finger vs. stylus), the use of a dedicated touch device for configurable input, etc.
[0143] In operation 1808, the computing device animates a rotation of the jog wheel UI element from a first jog wheel position to a second jog wheel position in response to the touch input, the rotation being based at least in part on the touch input.
[0144] In operation 1810, the computing device animates the rotation of a jog wheel UI element from a first jog wheel position to a second jog wheel position while simultaneously animating the movement of a first media content item relative to the timeline from a first timeline position to a second timeline position.
[0145] In one embodiment, the difference between the first timeline position and the second timeline position corresponds to the difference between the first jog wheel position and the second jog wheel position. In other words, the amount of rotation of the jog wheel indicates how far the media content item is moved in time along the timeline. Other factors may be considered in determining how far to move the media content item, such as the distance of the touch input from a particular point on the jog wheel UI element, the pressure of the touch input, and the speed at which the touch input is moved.
[0146] In one embodiment, a stronger touch input pressure may cause the media content item to move further on the timeline than a weaker touch input pressure, and in another embodiment, a weaker touch input pressure may cause the media content item to move further on the timeline than a stronger touch input pressure.
[0147] In one embodiment, a faster touch-swipe input may move the media content item further on the timeline than a slower touch-swipe input.
[0148] According to one embodiment, when the difference between the first jog wheel position and the second jog wheel position becomes larger or increases during touch input, the movement of the media content item on the timeline becomes larger (e.g., the difference between the first timeline position and the second timeline position becomes smaller) compared to when the difference between the first jog wheel position and the second jog wheel position becomes smaller, causing a smaller movement of the media content item on the timeline (e.g., the difference between the first timeline position and the second timeline position becomes larger).
[0149] In an alternative embodiment, the smaller the difference between the first and second jog wheel positions, the larger the difference between the first and second timeline positions, and the larger the difference between the first and second jog wheel positions, the smaller the difference between the first and second timeline positions.
[0150] According to one embodiment, in response to moving a first media content item to a second timeline position, a computing device may detect a second media content item located along the timeline that is at least partially located between the first timeline position and the second timeline position. This includes situations where part or all of the second media content item is located where the first media content item is moved (e.g., between the first timeline position and the second timeline position). In these situations, the computing device moves the second media content item along the timeline in the same direction as the movement of the first media content item. In other words, as the computing device moves the first media contact item along the timeline, it pushes all other media content items contacted by the first media contact item. The other media content items are pushed in the same direction and the same distance as the first media content item after initial contact by the first media content item.
[0151] In one embodiment, in response to moving the first media content item to the second timeline position, the computing device detects a second media content item located at least partially along the timeline between the first timeline position and the second timeline position. In this situation, the computing device clips a portion of the second media content item that overlaps due to the moving of the first media content item to the second timeline position. In a further embodiment, the computing device may use a portion of the first media content item to overwrite a portion of the second media content item that overlaps due to the moving of the first media content item to the second timeline position. In another embodiment, the overlapping portion of the second media content item may be retained, and the second media content item may be moved to another lane of the timeline so that the overlapping portion is visually discernible by a user.
[0152] In one embodiment, in response to movement of a first media content item to a second timeline position, a computing device detects a second media content item located at least partially along the timeline between the first and second timeline positions. In this situation, the computing device visibly reverses at least a portion of the movement of the first media content item along the timeline to a third position (moving in a first direction toward the second media content item and then moving in the opposite direction). The computing device determines where the third position should be to position the first media content item adjacent to the second media content item. This prevents the first media content item from overlapping the second media content item. In other words, if a user attempts to move the first media content item to a position already occupied on the timeline, the animation of the first media content item "bounces" from the attempted position to an acceptable position (as far as possible toward the second media content item, e.g., adjacent to or abutting the second media content item).
[0153] In one embodiment, the difference between the first timeline position and the second timeline position may be proportional to the difference between the first jog wheel position and the second jog wheel position, which may be 1:1, 1:2, 2:1, or some other ratio or multiplier that converts the degree of rotation of the jog wheel into movement of the first media content item along the timeline.
[0154] In particular embodiments, a portion of the jog wheel UI element may be displayed left of center on the GUI, and the timeline may be displayed horizontally with time increasing to the right (as in FIG. 1 ). In this embodiment, a generally downward swipe touch input (straight down, downward left, downward right) may move the first media content item rightward relative to the timeline, and a generally upward swipe touch input (straight up, upward left, upward right) moves the first media content item leftward relative to the timeline.
[0155] In another particular embodiment, a portion of the jog wheel UI element may be displayed left of center on the GUI, and the timeline may be displayed horizontally with time increasing to the right (as in FIG. 1 ). In this embodiment, a generally downward swipe touch input (straight down, downward left, downward right) may cause the first media content item to move leftward relative to the timeline, and a generally upward swipe touch input (straight up, upward left, upward right) causes the first media content item to move rightward relative to the timeline.
[0156] According to a particular embodiment, a portion of the jog wheel UI element may be displayed right of center on the GUI, and the timeline may be displayed horizontally with time increasing to the right. In this embodiment, a generally downward swipe touch input (straight down, downward left, downward right) may move the first media content item rightward relative to the timeline, and a generally upward swipe touch input (straight up, upward left, upward right) moves the first media content item leftward relative to the timeline.
[0157] According to another particular embodiment, a portion of the jog wheel UI element may be displayed right of center on the GUI, and the timeline may be displayed horizontally with time increasing to the right. In this embodiment, a generally downward swipe touch input (straight down, downward left, downward right) may move the first media content item leftward relative to the timeline, and a generally upward swipe touch input (straight up, upward left, upward right) moves the first media content item rightward relative to the timeline.
[0158] Prior to receiving touch input for controlling the jog wheel UI element, the computing device may receive a first user input that places the jog wheel UI element at a first position on the GUI. This first user input may be a drag-and-drop input, a first tap-move-second tap action, a menu item selection, a selection of a UI element on the GUI configured to enable movement of the jog wheel UI element, etc. In response to the first user input, the computing device configures the jog wheel UI element to respond to subsequent touch inputs based on the first position (and / or one or more characteristics of the subsequent touch input). This configuration may take into account moving the jog wheel UI element from one side of the GUI to another, which would reverse the input gesture (e.g., for interaction with a different thumb or finger). In a further approach, the size of the jog wheel UI element may be considered in this configuration so that a user can intuitively interact with the jog wheel and the resulting effects of secondary elements of the GUI will be anticipated by the user.
[0159] In one embodiment, one or more characteristics of the jog wheel UI element may be user-adjustable via interaction with the GUI or some other input to the computing device. Some example characteristics of the jog wheel UI element include, but are not limited to, the color of the jog wheel UI element, the size of the jog wheel UI element, the position of the jog wheel UI element on the GUI, the input response direction of the jog wheel UI element, the sensitivity of the jog wheel UI element, the number of jog wheel UI elements displayed on the GUI, the transparency of the jog wheel UI element, the overlay characteristics of the jog wheel UI element, the inertia of the jog wheel UI element, the method for showing and hiding the jog wheel UI element, and the portion of the jog wheel UI element to display on the GUI.
[0160] In one or more embodiments, the rotation of the jog wheel UI element may output an audible indication of the rotation. For example, simultaneously with animating the rotation of the jog wheel UI element, the computing device may output audio clicks at a frequency proportional to the speed at which the jog wheel UI element is rotated. In other words, these audio clicks may be faster the faster the jog wheel is rotated, and the audio clicks may be slower the slower the jog wheel is rotated. The particular sound and volume level may be user-selectable.
[0161] In another embodiment, haptic feedback proportional to the rate of rotation of the jog wheel UI element may be provided via the computing device.
[0162] 19 is a flow diagram of an example process 1900 for interacting with a GUI using a jog wheel UI element in one or more embodiments. In various approaches, process 1900 may include more or fewer operations than those shown and described herein.
[0163] At operation 1902, the computing device displays at least a partial view of a jog wheel UI element on the GUI. The partial view may be a 30°, 45°, 90°, 180°, 270°, 360°, etc. portion about the circular UI element, or some other portion of the circular UI element for receiving touch input and controlling at least one secondary element on the GUI.
[0164] At operation 1904, the computing device displays a partial view of the jog wheel UI element while simultaneously displaying a position indicator for selecting a position within one or more media content items. In this manner, the timeline, the media content items disposed on the timeline, and the jog wheel UI element are all displayed simultaneously on the GUI. This allows, in various ways, a user to interact with the jog wheel UI element to control some aspect of the media content items, the timeline, and / or other media content items displayed on or available for display on the timeline.
[0165] In one or more embodiments, the timeline may be similar in appearance and / or function to the timeline 121 shown and described in FIGS.
[0166] 19 , in operation 1906, the computing device receives touch input for controlling the jog wheel UI element. The touch input may, in one embodiment, be received via a touchscreen display. Further, the touchscreen display may be controlled by a tablet or pad computing device.
[0167] Touch input may have one or more distinguishable characteristics that can be determined by a computing device upon receiving the touch input. The touch input characteristics may, in some embodiments, be used at least in part to determine a response to the touch input. Some example characteristics include, but are not limited to, the distance between the initial and final contact points associated with the touch swipe input (e.g., the length of the touch swipe input), the approximate direction of the touch swipe input (e.g., horizontal, vertical, left, right, up, down, or a combination of directions that can be combined into a vector representation having two directional components), the pressure of the touch input (measurable by a touchscreen display capable of detecting touch pressure), the speed of movement of the touch input, the area, portion, and / or element of the GUI visually displayed at the location where the touch input is detected, the number of touch inputs received simultaneously, the number of consecutive touch inputs received within a predetermined period (e.g., double tap, triple tap, etc.), the size of the touch input contact (palm vs. finger vs. stylus), the use of a dedicated touch device for configurable input, etc.
[0168] In operation 1908, the computing device animates a rotation of the jog wheel UI element from a first jog wheel position to a second jog wheel position in response to the touch input. The rotation is based at least in part on the touch input. In one example, a longer touch input results in a relatively larger rotation of the jog wheel UI element, and a shorter touch input results in a relatively smaller rotation of the jog wheel UI element.
[0169] In operation 1910, the computing device animates the rotation of the jog wheel UI element from the first jog wheel position to the second jog wheel position while simultaneously animating the movement of a position indicator on the timeline relative to any other media content items displayed along the timeline, the movement being from the first clip position to the second clip position.
[0170] In some approaches, the difference between the first and second clip positions corresponds to the difference between the first and second jog wheel positions, e.g., translated such that the greater the rotation of the jog wheel, the greater the movement of the current position indicator.
[0171] In one embodiment, the computing device may receive a second touch input (via the GUI, a jog wheel UI element, and / or elements thereof), and in response to receiving the second touch input, the computing device may clip a portion of the at least one media content item located at a current position indicator that corresponds to a second clip position along the timeline.
[0172] In further embodiments, portions of one or more media content items may be clipped by moving at least one adjacent media content item in the direction of shrinking the one or more media content items relative to the timeline (towards the portion of the one or more media content items being removed by the clipping operation).
[0173] In alternative embodiments, portions of one or more media content items may be clipped by extending portions of at least one adjacent media content item to add additional media content in the direction of contraction of the one or more media content items relative to the timeline.
[0174] In one embodiment, the computing device may receive a second touch input (via the GUI, a jog wheel UI element, and / or elements thereof), and in response to receiving the second touch input, the computing device may expand the one or more media content items to add additional media content of the one or more media content items from a position along the timeline at the current position indicator that corresponds to the second clip position.
[0175] In further embodiments, the computing device may expand one or more media content items by moving at least one adjacent media content item relative to the timeline in a direction in which the one or more media content items expand.
[0176] In an alternative embodiment, the computing device may extend one or more media content items by overwriting a portion of at least one adjacent media content item in the direction of extension of the one or more media content items relative to the timeline.
[0177] In various embodiments, rotation of a jog wheel UI element from a first jog wheel position to a second jog wheel position based on touch input may cause movement of a position indicator on a timeline in increments by frame, allowing a user to increment one frame at a time through video displayed on a video player for precise video editing operations.
[0178] In more embodiments, rotation of the jog wheel UI element from a first jog wheel position to a second jog wheel position based on touch input may increment the movement of the position indicator on the timeline on a sub-frame basis, thereby allowing a user to move through the video displayed on the video player one sub-frame at a time to enable even more precise video editing operations and manipulate single frames of the video to add / remove / modify that content or content associated with the video frame (e.g., one or more audio tracks corresponding to the frame being manipulated).
[0179] 20 is a flow diagram of an example process 2000 for interacting with a GUI using a jog wheel UI element in one or more embodiments. In various approaches, process 2000 may include more or fewer operations than those shown and described herein.
[0180] In act 2002, the computing device displays at least a partial view of a jog wheel UI element on the GUI. The partial view may be a 30°, 45°, 90°, 180°, 270°, 360°, etc. portion about the circular UI element, or some other portion of the circular UI element for receiving touch input and controlling at least one secondary element on the GUI.
[0181] In operation 2004, the computing device displays a first media content item of the plurality of media content items in the content display area of the GUI while simultaneously displaying the partial view of the jog wheel UI element. In this manner, the available media content items in the content display area of the GUI and the jog wheel UI element are simultaneously displayed on the GUI. This allows a user to interact with the jog wheel UI element to control some aspect of the media content item in various ways.
[0182] In act 2006, the computing device receives touch input for controlling the jog wheel UI element. The touch input may, in one embodiment, be received via a touchscreen display. Further, the touchscreen display may be controlled by a tablet or pad computing device.
[0183] Touch input may have one or more distinguishable characteristics that can be determined by a computing device upon receiving the touch input. The touch input characteristics may, in some embodiments, be used at least in part to determine a response to the touch input. Some example characteristics include, but are not limited to, the distance between the initial and final contact points associated with the touch swipe input (e.g., the length of the touch swipe input), the approximate direction of the touch swipe input (e.g., horizontal, vertical, left, right, up, down, or a combination of directions that can be combined into a vector representation having two directional components), the pressure of the touch input (measurable by a touchscreen display capable of detecting touch pressure), the speed of movement of the touch input, the area, portion, and / or element of the GUI visually displayed at the location where the touch input is detected, the number of touch inputs received simultaneously, the number of consecutive touch inputs received within a predetermined period (e.g., double tap, triple tap, etc.), the size of the touch input contact (palm vs. finger vs. stylus), the use of a dedicated touch device for configurable input, etc.
[0184] In operation 2008, the computing device animates a rotation of a jog wheel UI element from a first jog wheel position to a second jog wheel position in response to the touch input. The rotation is based at least in part on the touch input. In one example, a longer touch input results in a relatively larger rotation of the jog wheel UI element, and a shorter touch input results in a relatively smaller rotation of the jog wheel UI element.
[0185] In operation 2010, the computing device selects a second media content item from the plurality of media content items that corresponds to a second jog wheel position of the jog wheel UI element. In other words, rotation of the jog wheel UI element changes the currently selected media content item from one media content item to another media content item. The number of media content items traversed during rotation of the jog wheel UI element may be proportional to the degree of rotation of the jog wheel UI element.
[0186] In operation 2012, the computing device modifies the content display area of the GUI to transition from displaying the first media content item to displaying the second media content item simultaneously with animating the rotation of the jog wheel UI element from the first jog wheel position to the second jog wheel position.
[0187] Media content items may be displayed in a media content player portion of the GUI (similar to video player 120 shown in FIG. 3 ). In this manner, particular media content to be displayed in the media content player portion may be selected using a jog wheel UI element without having to actively search for and navigate available media content items using a series of touch inputs (through a menu interface, in a directory, on a thumbnail display view, in a gallery view, etc.).
[0188] Prior to receiving touch input for controlling the jog wheel UI element, the computing device may receive a first user input that places the jog wheel UI element at a first position on the GUI. This first user input may be a drag-and-drop input, a first tap-move-second tap action, a menu item selection, a selection of a UI element on the GUI configured to enable movement of the jog wheel UI element, etc. In response to the first user input, the computing device configures the jog wheel UI element to respond to subsequent touch inputs based on the first position (and / or one or more characteristics of the subsequent touch input). This configuration may take into account moving the jog wheel UI element from one side of the GUI to another, which would reverse the input gesture (e.g., for interaction with a different thumb or finger). In a further approach, the size of the jog wheel UI element may be considered in this configuration so that a user can intuitively interact with the jog wheel and the resulting effects of secondary elements of the GUI will be anticipated by the user.
[0189] In one embodiment, one or more characteristics of the jog wheel UI element may be user-adjustable via interaction with the GUI or some other input to the computing device. Some example characteristics of the jog wheel UI element include, but are not limited to, the color of the jog wheel UI element, the size of the jog wheel UI element, the position of the jog wheel UI element on the GUI, the input response direction of the jog wheel UI element, the sensitivity of the jog wheel UI element, the number of jog wheel UI elements displayed on the GUI, the transparency of the jog wheel UI element, the overlay characteristics of the jog wheel UI element, the inertia of the jog wheel UI element, the method for showing and hiding the jog wheel UI element, and the portion of the jog wheel UI element to display on the GUI.
[0190] In one or more embodiments, the rotation of the jog wheel UI element may output an audible indication of the rotation. For example, simultaneously with animating the rotation of the jog wheel UI element, the computing device may output audio clicks at a frequency proportional to the speed at which the jog wheel UI element is rotated. In other words, these audio clicks may be faster the faster the jog wheel is rotated, and the audio clicks may be slower the slower the jog wheel is rotated. The particular sound and volume level may be user-selectable.
[0191] In another embodiment, haptic feedback proportional to the rate of rotation of the jog wheel UI element may be provided via the computing device.
[0192] (user interface elements) FIG. 22A shows an example of a selectable and / or informational UI element 2202 that may be associated with a jog wheel UI element.
[0193] FIG. 22B illustrates an example of a selectable and / or informational UI element 2204 that may be associated with a jog wheel UI element.
[0194] FIG. 22C illustrates an example of a selectable and / or informational UI element 2206 that may be associated with a jog wheel UI element.
[0195] FIG. 22D shows an example of a selectable and / or informational UI element 2208 that may be associated with a jog wheel UI element.
[0196] FIG. 22E illustrates an example of a selectable and / or informational UI element 2210 that may be associated with a jog wheel UI element.
[0197] FIG. 22F shows an example of a selectable and / or informational UI element 2212 that may be associated with a jog wheel UI element.
[0198] FIG. 22G shows an example of a text description UI element associated with the jog wheel UI element 2214.
[0199] FIG. 22H shows an example of a current position indicator UI element associated with the jog wheel UI element 2216.
[0200] FIG. 22I illustrates an example of a text description UI element and a current position indicator UI element associated with an isometric and / or three-dimensional representation of a jog wheel UI element 2218.
[0201] FIG. 22J illustrates an example of a text description UI element and a current position indicator UI element associated with an isometric and / or three-dimensional representation of a jog wheel UI element 2220.
[0202] FIG. 22K illustrates an example of a text description UI element and a current position indicator UI element associated with the jog wheel UI element 2222.
[0203] FIG. 22L illustrates an example of a text description UI element and a current position indicator UI element associated with the jog wheel UI element 2224.
[0204] FIG. 22M shows an example of a text description UI element and a current position indicator UI element associated with the jog wheel UI element 2226.
[0205] FIG. 22N shows an example of a text description UI element and a current position indicator UI element associated with the jog wheel UI element 2228.
[0206] FIG. 22O illustrates an example of a text description UI element and a current position indicator UI element associated with a jog wheel UI element 2230.
[0207] FIG. 22P shows an example of a text description UI element and a current position indicator UI element associated with a jog wheel UI element 2232.
[0208] FIG. 22Q shows an example of a text description UI element and a current position indicator UI element associated with the jog wheel UI element 2234.
[0209] FIG. 22R shows an example of a graphical UI element associated with the jog wheel UI element 2236 and a current position indicator UI element.
[0210] (Graphical User Interface) Described above in this disclosure are various GUIs for implementing various features, processes, or workflows. These GUIs may be presented on a variety of electronic devices, including, but not limited to, laptop computers, desktop computers, computer terminals, television systems, tablet computers, e-readers, and smartphones. One or more of these electronic devices may include a touch-sensitive surface. The touch-sensitive surface can process multiple simultaneous input points, including processing data related to the pressure, degree, or location of each input point. Such processing can facilitate multi-finger gestures, such as pinching and swiping.
[0211] When this disclosure refers to "selecting" or "selecting" a user interface element in a GUI, these terms are understood to include clicking or "hovering" a mouse or other input device over the user interface element, or touching, tapping, or gesturing with one or more fingers or a stylus over the user interface element. A user interface element may be a virtual button, menu, selector, switch, slider, scrubber, knob, thumbnail, link, icon, radio button, checkbox, and any other mechanism for receiving input from or providing feedback to a user.
[0212] 1-15 illustrate the use of a jog wheel UI element with respect to a GUI for a particular media editing application, any application can benefit from the use of a jog wheel UI element to receive user input. Some other functionalities that may use a jog wheel UI element include, but are not limited to, manual focus of a camera, adjusting the focal length of a camera, adjusting image and video parameters, navigation input for browsing content (web pages, images in a photo library, files in a directory, etc.), adjusting the rotation of images, videos, media, etc., adjusting the size of graphical elements within the GUI, adjusting the size of images, videos, media, etc., moving and / or positioning objects within the GUI, pixel-by-pixel adjustment of images / videos, playhead manipulation along a timeline, volume adjustment, etc.
[0213] (privacy) As mentioned above, one aspect of the present technology is the collection and use of data available from various sources to improve the delivery to users of content they request or any other content that may be of interest to them. This disclosure contemplates that, in some cases, this collected data may include personal information data that uniquely identifies a particular person or that can be used to contact or locate a particular person. Such personal information data may include demographic data, location-based data, phone numbers, email addresses, Twitter IDs, home addresses, data or records regarding a user's health or fitness level (e.g., vital sign measurements, medication information, exercise information), birth date, or any other identifying or personal information.
[0214] This disclosure recognizes that the use of such personal information data in the present technology can be used to the benefit of the user. For example, personal information data may be used to deliver targeted content that is more interesting to the user. Thus, use of such personal information data allows the user greater control over the content that is delivered. Additionally, other uses of personal information data that benefit the user are contemplated by this disclosure. For example, health and fitness data can be used to provide insight into the user's overall wellness, or can be used as proactive feedback to individuals using the technology in pursuit of wellness goals.
[0215] This disclosure contemplates that entities involved in the collection, analysis, disclosure, transmission, storage, or other use of such personal information data will adhere to robust privacy policies and / or privacy practices. Specifically, such entities should implement and consistently use privacy policies and practices that are generally recognized as meeting or exceeding industry or government requirements for maintaining the strict confidentiality of personal information data. Such policies should be easily accessible to users and should be updated as data collection and / or use changes. Personal information from users should be collected for the entity's lawful and legitimate use and should not be shared or sold except for those lawful uses. Furthermore, such collection / sharing should be carried out only after the user's informed consent is obtained. Furthermore, such entities should consider taking all necessary measures to protect and secure access to such personal information data and to ensure that others with access to the personal information data adhere to their privacy policies and procedures. Furthermore, such entities may be able to undergo third-party assessments to demonstrate their adherence to widely accepted privacy policies and practices. Furthermore, policies and practices should be tailored to the specific types of personal data collected and / or accessed and should comply with applicable laws and standards, including jurisdiction-specific considerations. For example, in the United States, collection of or access to certain health data may be governed by federal and / or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA). Meanwhile, health data in other countries may be subject to other regulations and policies and should be addressed accordingly. Therefore, different privacy practices should be maintained in each country with respect to different types of personal data.
[0216] Notwithstanding the foregoing, the present disclosure also contemplates embodiments in which a user selectively blocks use of or access to personal information data. That is, the present disclosure contemplates that hardware and / or software elements may be provided to prevent or block access to such personal information data. For example, the present technology may be configured to allow a user to select "opt-in" or "opt-out" of participating in the collection of personal information data during registration for a service or at any time thereafter. In another example, a user may choose not to provide mood-related data for a targeted content delivery service. In yet another example, a user may choose to limit the period for which mood-related data is maintained or to prohibit the development of a baseline mood profile altogether. In addition to providing "opt-in" and "opt-out" options, the present disclosure contemplates providing notice regarding the access or use of personal information. For example, a user may be notified upon downloading an app that will access the user's personal information data, and then again immediately before the app accesses the user's personal information data.
[0217] Furthermore, it is the intent of this disclosure that personal information data should be managed and processed in a manner that minimizes the risk of unintentional or unauthorized access or use. Risk can be minimized by limiting data collection and deleting data when it is no longer needed. Additionally, where applicable in certain health-related applications, data anonymization can be used to protect user privacy. De-identification can be facilitated by removing certain identifiers (e.g., date of birth, etc.) where appropriate, controlling the amount or specificity of data stored (e.g., collecting location data at a city level rather than an address level), controlling how data is stored (e.g., aggregating data across users), and / or other methods.
[0218] Thus, while this disclosure broadly encompasses the use of personal information data to implement one or more various disclosed embodiments, this disclosure also contemplates that the various embodiments may be implemented without requiring access to such personal information data. That is, various embodiments of the present technology are not rendered inoperable due to the absence of all or part of such personal information data. For example, content may be selected and delivered to a user by inferring preferences based only on a minimal amount of non-personal information or personal information, such as content requested by devices associated with the user, other non-personal information available on content delivery services, or publicly available information.
[0219] (Example System Architecture) Figure 21 is a block diagram of an exemplary computing device 2100 that can implement the functions and processes of Figures 1-20. The computing device 2100 can include a memory interface 2102, one or more data processors, image processors, and / or central processing units 2104, and a peripherals interface 2106. The memory interface 2102, the one or more processors 2104, and / or the peripherals interface 2106 can be separate components or can be integrated within one or more integrated circuits. The various components of the computing device 2100 can be coupled by one or more communication buses or signal lines.
[0220] Sensors, devices, and subsystems can be coupled to the peripherals interface 2106 to facilitate multiple functionalities. For example, a motion sensor 2110, a light sensor 2112, and a proximity sensor 2114 can be coupled to the peripherals interface 2106 to facilitate orientation, lighting, and proximity functions. Other sensors 2116, such as a global navigation satellite system (GNSS) (e.g., a GPS receiver), temperature sensors, biosensors, magnetometers, or other sensing devices, can also be coupled to the peripherals interface 2106 to facilitate associated functionality.
[0221] A camera subsystem 2120 and optical sensor 2122 (e.g., a charge-coupled device (CCD) or complementary metal-oxide semiconductor (CMOS) optical sensor) may be utilized to facilitate camera functions such as recording photographs and video clips. The camera subsystem 2120 and optical sensor 2122 may be used to collect images of a user for use during user authentication, for example, by performing facial recognition analysis.
[0222] Communication functions may be facilitated via one or more wireless communication subsystems 2124, which may include radio frequency receivers and transmitters and / or optical (e.g., infrared) receivers and transmitters. The specific design and implementation of the communication subsystems 2124 may depend on the communication network(s) over which the computing device 2100 is intended to operate. For example, the computing device 2100 may include a communication subsystem 2124 designed to operate over a GSM network, a GPRS network, an EDGE network, a Wi-Fi or WiMax network, and a Bluetooth™ network. In particular, the wireless communication subsystem 2124 may include a hosting protocol that enables the device 100 to be configured as a base station for other wireless devices.
[0223] The audio subsystem 2126 can be coupled to a speaker 2128 and a microphone 2130 to facilitate voice-enabled functions such as speaker recognition, voice replication, digital recording, and telephony functions. The audio subsystem 2126 can be configured to facilitate processing of voice commands, voiceprints, and voice authentication, for example.
[0224] The I / O subsystem 2140 can include a touch surface controller 2142 and / or other input controller(s) 2144. The touch surface controller 2142 can be coupled to a touch surface 2146. The touch surface 2146 and touch surface controller 2142 can detect contact and movement or their interruption using, for example, any of a number of touch sensitivity technologies, including, but not limited to, capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with the touch surface 2146.
[0225] Other input controller(s) 2144 may be coupled to other input / control devices 2148, such as one or more buttons, rocker switches, thumbwheels, infrared ports, USB ports, and / or pointer devices such as styluses. One or more buttons (not shown) may include up / down buttons for volume control of speaker 2128 and / or microphone 2130.
[0226] In one implementation, pressing the button for a first duration can unlock the touch surface 2146, and pressing the button for a second duration, longer than the first duration, can turn power on / off to the computing device 2100. Pressing the button for a third duration can activate voice control, or voice command, a module that allows a user to speak commands into the microphone 2130 and have the device execute spoken commands. A user can customize the functionality of one or more buttons. The touch surface 2146 can also be used to implement, for example, virtual or soft buttons and / or a keyboard.
[0227] In some implementations, the computing device 2100 can present recorded audio and / or video files, such as MP3 files, AAC files, and MPEG files. In some implementations, the computing device 2100 can include the functionality of an MP3 player, such as an iPod®.
[0228] The memory interface 2102 can be coupled to memory 2150. The memory 2150 can include high-speed random access memory and / or non-volatile memory, such as one or more magnetic disk storage devices, one or more optical storage devices, and / or flash memory (e.g., NAND, NOR). The memory 2150 can store an operating system 2152, such as Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or an embedded operating system such as VxWorks.
[0229] The operating system 2152 may include instructions for handling basic system services and for performing hardware-dependent tasks. In some implementations, the operating system 2152 may be a kernel (e.g., a UNIX kernel). In some implementations, the operating system 2152 may include instructions for providing a jog wheel UI element. For example, the operating system 2152 may implement the jog wheel UI element functionality described with reference to FIGS. 1-20 .
[0230] Memory 2150 may also store communications instructions 2154 that facilitate communication with one or more additional devices, one or more computers, and / or one or more servers. Memory 2150 may include graphical user interface instructions 2156 that facilitate graphical user interface operations, sensor processing instructions 2158 that facilitate sensor-related operations and functions, telephony instructions 2160 that facilitate telephony-related operations and functions, electronic messaging instructions 2162 that facilitate electronic messaging-related operations and functions, web browsing instructions 2164 that facilitate web browsing-related operations and functions, media processing instructions 2166 that facilitate media processing-related operations and functions, GNSS / navigation instructions 2168 that facilitate GNSS and navigation-related operations and instructions, and / or camera instructions 2170 that facilitate camera-related operations and functions.
[0231] The memory 2150 may store software instructions 2172 that facilitate other processes and functions, such as the processes and functions of the jog wheel UI elements described with reference to FIGS.
[0232] The memory 2150 may also store other software instructions 2174, such as web video instructions that facilitate web video related processes and functions, and / or web shopping instructions that facilitate web shopping related processes and functions. In some implementations, the media processing instructions 2166 are divided into audio processing instructions that facilitate audio processing related processes and functions, and video processing instructions that facilitate video processing related processes and functions.
[0233] Each of the above-identified instructions and applications may correspond to a set of instructions that perform one or more of the functions described above. These instructions need not be implemented as separate software programs, procedures, or modules. Memory 2150 may include additional instructions or fewer instructions. Furthermore, various functions of computing device 2100 may be implemented in hardware and / or software, including one or more signal processing circuits and / or application-specific integrated circuits.
[0234] In order to assist the Patent Office and any reader of any patent that may issue on this application in interpreting the claims appended hereto, Applicant wishes to caution that no invocation of 35 U.S.C. 112(f) is intended with respect to any of the appended claims or claim elements, unless the terms "means for" or "step for" are expressly used in a particular claim.
Claims
1. 1. A method comprising: Displaying a partial view of a jog wheel user interface (UI) element on a graphical user interface (GUI), the jog wheel UI element being associated with a display of one or more media content items; receiving a touch swipe input for controlling the jog wheel UI element; In response to touch swipe input: animating a rotation of the jog wheel UI element based on the touch swipe input, wherein the rotation of the jog wheel UI element comprises: (a) rotating the jog wheel UI element at an initial rotation speed based on the touch swipe input, wherein the jog wheel UI element continues to rotate after the touch swipe input is discontinued; (b) after the touch swipe input is stopped: reducing the rotation speed of the jog wheel UI element until the rotation speed of the jog wheel UI element reaches 0; continuously modifying the display of at least one of the one or more media content items simultaneously with animating the rotation of the jog wheel UI element, wherein a rate of modification for modifying the display of the at least one of the one or more media content items corresponds to a rate of rotation of the jog wheel UI element; A method comprising:
2. determining an approximate direction of the touch swipe input; mapping the general direction of the touch swipe input to one of a clockwise rotation of the jog wheel UI element or a counterclockwise rotation of the jog wheel UI element; animating the rotation of the jog wheel UI element includes rotating at least a circular element of the jog wheel UI element in one of a clockwise direction or a counterclockwise direction based on the mapping operation; The method of claim 1 , comprising:
3. 2. The method of claim 1, wherein reducing the rotation speed of the jog wheel UI element until the rotation speed of the jog wheel UI element reaches zero comprises immediately stopping the rotation of the jog wheel UI element when a stop flag associated with the one or more media content items is reached while modifying the display of the one or more media content items.
4. 2. The method of claim 1, wherein reducing the rotational speed of the jog wheel UI element until the rotational speed of the jog wheel UI element reaches zero comprises linearly reducing the rotational speed at a constant rate or at a decreasing rate.
5. 2. The method of claim 1, wherein reducing the rotational speed of the jog wheel UI element until the rotational speed of the jog wheel UI element reaches zero comprises reducing the rotational speed at the decreasing rate.
6. Modifying the representation of the at least one of the one or more media content items comprises: at least one image characteristic of the one or more media content items; a currently displayed media content item of the one or more media content items; or audio characteristics associated with said at least one of said one or more media content items; The method of claim 1 , comprising modifying one or more of:
7. outputting an audio click at a frequency proportional to the rotation rate of the jog wheel UI element simultaneously with animating the rotation of the jog wheel UI element; The method of claim 1 further comprising:
8. The method of claim 1 , wherein the degree of rotation of the jog wheel UI element is proportional to the length of the touch swipe input.
9. The method of claim 1 , wherein one or more characteristics of the jog wheel UI element are adjustable.
10. A non-transitory computer-readable medium containing instructions that, when executed by one or more hardware processors, Displaying a partial view of a jog wheel user interface (UI) element on a graphical user interface (GUI), the jog wheel UI element being associated with a display of one or more media content items; receiving a touch swipe input for controlling the jog wheel UI element; In response to touch swipe input: animating a rotation of the jog wheel UI element based on the touch swipe input, wherein the rotation of the jog wheel UI element comprises: (a) rotating the jog wheel UI element at an initial rotation speed based on the touch swipe input, wherein the jog wheel UI element continues to rotate after the touch swipe input is discontinued; (b) after the touch swipe input is stopped: reducing the rotation speed of the jog wheel UI element until the rotation speed of the jog wheel UI element reaches 0; continuously modifying the display of at least one of the one or more media content items simultaneously with animating the rotation of the jog wheel UI element, wherein a rate of modification for modifying the display of the at least one of the one or more media content items corresponds to a rate of rotation of the jog wheel UI element; A method for causing a set of operations including:
11. 1. A system comprising: the one or more hardware processors; The non-transitory computer-readable medium of claim 10; A system comprising:
12. 1. A method comprising: Displaying a jog wheel UI element on a graphical user interface (GUI); Concurrently with displaying the jog wheel UI element: presenting a layout of one or more media content items; Receiving touch input at a first area of the GUI; In response to the touch input: Determining a distance between (a) a first location within the GUI associated with the first region of the GUI and (b) a second location associated with the jog wheel UI element; selecting a modification to the placement of the one or more media content items based on a) the distance between the first position and the second position, and b) one or more characteristics of the touch input; animating a rotation of the jog wheel UI element from a first jog wheel position to a second jog wheel position, the extent of the rotation being based on a) the distance between the first position and the second position, and b) the one or more characteristics of the touch input; animating the rotation of the jog wheel UI element from the first jog wheel position to the second jog wheel position while simultaneously animating the modification to the placement of the one or more media content items; A method comprising:
13. The method of claim 12 , wherein the one or more characteristics of the touch input include a length of a swipe motion of the touch input, and the degree of rotation of the jog wheel UI element is proportional to the length of the swipe motion.
14. 13. The method of claim 12, wherein the one or more characteristics of the touch input include a length of a swipe motion of the touch input, and wherein, for a same particular length of the swipe motion, the degree of rotation of the jog wheel UI element decreases proportionally to the particular length of the swipe motion as the distance between the first position and the second position increases.
15. 13. The method of claim 12, wherein the one or more characteristics of the touch input include a length of a swipe motion of the touch input, and wherein, for a same particular length of the swipe motion, the degree of rotation of the jog wheel UI element increases proportionally to the particular length of the swipe motion as the distance between the first position and the second position decreases.
16. The method of claim 12 , wherein the second position associated with the jog wheel UI element is associated with an axis of rotation of the jog wheel UI element.
17. The method of claim 12 , wherein the second position associated with the jog wheel UI element is associated with a particular check mark displayed near an edge of the jog wheel UI element.
18. 13. The method of claim 12, wherein the one or more characteristics of the touch input are selected from the group consisting of a distance between an initial contact point and a final contact point associated with the touch input, a general direction of the touch input, a pressure of the touch input, and a velocity of movement of the touch input.
19. 13. The method of claim 12, wherein one or more characteristics of the jog wheel UI element are adjustable, the one or more characteristics being selected from the group consisting of a size of the jog wheel UI element, a position of the jog wheel UI element on the GUI, an input response direction of the jog wheel UI element, and a portion of the jog wheel UI element to display on the GUI.
20. 13. A non-transitory computer-readable medium comprising instructions that, when executed by one or more hardware processors, cause the method of claim 12 to be performed.
21. 1. A system comprising: one or more processors; a non-transitory computer-readable medium comprising instructions that, when executed by the one or more processors, cause the system to perform the method of claim 12.
Citation Information
Patent Citations
Input device, display device, control method of input device, and program
JP2017049698A
Scrollable calendar with combined date and time controls
US20140007005A1
Media element navigation using a virtual jog wheel
US9870114B1