BangleApps icon indicating copy to clipboard operation
BangleApps copied to clipboard

Discussion: HW buttons should act on `'rising'` edge

Open thyttan opened this issue 8 months ago • 25 comments

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

thyttan avatar May 27 '24 21:05 thyttan