franciscoBSalgueiro / en-croissant

The Ultimate Chess Toolkit
https://encroissant.org
GNU General Public License v3.0
619 stars 77 forks source link

Rework of repertoire practice mode #58

Closed garbidge closed 7 months ago

garbidge commented 1 year ago

Suggestion to rework the practice mode to use a spaced repetition algorithm that factors in things like date solved to determine when positions should next be reviewed. A common one is SM-2 (example implementation: https://github.com/Maxvien/supermemo)

IMO the current workflow is a little clunky as well with needing to click on "Practice next position" / "Practice random position" after each position.

I can try adding this at some point if you would be happy with the change

franciscoBSalgueiro commented 1 year ago

Yes that would be great!

Do you think it would be better to move automatically to the next position when you get the move right?

Another problem is that I think it's not super obvious the feature even exists, as you have to mark a file as a Repertoire in order to see the practice options.

garbidge commented 1 year ago

Do you think it would be better to move automatically to the next position when you get the move right?

Yeah I'd prefer it that way, I think its more similar to how other training modes work in chess websites

Another problem is that I think it's not super obvious the feature even exists, as you have to mark a file as a Repertoire in order to see the practice options.

Some ideas:

franciscoBSalgueiro commented 1 year ago

Those are excellent ideas. That first one would make a lot of sense combined with the spaced repetition algorithm.

MrPiada commented 8 months ago

It looks to me that this part of the software is not quite developed, am I right ? I'm asking this kindly to avoid opening issues on that specific stuff. If you prefer to have precise feedbacks I'm happy to document them and opening issues and discussing UX related choices.

franciscoBSalgueiro commented 8 months ago

Please do, I want to improve this in the future.

MrPiada commented 8 months ago

I'm using this simple pgn as test:

[Event "?"]
[Site "?"]
[Date "????.??.??"]
[Round "?"]
[White "?"]
[Black "?"]
[Result "*"]
[Orientation "white"]

1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. b4 Bxb4  (4... Bb6  5. a4 a5 6. b5) 5. c3 Bc5 6. d4 exd4 7. O-O *

UX improvements

Usage

I understood that the user should:

To me this is quite unusable or at least very slow cause of the very high number of clicks needed. I think that the user experience should be the one implemented in chessable where you have a line and the user takes a part (black or white) and execute its move while the other part is automatically executed just following the line answers. Some remarks/improvement on this journey:

regarding the practice mode would be pretty funny to color each node of this tree respect to the success/attemp ration in guessing the move so the immediately one can visualize where he/she making more mistakes in learning the repertoire

BUG:

Here:

Screenshot 2024-02-17 alle 15 47 08

if I click on "practice next position" the knight goes back on the g1 square, I move it to f3 and press the "practice next position" but knight still goes to g2 and I'm not moving along with the variation.