Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Add a "Teach" feature #15151

Open
Paul-Etienne opened this issue Apr 27, 2024 · 4 comments
Open

[Feature] Add a "Teach" feature #15151

Paul-Etienne opened this issue Apr 27, 2024 · 4 comments

Comments

@Paul-Etienne
Copy link
Contributor

I'm in an online chess club where the coach is giving stream lessons on YouTube. Most of the time, he's displaying chess positions on Lichess while the students try to find the best moves and type them in the chat.

I had the idea that Lichess could have a teaching page, which could be linked to Lichess clubs or not, where multiple users and an admin would connect and share a chess board. The admin could set up a position and users could move the pieces and submit moves, trying to find the solution. Described like that, it sounds like a shared chess problem. But the admin could see the submissions in real time, along with stats on most played moves. That would give them valuable information to see the most common mistakes to be corrected among the students.

This is the general idea. I don't know if you think this could have its place on Lichess or not.

I've set up a development environment already and started taking a look at the different codebases. I'd be happy to develop this feature (no guarantees though, as most people I have limited time) if you think it has its place on Lichess.

If you agree to this, I would very much appreciate some advices on where to start and a non exhaustive bullet points on things to get done in order to develop this feature. The codebases are quite dense. If you have any resources on the code architecture etc. I'd gladly read them.

@TBestLittleHelper
Copy link
Contributor

This sounds very similar to how Studies already work, tbh.

Are you familiar with the SYNC and REC features that studies offer?

which could be linked to Lichess clubs

Would be #11655 and is sort of the main blocker for big " team / class / livestream " studies like this I think.

@Paul-Etienne
Copy link
Contributor Author

I have to admit I'm not very familiar with the features you describe. But I'm not sure they fit exactly the use case I have in mind.

I'd like the teacher to set a position that all students can see. And then each student can record moves that don't change the actual position that is only managed by the teacher. However the teacher would have a section on the screen where all submissions are visible to them only along with statistics. There could be a button that would make the results visible to students as well if the teacher wants to share the stats.

That's about what I had in mind. Do you think that's achievable with studies alone in their current state or their target state in the future?

@TBestLittleHelper
Copy link
Contributor

I'd like the teacher to set a position that all students can see. And then each student can record moves that don't change the actual position that is only managed by the teacher.

This is very much possible.

However the teacher would have a section on the screen where all submissions are visible to them only along with statistics.

There is chat? And usually, I would expect student submissions to be verbal using a 3rd party program where they are on call with the teacher. But a " guess the move " feature does not exist. It might be interesting, since maybe it has value for broadcasts as well ( studies and broadcast are similar code-wise )

Do you think that's achievable with studies alone in their current state or their target state in the future?

Plenty of coaches and teachers use studies today, so it is already in a very good state. While I do think there is a room for the "stats" feature you mention, I would be wise to point out that the maintainers might say no. Studies are one of the more complicated corners of Lichess and adding complexity to them makes it unlikely to be merged. but if you make a pull request and the code impact is limited I think there is hope. If you are willing to put time into exploring it more, I would suggest using lichess-development in Discord.

PS. Quick guide to try studies

  1. Login to your account and make a study. Make the study unlisted.
  2. Open a new window with guest/incognito mode
  3. With your account, make sure SYCH is on. Make some moves and the other window will see the same position.
  4. REC or Record determines if the moves is saved in the study for later.

@Paul-Etienne
Copy link
Contributor Author

I tried to manipulate Lichess studies. I have to admit I had never done so until now, creating my own study. Now I see that a lot of what I had in mind is already doable in this part of Lichess, which is awesome :)
And the thing is the coach in my club is already using Lichess studies to set up positions to study later on, but he's only screen sharing the positions in the stream and we type variations in the stream's chat.

The thing is, submitting variations this way is pretty cumbersome, and I imagine reading through the variations in the chat for the coach is as well when there are many spectators.
That's why I really believe the only thing that's lacking in Lichess studies right now is the ability for a "member spectator" to submit variations to the teacher. And the teacher would have an area somewhere that displays submitted variations in the most played order for example. That way it would be really easy for him to spot what most people want to (mistakenly?) play, and thus correct the main mistakes people tend to do.

Of course these features would require some design work to get a good user experience, but that should be achievable.

What do you think? Should I pitch this idea on Discord?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants