IP Library › Granted Patent US 10,198,171
Granted Patent B2
US 10,198,171 · App. 15/294,134 · Granted Feb 5, 2019

User interface control for smart range slider

Inventors: Thomas Rinneberg (Schriesheim, DE); Markus Ulke (Heidelberg, DE); Jens Henniger (Mannheim, DE); Hans-Peter Schaerges (Mannheim, DE)
Assignee: SAP SE
G06F3/04847G06F3/0488
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,198,171
App. No.
15/294,134
Granted
Feb 5, 2019
Kind
B2
Abstract

Disclosed herein are system, method, and computer program product embodiments for specifying a desired range of values. An embodiment operates by displaying a range slider bar on a graphical user interface, and iteratively performing several steps. The steps include receiving a new position for a handle on the range slider bar, wherein the new position specifies a first range of values within a second range of values, partitioning the second range of values into a plurality of sub-ranges, wherein each sub-range comprises two boundary values. The steps further include determining a mapping between a set of accessible positions on the range slider bar and a plurality of values within the second range, wherein, for each sub-range, the difference of values assigned to consecutive accessible positions corresponding to the sub-range increases exponentially when moving from a boundary value of the sub-range to another boundary value of the sub-range. The steps also include, in response to identifying that the first range is identical to the desired range, terminating the iterations. At least one of the displaying, receiving, partitioning, determining, and terminating are performed by one or more computers.

Claims (77)

1. A computer-implemented method for specifying a desired range of values, the method comprising:

displaying a range slider bar on a graphical user interface, wherein the range slider bar displays a first range of values including a first maximum and first minimum value for the first range of values, and wherein the range slider includes a first handle and a second handle for determining a second range of values within the first range of values, wherein the first handle indicates a second minimum value for the second range of values and wherein the second handle indicates a second maximum value for the second range of values;

receiving a new position for at least one of the handles on the range slider bar, wherein the new position specifies a new second range of values within the first range of values, including at least one of a new second minimum value or a second maximum value;

partitioning the new second range of values into a plurality of sub-ranges, wherein a first sub-range includes values from the first minimum to the second min, a second sub-range includes values from the second minimum to a midpoint between the second minimum and the second max, a third sub-range that includes values from the midpoint to the second max, and a fourth sub-range that includes values from the second maximum to the first maximum;

determining a mapping between a set of accessible positions on the range slider bar and a plurality of values within the new second range of values, wherein, for each sub-range, a difference of values assigned to consecutive accessible positions corresponding to the sub-range increases exponentially when moving from a boundary value of the sub-range to another boundary value of the sub-range; and

in response to identifying that the first range of values is identical to the desired range of values, terminating;

wherein at least one of the displaying, receiving, partitioning, determining, and terminating are performed by one or more computers.

2. The method of claim 1 , the determining further comprising:

selecting a first sub-range from the plurality of sub-ranges, wherein the first sub-range comprises a first boundary value and a second boundary value;

selecting a first number for accessible positions on the range slider bar corresponding to the first sub-range;

determining a first set of accessible positions corresponding to the first sub-range, wherein a cardinality of the first set is the first number;

for each accessible position within the first set, assigning a value within the first sub-range,

wherein the first boundary value is assigned to a first accessible position within the first set, and the second boundary value is assigned to a second accessible position within the first set,

wherein the difference of values assigned to the second accessible position and an accessible position adjacent to the second accessible position within the first set is one base unit, and wherein the difference of values assigned to the consecutive accessible positions increases by a constant factor when moving from the second accessible position to the first accessible position;

for each sub-range in the plurality of sub-ranges other than the first sub-range:

determining a second set of accessible positions on the range slider bar;

assigning a value to each accessible position within the second set;

wherein the difference of values assigned to consecutive accessible positions within the second set increases by the constant factor when moving from a boundary value of the sub-range to another boundary value of the sub-range;

calculating a total number of accessible positions determined for the plurality of sub-ranges; and

decreasing the first number in response to identifying that the total number is greater than a pre-determined value.

3. The method of claim 2 , wherein the first sub-range covers a maximum number of base units among all sub-ranges.

4. The method of claim 2 , wherein the base unit is adjusted based on the desired range of values within the second range.

5. The method of claim 2 , wherein the value assigned to each accessible position is rounded to the closest base unit.

6. The method of claim 1 , wherein the exponential increase is determined by a constant factor.

7. The method of claim 1 , further comprising:

determining a maximum number of accessible positions on the range slider bar.

8. A system for specifying a desired range of values, comprising:

a memory;

a graphical user interface; and

at least one processor coupled to the memory and configured to:

display a range slider bar on a graphical user interface, wherein the range slider bar displays a first range of values including a first maximum and first minimum value for the first range of values, and wherein the range slider includes a first handle and a second handle for determining a second range of values within the first range of values, wherein the first handle indicates a second minimum value for the second range of values and wherein the second handle indicates a second maximum value for the second range of values;

receive a new position for at least one of the handles on the range slider bar, wherein the new position specifies a new second range of values within the first range of values, including at least one of a new second minimum value or a second maximum value;

partition the new second range of values into a plurality of sub-ranges, wherein a first sub-range includes values from the first minimum to the second min, a second sub-range includes values from the second minimum to a midpoint between the second minimum and the second max, a third sub-range that includes values from the midpoint to the second max, and a fourth sub-range that includes values from the second maximum to the first maximum;

determine a mapping between a set of accessible positions on the range slider bar and a plurality of values within the new second range,

wherein, for each sub-range, a difference of values assigned to consecutive accessible positions corresponding to the sub-range increases exponentially when moving from a boundary value of the sub-range to another boundary value of the sub-range; and

terminate in response to an identification that the first range is identical to the desired range of values.

9. The system of claim 8 , wherein to determine the mapping, the at least one processor is further configured to:

select a first sub-range from the plurality of sub-ranges, wherein the first sub-range comprises a first boundary value and a second boundary value;

select a first number for accessible positions on the range slider bar corresponding to the first sub-range;

determine a first set of accessible positions corresponding to the first sub-range, wherein a cardinality of the first set is the first number;

for each accessible position within the first set, assign a value within the first sub-range,

wherein the first boundary value is assigned to a first accessible position within the first set, and the second boundary value is assigned to a second accessible position within the first set,

wherein the difference of values assigned to the second accessible position and an accessible position adjacent to the second accessible position within the first set is one base unit, and wherein the difference of values assigned to the consecutive accessible positions increases by a constant factor when moving from the second accessible position to the first accessible position; and

for each sub-range in the plurality of sub-ranges other than the first sub-range:

determine a second set of accessible positions on the range slider bar;

assign a value to each accessible position within the second set;

wherein the difference of values assigned to consecutive accessible positions within the second set increases by the constant factor when moving from a boundary value of the sub-range to another boundary value of the sub-range;

calculate a total number of accessible positions determined for the plurality of sub-ranges; and

decrease the first number in response to identifying that the total number is greater than a pre-determined value.

10. The system of claim 9 , wherein the first sub-range covers a maximum number of base units among all sub-ranges.

11. The system of claim 9 , wherein the base unit is adjusted based on the desired range of values within the second range.

12. The system of claim 9 , wherein the value assigned to each accessible position is rounded to the closest base unit.

13. The system of claim 8 , wherein the exponential increase is determined by a constant factor.

14. A tangible computer-readable device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations for specifying a desired range of values, the operations comprising:

displaying a range slider bar on a graphical user interface, wherein the range slider bar displays a first range of values including a first maximum and first minimum value for the first range of values, and wherein the range slider includes a first handle and a second handle for determining a second range of values within the first range of values, wherein the first handle indicates a second minimum value for the second range of values and wherein the second handle indicates a second maximum value for the second range of values;

receiving a new position for at least one of the handles on the range slider bar, wherein the new position specifies a new second range of values within the first range of values, including at least one of a new second minimum value or a second maximum value;

partitioning the new second range of values into a plurality of sub-ranges, wherein a first sub-range includes values from the first minimum to the second min, a second sub-range includes values from the second minimum to a midpoint between the second minimum and the second max, a third sub-range that includes values from the midpoint to the second max, and a fourth sub-range that includes values from the second maximum to the first maximum;

determining a mapping between a set of accessible positions on the range slider bar and a plurality of values within the new second range,

wherein, for each sub-range, a difference of values assigned to consecutive accessible positions corresponding to the sub-range increases exponentially when moving from a boundary value of the sub-range to another boundary value of the sub-range; and

in response to identifying that the first range is identical to the desired range of values, terminating;

wherein at least one of the displaying, receiving, partitioning, determining, and terminating are performed by one or more computers.

15. The computer-readable device of claim 14 , the determining further comprising:

selecting a first sub-range from the plurality of sub-ranges, wherein the first sub-range comprises a first boundary value and a second boundary value;

selecting a first number for accessible positions on the range slider bar corresponding to the first sub-range;

determining a first set of accessible positions corresponding to the first sub-range, wherein a cardinality of the first set is the first number;

for each accessible position within the first set, assigning a value within the first sub-range,

wherein the first boundary value is assigned to a first accessible position within the first set, and the second boundary value is assigned to a second accessible position within the first set,

wherein the difference of values assigned to the second accessible position and an accessible position adjacent to the second accessible position within the first set is one base unit, and wherein the difference of values assigned to the consecutive accessible positions increases by a constant factor when moving from the second accessible position to the first accessible position; and

for each sub-range in the plurality of sub-ranges other than the first sub-range:

determining a second set of accessible positions on the range slider bar;

assigning a value to each accessible position within the second set;

wherein the difference of values assigned to consecutive accessible positions within the second set increases by the constant factor when moving from a boundary value of the sub-range to another boundary value of the sub-range;

calculating a total number of accessible positions determined for the plurality of sub-ranges; and

decreasing the first number in response to identifying that the total number is greater than a pre-determined value.

16. The computer-readable device of claim 14 , wherein the first sub-range covers a maximum number of base units among all sub-ranges.

17. The computer-readable device of claim 14 , the displaying the range slider bar on the graphical user interface further comprising:

displaying a plurality of labels on the range slider bar, wherein each label corresponds to an accessible position and a value assigned to the accessible position.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2016
From: RINNEBERG, THOMAS; ULKE, MARKUS; HENNIGER, JENS; SCHAERGES, HANS-PETER
To: SAP SE
Reel/Frame 040075/0958 →
Continuity (1)
Related Publication 20180107367A1 · Apr 19, 2018
Cited By (1)
US 12,613,611