← Back to context

Comment by amluto

1 day ago

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.