duolicious / duolicious-frontend

The frontend of the Duolicious dating app
https://duolicious.app/
GNU Affero General Public License v3.0
32 stars 12 forks source link

#269: Use logarithmic scaling for distance selection #295

Closed gonnaduobitofhelping closed 2 months ago

gonnaduobitofhelping commented 2 months ago

Distance selection now uses logarithmic scaling. I tested different scaling methods and found that logarithmic scaling with a low base value (<= 2.0) gives the best results. Anything under 2.0 as the base value works fine and tweaking it doesn't make much of a diffference, I went with 1.5 as a good middle ground.

Low distances can now be adjusted with a high precision while high distances have a low precision. I think this is fine since the difference between 9900 and 10000 has a lower significance to users than the difference between 100 and 200, for example.

I implemented this in a way that makes it easy to add other scaling methods to sliders, should they be needed. By default, the old behaviour (linear scaling) is used. I decided not to change the age sliders since linear scaling makes more sense there to me.

duogenesis commented 2 months ago

Thanks for this PR. I'll check it out and test it shortly