GUI elements tweaks

By introducing adjustable indicators and dynamically adjusting endpoint values ​​into graphical user interface (GUI) elements, the problem of difficulty in selecting specific values ​​by users during interaction is solved, and the user experience is improved.

CN114168054BActive Publication Date: 2025-05-06EBAY INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111299517.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2016-03-18
Filing Date
2017-03-15
Publication Date
2025-05-06
Estimated Expiration
2037-03-15

AI Technical Summary

Technical Problem

Existing graphical user interface (GUI) elements are difficult to dynamically adjust during user interaction, resulting in difficulties for users to select specific values.

Method used

By introducing adjustable indicators and endpoint values ​​into GUI elements, the endpoint values ​​are dynamically adjusted based on user interaction actions such as moving adjustable indicators, thereby narrowing the range of selectable values.

Benefits of technology

By dynamically adjusting the endpoint value, the complexity of users when selecting values ​​in GUI elements is reduced, making it easier for users to select specific values.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114168054B_ABST
    Figure CN114168054B_ABST
Patent Text Reader

Abstract

A computer-implemented method for adjusting a graphical user interface element, the method comprising: presenting a graphical user interface element comprising a sliding line extending between a first end value and a second end value in the graphical user interface element; presenting an adjustable element on the sliding line, the adjustable element being configured to move along the sliding line to adjust a selection of a value between the first end value and the second end value; adjusting the selection of the value in response to movement of the adjustable element along the sliding line: determining a moving speed of the adjustable element; if the speed is below a threshold, selecting the first end value for adjustment, and if the speed is above the threshold, selecting the second end value for adjustment; determining an updated end value of the selected end value; and presenting the updated end value in the graphical user interface element in place of the selected end value.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the Chinese national phase patent application with application number 201780018053.8 and invention name “Graphical User Interface Element Adjustment” filed on March 15, 2017, PCT international application PCT / US2017 / 022589.

[0002] CROSS-REFERENCE TO RELATED APPLICATIONS

[0003] This application claims priority to and the benefit of U.S. Utility Patent Application No. 15 / 074,704, filed on March 18, 2016, and entitled “GRAPHICAL USER INTERFACE ELEMENT ADJUSTMENT,” which is incorporated herein in its entirety. Technical Field

[0004] The embodiments discussed herein relate to graphical user interface element adjustment. Background Art

[0005] A graphical user interface (GUI) is an interface for a computer software application that utilizes the graphics capabilities of a computer system. A GUI may include various elements that display information to a user and / or receive input from a user. GUI elements may sometimes be referred to as widgets and may include custom user interface components or standard components, such as scroll bars, buttons, check boxes, radio buttons, and text panes. Many computer software applications, websites, and other programs provide a GUI to allow user interaction.

[0006] The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is merely provided to illustrate one example technology area where some embodiments described herein may be practiced. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] Example embodiments will be described and explained with additional specificity and detail through the use of the accompanying drawings, in which:

[0008] Figure 1 An example system configured to adjust a graphical user interface element is shown;

[0009] Figure 2a-2e Various example configurations of graphical user interface elements are shown;

[0010] Figure 3a and 3b is a flow chart of an example computer-implemented method of graphical user interface element adjustment; and

[0011] Figure 4 is a flow chart of example operations for adjusting graphical user interface elements; and

[0012] Figure 5 Another example system configured to adjust a graphical user interface element is shown. DETAILED DESCRIPTION

[0013] Some embodiments of the present disclosure relate to the adjustment of graphical user interface (GUI) elements. GUI elements may include all elements that users interact with the graphical user interface. The interaction between the user and the GUI element may include inputting information, adjusting the information display on the GUI, or other interactions. Some embodiments of the present disclosure describe a GUI that changes dynamically based on the interaction between the user and the GUI. For example, some embodiments describe a GUI element that includes an adjustable element and an endpoint value. In these and other embodiments, the endpoint value may change dynamically based on the user movement of the adjustable element.

[0014] For example, in some embodiments, the GUI element can be a slide bar with an adjustable indicator that can be moved by a user to select a value. The slide bar can include endpoint values ​​that can be dynamically changed based on the movement of the adjustable indicator. In some embodiments, the endpoint values ​​can be changed based on an initial value selected by the adjustable indicator compared to the endpoint value and the speed at which the user moves the adjustable indicator. By dynamically adjusting the endpoint values, the range of values ​​that can be selected using the GUI element can be reduced. By reducing the range of selectable values, it can be easier for the user to select a specific value within the range.

[0015] Go to the attached picture, Figure 1 An example system 100 configured to adjust a graphical user interface element is shown. The system 100 may be arranged according to at least one embodiment described in the present disclosure. The system 100 may include a network 110, a host system 120, and a device 130 including a display 132 and a user interface device 134.

[0016] The network 110 may be configured to communicatively couple the host system 120 and the device 130. In some embodiments, the network 110 may be any network or network configuration configured to send and receive communications between devices. In some embodiments, the network 110 may include a traditional type network, a wired or wireless network, and may have many different configurations. In addition, the network 110 may include a local area network (LAN), a wide area network (WAN) (e.g., the Internet), or other interconnected data paths over which multiple devices and / or entities may communicate. In some embodiments, the network 110 may include a peer-to-peer network. The network 110 may also be coupled to or may include portions of a telecommunications network for sending data in a variety of different communication protocols. In some embodiments, the network 110 may include a network for sending and receiving communications and / or data. Communication network or cellular communication network, including via short message service (SMS), multimedia message service (MMS), hypertext transfer protocol (HTTP), direct data connection, wireless application protocol (WAP), email, etc. Network 110 can also include a mobile data network, which can include third generation (3G), fourth generation (4G), long term evolution (LTE), long term evolution advanced (LTE-A), LTE voice ("VoLTE") or any other mobile data network or combination of mobile data networks. In addition, network 110 can include one or more IEEE 802.11 wireless networks.

[0017] In some embodiments, host system 120 may include any hardware configuration, such as processors, servers, and databases networked together and configured to perform tasks. For example, host system 120 may include multiple computing systems, such as multiple servers, each of which includes memory and a processor, networked together and configured to perform the operations described in this disclosure. In some embodiments, host system 120 may include computer-readable instructions configured to be executed by one or more devices in host system 120 and / or system 100 (such as device 130) to perform the operations described in this disclosure.

[0018] Device 130 may be any electronic or digital device. For example, device 130 may include a desktop computer, a laptop computer, a smart phone, a mobile phone, a tablet computer, or any other processing device. In some embodiments, device 130 may be configured to provide a user with access to one or more systems, which may include one or more servers and databases, via a network (e.g., network 110).

[0019] In some embodiments, host system 120 may include a network server that hosts web pages of websites accessed through uniform resource locators (URLs). In these and other embodiments, host system 120 may include code, such as hypertext markup language (HTML) and JavaScript code that may be provided to a device based on a received request. Device 130 may send a request with a web page URL. Host system 120 may respond to the request by sending a code for presenting a web page on device 130. Device 130 may receive the code. Based on the code, device 130 may present a web page to a user through display 132 through an application such as a web browser. In some embodiments, the code provided by host system 120 may include client code that may be executed by device 130. For example, the client code may be JavaScript and / or HTML. Device 130 may execute client code to present a web page in a browser and allow a user to interact with the web page in the browser.

[0020] In some embodiments, the web page presented on the display 132 may include a GUI element 140. The GUI element 140 may be configured to be user interactive. For example, the GUI element 140 may be configured to allow the user to interact with the GUI element 140 to select a value. In some embodiments, the user may interact with the GUI element 140 using a user interface device 134. In these and other embodiments, the user interface device 134 may be a touch screen, a mouse, a keypad, a scroll pad, or some other user interface device that allows the user to interact with the electronic device.

[0021] In some embodiments, the GUI element 140 may include an adjustable element 146. The adjustable element 146 may be a user-selectable element that may select a value based on its position along the GUI element 140. In these and other embodiments, the user may select the adjustable element 146 using the user interface device 134. The user may then move the adjustable element 146 (e.g., drag or change its position) to adjust the value selected by the adjustable element. In some embodiments, the GUI element 140 may include a first end value 142 and a second end value 144. The first end value 142 and the second end value 144 may represent the end values ​​of a range of values ​​that may be selected by the adjustable element 146. For example, the first end value 142 may be zero and the second end value 144 may be one hundred. As a result, the range of values ​​that may be selected by the adjustable element 146 may be from zero to one hundred.

[0022] like Figure 1 As shown, GUI element 140 can be a horizontal scroll bar. Alternatively or additionally, GUI element 140 can be a vertical scroll bar. Alternatively or additionally, GUI element 140 can be a horizontal or vertical element that enables the user to select a value through the adjustable element by moving the adjustable element.

[0023] In some embodiments, the GUI element 140 can be configured to dynamically change the first end value 142, the second end value 144, or both the first end value 142 and the second end value 144. In some embodiments, the GUI element 140 can be configured to dynamically change one or more of the first end value 142 and the second end value 144 based on user movement of the adjustable element 146. In these and other embodiments, based on the user movement, the starting position and / or the final position of the adjustable element 146, an inference of a value within a sub-range of the range of selectable values ​​that the user may desire to select can be determined. In these and other embodiments, the first end value 142, the second end value 144, or both the first end value 142 and the second end value 144 can be changed to reflect the sub-range.

[0024] For example, adjustable element 146 can be located at zero, and GUI element 140 can have a range between zero and fifty, so that first end value 142 is zero and second end value 144 is fifty. The user can quickly move adjustable element 146 to forty-three. It can therefore be inferred that the user may expect to select a value close to fifty or at least between thirty and fifty based on the speed of movement of adjustable element 146 and the selected value. The value between thirty and fifty may be a sub-range of selectable values ​​that the user may expect to select. As a result, first end value 142 can be changed to thirty, and second end value 144 can remain at fifty. Then, the user can further adjust adjustable element 146 to select a value within the sub-range of values ​​provided by GUI element 140.

[0025] As another example, adjustable element 146 may be located at fifty, and GUI element 140 may have a range between zero and fifty, such that first end value 142 is zero and second end value 144 is fifty. The user may slowly move adjustable element 146 to forty-three. It can therefore be inferred that the user may desire to select a value between forty and fifty based on the speed of movement of adjustable element 146 and the selected value. Values ​​between forty and fifty may be a sub-range of selectable values ​​that the user may desire to select. As a result, first end value 142 may be changed to forty, and second end value 144 may be maintained.

[0026] In some embodiments, the subrange of selected values ​​may vary based on the speed of the movement. For example, if the user moves slowly to a particular value, the subrange around that value may be smaller than if the user moves quickly to the particular value. The subrange may be smaller when moving more slowly based on the inference that the user moving slowly may be trying to more accurately select a value next to the particular value.

[0027] For example, the adjustable element 146 can be zero, and the GUI element 140 can have a range between zero and fifty, so that the first end value 142 is zero and the second end value 144 is fifty. The user can quickly move the adjustable element 146 to twenty-five. Therefore, based on the movement speed of the adjustable element 146 and the selected value, it can be inferred that the user may expect to select a value between fifteen and thirty-five. The value between fifteen and thirty-five may be a sub-range of selectable values ​​that the user may expect to select. As a result, the first end value 142 can be changed to fifteen, and the second end value 144 can be changed to thirty-five. Alternatively, the user can slowly move the adjustable element 146 to twenty-five. Therefore, based on the movement speed of the adjustable element 146 and the selected value, it can be inferred that the user may expect to select a value between twenty-five and thirty-five. The value between twenty-five and thirty-five may be a sub-range of selectable values ​​that the user may expect to select. As a result, the first end value 142 can be changed to twenty-five, and the second end value 144 can be changed to thirty-five.

[0028] In some embodiments, when either the first end value 142 or the second end value 144 changes, the amount that the adjustable element 146 can move before the adjustable element 146 selects another value can change. For example, the first end value 142 and the second end value 144 can define a range of 50 units. Moving the adjustable element 146 by a length x can cause the adjustable element 146 to move 10 units. After changing one or more of the first end value 142 and the second end value 144 to reduce the range to 25 units, moving the adjustable element 146 by a length x can cause the adjustable element 146 to move 5 units. Therefore, the amount of movement that the adjustable element 146 moves incrementally between values ​​can change as one or more of the first end value 142 and the second end value 144 change. By changing the amount of movement that the adjustable element 146 moves incrementally between values, a user can be allowed to select a specific value more easily.

[0029] In some embodiments, the speed of movement of the adjustable element 146 may be determined based on the distance that the adjustable element 146 moves and the movement time of the adjustable element 146. The movement time of the adjustable element 146 may be defined as the time between the user selecting the adjustable element 146 and deselecting the adjustable element 146. Alternatively or additionally, the time may be defined as the time between the movement of the adjustable element 146. For example, the user may select the adjustable element 146 and may not move the adjustable element 146 for a period of time before moving the adjustable element 146, and then deselect the adjustable element 146. In these and other embodiments, the duration of the selection but not movement of the adjustable element 146 may not be used to determine the speed of the adjustable element 146.

[0030] In some embodiments, the distance moved by the adjustable element 146 can be based on the values ​​in the GUI element 140. For example, if the adjustable element 146 moves along the GUI element 140 from a first selectable value to a second selectable value, the distance moved can be based on the difference between the first selectable value and the second selectable value. Alternatively or additionally, the distance moved can be based on the actual distance the adjustable element 146 moves along the display 132, the number of pixels that the adjustable element 146 passes along the display 132, the actual distance of the user movement detected by the user interface device 134. The unit of measurement of the distance can vary, as long as the thresholds and other calculated values ​​used by the GUI element 140 to change the values ​​of the first end value 142 and the second end value 144 are consistent with the unit of measurement of the distance.

[0031] In some embodiments, when the values ​​of the first end value 142 and the second end value 144 can be dynamically changed, the starting position of the adjustable element 146 can be consistent. For example, the GUI element 140 can dynamically change the values ​​of the first end value 142 and the second end value 144 after a first user interaction with the adjustable element 146, but not during a second user interaction with the adjustable element 146 until the GUI element 140 is reset. The GUI element 140 can be reset using a button on the GUI element 140, by refreshing a web page or application including the GUI element 140, or in some other way. In these and other embodiments, the adjustable element 146 can start at the first end value 142 or the second end value 144. In these and other embodiments, the final position of the adjustable element 146 may not be determined or used to determine the sub-range. Instead, the calculation to determine the sub-range can be based on the distance that the adjustable element 146 moves, because the final position can be determined based on the distance.

[0032] In some embodiments, the user can move the adjustable element 146 in a manner that causes the GUI element 140 to update the first end value 142 and / or the second end value 144 so that the user's desired value is no longer within the range between the first end value 142 and the second end value 144. In these and other embodiments, the GUI element 140 can include a reset button. The reset button can allow the user to make excessive dynamic changes to the first end value 142 and / or the second end value 144.

[0033] The following is an example of this operation. The user can make the device 130 request a web page from the host system 120 through the network 110. The host system 120 can provide the code to the device 130. The web browser in the device 130 can execute the code to present the web page on the display 132. The web page can include a GUI element 140 to allow the user to select a value. For example, the web page can be part of a website of an online market, and the value to be selected can refer to the price of selling and / or buying a product on the online market. The user can use the user interface device 134 to select an adjustable element 146. The user can quickly move the adjustable element 146 to halfway between the first end value 142 and the second end value 144. As a result, the GUI element 140 can dynamically change the first end value 142 and the second end value 144 and update the first end value 142 and the second end value 144 presented in the display 132. The user can further move the adjustable element 146 again to make a final value selection using the adjustable element 146.

[0034] Modifications, additions, or omissions may be made to the system 100 without departing from the scope of the present disclosure. For example, in some embodiments, the system 100 may not include the host system 120 or the network 110. In these and other embodiments, the device 130 may include an application that includes code for presenting the GUI element 140 on the display 132 and performing other actions provided in the present disclosure for the GUI element 140.

[0035] Figure 2a-2e Various example configurations of a graphical user interface element (GUI) 200 are shown. The GUI element 200 may be arranged according to at least one embodiment described in the present disclosure.

[0036] Figure 2a GUI element 200 is shown. Figure 2a-2e As shown, GUI element 200 may be a slider element that allows a user to select a value along the slider. GUI element 200 may include a sliding element 210, a sliding line 212, a first end value 220, and a second end value 222. Sliding line 212 may extend between first end value 220 and second end value 222. Figure 2a As shown, the first end value 220 may have a value of zero, and the second end value 222 may have a value of one hundred.

[0037] Sliding element 210 may be configured to be movable by a user along sliding line 212. The position of sliding element 210 along sliding line 212 may determine the value that may be selected by sliding element 210. Thus, a user may change the position of sliding element 210 along sliding line 212 to adjust the value selected by sliding element 210.

[0038] In some embodiments, the GUI element 200 may be configured to dynamically update the first end value 220 or the second end value 222 , or both, based on the movement of the sliding element 210 . Figure 2b-2d The sliding element 210 is shown in various positions along the sliding line 212 and the resulting changes in the first end value 220 or the second end value 222 , or both.

[0039] Figure 2b GUI element 200 is shown with sliding element 210 moved along sliding line 212 to a value of thirty on sliding line 212. As shown, first end value 220 may be updated based on the movement of sliding element 210 and second end value 222 may not be updated.

[0040] To determine which of the first end value 220 and / or the second end value 222 is to be adjusted, the movement speed of the sliding element 210 may be determined. The speed of the sliding element 210 may be determined based on the movement time of the sliding element 210 and the distance the sliding element 210 moves.

[0041] The speed may be compared to a threshold value. When the speed is higher than the threshold value, the end value having a higher value and located on the opposite side of the start position of the sliding element 210 may be adjusted. Therefore, when the speed is higher than the threshold value, the second end value 222 may be adjusted.

[0042] When the speed is lower than the threshold value, the end value having a lower value and located at the start position of the sliding element 210 may be adjusted. Therefore, when the speed is lower than the threshold value, the sliding element 210 may be adjusted.

[0043] The threshold value may be determined based on a range of values ​​between the first end value 220 and the second end value 222. Alternatively or additionally, the threshold value may be determined based on an actual physical size of the GUI element 200 or based on an actual physical size of the GUI element 200 relative to a range of values ​​between the first end value 220 and the second end value 222. Alternatively or additionally, the threshold value may be based on data collected about user movement of the sliding element 210.

[0044] In some embodiments, when the end position of the sliding element 210 is close to the middle of the sliding line 212, both the first end value 220 and the second end value 222 may be adjusted, and it may not be applicable to adjust which of the first end value 220 and the second end value 222 is determined based on the speed. In these and other embodiments, when the end position of the sliding element 210 is plus or minus 3, 5, 7, 10, 15, 20, 25, 30, or 35% of the range of the GUI element 200, the end position of the sliding element 210 may be near the middle of the sliding line 212.

[0045] like Figure 2b As shown, the sliding element 210 can move 30 units and move in 0.3 seconds. The speed of the sliding element 210 can be the distance divided by the time. Therefore, the speed of the sliding element 210 can be 100. Figure 2b and 2c , the threshold value may be 50. Therefore, the first end value 220 may be changed. The amount by which the first end value 220 may be changed may be based on the following example formula:

[0046] ((D–L)*(1–T)*RC)–L

[0047] Where D is the distance moved from the first end value 220, L is the value of the first end value 220, T is the movement time of the sliding element 210, and RC is a constant between 0 and 1. The value of RC may vary based on the GUI element 200, the scope of the GUI element 200, the user for whom the GUI element 200 is designed, and other factors.

[0048] Using this formula, D can be 30, L can be 0, T can be 0.3, and RC can be 0.8. Therefore, the updated value of the first end value 220 can be 16.8. In some embodiments, the updated value can be rounded to the next integer. Therefore, the first end value 220 can be updated in the GUI element 200 and presented as a value of 17.

[0049] Figure 2c GUI element 200 is shown with sliding element 210 moved along sliding line 212 to a value of thirty on sliding line 212. As shown, first end value 220 may not be updated, but second end value 222 may be updated based on the movement of sliding element 210.

[0050] like Figure 2c As shown, the sliding element 210 may move 30 units and move within 0.9 seconds. Therefore, the speed of the sliding element 210 may be 33.3. Because the speed 33.3 is less than the threshold value 50, the second end value 222 may be changed. The amount by which the second end value 222 may be changed may be based on the following example formula:

[0051] R–((R–D)*T*RC)

[0052] Where D is the distance moved from the first end value 220 , R is the value of the second end value 222 , T is the moving time of the sliding element 210 , and RC is a constant between 0 and 1.

[0053] Using this formula, D can be 30, R can be 100, T can be 0.9, and RC can be 0.8. Therefore, the updated value of the second end value 222 can be 49.6. The updated value 49.6 can be rounded, and the second end value 222 can be updated in the GUI element 200 and presented as a value of 50.

[0054] Figure 2d GUI element 200 is shown with sliding element 210 moving along sliding line 212 to a value of forty-five on sliding line 212. As shown, based on the movement of sliding element 210, first end value 220 may be updated and second end value 222 may be updated.

[0055] like Figure 2dAs shown, the sliding element 210 may move 45 units and move within 0.5 seconds. Therefore, the speed of the sliding element 210 may be 90. A middle region 230 of the GUI element 200 may be defined. However, because the sliding element 210 moves within the middle region 230 of the GUI element 200, both the first end value 220 and the second end value 222 may be changed. The amount by which the first end value 220 may be changed may be based on the following example formula:

[0056] ((D–L)*(1–T)*RC)–L

[0057] Using this formula, D may be 45, L may be 0, T may be 0.5, and RC may be 0.8. Thus, the updated value of the sliding element 210 may be 18. The amount by which the second end value 222 may change may be based on the following example formula:

[0058] R–((R–D)*T*RC)

[0059] Using this formula, D may be 45, R may be 100, T may be 0.5, and RC may be 0.8. Therefore, the updated value of the second end value 222 may be 78.

[0060] Figure 2e The GUI element 200 is shown with a first preselected value element 240a, a second preselected value element 240b, and a third preselected value element 240c (collectively referred to as the preselected value elements 240). Each preselected value element 240 can be a set value that can be selected by the user instead of moving the sliding element 210 along the sliding line 212 to select a value. In these and other embodiments, the sliding element 210 can be moved to one of the preselected value elements 240. The value of the preselected value element 240 to which the sliding element 210 is moved can be the value selected by the GUI element 200. The preselected value elements 240 can allow the user to use the GUI element 200 and then select one or more specific values ​​by moving the sliding element 210 along the sliding line 212.

[0061] Modifications, additions, or omissions may be made to the GUI element 200 without departing from the scope of the present disclosure. For example, in some embodiments, the values ​​of the first end value 220 and the second end value 222 may be different. For example, the first end value 220 may have a higher value than the second end value 222. Alternatively or additionally, the formulas used to determine the change in the first end value 220 and / or the second end value 222 may be different. Alternatively or additionally, the GUI element 200 may include a formula other than Figure 2e Additional pre-selected value elements beyond the pre-selected value element 240 shown in .

[0062] Figure 3a and 3bis a flow chart of an example computer-implemented method 300 for adjusting a graphical user interface element. The method 300 may be arranged according to at least one embodiment described in the present disclosure. In some embodiments, the method 300 may be implemented by a computer program such as Figure 1 and 5 The method 300 may be implemented by the system 100 and / or the system 500 of the present invention. In some embodiments, the method 300 may be generated by the operation of the system based on the instructions stored in one or more computer-readable media. Although shown as discrete blocks, various blocks may be divided into additional blocks, combined into fewer blocks, or removed depending on the desired implementation.

[0063] Method 300 may begin at block 302, where a GUI element includes an adjustable element configured to be moved to adjust a selection of a value between a first end value and a second end value presented in the GUI element. In some embodiments, the GUI element may be a slider bar, and the adjustable element may be a sliding element. In some embodiments, the GUI element may be a portion of a web page presented in a browser on a device. In these and other embodiments, method 300 may be performed by a device that displays a web page based on instructions received from a network server regarding the web page.

[0064] In block 304, movement of the sliding element may be detected. In some embodiments, movement of the sliding element may be caused by a user interacting with the GUI element through a user interface of a device displaying the GUI element.

[0065] In block 306, it may be determined whether the movement of the sliding element is along a slide bar of the GUI element. When moving along the slide bar, the method 300 may proceed to block 312. When not moving along the slide bar, the method may proceed to block 308.

[0066] In block 308, it may be determined whether the movement stops on a preselected value element that is part of the GUI element. When the movement does not stop on the preselected value element, the method 300 may proceed to block 304. When the movement stops on the preselected value element, the method may proceed to block 310.

[0067] In block 310, a value of a preselected value element may be selected as a selected value for a GUI element.

[0068] In block 312, after the movement of the sliding element along the slide bar stops, the distance traveled by the sliding element can be obtained. The distance can be the number of units of the sliding element along the slide bar. In some embodiments, the distance can be obtained after the user deselects the sliding element.

[0069] In block 314, the time of movement of the sliding element may be obtained. In some embodiments, the movement time of the sliding element may be the time between the user selecting and deselecting the sliding element. In some embodiments, the movement time of the sliding element may be the time between detecting movement and detecting that the sliding element does not move. Alternatively or additionally, the movement time of the sliding element may be a combination of detecting movement and not moving and selecting and not selecting the sliding element.

[0070] In block 316, the position of the sliding element along the slide bar can be obtained. In some embodiments, the position of the sliding element along the slide bar can be based on the value selected by the sliding element. In some embodiments, the position of the sliding element can be obtained by determining the position based on the distance traveled by the sliding element and the starting position of the sliding element. For example, the sliding element can start from a known position. In some embodiments, the distance traveled can be obtained based on the position of the sliding element and the starting position of the sliding element.

[0071] In block 318 , a speed of the sliding element may be determined based on the distance traveled by the sliding element and the movement time of the sliding element.

[0072] In block 320, it may be determined whether the sliding element is near the middle of the slide bar. When the sliding element is near the middle of the slide bar, the method 300 may proceed to block 324. When the sliding element is not near the middle of the slide bar, the method may proceed to block 322.

[0073] In block 322, it may be determined whether the speed of the slider is greater than a threshold. The threshold may be selected based on the GUI element application, the interface device used by the user to interact with the GUI element, and other factors. When the speed of the slider is greater than the threshold, the method 300 may proceed to block 328. When the speed of the slider is not greater than the threshold, the method may proceed to block 330.

[0074] In block 324, an update of the higher value endpoint may be determined based on the speed of the sliding element. The update of the higher value endpoint may be based on the speed and position of the sliding element. Alternatively or additionally, the update of the higher value endpoint may be based on the speed and distance traveled by the sliding element.

[0075] In block 326, the update of the lower value endpoint can be determined based on the speed of the sliding element. The update of the lower value endpoint can be based on the speed and position of the sliding element. Alternatively or additionally, the update of the lower value endpoint can be based on the speed and distance traveled by the sliding element. After block 326, the method can proceed to block 332.

[0076] In block 328, the update of the higher value endpoint can be determined based on the speed of the sliding element. The update of the higher value endpoint can be based on the speed and position of the sliding element. Alternatively or additionally, the update of the higher value endpoint can be based on the speed and distance traveled by the sliding element. After block 328, the method can proceed to block 332.

[0077] In block 330, the update of the lower value endpoint can be determined based on the speed of the sliding element. The update of the lower value endpoint can be based on the speed and position of the sliding element. Alternatively or additionally, the update of the lower value endpoint can be based on the speed and distance traveled by the sliding element. After block 330, the method can proceed to block 332.

[0078] In block 332, the GUI element may be updated with the updated endpoint value. In some embodiments, updating the GUI element may include presenting the GUI element with the updated endpoint value. In some embodiments, updating the endpoint value of the GUI element may change the scaling of the slider.

[0079] Those skilled in the art will appreciate that for this and other processes, operations, and methods disclosed herein, the functions and / or operations performed may be implemented in a different order. In addition, the functions and operations outlined are provided only as examples, and some functions and operations may be optional, combined into fewer functions and operations, or expanded into additional functions and operations without departing from the essence of the disclosed embodiments.

[0080] For example, in some embodiments, method 300 may not include blocks 306, 308, and 310. Alternatively or additionally, method 300 may not include blocks 312 or 316. In some embodiments, blocks 312, 314, and 316 may be arranged in a different order. For example, block 316 may precede blocks 312 and 314. As another example, in some embodiments, block 318 may follow block 320.

[0081] Figure 4 is a flow chart of an example operation 400 for adjusting a graphical user interface element. The operation 400 may be arranged according to at least one embodiment described in the present disclosure. In some embodiments, the operation 400 may be performed by, for example, Figure 1 and 5 The operation 400 may be performed by a system such as the system 100 and / or 500 of the present invention. In these and other embodiments, the operation 400 may be performed based on the execution of instructions stored on one or more non-transitory computer-readable media. Although shown as discrete blocks, various blocks may be divided into additional blocks, combined into fewer blocks, or eliminated depending on the desired implementation.

[0082] Operation 400 can start at block 402, where a graphical user interface element can be presented. The graphical user interface can include an adjustable element that is configured to be moved to adjust the selection of a value between a first end value and a second end value. In some embodiments, the first end value and the second end value can be presented in the graphical user interface element. In some embodiments, the graphical user interface element can include a slide bar. In these and other embodiments, the adjustable element can be a sliding element that slides along a line with a value between the first end value and the second end value on the slide bar.

[0083] In some embodiments, in response to movement of the adjustable element to adjust the selection of the value, operations 400 may also include blocks 404 , 406 , 408 , 410 , 412 , and 414 .

[0084] In block 404, a distance that the adjustable element moves in the graphical user interface element may be obtained. In block 406, a time of movement of the adjustable element may be obtained.

[0085] In block 408, the position of the adjustable element after the adjustable element is moved may be obtained. In block 410, a first end value to be adjusted may be selected based on the distance, time, and position of the adjustable element. The first end value may be a selected end value.

[0086] In block 412, an updated endpoint value may be determined based on the selected endpoint value, the distance, and the time. In block 414, the updated endpoint value may be presented in the graphical user interface element in place of the selected endpoint value.

[0087] Those skilled in the art will appreciate that for this and other processes, operations, and methods disclosed herein, the functions and / or operations performed may be implemented in a different order. In addition, the functions and operations outlined are provided only as examples, and some functions and operations may be optional, combined into fewer functions and operations, or expanded into additional functions and operations without departing from the essence of the disclosed embodiments.

[0088] For example, in some embodiments, operation 400 may further include determining a second updated endpoint value based on the second endpoint value, the distance, and the time. Operation 400 may further include presenting the second updated endpoint value in the graphical user interface element in place of the second endpoint value.

[0089] Alternatively or additionally, in response to the position of the adjustable element corresponding to a position value approximately mid-third between the first end value and the second end value, operation 400 may further include selecting the second end value to be adjusted.

[0090] In some embodiments, operation 400 may further include determining a speed of the adjustable element when the adjustable element moves based on the distance and time. In these and other embodiments, when the speed is less than a threshold, the first end value may be a value lower than the second end value, and when the speed is greater than the threshold, the first end value may be a value higher than the second end value.

[0091] In some embodiments, after presenting the updated end value in place of the selected end value in the graphical user interface element, operation 400 may also include obtaining a second movement of the adjustable element to further adjust the selection of the value. In these and other embodiments, the selection of the value is constrained between the updated end value and the second end value.

[0092] In some embodiments, the movement of the adjustable element to adjust the selection of the value can be performed along the line of the slide bar included in the graphical user interface element. In some embodiments, the graphical user interface element can also include a plurality of value display elements adjacent to the slide bar. In these and other embodiments, in response to the movement of the adjustable element away from the line to one of the plurality of value display elements, operation 400 can also include adjusting the selection of the value to the value of one of the plurality of value display elements. In some embodiments, the value of the one of the plurality of value display elements and the values ​​of the other value display elements in the plurality of value display elements are between a first end value and a second end value.

[0093] Figure 5 Another example system 500 configured to adjust a graphical user interface element is shown. The system 500 can be arranged according to at least one embodiment described in the present disclosure. The system 500 may include any suitable system, device, or apparatus configured to adjust a GUI element. The system 500 may include a processor 510, a memory 520, a data storage device 530, a communication device 540, and a user interface unit 550, all of which may be communicatively coupled.

[0094] In general, processor 510 may include any suitable special or general purpose computer, computing entity, or processing device including various computer hardware or software modules, and may be configured to execute instructions stored on any applicable computer-readable storage medium. For example, processor 510 may include a microprocessor, a microcontroller, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or any other digital or analog circuit configured to interpret and / or execute program instructions and / or process data.

[0095] Despite Figure 5Although shown as a single processor in the figure, it should be understood that the processor 510 may include any number of processors distributed over any number of networks or physical locations, which are configured to perform any number of operations described herein individually or collectively. In some embodiments, the processor 510 can interpret and / or execute program instructions and / or process data stored in the memory 520, the data storage device 530, or the memory 520 and the data storage device 530. In some embodiments, the processor 510 can obtain program instructions from the data storage device 530 and load the program instructions into the memory 520.

[0096] After loading the program instructions into the memory 520, the processor 510 may execute the program instructions. For example, the system 500 may be Figure 1 In these and other embodiments, the instructions may include the processor 510 instructing the display 132 to display the GUI element 140. Alternatively or additionally, the processor 510 may determine the movement of the adjustable element 146 and update the first end value 142 and / or the second end value 144 based on the movement determination.

[0097] The memory 520 and the data storage device 530 may include a computer-readable storage medium or one or more computer-readable storage media for carrying or having a computer-executable instruction or data structure stored thereon. Such a computer-readable storage medium may be any available medium that can be accessed by a general-purpose or special-purpose computer (e.g., processor 510). As an example and not limitation, such a computer-readable storage medium may include a non-temporary computer-readable storage medium, including a random access memory (RAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a compact disk read-only memory (CD-ROM) or other optical disk storage disk storage or other magnetic storage device, a flash memory device (e.g., a solid-state storage device), or any other storage medium that can be used to carry or store the required program code in the form of a computer-executable instruction or data structure and can be accessed by a general-purpose or special-purpose computer. The above combination may also be included in the scope of the computer-readable storage medium. Computer-executable instructions may include instructions and data configured to cause the processor 510 to perform a specific operation or a set of operations, such as one or more operations 400 or one or more blocks in method 300.

[0098] The communication device 540 may include any component, device, system, or combination thereof configured to send or receive information over a network. In some embodiments, the communication device 540 may communicate with other devices at other locations, in the same location, or even with other components within the same system. For example, the communication device 540 may include a modem, a network card (wireless or wired), an infrared communication device, a wireless communication device (such as an antenna) and / or a chipset (such as a Bluetooth device, an 802.6 device), (e.g., a metropolitan area network (MAN)), a WiFi device, a WiMax device, a cellular communication facility, etc.), and / or the like. The communication device 540 may allow data to be exchanged with a network and / or any other device or system described in the present disclosure. For example, if the system 500 includes Figure 1 In the host system 120, the communication device 540 can allow the host system 120 to communicate with the host system 120 through Figure 1 The network 110 communicates with the device 130.

[0099] User interface unit 550 may include any device that allows a user to interface with system 500. For example, user interface unit 550 may include a mouse, a track pad, a keyboard, a touch screen, and other devices. User interface unit 550 may receive input from a user and provide the input to processor 510. For example, user interface unit 550 may be Figure 1 1. The present invention is an example of a user interface device 134. Modifications, additions, or omissions may be made to the system 500 without departing from the scope of the present disclosure.

[0100] As mentioned above, the embodiments described herein may include the use of a special purpose or general purpose computer (e.g., Figure 5 510), as discussed in more detail below. In addition, as described above, the embodiments described herein may use computer-readable media (e.g., Figure 5 The memory 520 or data storage device 530) is implemented.

[0101] In some embodiments, the various components, modules, engines, and services described herein may be implemented as objects or processes executed on a computing system (e.g., as separate threads). Although some of the systems and methods described herein are generally described as being implemented in software (stored on and / or executed by general-purpose hardware), specific hardware implementations or combinations of software and specific hardware implementations are possible and contemplated.

[0102] The terms used herein, especially in the appended claims (e.g., the bodies of the appended claims), are generally intended to be “open” terms (e.g., the term “comprising” should be interpreted as “including but not limited to,” the term “having” should be interpreted as “having at least,” the term “including” should be interpreted as “including but not limited to,” etc.)

[0103] Additionally, if a specific number of claim recitations is intended to be introduced, such intent will be explicitly stated in the claim, and in the absence of such a recitation, such intent is not present. For example, to aid understanding, the following appended claims may contain the use of the introductory phrases "at least one" and "one or more" to introduce claim recitations. However, the use of these phrases should not be interpreted as implying that the introduction of a claim recitation by the indefinite article "a" or "an" limits any particular claim containing such introduced claim recitation to embodiments containing only one such recitation, even when the same claim includes the introductory phrases "one or more" or "at least one" and an indefinite article such as "a" or "an" (e.g., "a" and / or "an" should be interpreted as "at least one" or "one or more"); the same is true for the use of definite articles used to introduce claim recitations.

[0104] Additionally, even if a specific number of an introduced claim recitation is explicitly recited, one skilled in the art will recognize that such a recitation should be interpreted to mean at least the recited number (e.g., a mere recitation of "two recitations," without other modifiers, means at least two recitations, or two or more recitations). Moreover, in those instances where a convention similar to "at least one of A, B, and C, etc." or "one or more of A, B, and C, etc." is used, as described above, such a construction is generally intended to include: only A, only B, only C, A and B together, A and C together, B and C together, or A, B, and C together, etc. For example, the use of the term "and / or" is intended to be interpreted in this manner.

[0105] Furthermore, any disjunctive word or phrase, whether in the specification, claims, or drawings, that presents two or more alternative terms should be understood to include the possibility of one, either, or both terms. For example, the phrase "A or B" should be understood to include the possibilities of "A" or "B" or "A and B."

[0106] However, the use of these phrases should not be construed as implying that the introduction of a claim recitation by the indefinite article "a" or "an" limits any particular claim containing such a claim recitation to embodiments containing only one such recitation, even when the same claim includes the introductory phrases "one or more" or "at least one" and an indefinite article such as "a" or "an" (e.g., "a" and / or "an" should be construed as "at least one" or "one or more"); this is also true with the use of definite articles used to introduce claim recitations.

[0107] In addition, the use of the terms "first", "second", "third", etc. in this document is not necessarily used to indicate a specific order. Generally, the terms "first", "second", "third", etc. are used to distinguish different elements. If there is no indication that the specific terms "first", "second", "third", etc. indicate a specific order, these terms should not be understood as indicating a specific order.

[0108] All examples and conditional language stated herein are intended to be used as teaching objects to help readers understand the present disclosure and the concepts provided by the inventors for advancing the technology, and should be interpreted as not being limited to these specific stated examples and conditions. Although the embodiments of the present disclosure have been described in detail, it should be understood that various changes, substitutions and modifications may be made thereto without departing from the spirit and scope of the present disclosure.

Claims

1. A computer-implemented method for adjusting a graphical user interface element, the method comprising: presenting a graphical user interface element including a slide line extending between a first end value and a second end value in the graphical user interface element; Present adjustable elements on a sliding line; In response to the moving speed of the adjustable element along the sliding line, selecting whether to adjust the first end value or the second end value includes: Determines the movement speed of adjustable elements; If the speed is lower than the threshold, the first end value is selected for adjustment, and if the speed is higher than the threshold, the second end value is selected for adjustment; determining an adjusted endpoint for the selected endpoint; and The adjusted endpoint value is presented in the graphical user interface element in place of the selected endpoint value.

2. The computer-implemented method of claim 1 , further comprising obtaining a distance that an adjustable element in the graphical user interface element moves, wherein a first end value is selected based on time and distance, and wherein an adjusted end value is determined based on the selected end value, the distance that the adjustable element moves, and the time that the adjustable element moves.

3. The computer-implemented method of claim 1 , wherein the graphical user interface element comprises a slide bar and the adjustable element is a sliding element on the slide bar that slides along a line having a value ranging between a first end value and a second end value.

4. A computer-implemented method according to claim 1, wherein the graphical user interface element also includes a plurality of value display elements adjacent to the slide line, and wherein in response to the adjustable element moving away from the slide line to one of the plurality of value display elements, the selection of a value is further adjusted to a value of one of the plurality of value display elements.

5. The computer-implemented method of claim 4, wherein: A value of one of the plurality of value display elements and values ​​of other elements of the plurality of value display elements are between a first end value and a second end value.

6. The computer-implemented method of claim 1 , wherein: The determining of the adjusted endpoint of the selected endpoint is based at least in part on a speed of movement of the adjustable element.

7. The computer-implemented method of claim 1 , wherein: The determining of the adjusted endpoint of the selected endpoint is based at least in part on the position of the adjustable element after the movement.

8. The computer-implemented method of claim 1 , wherein: The determining of the adjusted endpoint of the selected endpoint is based at least in part on a movement distance of the adjustable element or a movement time of the adjustable element.

9. The computer-implemented method of claim 1 , wherein: The first end value is located on the left side of the sliding line, and the second end value is located on the right side of the sliding line.

10. The computer-implemented method of claim 1, wherein: The second end value is located on the left side of the sliding line, and the first end value is located on the right side of the sliding line.

11. A computing device comprising: at least a memory and a processor for performing operations comprising: presenting a graphical user interface element including a slide line extending between a first end value and a second end value in the graphical user interface element; Present adjustable elements on a sliding line; In response to the moving speed of the adjustable element along the sliding line, selecting whether to adjust the first end value or the second end value includes: Determines the movement speed of adjustable elements; If the speed is lower than the threshold, the first end value is selected for adjustment, and if the speed is higher than the threshold, the second end value is selected for adjustment; determining an adjusted endpoint for the selected endpoint; and The adjusted endpoint value is presented in the graphical user interface element in place of the selected endpoint value.

12. The computing device of claim 11, wherein the operation further comprises obtaining a distance that an adjustable element in a graphical user interface element moves, wherein a first end value is selected based on time and distance, and wherein an adjusted end value is determined based on the selected end value, the distance that the adjustable element moves, and the time that the adjustable element moves.

13. The computing device of claim 11, wherein: The graphical user interface element comprises a slide bar, and the adjustable element is a slide element on the slide bar that slides along a line having a value ranging between a first end value and a second end value.

14. A computing device according to claim 11, wherein the graphical user interface element also includes a plurality of value display elements adjacent to the slide line, wherein in response to the adjustable element moving away from the slide line to one of the plurality of value display elements, the operation also includes adjusting the selection of the value to the value of one of the plurality of value display elements.

15. The computing device of claim 14, wherein: A value of one of the plurality of value display elements and values ​​of other elements of the plurality of value display elements are between a first end value and a second end value.

16. The computing device of claim 11, wherein: The determining of the adjusted endpoint of the selected endpoint is based at least in part on a speed of movement of the adjustable element.

17. The computing device of claim 11, wherein: The determining of the adjusted endpoint of the selected endpoint is based at least in part on the position of the adjustable element after the movement.

18. The computing device of claim 11, wherein: The determining of the adjusted endpoint of the selected endpoint is based at least in part on a movement distance of the adjustable element or a movement time of the adjustable element.

19. The computing device of claim 11, wherein: The first end value is located on the left side of the sliding line, and the second end value is located on the right side of the sliding line.

20. The computing device of claim 11, wherein: The second end value is located on the left side of the sliding line, and the first end value is located on the right side of the sliding line.

21. A non-transitory computer readable medium configured to store instructions, which, when executed by one or more processing systems, perform the method of any one of the preceding claims 1-10.

Citation Information

Patent Citations

  • Portable terminal and menu search feedback method thereof

    KR1020090024594A

  • Method and apparatus for determining font attributes

    US7117450B1