Comment by jaredklewis
1 day ago
Maybe I misunderstood something, but I can't find anything in your comments that identifies a flaw with the underlying data model of Anki. It seems your issues are mostly about Anki's data management?
So I would strongly suggest your check out anki-connect (https://git.sr.ht/~foosoft/anki-connect) which provides a REST API for CRUD operations on Anki notes, cards, decks, and media attachments.
Or maybe if you can share in a little more detail on what you are studying, the format of the data, and the exact way that your attempted workflow is breaking down with Anki, I'd be surprised if no one had suggestions for making it work.
Edit: also, to answer a question in your initial post, is there a better SRS tool out there? I've never found anything. For all its warts and flaws, Anki is good where it matters, extensible enough to support pretty much all use cases, and has excellent data portability.
Maybe "data model" is the wrong term.
The last time I tried to use Anki for real, I wanted to set up some Chinese character cards, to be used by 2-3 different people. I found a couple apparently high-quality decks online and downloaded them, and they had lots of characters, including (mostly) ones that I didn't want to include for the users in question. Removing content from the decks seemed wrong. Trying to make an actual practicable system with just the specific templates I wanted seemed unnecessarily complex (these decks had lots of fields in the notes, which is great, but I didn't want to use all of them). And actually getting the result to work for multiple users seemed like an exercise in poor maintainability -- I wanted to maintain and curate the set of notes and be able to update what each user was studying as needed.
As the very most basic failure, Anki barely separates the concept of a "deck" in the sense of a set of notes from a "deck" in the sense of that which a particular person is studying. And I found that to be quite limiting.
What I think I wanted was a collection of notes, where each note would perhaps have an id and a bunch of fields and their associated media. That collection should be copyable and ideally version controlled. And I wanted to create study sets that would reference the notes, select a subset of them and a subset of the possible templated cards, and track the study statistics.
I see. Unfortunately I don't know much about the area of using anki in a classroom setting or in case like yours where you want to manage the cards of other students, as I have only ever used it for self study. However, I know that using it in a teacher/student setup is not unusual, so there may be good information out there. Edit: Maybe checkout https://www.ankicollab.com/
In terms of updating decks, I think the way it works is pretty intuitive: you have one static field (like in your Chinese example, maybe a particular character or word). When re-importing into a deck, as long as that one static identifying field is the same, all the other fields will be updated. If you want to even be able to change the character/word/whatever, you could make that static field an ID or such.
Also, it is a pretty common pattern for shared decks to come with gobs of cards. You then suspend all of them (sometimes they all come pre-suspended) and then unsuspend the ones you want to study, usually using tags. For example you download the 20k JLPT (Japanese Language Proficiency Test) Vocab deck, suspend them all, then unsuspend only the levels you want to study (say level 1 or whatever) or those tagged as being very common, or whatever. So imagine what you want to accomplish is probably possible with suspension and tags. Like assigning a tag for each student name or such.
Anki is definitely a power tool, like Photoshop or Neovim. It is generally confusing to use and requires some investment. And there is plenty about it I don't like (media management stands out). But like I said in my previous post, I've never found another tool that even comes close.
@jaredklewis I’d love to know if you have a way to fix the pain points amluto described. I’ve had some of the same struggles with this, in particular when making a deck that I wanted my kids to each be able to use individually, but also be able to keep updating. It seemed like a lot of work every time I wanted to make any change to the deck. This was a few years ago and I don’t remember the details, but it’d be great to know if there’s some streamlined way to keep editing a deck and have the updates show up for multiple users, kind of like they are subscribed to it. I bet there is a way to do this, and I just didn’t figure it out.
I just replied to the parent, but maybe checkout https://www.ankicollab.com/
Never used it, as I've only ever used anki for self study, but it seems like it might be good for your use case?