lichess-org / lila

♞ lichess.org: the forever free, adless and open source chess server ♞
https://lichess.org
GNU Affero General Public License v3.0
15.03k stars 2.23k forks source link

Auto-scrolling move list on analysis board unwanted and broken #10864

Closed JakeQZ closed 2 years ago

JakeQZ commented 2 years ago

Exact URL where the bug happened

Any analysis board

Steps to reproduce the bug

  1. Click a move by black in the middle of the visible list of moves.
  2. Click the next move by white.

What did you expect to happen?

Nothing other than next position in game being displayed on board.

What happened instead?

Move list scrolled up, and a bunch of moves were highlighted in blue as being my 'selection' (as in for copy-and-paste).

Operating system and browser version

Windows 10, Firefox latest.

Please see https://lichess.org/forum/lichess-feedback/automatic-scrolling-of-move-list-on-analysis-board

This explains why your current scrolling implementation is terrible UX.

It would be a lot better if you didn't bother to auto-scroll, and let users scroll themselves as needed.

niklasf commented 2 years ago

The selection definitely sounds like a bug. But I don't think we should entirely remove the autoscroll. What about navigation by keyboard, or by playing moves, or by jumping to a blunder?

JakeQZ commented 2 years ago

I don't think we should entirely remove the autoscroll.

In the forum post I suggested autoscroll should only happen if you click a move near the top or bottom of the move list.

What about navigation by keyboard, or by playing moves, or by jumping to a blunder?

IDK about any of these.

JakeQZ commented 2 years ago

I will add that everyone I've spoken to finds the current behaviour to be a total PITA. Therefore it needs fixing.

JakeQZ commented 2 years ago

A quick fix would be to disable autoscroll, until a better implementation can be found. Even idiots know how to use a scroll bar, so autoscroll is not necessary.

If this were to be behind an option, the default should be no autoscroll. It's a fancy feature, but totally unnecessary, unwarranted, of little value, and, given that it has been poorly implemted and not properly tested, not fit for release - so why was it released?

schlawg commented 2 years ago

A better quick fix is to use the next move button or the right arrow key to advance when you just want to focus on the board (as niklasf suggests). I have no love for autoscroll either but clicking on the move list is not the best way to advance through the game in plies.

I cannot reproduce the selection bug on Safari, Chrome, or Firefox. It only happens when I move the cursor while the left button (or trackpad) is down. Can you provide more details to help reproduce?

JakeQZ commented 2 years ago

I cannot reproduce the selection bug on Safari, Chrome, or Firefox. It only happens when I move the cursor while the left button (or trackpad) is down. Can you provide more details to help reproduce?

Interesting, I'm also finding there is no longer an issue now unless the mouse is actually moved, whereas previously it was reproducible 100%. I suspect something has been changed that somehow addresses this, perhaps in Firefox (now just updated to version 100.0, though I can't see anything likely in the release notes - maybe there has been a subtle change to the timing of events).

There's still an issue if the mouse is accidentally moved even just one pixel, and of course if you actually did actually want to select something in the move list, that would be problematic, because the scrolling occurs before the mouse button is released.

JakeQZ commented 2 years ago

A better quick fix is to use the next move button or the right arrow key to advance when you just want to focus on the board (as niklasf suggests). I have no love for autoscroll either but clicking on the move list is not the best way to advance through the game in plies.

Typically when reviewing a game, one wants to jump to specific moves, and also step through the moves. Having to use two different UI methods to do so requires unnecessary congnitive effort. So I disagree.

schlawg commented 2 years ago

Fair enough... Unfortunately, everyone you've talked to saying it's crap is still anecdotal. If only there was an easy way we could poll a lot of users and find out whether it should stay or go...

JakeQZ commented 2 years ago

If only there was an easy way we could poll a lot of users and find out whether it should stay or go...

Or make it an option, which sticks. I wouldn't necessarily suggest cluttering the UI here. But neither would I suggest storing it in a cookie which would necessarily expire (though I suppose you could set an expiry time of 100 years in advance). OTOH, storing it in account settings means it would be the same across all devices, and it's possible one might prefer a different setting on e.g. phone vs desktop.

PokerStars has a lot of options (e.g. having diamonds blue instead of red, clubs green instead of black) which are stored in the system's user profile, but it is an full-blown app not a web app. I don't know if the Storage API has access to this. If it does, that would be the ideal place.

JakeQZ commented 2 years ago

The attached screen capture shows the selection issue is still a problem. Pretty sure the mouse doesn't move, but you'd have to inspect it closely to be sure. But even if the mouse does move, it's still an issue, because we shouldn't be required to hold the mouse perfectly still when clicking.

https://user-images.githubusercontent.com/15205088/168188909-4c619845-8b1a-4564-b4dd-71d0bcaeeda5.mp4

schlawg commented 2 years ago

Well, if it were up to me I'd lean towards removing autoscroll on clicks altogether as mouse wheels have been a thing since like.. 1996. But I am not versed on the reasons for its inclusion. One person's annoyance is sometimes the best (or only) way another person can physically use a feature, and the auto-scroll might have an accessibility or workflow benefit to some minority that is important to lichess.

I'll find out. Thanks for your patience.

schlawg commented 2 years ago

This can be closed.

niklasf commented 2 years ago

Thanks for the patch.

JakeQZ commented 2 years ago

From what I understand, in the end, no changes were made on the grounds that

people ... don't like changes

schlawg commented 2 years ago

I tried to gather user feedback on this behavior, but nobody seemed to care. (Here's another subtle hint - maybe an explicit poll would have gathered at least some data?)

Thanks for taking this as far as you could. Don't let the outcome discourage you from pointing out bugs or other areas where lichess can be improved.

JakeQZ commented 2 years ago

people ... don't like changes

But neither do people like software that is cumbersome and difficult to use.

Please see the newly attached video which illustrates the problem when navigating between sub-lines, for which the big navigation buttons are not applicable:

https://user-images.githubusercontent.com/15205088/175407710-39c2f6dc-2643-450f-b64b-ed6adad60feb.mp4

The problem occurs if the mouse is moved ever-so-slightly at the time of clicking, and is a consequence of the auto-scroll not being robustly implemented. Normally when clicking, even if the mouse moves slightly at the time of clicking, there are no side effects. They way auto-scroll has been implemented gives unwanted side effects in this situation.

Therefore I contend this is a genuine UI bug. If auto-scroll is to be retained, it needs to deal with this UX issue, by somehow preventing mousemove events leading to a selection while it doing the scrolling.

I think this should be re-opened, or a separate bug created for the implementation issue.

JakeQZ commented 1 year ago

Even if I remember to use the step navigation between moves, sometimes I want to skip a few moves back or forward, by clicking in the move list.

In that case, this bug prevails horribly. Please re-open.