Skip to content

Replace rowing sliders with numeric inputs (min/max hints)#5

Closed
kasary wants to merge 2 commits intoAbasz:masterfrom
kasary:feature/rowing-inputs
Closed

Replace rowing sliders with numeric inputs (min/max hints)#5
kasary wants to merge 2 commits intoAbasz:masterfrom
kasary:feature/rowing-inputs

Conversation

@kasary
Copy link
Copy Markdown

@kasary kasary commented Feb 21, 2026

Summary

  • Replace sliders in the Rowing tab with numeric input fields
  • Show explicit min/max hints for each value

Motivation

Sliders are especially frustrating to use on smartphones and make precise values hard to enter.
They are also difficult to read when discussing settings on GitHub, because exact values
are not immediately visible and require extra effort to extract.

@Abasz
Copy link
Copy Markdown
Owner

Abasz commented Feb 22, 2026

Thanks for the contribution. While I understand where you are coming from and what the aim is there are several reasons why these free inputs are unfit for the purpose we would be using them for.

There is a very important thing that sliders are good at, namely that they naturally perfect for constraining user input. The issue is that while on the surface you see the right numbers if you look at ESPRM BLE protocol documentation you should notice that they use different scales for the values while sent over BLE. This is due to the limited bandwith that some devices may have (its a protocol limitation).

So for instance we are not sending goodness of fit or minimumPoweredTorque as float but for the former as unsigned char (with a resolution of 255) the later as signed short value (with resolution of 10000). Any value that is between two steps will be changed. Then we have the drive and recovery time limits which have a resolution of 4,095.

Free inputs like the one you propose do not constrain the user sufficiently. So this proposal as is will not work.

But since our discussion I have been thinking about this and I might have some ideas but I have to think through which can be better fitted. It is clear that a +/- button or something needs to be added so you can fine tune the value. I totally agree with that now (though you need to understand that these settings will be shoot and forget so it is not like you will fiddle with it every time you row).

There is this one.

image

Pro is that we can keep the validation basically purely on the slider
Con is that sliders require more space especially with the buttons, and we need to think about how and where to show the value

A stepper input control:
image

Pro it is very clear what the value is precise stepping is easy, and it requires much less space horizontally
Con if we allow manual input into the field on blur we need to snap it to the nearest valid value which might feel confusing "why did this value change from what I have set?" , if we do not allow editing only the button user must click for eternity (I could add a long press which increase the increment).

Scroll wheel picker:
image

Pro it is intuitive as it is used in many place on phone
Con when you have a decimal resolution of 10,000 you will scroll for life :D Garmin used have this like that and it is utterly irritating :D

I am leaning towards the slider with buttons and showing either the valid range properly (so user can visualise that I am half way between 50 and 200 so I am around 125) and then fine tune value with the buttons that would show the slider thumb with the value permanently. The only thing that needs to be seen is how this new type of control will fit in the dialog box properly.

What do you think?

@kasary
Copy link
Copy Markdown
Author

kasary commented Feb 23, 2026

Changed it

image

Perhaps that's simple enough? And it doesn't waste any screen space. As you already wrote, it's more of a one-time setup.

  • Updated all 8 sliders in the Rowing tab.
  • Each slider now shows the current value on the right and a Min/Max range line below (GoF shown as percent).
  • Removed slider tooltips and the discrete popup dot.

@Abasz
Copy link
Copy Markdown
Owner

Abasz commented Feb 24, 2026

Actually I quite like that, it may need a bit of polish but I think its a good basis thanks you!

Obviously it would be better to show the value permanently on the slider thumb but I think Material does not allow that out of the box and also there is not enough space to show longer values...

Do you think the min-max is necessary if we show the exact value? I mean the slider would constrain and when you start pulling it will give you instant feed back (we would need to add the unit actually like %, or sec or ms or something)

I will try to have a look and fiddle with it over the weekend.

@Abasz
Copy link
Copy Markdown
Owner

Abasz commented Feb 25, 2026

One more question sorry: Do you miss the fine tune adjusting buttons in this case?

I mean from a user usage perspective. Is it ok that you can only set via the slider and you are not allowed to do one step increment decrement (fine stepping)?

here is my idea: What if we permanently show the thumb with the value and we add a plus and minus at each end of the slider. I will need to see if angular material slider allows this out of the box, if not than probably I will need to do some css overriding but that is ok :D

@kasary
Copy link
Copy Markdown
Author

kasary commented Feb 26, 2026

Hi, I don't miss it. I tried adding it, but that makes the space for the actual slider even smaller, which I think makes it even harder to use.

@Abasz
Copy link
Copy Markdown
Owner

Abasz commented Mar 3, 2026

I see now why you are saying the sliders are short... there is a bug in the media queries because on smaller screen all sliders and input boxes should take full row... not sure what is going on but I will fix this.

On the value display:
image

I plan to show the value in the title, that way it does not take space.

Abasz added a commit that referenced this pull request Apr 8, 2026
Improve the slider interaction on smaller screens by making them full
length on mobile devices as well as show the value set permanently in
the label to improve feedback to the user. This commit essentially
addresses the issues raised in PR #5 (but without reducing slider space
with the value).
@Abasz
Copy link
Copy Markdown
Owner

Abasz commented Apr 9, 2026

Thanks for your help.

@Abasz Abasz closed this Apr 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants