ArneVogel / listudy

Listudy - chess training server
https://listudy.org
GNU Affero General Public License v3.0
292 stars 45 forks source link

Progress/study history is saved on browser #146

Closed kperilla closed 1 year ago

kperilla commented 1 year ago

Currently it seems as though all progress except favorited studies (achievements, study history, progress in each study) is saved in the browser. Progress is not saved between multiple browsers or devices, and if you clear your cookies/session, all your progress is lost. This seems antithetical to the whole point of spaced repetition, if you have to start all over so frequently.

The application would be much more usable if this were saved based on the user on the server-side vs browser-side. I assume it is the way it is to save on costs for this free site, but this is just the most glaring issue I've found.

Apart from solutions that require a pricing model, maybe there's an online service that a user can link to their account to save progress across sessions. In my head such a service has these features:

But that's just my initial thoughts, I'm more concerned with functionality rather than the specific implementation

Is this being looked into/has been looked into?

ArneVogel commented 1 year ago

Hey,

if you have to start all over so frequently.

How often does that occur with your use case? The storage medium used for Listudy has no expiration date unless you manually clear the session [1].

The choice of not storing the data on the server was more a privacy over cost decision. The cost of saving the data would be negligible as its only a few kilobyte per user as most. However, I want to store as little as possible about users on the server for privacy considerations. Not that this is particularly sensitive information but this is how I prefer it.

[1] https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

kperilla commented 1 year ago

Thank you for the reply! I think this is one of those cases where it would just be better to fork the repo and see what i can do for my own purposes (once I decipher Elixir haha). My opinion is that the tradeoff for browser syncing and data reliability of taking history off the browser far outweighs the data risk of storing such info. Especially if there’s a log in feature, storing that user information is orders of magnitude more sensitive than chess opening history. I will close the issue.