BangleApps
BangleApps copied to clipboard
Discussion: HW buttons should act on `'rising'` edge
I recently watched "Theo - t3.gg" discuss a twitter post from John Carmack talking about using edge 'rising'
vs 'falling'
and user experience. The take home message being to act on the 'rising'
edge when it's possible. Here's the video: https://www.youtube.com/watch?v=yaMGtiPckAQ
In the name of responsivness I wonder if it would make sense to adhere to this way of thinking when programming the hardware button on the Bangle.js.
I have personally made changes from 'rising'
to 'falling'
edge responses as to not leave a 'falling'
edge for a subsequent screen to pick up - I was seeing some bug related to this (one reference). Now I find myself wanting to go the other way.
To avoid unexpected/unwanted interactions on a left over 'falling'
edge, could some default behaviour of disregarding just the 'falling'
edge event if it occurred within a short time after the setWatch
was called be implemented? If not in setWatch
then maybe in setUI
? Or could this be solved by changing the default of reacting on 'both'
to instead use 'rising'
?
Really I just wanted to discuss if others also thinks this is worthwhile. Maybe it's a lot of work, complicating the logic and not backwards compatible. But I want as much snappiness as possible out of the watch! :P