Spaced repetition systems have gotten better
(domenic.me)883 points by domenicd a day ago
883 points by domenicd a day ago
> There are almost no standalone tools dedicated to creating flashcards easily from existing programs
I think this is a common misunderstanding. Half the benefit of SRS comes from working out what the flashcards are. You have to circle around a concept, look for similarities, differences, examples, generalisations, properties, etc.
Is it hard work? Yes. Does it help understanding? Massively.
This is also a very difficult skill which, I believe, is why many people fail to appreciate SRS. They try, write bad flashcards, don't see results, and give up.
EDIT: This also leads to another common misunderstanding, that SRS is only good for memorising facts. With proper elaboration (thanks child comment), it can be used to build understanding of complex subjects too.
> Half the benefit of SRS comes from working out what the flashcards are. You have to circle around a concept, look for similarities, differences, examples, generalisations, properties, etc.
This is at least half true, but among SRS folks it's overstated.
The same argument stands for any creative endeavor.
Debussy had a greater experience than I did with Claire de Lune, because he composed it. In turn, my experience of it is probably greater than the next persons' because I learned it. Bottom of the heap is the lowly listener - but I think everyone would agree that listening is a wonderful way to appreciate music and shouldn't be diminished.
Same for literature, visual arts, etc etc.
The still greater reason that create-your-own has historically dominated for SRS decks is the specific curation aspect. Anything curated by someone else suffers from mismatch with your own intentions and prior knowledge profile.
(Plug time. Like most people, I am building my own grandiose SRS app. Some writing on it is here: http://patched.network )
This looks amazing. I love your description
> …the FOSS lovechild of anki, duolingo, wikipedia, and MathAcadamy, with a more generalized surface area…
I haven’t read much in your blog and the answers are probably there, but what’s the current state? It looks like you’ve done a lot of work on it. Is it in a usable state at this point?
>I think this is a common misunderstanding. Half the benefit of SRS comes from working out what the flashcards are. You have to circle around a concept, look for similarities, differences, examples, generalisations, properties, etc.
Yes. I really get the urge to automate stuff, but imo half of the benefit is from doing the leg work.
You might be right. I remember when I used SRS seriously for language learning, I got far more out of the cards I created painstakingly than the pre-built ones that I pulled off the shelf. That is - I still remember most if not all of the custom cards verbatim.
The quality of a card isn't absolute, it's personalized to the learner. There are ways to make an almost universally bad card (e.g. putting way too much information or a misleading image), but a really "good" card comes from the learner engaging with the material first before making the card.
The program doesn't know what's in the learner's head and what associations the learner will make. That's the benefit of making your own card.
I can see that helping a beginner to get a lay of the land, but I see that as no more than training wheels.
I created bad flashcards for a long time. In the end, I just figured, constantly editing cards when I noticed issues was the best way to learn how to use flashcards properly.
I have just tried this afternoon to create with Gemini 2.5 Pro Anki cards to study for my exams. I've been doing it raw: I just paste the whole material (like 100k worth of tokens) into aistudio and generate the flashcards in txt format.
For now it's going great, and I think that the cards are good enough as they are (there might be a couple here and there that I would remove or edit, but they don't get in the way of learning).
I do this with my kids' "exam review" materials. I'll take a photo of the pages marked "study this for test" and send to Gemini and say "make a test out of this" and it'll create an exam with questions, answers, multiple choice, true/false, fill in the blank, etc.
It's really impressive. So I just tried it to do what you were asking:
> Give me the first three paragraphs of Genji Monogatari in Japanese (I've only done this for an initial seed text; you'd probably instead use your own source text)
Here are the first three paragraphs of Genji Monogatari (源氏物語) in Japanese:
いづれの御時にか、[snip]
> Create spaced learning repetition of those three paragraphs using cloze detection for any word that is not in the top 5000 most common Japanese words
Okay, I can help you create a spaced repetition exercise for those three paragraphs from Genji Monogatari. This will use cloze deletion (fill-in-the-blanks) for words that are generally less common in modern Japanese or are characteristic of classical Japanese. Since I don't have a real-time tool to check against a specific "top 5000 words" list, I'll select words based on common knowledge of Japanese vocabulary and classical forms that would typically be targeted for study.
Please note that the third paragraph you provided contained "тревоしき", which appears to be a transcription error. [This is true. Gemini's first three paras of this novel did contain this transcription error.] I will substitute it with "あさましき" (asamashiki), meaning "shocking" or "deplorable," which fits the context of referencing Yang Guifei and potential societal disruption. If you believe another word was intended, let me know!
What I received was a canvas I can export to Docs, and it begins with:
Genji Monogatari - Spaced Repetition Cloze Exercise This exercise is designed to help you learn and recall less common vocabulary and classical expressions from the beginning of Genji Monogatari.
Paragraph 1 - Cloze Test いづれの ______ にか、______ 、______ あまた ______ たまひけるなかに、いと ______ き際にはあらぬが、すぐれて ______ たまふあり ______ 。はじめより我はと ______ たまへる ______ 、______ ものに ______ そねみたまふ。同じほど、それより ______ の更衣たちは、ましてやすからず。
Paragraph 1 - Answer Key いづれの 御時(おんとき)にか、女御(にょうご)、更衣(こうい)あまた さぶらひたまひけるなかに、いと やむごとなき(やんごとなき)際にはあらぬが、すぐれて 時めき(ときめき)たまふありけり。はじめより我はと 思ひあがり(おもいあがり)たまへる 御方々(おんかたがた)、めざましきものに おとしめ そねみたまふ。同じほど、それより 下﨟(げろう)の更衣たちは、ましてやすからず。
Paragraph 1 - Vocabulary 御時 (おんとき): reign, era (honorific) 女御 (にょうご): Imperial consort of high rank 更衣 (こうい): Imperial consort of lower rank than Nyōgo あまた (amata): many, much (classical) さぶらひ (saburahi): (archaic form of 侍う - saburau) to serve, to be in attendance (humble) やむごとなき (yamugotonaki/yangotonaki): exalted, of very high rank, distinguished (classical)
[it continues the same way with para 2, 3]
The technical term is "elaboration" and it is key to long term retention.
Fair point, please see my comment in response to allenu, in this same thread, for a detailed view.
I did not mean to glaze over this aspect, I am aware this is very important. I can not and do not use AI for automating flashcards for this reason alone. But, I think my point still stands, getting information from one disparate app into another adds a lot of friction (saving it somewhere, copy and pasting and yada yada) to something that (I believe) should be as easy as possible. We have 1 click instant payment, but I can't have 1 click get this into some sort of inbox in Anki ready to flashcard-ify?
To be honest, I have a whole frustration with apps and windows that I'm still trying to word, but fundamentally all we are doing when we are "computing" is moving information around. I wish that information was a first class citizen at the OS level that could be leveraged by any app immediately. Utopian view but this stuff ain't gonna think about itself.
That's usually done by writing and elaborating notes. I think it's not clear to most people how flash cards improve this. The original idea of flash cards is rote memorization of facts that need fast (automatic) retrieval.
I grabbed a set of flashcard for Spanish verb conjugations. The guy had put in a lot of work to get them in the most frequent order, over 3000 lines of python. It been a massive help to me and I am not sure that writing the code to generate the list would really have helped my Spanish too much.
https://www.asiteaboutnothing.net/w_ultimate_spanish_conjuga...
I've written my own flashcards app (Fresh Cards) and once in a while, users ask if there's a way to import flashcards from things like web pages and PDF files, but to be honest, I still don't know how it would work, so maybe you can help me.
From a user standpoint, would it be an interactive process where you highlight things and then click a button to say "turn this into a flashcard", or would it be an automated tool that would scan the content and come up with a list of questions and answers t hat would test the material for you? What criteria would be used to determine what's worth turning into a question and answer? And how granular should the question be? I've seen demos of things that pick out specific facts, like dates or names, from the text to turn into questions, but that might not be that useful to quiz for some material. It seems like a very open-ended process to me, so it would be hard to get right for everyone's needs.
I've tried Fresh Cards so thank you for developing that app, and trying to add cool new software into the space.
Great question. Here's one way to do it:
The first is how clunky the process of going from X to flashcard feels to the end user. One way to deal with the fact that we are crossing software border is to add an extra step where highlighting something allows you to go into an "inbox" before any cards are made. It is clear what the user has to do. They read something interesting, and add it to the inbox. When they are ready, they can head over and only then use some sort of automation (either via custom prompt for an AI or otherwise) to make the cards. This gives them another step, or interface, at which they can decide whether or not the thing they highlighted (since highlighting is easy) is actually worth something. It segments the process into clear easy sections: highlighting, deciding which highlights to flashcardify (and therefore keep), and flashcard review.
It definitely is an open-ended process, and I appreciate that apps need to have a strong opinion on how to direct users from start to finish; but I feel this is definitely possible now with cheap and quick AI.
I didn't answer every question but hopefully that helps somewhat.
I appreciate the detailed answer. That's a really good point about the software boundary and how that adds friction to just creating cards in the first place.
I like the idea of an inbox where you just toss things you think are worth remembering and maybe having a browser plugin or OS shortcut to save highlighted bits of info, but not necessarily creating a flashcard immediately from it. There's definitely some concrete things I can prototype here to try to make that workflow easier. And I can see how taking those tidbits of info and passing them to AI to create flashcards is doable too.
I was an early user of FreshCards, and it’s a beautiful app, but creating cards was too much work. No share sheet or similar integration.
The easiest thing, which I believe I suggested, was highlight->action to create a new card front, and highlight->action to creat the back or a new front. It needs to work well casually in general, and easy when focused.
I’m sure AI could theoretically help but not sure it’s necessary. Part of the benefits of most cards is creating them yourself.
Thanks for the feedback! I'm currently working on a big rewrite of the app, so it's good to know I should work on reducing the friction of creating cards, such as with the share sheet or some other integration.
Like I said in the other comment, I'm going to play around with some ideas regarding an inbox. I think that on its own would help a ton for just recording things to be converted to flashcards later. There's probably a good in-app UI that can be made to go through the inbox and easily convert the notes created into the front and back sides as well.
The macOS services model seems like a good fit for this kind of thing. Services are little bits of context-aware functionality that apps expose to enable integration between apps without active developer involvement. An example, in most Mac apps if you select text, right-click to open the context menu, and open the Services submenu you’ll see a number of services that do something with the highlighted text.
Ideally the SRS app would make services available to facilitate quick creation of new cards, so for example one might highlight some text, right-click, and select Services → New SRS Card… which then opens an in-place lightweight card creator dialog.
I hadn't thought of this; thank you for bringing this up. I will actually read into this. I didn't write it in my original comment, but I almost mentioned the OS because I'm coming round to the idea (albeit slowly) that the OS needs to provide some sort of hook into this capability natively for both maximum adoption and also ease of use (for both developer and end user).
Perhaps Shortcuts are now powerful enough to do this as a PoC, providing the SRS has some sort of open API that Shortcuts can take advantage of.
> the OS needs to provide some sort of hook into this capability natively for both maximum adoption and also ease of use (for both developer and end user)
I’m absolutely of this mind, but unfortunately it also depends on developers’ willingness to make use of these hooks, and it’s becoming increasingly uncommon for third party apps to have any integration or automation affordances, especially any specific to any particular platform. It’s become the norm to ship the absolute bare minimum, which is the lowest common denominator “it runs”.
I have anki on Android and I never see options to use it from another app. Do I need to set something up?
This is what we've built RemNote for! You can add your sources (PDFs, websites, YouTube, etc.) and create cards directly from them. Either with AI (click on a sentence => get an AI card), or by highlighting a sentence and writing your own card.
It's not at the OS level, but I think a focused standalone all-in-one experience is actually better. We've explored a chrome extension here that does something similar to what you suggest, but it somehow hasn't proven useful in practice. I always keep coming back to just doing everything directly in the tool (upload PDF, take notes, make cards), as it helps me focus deeply on what I'm learning.
Love RemNote -- ability to take notes and create SRS cards within the notes is so sick
Does RemNote use the algorithm described in the link or something else?
Some examples I'm aware of (mostly in the language learning and especially Japanese learning space)
- subs2srs MPV script: create srs cards from subtitled videos, if you have subtitles tracks for source and target language it will fill them both in (though that sometimes has caveats, different languages may distribute the meaning of a line of dialogue over different subtitle lines)
- asbplayer chrome extension: inject extra subtitle languages into streaming services and create flashcards from them similar to subs2srs
- yomitan: browser dictionary lookup, primarily for bilingual dictionaries for Japanese and Chinese but also has custom dictionary support.
You can add my https://github.com/hiAndrewQuinn/audio2anki script to the space, in a similar position to subs2srs.
The big thing my script does differently is run Whisper locally to actually generate the subtitles from the video themselves. Most videos out in the real world don't come with convenient little SRT files bundled with them.
It doesn't yet shell out anywhere to automatically provide a translation, but that's more because I was already past that stage for most of its output reading-wise. It's explicitly tuned to make listening practice SRSable.
(I originally built this for learning Finnish. For the other 2 people here on that journey, https://finbug.xyz/ is where I've collected the other software I've built over the years for this.)
> It’s the space in between reading/understanding something and the SRS. ...If someone knows of such a tool, I would love to hear about it.
I have a slightly different system I'm developing:
Rather than reviewing with flashcards, review with actual content:
1. Tag the content with the words and grammar concepts
2. Estimate the difficulty [1] for you of each word or grammar concept -- the difficulty being essentially the inverse of your familiarity graphs in this article.
3. Choose content to read which balances difficulty and the impact on learning.
Since reviewing something you're about to forget has more impact than learning something new, "spaced repetition" falls naturally.
And instead of spending your review time going through flash cards, you spend your review time reading content in the target language.
[1] If you know the details of the FSRS algorithm, I'm using "difficulty" here differently than they do in their algorithm.
Not sure I understood the gist, but let me try summarise what you do generally (i.e. not just for language learning).
- Instead of flashcards, you read content/write notes. - You tag said content in some way which allows you to understand how difficult it is. - When in "review" mode, you essentially choose what to reread based on the difficulty you are feeling has the most impact right now.
One of the frustrating things I experienced trying to do self-study using Anki and self-created "extensive reading" was that I found I was spending a huge amount of my time doing things to enable me to study, rather than actually studying.
So my ideal vision for what the interaction looks like is this:
1. You ask for something to read / watch.
2. It gives you something
3. You read / watch it, looking up words you don't know, going on whatever rabbit trails you need to to understand what it's given you.
4. Repeat.
IOW, I want the algorithm to do the "look for stuff to study" and "decide what to review", so I can just focus on the "study" part.
It would have a huge library of content ("corpus" in the jargon) -- news articles, Wikipedia, stories, social media posts, movies, TV episodes, whatever. The algorithm would select something for you that's at the right difficulty level -- hard enough that you're learning, but not so hard that you get frustrated. The algorithm would arrange for words that you need review on to just appear in the content you happened to be reading.
Maybe you give it parameters (something long / short / fiction / news), maybe not. Maybe you give it feedback about which words were harder or easier than it expected, maybe not.
Certainly a useful feature would be to say, "I want to be able to read this", and give it a link to a webpage or YT video, or a PDF; it could then focus your learning / review towards being able to read that particular content.
But the common case would be that you just come to it and be given a feed, as you would with Facebook and Youtube -- except the algorithm would be trying to teach you a language, rather than trying to get you to watch ads.
I solve this problem with a system prompt in my LLMs[1].
ChatGPT is the main spot where I'm going to be trying to understand a new concept, so after groking it I'll ask it to make flashcards which I can then just copy and paste into Mochi.
An improvement would be some sort of MCP integration between the LLM and Mochi so it can just add the card directly. I'm sure we'll get there soon.
1. https://gist.github.com/christiangenco/db4b61c315b93fc2a404a...
I’d say a missing thing is figuring out the order in which cards have to be shown.
Showing schlafen before ausschlafen, or contextually simpler cards before more complex ones.
Optimizing blindly easy medium hard and next time to show a card is probably very far away from efficient learning.
If the process is inspected, most of the forever knowledge that I acquired I heard once and internalized.
On Mac, you could make a little Shortcut that accepts your text selection or maybe even a screenshot and sends it to AnkiConnect to make a new note. Add this Shortcut to your share sheet and you can create new notes from any app. Later, go over the notes in Anki and add questions or if really lazy send the backsides to an LLM to create those questions.
Now I wanted it for myself and just made it. So at least I can confirm this works.
Only difference is I don´t actually use the sharesheet much so I do it with clipboard content: Step 1. Take screenshot or copy text. Step 2. Make a request to AnkiConnect and have it create a new card with clipboard in Anki.
Works flawlessly on Mac/Desktop but if you want to do it from mobile devices, you have to muck around with network permissions. Too much for this evening but this alone opens up possibilities.
Thanks for the stimulating question! :)
If you're speaking in the context of language learning, there definitely are some great tools for "mining" audio cards from YT/Netflix and also for getting text from the subtitle tracks. Some are open source, free and easy once you get used to working with them (much like Anki itself). They're not frictionless for first-time users, though. Others are paid and a bit more newbie-friendly.
This mostly works with Mochi - you can paste PDFs etc into ChatGPT and the Mochi markdown format is simple, so it can generate flashcards for you (I have the format explained in my system prompt so I don't have to re-explain it every time). This synergizes nicely with the fact that you really want to understand something before you make flashcards from it.
If you pay for Mochi you also get API access, so one could make a ChatGPT wrapper which adds the cards for you. But since I like to review the cards manually before adding I don't mind the copy paste step.
I built a native flashcard app for mac that includes spaced repetition. You can close the main window, so it is not in the way and just select add flashcard from the top right menu bar in whichever application you are in
Okay on first try, this seems promising, I'll try the pro sub tomorrow properly and take it for a proper spin, but:
- I read a lot of PDFs. I can click a sentence and have it suggest cards, or fill my own.
That's already a great start on the "space in between".
It's tricky I think, I think it comes down to specialized tools for different systems. I'm building a tool for Japanese in this direction. But of course it doesn't generalize to everything since the content and context extraction is very objective dependent.
AI definitely helps here (and it's the direction I'm going), although to start exploring the space in a way that makes sense to me (and because it's a problem I have), I've reduced the space into these steps:
* I wanna be able to watch X in Y language
* I know these words
* Help me
I've never used it, but my understanding is that something that does this is considered a "killer feature" of Supermemo. It has a mode that lets you read text (via a PDF viewer) and lets you create flashcards as you read in some kind of semi-automated way. Or something like that. Like I said, I never used it.
You’re referring to incremental reading, which yes is indeed one of the killer features of SuperMemo. You're basically just reading, but you have at the core of it an SRS (SuperMemo) to store cool ideas in flashcard form and every article (“Topics” is how they are referred to in SuperMemo) will be shown to you at a later date. I like to think of them all on a “conveyor belt” that means everything you put into it will eventually find its way back to you. I love incremental reading but for many years I have struggled to find a way to mimic this OUTSIDE of SuperMemo. The overall peace of mind and level of control I have over the learning process is quite remarkable, and incremental reading is more than just the sum of its parts. I wish there were a standalone app for your phone or iPad for incremental reading, as I would love to use my iPad to do what I do when reading in SuperMemo on my windows laptop.
No, not PDF, only HTML. There are community companion programs like SuperMemo Assistant, that enhance SM, but it‘s all fiddly.
I paid for two SM versions and went back to Anki. It‘s very idiodyncratic, the user interface is atrocious (in the latest version it finally, finally added thumbs up/down icons for grading the answer —- before that you had to remember whether 1 is good and 5 is bad or vice versa).
SM is fascinating (including task management, sleep cycle tracker etc.), but it‘s held back by its technological choices (only support for Edge or IE, and Edge only in the newest version), and for incremental reading you‘ll be mostly ingesting Wikipedia articles, because PDF isn‘t supported.
+1 SM is really interesting. Supermemo.guru (URL) is a fascinating resource written by a fascinating person (the creator of Supermemo), but the software is so unusable that it immediately shoots itself in the foot (or head). I don't think anyone should ever use it, but people should take away from it interesting concepts that they can use when writing new software.
Pro Tip , if you're using LLMs to learn, create an MCP tool for them to insert Anki cards on topics you're discussing in a csv on google drive, then sync that with you anki decks on your phone.
This was a game changer for me and working with LLMS, while I still think they make you dumb, and we essentially use them to offload critical thinking (almost only find myself using them when tired lazy, and just cant), if you must use them use them as a study tool.
I created a python script that checks my anki deck for the cards that I'm scheduled to review the next day and asks an LLM to generate new sentences for the cards, so that every time I see them, I see them in a new context.
I did this because I realized I was hitting an issue where I theoretically "knew" a word (would get it always correct on the card), but wouldn't always recognize it in a novel context.
I'm hoping that having the context be variable when I'm learning it will help fix this issue.
> ”I realized I was hitting an issue where I theoretically "knew" a word (would get it always correct on the card), but wouldn't always recognize it in a novel context.”
Some of the problem is due to the specificity of the training effect. I.e., if you mostly practice something through flash cards then you’re going to be training your ability to work with that on flash cards.
With language, there’s an additional challenge—many if not most words have different meanings in different contexts.
Shameless plug of my language app, dangerous.
Our language app is largely based on using LLMs and spaced-repetition. We explain the context behind every word and phrase, provide additional usage examples and cultural notes, and also use speech recognition to test recall and pronunciation.
We're invite-only at the moment, but happy to pass along invite codes to anybody who may find it useful.
https://apps.apple.com/us/app/dangerous-language-skills/id67...
Sounds very interesting. I’d love an invite. I’d love to be able to navigate conversations better next time I’m in China.
I’m also working on learning Nepali which is hard as far as language apps go because none of the apps take on smaller languages like this. I’m hoping this will change with LLMs in the mix. My experience (and that of my Nepali friends) is that ChatGPT’s written and spoken Nepali language skill is too-notch.
Yeah, I'm trying to spend a lot more of my language learning time just reading/listening to content in my target language, but it's actually pretty difficult to find enough content that is in the right difficulty band where it has some words/grammar etc. that I am still learning but not so much that I just can't understand it at all.
This sounds useful. Maybe someone could create an Anki plugin that does this.
Or is there something similar already available?
I don't think what I wrote would be very generally useful, other than the basic idea of it. I wrote it with some pretty narrow assumptions about card layout etc that work for my exact deck, and it's not designed to be flexible. It wouldn't be hard to adjust it I don't think, but also it's such a simple script, that once you have gotten to the point of changing it, you aren't much beyond writing it from scratch either.
> f you're using LLMs to learn, create an MCP tool for them to insert Anki cards on topics you're discussing in a csv on google drive, then sync that with you anki decks on your phone.
Speaking for myself, I’d love to see a blogpost detailing how this is done. At the very least, I’d love to know: How are you syncing csvs to anki cards and how does the MCP interaction look like for an LLMs response to the CSV creation
ChatGPT 4o's voice mode has been mindblowing for me for learning basic Mandarin. I'm sure I will hit the limits of the model sooner or later, but it has been so much fun bouncing around my apartment and asking what various objects are called / if words are related to other words. It is phenomenal for putting together short little sentences and getting immediate validation on grammar too.
No MCP on ChatGPT yet, but I can ask chat to generate an output of what we reviewed in a structured format.
My personal peeve about Anki: I don’t like its data model. It seems to me that there ought to be collections of notes (which might be things one would download or generate with an LLM or make yourself or share with friends or students). On top of one or more collections of notes are the sets of cards to want to learn, and they can derive from the notes. This includes, roughly, templates plus some concept of which cards are enabled. On top of that is the spaced repetition history and model. There also ought to be a way to constrain what cards should be studied in a given session. (For example, if learning Chinese or Japanese, one might want to have a pencil and paper when practicing writing but not reading. When practicing without paper, one might want to skip the writing cards.)
Anki doesn’t seem to separate these layers at all. Everything is a monolithic database. Import is unpleasant. Export is unpleasant. Sharing is unpleasant. Doing anything other than practicing and editing in the UI is unpleasant. And, every time I try Anki, I get stuck when I can’t manipulate my own data outside Anki.
Is there any system out there that doesn’t have this issue?
> there ought to be collections of notes (which might be things one would download or generate with an LLM or make yourself or share with friends or students). On top of one or more collections of notes are the sets of cards to want to learn
Is that not what anki does? You have a collection of cards, each card can be in one or more decks derived from the cards.
> There also ought to be a way to constrain what cards should be studied in a given session
That's also decks. You can have your 'Japanese' deck, and then the 'Japanese::writing' subdeck for the subset which require you to have your writing materials handy.
You can also use "Better Tags" to tag cards, and then create a sub-deck with an ad-hoc tag query to only study a subset if you want.
Does creating more decks and then studying the subset you want to in a session not work for what you want?
> Anki doesn’t seem to separate these layers at all. Everything is a monolithic database.
Decks are separate files which can be shared, edited, created, studied, and reasoned about independently.
The "spaced repetition model" in anki is obviously separate from the fact that there are multiple (FSRS and the old one).
> Export is unpleasant. Sharing is unpleasant
It's just files (zip files really). What's unpleasant about it?
> And, every time I try Anki, I get stuck when I can’t manipulate my own data outside Anki.
There's libraries to manipulate anki decks outside of anki for practically every programming languages. There are literally dozens of tools that can generate and import anki cards, such as the large family of japanese "mining" tools which create anki cards from media, dictionary entries, etc etc.
It's open source, and the code has clean library abstractions you can work with, so it's trivial to nab any of the data out of it.
> Is there any system out there that doesn’t have this issue?
Every issue you described is something that I experienced in other software, but which anki solved for me, so for me "anki" is that system.
> Is that not what anki does? You have a collection of cards, each card can be in one or more decks derived from the cards.
Kind of? As far as I can tell (and I haven't spent enormous amounts of time digging in), there are decks, and a deck contains the notes, the templates (and the cards, which may or may not have any sort of independent existence outside the notes and templates that generate them?), and a deck also contains the scheduling information.
One can export the textual and markup contents of decks, but not the media, into a text file, and one can re-import it, supposedly losslessly. One can also export a deck minus scheduling information for sharing purposes. I'm not sure that one can re-import it.
Then there is a collection, which is the whole world: decks along with their scheduling info.
> That's also decks. You can have your 'Japanese' deck, and then the 'Japanese::writing' subdeck for the subset which require you to have your writing materials handy.
I'm guessing that, if I start by importing a Japanese deck from some other source (because, for example, there's a source with high-quality notes), and then I split it into a writing subdeck, and then the original source adds new notes for new words or makes changes or whatever, that merging the results is basically unsupported.
> > Anki doesn’t seem to separate these layers at all. Everything is a monolithic database.
> Decks are separate files which can be shared, edited, created, studied, and reasoned about independently.
Yes, but only as monoliths (again, as far as I can tell). I can export an "Anki Deck Package (.apkg)", but checking that into git would result in a bit of nonsense. I can't export my scheduling information and templates separately from the underlying notes (or, if I can, I failed to find this option).
>> Export is unpleasant. Sharing is unpleasant
> It's just files (zip files really). What's unpleasant about it?
Excel and OpenDocument sheet files are also zip files. But the respective tools are less limiting and don't expect the users to unzip those zip files. (And their merging and text import/export facilities are also weak, and that's unfortunate.)
I could be wrong about most of this. But Anki doesn't seem friendly to a decomposed workflow in the way that modern programming lanuages are.
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.
It is a hard problem with too many solutions. Excel most certainly is limiting since it is a scary format for sharing data. Sharing highly structured info is a hard problem, sharing collections of the same is even harder.
Programming has a similar issue code, docs, resources, discussions and issue tracking are not handled easily.
It’s amazing how every single point you’ve made here is wrong as the other commenter already dove into. On top of that Anki is one of the best documented pieces of open-source software I’ve messed with. If you’re able to program, ChatGPT can basically handle any task you want it too, I data mine the sqllite database regularly for my own insights.
My personal workflow with memorizing with Anki using LLMs is as follows: Read textbook material first. It's important that you understand what you are learning.You cannot just breakdown information into atoms and expect to understand how it works together (for example: you can learn that there are monounsaturated fats, polyunsaturated fats, saturated fats and trans fats. But without reading beforehand about them from a textbook or other source, you will not understand how they differ (in chemical structure, biological function etc). After I understand the material, I feed LLM the documents (textbooks etc) and give it the following prompt: >I want to generate flashcards from the provided textbook document using the attached PDF. Each flashcard should contain a question and a corresponding answer formatted as pairs in plaintext code block. The structure should be: "Question","Answer" >Extract key concepts, definitions, and explanations from the textbook. If in the text imperial unit system is used, convert it to metric. For mathematical symbols and equations, format them using inline MathJax syntax because I will be importing the copied text to Anki. Ensure questions are clear and concise while answers provide a direct yet comprehensive response.
After the text is generated, I check out the accuracy (in 95% of cases the cards are accurate) and I import them into my decks. The rest is good old school Anki memorizing.
I remember trying that a few months back but I was not convinced by the quality of the cards. It's also hard to convey what I think a good card is, I guess there's something about not getting lost in the details while missing the big picture.
You only commented on accuracy, but what's your experience on relevance and how useful LLM-generated flashcards are?
To be clear I've already found myself deleting some flashcards I made myself while reviewing them when I realized they were bad, so I guess one can do that for LLM-generated questions as well, as long as the irrelevance rate is somewhat similar.
Well I can give you an output example. This was generated based on chapter from textbook about Vitamin (Vitamin D in this example)
"Which nutrient can be synthesized by the body using sunlight?","Vitamin D" "What is the primary role of vitamin D in calcium regulation?","Raises blood calcium by enhancing absorption, mobilizing bone stores, and reducing kidney excretion" "How does vitamin D affect bones?","Supports bone mineralization and integrity" "What form does vitamin D take before activation?","Inactive precursor synthesized in the skin or consumed in diet" "Which organs activate vitamin D?","Liver and kidneys" "What are signs of vitamin D deficiency in children?","Bowed legs and bone deformities (rickets)" "What is osteomalacia?","Soft, weak bones in adults due to vitamin D deficiency" "What disease is caused by long-term vitamin D deficiency in adults?","Osteoporosis" "How does vitamin D deficiency affect older people?","Increases risk of fractures and joint pain" "What is the toxic effect of too much vitamin D?","Calcification of soft tissues"
You get the idea. How would you rate it's usefulness is subjective but it gets the job done.
Yes I use tags and then I display the tag using CSS at the bottom of each question. You can find out how to do this from anki manual. EDIT: this is useful because sometimes different chapters will contain similar questions but with the focus on different answer (for example: when studying trigonometry and when studying derivative of a function, similar questions will be present so you will need tags to guide you towards the answer).
The SQLite database file is called "collection.anki2". Its path varies depending on the operating system: https://docs.ankiweb.net/files.html?highlight=collection.ank...
If you export a deck as an .apkg file, you can unzip it to get the SQLite files:
https://www.encona.com/posts/custom-statistics-for-anki-flas...
I’m not using LLMs but I scrape open dictionary data to generate (massive) cards for learning kanji. I publish these in a specialized kanji learning app (rather than anki proper). My db just lives temporarily on my local machine, before I publish. Maybe sometime I will streamline the publishing process and create a github action for it.
btw. I didn’t use LLMs to write the app, it was still pretty straight forward.
Actually, every point was right and the data model is terrible. I've been using it for years. The other commenter just mentioned a list of things that the software does do and basically said "isn't that good enough for you" a bunch of times. No, it's not. Anki's concepts of flashcards, and how it stores and manipulates them, are horrible.
It's hard to do many, many things in Anki that should be trivial, impossible to do many, many things that should be possible, and the things you can do involve the types of queries being run over your entire collection that causes the app to slow to a crawl after you add about a dozen decks. And in general: I can adjust far too many things that I don't even care to adjust and probably shouldn't be adjusting, and things that should be trivial to do are impossible.
It's bad. Ankidroid is a little better, but they're also stuck with the data model.
That’s because the default model is designed for the general user. If you sat down and really worked with the documentation, you would realize you shouldn’t be using decks or collections for management you should be using tags. Decks and collections are a different abstraction for different purposes.
I’m in medical school which has basically mastered Anki. The AnKing deck, used by over a million medical students, has over 35,000 cards, cross-tagged by numerous study resources that exists on a single “deck” which receives regular updates. I regularly run basically instant queries on over 40,000+ cards.
Medical school Anki has basically mastered this workflow and the original commenters complaints are completely wrong/come from a misunderstanding of Anki’s data model.
To be put simply, ignoring subdecks, filtered decks, cards vs notes, etc.: cards can only belong to one deck, but can have multiple tags. What exactly do you want to see differently in the data model?
This is probably my biggest gripe. It’s so much information to digest at first, it’s a tough ask. And there’s so many rookie mistakes.
I made the mistake of just jumping in and I would say I spent the first 6 months using Anki “wrong” in the sense I would make bad cards, try to make mc questions, not enabling or optimizing FSRS, capping reviews, doing Anki before I knew the material, etc.
I’m someone who loves to learn from scratch/figure it out myself. I would never recommend watching a YouTube tutorial or following a guide for something you can figure out yourself, but I have to make an exception for Anki. Anki is one of those rare things where it’s simply just better to just copy what someone else is doing and figure out adjustments for your own workflow over time.
You're right about the data model. I built my own flashcard app [1], so I've had to understand the database schema that Anki uses and a lot of it seems very inelegant, but on the other hand, I can see how it was purpose-built and probably grew over time and things were tacked on. (For instance, there's one table that has a single row, where several fields are simply JSON dictionaries.)
On the other hand, how templates work and how cloze deletions work are really nice. With the flashcard app I built, I didn't have templates, but did have a very basic cloze deletion system where you could mark text to be "hidden" on the front. It was very limited in that you'd only ever get one front/back combination. You could hide multiple bits of text, but they'd all be hidden at the same time. With Anki, you can create multiple groups of hidden text, so that you end up with multiple flashcards from the same note (i.e. you hid three separate groups of text, so you now have three different cards to test with).
I've been working on an update to my app to incorporate templates and cloze deletions like how Anki does it, so now I appreciate that aspect to it.
For my own database, at least in the new version I'm working on, I've ended up creating a schema where the individual attributes for each card are thrown into their own tables, but this is mostly because I needed to support updating individual attributes separately since I use a very simple journaling system to sync across devices. With Anki's schema, I can see why sync was complicated (at least in earlier versions) since it wasn't really built for it.
For language learning only, but perhaps my own https://thehardway.app model suits you better (flashcards inside markdown-ish notes)
Sorry, but your landing page is really awful. I’m not allowed to learn about your app because I’m on a tablet? And I have to give you my e-mail address, even though I know nothing about your app so far?
Suggestion: Allow me to browse your site and learn about your application, and I’ll decide if it’s interesting enough for me to open it on my desktop later.
For that I buy a vocabulary book, or a phrase book. As I read through it, and if I don‘t know a word or understand a sentence, I try to learn it using various methods, and create an Anki card to keep it in memory. Anki is just to retain the word.
On a plus side, you can buy specialized vocab/phrase books, I have one just for onomonopias. Also my beginner vocab books come with recordings from actual native speaker voice actors, which I add to the deck. Much better quality than anything an LLM or speech synthesizers can give you.
What are you talking about? Anki explicitly has the concept of 'notes' from which one or more 'cards' are derived. You can absolutely easily make custom decks that only have certain card types.
If anyone's interested in experimenting with FSRS, we at Open Spaced Repetition provide official packages in Python, Typescript and Rust
PY: https://github.com/open-spaced-repetition/py-fsrs
TS: https://github.com/open-spaced-repetition/ts-fsrs
RS: https://github.com/open-spaced-repetition/fsrs-rs
Currently ts-fsrs and rs-fsrs support FSRS 6 and py-fsrs should also support FSRS 6 in the next day or so. Also, both py-fsrs and fsrs-rs include the ability to optimize the FSRS model from your past reviews!
I used this for spaced repetition for opening training on Chessbook, can vouch that the Rust package is excellent. Easy to use and immediately lowered the training load on our users while keeping retention high. FSRS is awesome.
For Ruby folks — I’ve forked the FSRS gem to fix an issue where new cards were being spaced 60 days apart instead of 60 seconds:
https://github.com/arvindang/rb-fsrs
Originally adapted from the Python version linked here.
I used basically this algorithm in college with the following setup:
Make a word document that lists all the keys to memorize vertically. Save as PDF
Open the PDF in a viewer with annotation tools. Make a clickable note in the margin just next to each key. Write out the value to memorize in the note field.
Cycle through the clickable notes. When you get one right easily, drag the note more to the left in the margin. As you cycle, focus on the ones furthest to the right. If you get one wrong, move it a bit further to the right.
In general the notes will move to the left until you're comfortable with all of them. And the balancing of which ones you need to see and focus on plays out very naturally and you feel in control the whole time.
There are many downsides with this compared to a tool like anki (e.g. I only used it on a laptop), but there was also something about it that just worked really well for me, so I never ended up switching to a different tool. But this was before anki had the similar algorithm described here. Maybe my experience would be different today
I've been looking into FSRS since I'm building a language learning app[1], but I haven't implemented it yet. Can FSRS work if I don't want to have 4 choices - bad, good, hard...? I have found myself to get into a decision paralysis so just bad/good works better for me. Plus I can swipe the cards tinder style! :D
My second reason is that I'm worried about the complexity - both from non-nerdy users perspective and me having to debug it.
According to the FSRS author [1], it will adapt to two buttons.
[1] https://www.reddit.com/r/Anki/comments/16t2lva/comment/k2cor...
Yes. Some months ago, I forget whether it was v5 or maybe before, the 2 button grading approach meant that it actually performed better for users (ie. it performed better for users that explicitly only used two grading buttons).
I don't know if this is replicable with v6, or not. I would be interested to find out!
I am the creator of Trane (https://github.com/trane-project/trane/) which can replace Anki and similar systems for domains that have a well-defined hierarchy between subskills (turns out that's most of them, including learning vocabulary).
There are several unresolved issues with Anki, SuperMemo, at al.
1. Emphasis on memorization. I wanted something that could be applied to domains (music) whose scoring is not based on memorization, but mastery.
2. Lack of any hierarchical information limits how well it works to learn much larger skills. It's trivial to replicate the functionality of Anki with Trane: just have one lesson where you put all your exercises. Anki cannot replicate what Trane does, which is to use the dependencies of the many sub-skills to track and limit progress until mastery is achieved.
3. Emphasis on creating your own exercises. You are expected to come up with your own decks, which takes a lot of time. For complicated skills, you need to be a domain expert to really know how to do this.
Trane is pretty much done, and I have used it to teach myself music. It does not have a UI at the moment, so I am pretty sure I am the only user. Not that I mind, because I rather not work for free.
Currently working on a literacy tutor that will be built on top of it. When it's complete, it will be able to guide all students from learning their A-B-Cs to reading and writing at college level, backed by the most up-to-date research on reading and writing acquisition. Hopefully I will be able to release an MVP in the middle of the year.
You might be interested in reading the literature on Knowledge Tracing, which is a superset of spaced repetition, aiming to predict what the student knows from their answers.
The simplest approach is Bayesian Knowledge Tracing [0], which is just a simple probability update and an Expectation Maximization optimizer to fit the latent factors. The standard version assumes an independent set of skills with no forgetting, but there are extensions for that [1] [2]. PyBKT [3] implements some common ones, so take a look there.
Learning Factor Analysis [4] seems to work considerably better than naive BKT, while being very simple to implement (it's a logistic model, sharing the family with most spaced repetition algorithms), so that might be promising if the hierarchical dependencies are incorporated. Some researchers have been applying increasingly complex NNs [5], including transformers, but personally I think that's just more parameters to overfit [6].
I'm not an expert. I only built a basic KT tool to prepare for the national Ukrainian exam and found these along the way.
[0] https://www.cs.williams.edu/~iris/res/bkt-balloon/index.html
[1] https://link.springer.com/chapter/10.1007/978-3-319-07221-0_...
[2] https://educationaldatamining.org/EDM2011/wp-content/uploads...
[3] https://github.com/CAHLR/pyBKT
[4] https://arxiv.org/pdf/2105.15106v4
[5] https://pykt-toolkit.readthedocs.io/en/latest/models.html
> For complicated skills, you need to be a domain expert to really know how to do this. (...) I have used it to teach myself music.
It sounds like you must have had some interesting difficulties with that, not having been a domain expert in music. What were they and how did you overcome them?
I have been mostly working on a set of courses based around backing tracks I got from a course called “improvise for real”. So I only had to make the structure of those backing tracks explicit, which only required knowing the circle of fifths.
Spaced repetition has been all the rage for 20 years now.
Dozens of apps, thousands of lectures, and it turns out its not really a silver bullet.
There's nothing really wrong with it, it's just that people tend to fall off the same way they do on any other education pattern.
A couple years ago I was thinking "If Google and Apple really cared about kids they would make a spaced repetition unlock system", where by you have to make note cards every week and then have to answer correctly to get into your phone. (obviously requires some bypass system, other rules, etc)
You could probably jury rig it with a popup that comes up after you unlock, but people would never install it anyway.
Spaced repetition is time-optimised, but it isn't self-discipline optimised, nor motivation-optimised. If you're limited by time, it's very efficient, but it drains motivation. If you're anywhere close to being limited by motivation (or, failing that, self-discipline), it just causes burnout and failure.
I credit Anki to my success at GCSEs and A Levels despite having a head injury, and I also credit it to me burning out so hard I took a gap year!
And I'm enjoying the gap year, but Anki made it a near necessity.
There was an interesting post here awhile back about autonomy and motivation. The gist was people's motivation is proportional to their autonomy. This is quite intuitive, you can see people are really motivated when they have autonomy (think kids with Minecraft, musicians with instruments). One terrible thing about Anki is that it probably is horrible for autonomy. Quite possibly using anki actually has a negative effect on motivation.
I don't understand, wouldn't it be worse for motivation to take longer to achieve the same results?
Motivation is some combination of real and perceived effort Vs expected reward. Shorter isn't always better. For eg. Counting every single calorie is the shorter way to lose weight, but for most people, eating approximately healthy is more optimal from an effort /motivation poi t of view.
I think both have a place. When someone is starting for the first time, they're enthusiastic, but they haven't built faith in the process yet. It's easy for them to lose confidence if they're putting in work but the results are slow or ambiguous. I think it's best to take advantage of their beginner's enthusiasm and kick them off with something higher effort that is guaranteed to show them clear results. After they build confidence they can settle in to something lower effort (aka "more sustainable") where the benefit is longer-term and you don't see dramatic results every week.
Spending half an hour mind-numbingly learning words through flashcards will teach you about as much vocabulary as an hour watching educational videos, but it'll be far less fun and you'll feel like it actually took two hours.
Keep that up every day and you'll burn out much faster with option 1 than option 2. Now, maybe you have enough motivation for that not to matter, or the self-discipline to keep going - as I did in my A levels - but don't be surprised if it kills your interest in the subject.
What's worse for motivation than taking longer?
Boredom?
Feeling like what you're doing is low-quality or superficial?
Doing something artificial for purely external reasons like grades or exams?
Can't speak for anyone else, but for me I would take slower progress over any of these... which makes spaced repetition a hard sell.
>I also credit it to me burning out so hard I took a gap year!
Do you think targeting a sub-90% difficulty could help reduce burnout? My experience is that working to recall something I'm on the verge of forgetting can be very effortful.
I experimented with this, actually. The default was 0.85 iirc, and I tried pushing it up over time to 0.91, but I ended up reducing it to 0.83. It isn't that many more cards, and it makes it far less laborious.
Fellow longtime Anki user, I can say letting myself drop from 0.9 to 0.85 was like letting myself experience the taste of clover honey for the first time. Accepting a slightly worse hit rato in exchange for 2/3rds the workload made life considerably more pleasant.
IMO, the most limiting feature is that spaced repetition is a method for memorization, but memorization is only one part of learning and it's very often not the most prevalent part.
But when memorization applies, gamification is a really good way to avoiding burnout (as long as you don't overexpose yourself to it). There are many spaced repetition games for children, I don't know why people make so few of them for adults. (But then, fearing the duolingo owl is a popular meme nowadays.)
I have downloaded 3 card decks for learning Spanish.
The main deck I use for verb conjugations expects me to use it for maybe half an hour per day or the list just build up (I have no idea if this is standard behaviour, but I don't seem to get the same build up on the other decks that I use less frequently).
While it end up being a bit of a chore some days, I appreciate that it does force me to use it every day, which is good for my discipline.
I would say the implementations are time optimized, over the others. I’m building a language learning application, and have put in a lot of effort to make sure that the Spaced Repeition is motivation-optimized.
It’s centered around your performance and review times, to make sure you aren’t struggling to much; no due dates to avoid Anki slogs; gamified with some internal mechanics; dopaminergically influenced with aspects of randomness.
Spaced Repetition is just an equation (SM2 is laughable simple), but a lot of applications just slap a UI on it and call it a day, but that’s not the only way to use it!
> it turns out its not really a silver bullet
One thing that bothers me about SRS is that it doesn't get enough attention from people who understand the difference between memorization and language acquisition. It gets a ton of attention from people who are doing test prep or who get intrinsic reward from their memorization accomplishments.
Memorization is not my goal — I want to get better at reading Spanish and French — but I find that drilling on vocabulary and example sentences helps a lot. I compare it to using scaffolding in construction. Scaffolding is not a building. Scaffolding doesn't serve any of the purposes a building does. But if you need to build, expand, or refurbish a building, sometimes building scaffolding in and around it can speed things up a hell of a lot.
I wish there were better guidance for using memorization to assist in language learning, but the world seems to be split between people who are satisfied with memorization as their goal (for test prep or intrinsic satisfaction) and people who dismiss memorization entirely because it isn't their goal.
If I weren't already busy enough using Anki to accomplish my own goals, I would almost certainly look into deeply integrating LLM calls into it so that we could e.g. practice writing and speaking with it in a way that is much closer to the kind of immediate feedback loop you get with a tutor.
For now, I make do by having Gemini Flash 2.5 open in a separate window and checking my short answer writing responses with that.
There's some UX problems of SRS (that I'm working on) that makes it high friction 1) Time taken to create cards 2) Need for self marking 3) Creates a one to one mapping of prompt-answer 4) If you're an autodidact, you have to teach yourself first (alternatively called understanding, scaffolding, etc)
More fundamentally, SRS isn't a superpower because it's just very specific to creating a direct prompt retrieval. Generalization is poor. Even creating a graph of knowledge, is a chain of edges between bits of knowledge, isn't done very well here.
And I suspect there's a very deep, fundamental difference between recollection knowledge and logical-modeling knowledge. Recollection seems very similar to a dictionary access, and if you recorded the time to recall in humans I suspect they'd all be constant. But learning the knowledge of a logical model, like of a mathematical concept, appears to be vastly different and have very different time to compute.
Proponents of SRS will point out logical models need facts as well, like formulas, lemmas, etc. Which is true. But if you already grasped it before you'd grasp it faster the second time. So the practical use of SRS is a significant step above having a very well sorted and labeled notebook, but still way below becoming a genius.
Poor generalization (overtraining on prompts) and loss of context over time are the biggest issues I've found with them. Slow card creation workflows and needing to rate your own reviews are merely UX issues -- losing context and losing generalization make SRS actively harmful when used for some topics.
There's 2 solutions I've thought of but haven't tried implementing:
1. A free-recall based approach. Free recall allows you to operate at a higher level of organization and connect concepts at lower levels. However, how you would schedule SRS with free recall is not clear.
2. Have an LLM generate questions on-the-fly so that you don't overtrain on prompts. You might also instruct the LLM to create questions that connect multiple concepts together. The problem with this approach is that LLMs are still not so good at creating good test questions.
I implemented free recall into FSRS pretty easily. Granted, it’s only for language learning, and I have it set up to work in a free recall friendly way (you don’t learn cards, you learn actual words and morphemes) but it’s been working for a few weeks now. I’m working on a product video atm, but once that’s done my next task (sometime this week) is to clean up the UI and merge it to master.
I almost never see someone talk about free recall so I was too excited to see it mentioned not to comment
> Dozens of apps, thousands of lectures, and it turns out its not really a silver bullet.
Easy statement to make when you're not defining the silver bullet. Kind of like saying dieting turns out not to be a silver bullet.
I've used spaced repairing for over 6 years. It's been transformative for me.
See my response here: https://news.ycombinator.com/item?id=44025350
Basic undergrad statistics. This doesn't make me better at doing statistics, but now I can understand things I read. Whereas prior to SR, I had learned the material three separate times - always forgot because of lack of use. SR made it stick.
Algorithms and data structures.
Basics of HTML/CSS/JS. I'm not a frontend developer, but this was enough for me to (mostly) understand colleagues' JS code. And often I would inform him of one of the newer JS features he didn't know of (e.g. null coalescing operator). Does it make me a JS developer? No. But it ensures I'm not useless at it.
Python 3.x new features. Simple things like "Stop using os.walk and use scandir instead".
A whole lot of Emacs keybindings. I was a heavy Emacs user before SR, but this really helped take it to the next level (I now mostly rely on hydras, so I no longer memorize keystrokes, cut I can't deny its effectiveness).
Some amount of elisp.
Probably a whole lot more random miscellany I can't recall right now.
Basically, what it does is let you retain information without usage. Prior to this, I would mostly retain only things I use (or had used) often.
I was in university for over a decade. Took lots of notes. But they're useless if you don't review them. Some years after leaving university I stopped trying to learn anything technical unless I was putting it to immediate use. Why bother if you're going to forget?
SR is what let me get back to studying for fun.
You say that but it's completely revolutionized the way medical students study.
IIRC the effect was so profound they had to modify the structure of some tests or something to that effect.
And polyglots have been using SRS for years.
As always, the real problem when people fail to do something that works is psychological, not technical. I'd say anyone who made an Ozempic for motivation would make a killing, but I believe it's already a scheduled substance. Maybe one without potential for addiction or abuse. Or maybe an Ozempic for conscientiousness.
>I'd say anyone who made an Ozempic for motivation would make a killing
This is just ADHD meds right? That's why the uni students spend so much buying them.
> This is just ADHD meds right?
Not really. They're just stimulants. Anyway, I'm very skeptical of this use.
I'd guess uni students are buying methamphetamines them because they have gotten themselves into a situation that they cannot handle - too many non-academic scheduled activities, not enough time management skills, possibly a heavy courseload combined with several weeks of avoidance of things they found difficult, poor sleep habits, etc. They need to stay awake and work. I don't think that's all you're talking about, though.
I wouldn't discount the idea that some have an undiagnosed attention deficit problem.
I'm not so sure. My brother's medical school had to tell students they had to study the actual material rather than Anki decks because so many students were failing tests.
Doing anki cards with words two hours every day, and not doing any reading of material is very detrimental for me.
I do not study medicin, but for language I have to actually be able to use what I memorize. Knowing how to use words is harder than it sounds, you need context. A common mistake when constructing sentences is getting the tone wrong and choosing the wrong synonyms.
This is a very big problem. Virtually all the results from research here comes from some form of simple word recall. Direct recall occupies some part of real world tasks, but IRL if you're stopped by doing something it's people not because you can't remember it (and you could look it up if you forgot).
It's just logical that memorization is useful for broad areas like vocabulary and get progressively worse the more depth is involved, e.g. vocabulary>grammar>maths. The first one doesn't require generalization, the last one most certainly does. Even though I find that SRS leads to good generalization if it is used for relatively shallow conceptual knowledge.
It's a silver bullet for learning facts. You still have to actually do the learning. Nobody was claiming it would download knowledge into your brain Matrix-style.
You'd probably say silver bullets aren't a silver bullet because you still have to load the gun and shoot it.
> There's nothing really wrong with it
And a gigantic amount right with it.
This is a strange comment because it shrugs off something that has been transformative and hugely useful to a lot of people because it doesn’t fix all conceivable problems.
I don't think it's a strange comment. He's mostly right (and so are you, but I think you're talking past each other). There's nothing wrong with SRS, and I agree with you that it's basically like cheat codes for memorization, but there is a limit to what most people can do. i.e. most people do tend to drop off.
I remember reading some stats from WaniKani (Japanese SRS app) a while back...
WaniKani has 60 "levels" to learn 2000+ kanji. Each level takes about a week (there's no skipping ahead), so the material takes about a year of study to complete -- that's if you're going at breakneck pace, which most people aren't.
According to the numbers I saw on the WK forums, ~8% of users reach level 30 and less than 1% reach level 60... and that's just to learn as much kanji as a 9th grader. That's to say nothing of the grammar and the 20,000+ vocab words you'll need to SRS to truly learn the language, or the thousands of hours you'll have to spend speaking/listening/reading, immersing yourself in native content, etc.
People give up very easily. The language learning community often gives year estimates to reach "near-native level" in a language based on frequency of study. In reality, the process takes a lifetime. I don't know if people truly know what they're signing up for when install those apps and begin studying. It's a lifelong commitment. It's just something you do now, every day.
You can stop at any time of course, and most people do (more than 99% of them apparently).
Learning a language as a hobby is tough. If you don't need the language to communicate and survive in your environment then you have essentially zero real motivation to learn it.
The problem with spaced repetition systems is that it doesn't supply that extra motivation. You're still just memorizing things in a vacuum. If you truly want to learn a language you need to use it to communicate. That means making friends, travelling, reading books, and consuming other media in that language.
> Dozens of apps, thousands of lectures, and it turns out its not really a silver bullet.
I mean, you say that, but I did mandarin for maybe 6 months, I did reviews for maybe a year or two on and off, I haven't done a review of mandarin for 8, 9 years now and I can still recall quite a bit of it. So for me it's worked quite well.
I’ve been using Anki for about a decade now, and as far as I’m concerned, the only real improvements needed are design/UI based. It is functionally irrelevant if the algorithm is optimized or not when the actual user interface seems boring to potential users. While I do like that Anki has power user options, it’s also very unintuitive to the average person just looking into it.
Which is really a shame, as the spacing effect itself is such an underrated aspect of human learning that it almost feels like cheating.
AnkiDroid maintainer here: we're actively working on a new design for the reviewer (currently available in the Developer Options in the production app).
I don't think any of us are satisfied with how most things look, but we're severely under-resourced.
Feel free to email me if you'd be interested in getting involved with the Android side of things.
I love Anki but it’s an archetypal example of “designed by an engineer”.
It’s powerful, with a lot of depth to its features - but it’s also hideous, clunky and unintuitive, and it takes a long time to figure out how to use it effectively.
An HN-reading tech nerd can probably figure it out, but your average Duolingomaxxing normie? No chance.
>An HN-reading tech nerd can probably figure it out, but your average Duolingomaxxing normie? No chance.
Me, the person who reversengineered obfuscated code doing weird crypto primitives and submitted patches to linux kernel can't figure it out either. Maybe I'm not HN nerd enough, so I had to do the duolingo to pass my citizenship exams.
Anki seems like it works for a lot of people with a very specific flow, but I don't know what the flow is and why it doesn't work for me. It's weird.
Reminds me of how I'm using Anki on iOS to learn German, and my phone's configured language is German, except for the Anki app, which is ironically the only app I've configured to be in English because I couldn't understand what 80% of the buttons meant.
Those reasons are why I love Anki. I'd rather have a program that exposes every mechanism of how it works and allows me to access it than a program that doesn't and the program appears to appear to work by magic. Give me visible cogs that I can tune and a good manual any day of the week.
Anki is refreshing function over form design. It's beautiful.
Sorry, but what's clunky about it? All buttons in reach of your thumb on the mobile app and usable keybindings on desktop?
Is there not enough useless whitespace around every button?
I have been trying to use Anki for years. Every time it is the same story: I keep it up for a few months until I miss a couple days, then due cards accumulate far beyond what can be reasonably managed, and I end up spending more time trying to fix the app than actually learning anything.
I'll give you one example. Occasionally, I come across something that needs to be not be shown anymore. I realize that the question wasn't a good one, or my template spit out something empty. Now, do I suspend card or suspend note? Every single time, I have to go search for which is the right one. (Okay, okay, maybe user error, but still.)
Another example until recently was the extremely useful image occlusion enhanced add-on. Can you easily tell the difference between overlapping and nonoverlapping? At least they renamed those settings to the much more intuitive "Hide One , Reveal All" and "Hide All, Reveal One."
First thing that comes to my mind is that it is basically impossible to make it show you both sides of all the cards you are about to see for the first time today at the same time. So that you can actually try to learn it in more effective and less frustrating way then flashing cards on you in random order.
Second thing, control over workload should not be that hard. Anki requires too much tweaking to work reasonably.
Third thing, both old and new algorithm have a notion of "you are pressing the buttons wrong". If you are pressing the buttons wrong, you will end up with absurd intervals - like 4 months interval on something you just learned.
Ah i've been curious about what improvements folks would like to see most in SRS learning and this thread is gold! It does seem as though Anki’s core is undeniably solid, yet its power can also feel like a hurdle for non power users. Additionally, i'm not sure "boring" is necessarily bad, as i've heard and to agree that learning may be best when it feels like a strenuous workout.
I've been exploring some of these questions in my personal foray in design. If anyone’s interested, I posted an early experiment here: https://dribbble.com/shots/25737616-Descartes-Design-Flashca...
I’ve been reading about spaced repetition and Anki for years. Never got around to actually trying it on anything.
I wonder if there are any good recommendations for something to try it on?
Language learning is the classic use case, but I also use it from everything from historical facts to encyclopedia entries on a subject I’m trying to master.
Probably the simplest use case to get started is improving your English vocabulary. (Assuming English is your first language.) I try to add a card for any word I come across that I don’t know the meaning of, and it works very well.
Leetcode patterns, and common problem types to apply those patterns to.
My biggest gripe with it is how clunky the editor window is. That’s the main part that’s due for a redesign in my opinion.
It has other oddities too though, like the tab bar in the main window that doesn’t act like a tab bar. It should also really have two button mode (Again and Good only) for the review screen as a built in option, too — the addon that adds this is very popular and it’d be dead simple to implement.
Compared to i.e Duolingo, the app is quite boring. I still have been using it for years. But I sometimes wonder if adding a bit of gamification may help. For instance, streaks, sound effects, etc. Obviously, those should be optional
I've quit Duolingo because of the gamification. It's far, far too much, and it puts me in the wrong mindset for learning. Instead of concentrating on the knowledge, I'm gaming the system to improve my score the most. There were times I would stop learning because I knew if I saved it for later, I could use a multiplier for a higher score.
And the daily emotion-tugging streak reminders started to actually piss me off.
On top of that, at one point they were changing the icon regularly and made it really ugly. Despite a ton of complaints, they left it that way for a long time.
So I canceled my subscription and I'm done with them. I'll find another way to study that I like (I've already tried Anki and it works, but I don't like it) and isn't mentally abusive.
I'm of two minds about it. Duolingo is off-putting for me, not because of gamification as a concept, but rather because of their particular implementation - with tons of clearly user-abusive bullshit with gems and chests and watching ads and shit.
I used to not care for gamification because I knew that my brain is resistant to it in activities that aren't otherwise rewarding on their own. Like, I quickly realize I'm just tricking myself, and then it stops working. But somewhere over the years, I must have burned out of my dopamine reserves or something, because apps like Anki feel now actively off-putting, in the sense that I lose all energy just looking at them. Memorizing cards gets tricky when your eyes just glaze over them and nothing is loaded even to short-term memory, much less long-term. So at this point I'd appreciate even a little bit of immediate feedback and some progress tracker that evokes ever so slightly positive feelings.
> On top of that, at one point they were changing the icon regularly and made it really ugly. Despite a ton of complaints, they left it that way for a long time.
My kids loved it. I did not cared. So, the likely explanation is that many people like that icon changes or dont mind it.
I used to be something of an Anki evangelist and recommended it to anyone that would listen. But the minute I showed it to someone that isn’t already technically-minded, their eyes glazed over and they lost interest immediately.
I think it just needs a fresh minimal design, a tutorial, and some premade decks that aren’t just the half-baked free ones.
This doesn't work on mobile of course, but for desktop Anki there are plugins that go in this direction.
For example review heatmap will give you a streak.
There's an excellent heat map addon that helps with that. Some people have tried the "dopamine effect" style things (confetti when you answer a question etc), and it didn't work for me, but there are addons for it if you'd like to try it.
There are streaks, but they're hard to find. There is a heat map add-on that makes them a lot more obvious.
it'd be nice to have a better UI. but the reason people don't use Anki isn't because it's hard to use. it's because the time to value is high, and the value really only comes from long term discipline and motivation.
people that are motivated and will succeed with Anki regardless of design will power through an annoying UI. so with better design, you'll increase top of funnel but radically decrease conversion.
I wrote "Why Anki Doesn't Work for Me" (https://medium.com/@iandanforth/why-anki-doesnt-work-for-me-...) six years ago, which means it was before the new algorithm was implemented. While Anki likely still suffers from all the other issues I mentioned, this directly addresses my point (3). I'm going to have to give it another try and see if the other points are still too much friction, or if the frustration caused by the algorithm was a majority of my pain.
I had similar issues... anki would drill me hard while stuff was still in short term memory (single session) then push it back weeks or months before I had any retention. I'd get to it again and it'd be completely gone, queue re-learning it from scratch.
I brought it up around the time I tried it and got shouted down. Pretty much every spaced repetition app was treating anki like a holy emissary, so I gave up on spaced repetition entirely.
There is definitely an aspect of online language learning communities where certain sanctioned methods are treated as gifts from the gods, while other methods brand you as a no-good heretic who doesn’t really want to learn the language.
I switched to FSRS via the extension partway through my A levels. I also used the little google collab notebook to custom fit it to my learning patterns - I'm not sure if that's in the version that was merged into the main version.
It about halved the amount of reviews I needed to do, and they didn't come up in bursts, so they were a lot more pleasant. I didn't quite believe it at first, and worried that it would be less effective, but it worked just as well if not better.
I really recommend giving it another try!
> I also used the little google collab notebook to custom fit it to my learning patterns - I'm not sure if that's in the version that was merged into the main version.
It was! There's a little "Optimize" button in the deck settings that you're supposed to click once a month or so, which does what the old colab would do for you.
I’m doing my A-levels at the moment with economics and geography still to go, do you have any tips or advice for leveraging FSRS / tailoring it to my learning style that is more specific to A-levels, based on your experience?
Good luck!
I personally used Anki the whole time, so if you're currently doing your exams some of my advice might not be super useful. I did maths, physics, and computer science. I didn't use flashcards much for maths - just for the irritating stats equations - but used it extensively for physics, and a little for compsci (I barely studied for compsci).
During my GCSEs I extensively used them for history, which is probably the closest analogue to the wordy questions you'll get in geography. I used it for facts, order of events, etc. I found that the process of organising history into a well-organised Obsidian database, then distilling it into flashcards, was as useful as the flashcard reviews itself. I recommend separating your rough working during class (e.g. the short essays you write at the end of a lesson) and your organised notes, which I split into separate, interlinked concepts with flashcards at the bottom of the file synced with Anki via an extension.
I suppose the advice I'd have is
- Cloze cards are excellent, and you should use them
- You can't flashcard your way to mental models. Absolutely don't rely on them alone, and you need to do practice questions for every separate question type you'll get until you're confident with the mental model itself.
- That said, it's easy to get into the trap of remembering the answers to flashcards as words. While this lets you "learn" quicker, and speed up reviews, I found that I had much better real-world results when I tried to actually "load in" the mental model into my head. So for example, if I had a flashcard about refraction behaviour, I'd not just answer the question, I'd also visualise a laser going from air into water and how the behaviour of the light changed as the angle changed.
For history, it's been a while, but if I had a question about one factor in a broader crisis (e.g. the Berlin Airlift) I'd try to think about the broader context of the question - not in my internal monologue, but just vaguely considering the various factors involved, the period of history, personally I instinctively visualise a map, etc, for a second or two before clicking for the answer.
Edit: Oh, and the heatmap extension is great. It gives you streaks and a heat map that you really don't want to break!
Ali Abdaal's Youtube channel has a bunch of older videos you'll probably find useful: https://www.youtube.com/playlist?list=PL7BImOT2srcGCCjBBwNvU...
WaniKani has the best UI for any SRS software I've ever seen, but they suffer from the old algorithm. They're guilty of all of your points and the article's fourth heading concern:
> And the idea that you’ll literally never see a card again after the last interval is terrifying, as it means you’re constantly losing knowledge.
What I find interesting about spaced repetition is the underlying thesis that raw memorization, in certain contexts, is playing a more important role for learning than what some modern education ideas would make you assume. In mathematics or programming, for instance, there is this idea that understanding a concept is better than memorizing algorithms or recipes (derivation methods for instance). But spaced repetition challenges that, in a sense.
If you zoom out and look and the shift in educational systems from pre-industrial revolution to modernity, memorization is a key topic. Basically educational reformers wanted a switch from memorization-heavy classics-based education with lots of Latin and Greek – to one with less emphasis on memorizing and more technical focus, more “understanding” and so on.
Like other big cultural shifts from the time, the correction was necessary but also probably went too far in the opposite direction.
Which is a long way of saying that memorization is underrated and it mostly has a bad reputation from anti-Victorian reformers.
Most modern programming lives by the idea that you don't need to remember something as long as you remember where to look it up. Of course that's only true for some things: I can look up an API call, but I need a reasonably complete working knowledge of the concepts offered by my chosen programming language and its idiomatic design patterns. In most cases this is maintained through application (practice is unstructured spaced repetition), but if I wanted to get into say C++-based driver development then spaced repetition would definitely help build and maintain the necessary knowledge
It makes sense to memorize elementary operations that are reused frequently because that frees your mind to focus on the "higher level of abstraction" of learning. You probably learned the multiplication tables by heart before you were asked to do more complicated multiplication problems for example.
>But spaced repetition challenges that, in a sense.
Common sense challenges this honestly. Education systems that traditionally have put a strong focus on repetition, memorization and what you could call neuromuscular training (e.g China, the USSR, France) in particluar in STEM far outperform anyone else. Vietnam outperforms most rich countries.
In programming circles it's a cultural cliche because our profession is full of people who go by: "I am a genius, I work smart, not hard", probably the most damaging idea ever uttered in education, and in the humanities it's seen as culturally unsophisticated.
In reality, 95% of everything is mechanics. Starcraft, math, even literature and acting. Creative freedom is enabled only by a large body of effortless recollection.
The UK and Germany outperform France in average learning outcomes according to Our World in Data:
https://ourworldindata.org/grapher/average-harmonized-learni...
I'm sorry, I didn't read the article but I thought my experience would be a good anecdote.
I've used Anki for multiple years and learned around 18'000 Japanese words. It's difficult to say but I'd say I've learned how to read around 5'000 kanji. When I studied in Japan, my kanji reading—don't mix that up with comprehension!—was way above everyone else's. And most of my classmates were either Korean or Chinese.
That's what 10 minutes of free time—I did that during my daily train rides—can get you! Keep practicing. Being ignorant is the first step towards becoming more knowledgeable.
I've tried to get into anki a bunch of times but never stick with it. It's an on-and-off thing for me that I end up looking into again every few years, which I've gone through about 5 times now. Here's how it usually goes:
* Get interested in memorizing something / multiple things
* Find that the decks available to me are actually not so great
* Get reading online, people say that the real way to benefit from it is to make your own deck (which ups the time commitment significantly)
* Read online about how to get the most out of anki, find out that everyone universally agrees that the default settings are terrible but nobody quite agrees on how to set it for best results
* Try to hit a happy medium, but find that the overhead of 'rating' the difficulty of recall for cards (and how it interacts with the complex settings that I still don't have complete confidence in) adds an incredibly (to me) distracting amount of overhead and never get used to it
* Miss a few days, get overwhelmed with the amount of cards stacked up, don't feel good about my settings (which have implications for what cards show up like, a year + down the line)
* Ultimately fizzle out
I'm probably going to start the cycle over again soon. I really do want it to work out for me. Any tips to avoid this issue? I'm planning to actually pay for some decks this time to see if that gets me to the quality I want, and going to skip the whole 'trying to make my own deck' thing for now
Yeah, ignore the "defaults are terrible" people. Turn on FSRS, if it isn't on by default (I think it is), and forget about it.
I have seen this opinion offered hundreds of times and each and every time I reflect upon the irony that not one of these commenters having trouble navigating the UI, etc to their liking doesn't just ... Make Anki cards about Anki.
If that sounds silly, it shouldn't. I've made flashcards out of all kinds of other programs, from vim to shell shortcuts to Photoshop. Nobody ever expects an interface built for professionals to be something they can just waltz in on and understand perfectly on day 1.
Given what you've said:
* Make your own cards (unless there's an automated workflow [Japanese, sentence mining], really good shared decks, or you're studying for a standardized exam [USMLE])
* Deck Settings (scheduling): Enable FSRS. Press 'Optimize', then press optimize once per month.
* Deck Settings (workload): Wait 2 weeks before gradually increasing new cards per day (if you want to study for longer). Decrease it immediately if you feel you're getting overwhelmed.
* Deck Settings (backlog): Set max reviews/day to 9999
* App Settings: Disable 'Show next review time above answer buttons'
* Addons: https://ankiweb.net/shared/info/876946123 (you seem to have a problem with answer button selection)
* Recommended: Press 'sync', and create an AnkiWeb account. In app settings, set Anki to auto-sync on open/close. This is a free backup.
* Optional: Use a mobile client (AnkiDroid is free on Android, AnkiWeb is free on iOS)
You'll feel like you completed the first day far too quickly, and will want to do more. Avoid overstudying until you build intuition for how it impacts your daily workload.
Use Anki every day
Thank you, the pass / fail addon will help a lot I think, in addition to the FSRS features included in the article. I'll come back to this comment for setting up my settings before starting up again with Anki.
If I'm planning to learn several topics at once (I'm never preparing for anything I will be tested on or hit a deadline for, this is not for a school, work, or travel program), is it better to treat the decks as one big combined review do you think?
Your call.
Ideally one deck, but add a tag when creating the note, so you can separate things out later if you want to pause learning something/split them out.
> Use Anki every day
I think this is great advice. I have some friends that used Anki that told me "oh yeah I just study once per week" and I just had PTSD of when I forgot to do one day. Sometimes I would miss a day due to traveling and timezone difference and I would instantly panic when I would see 400+ cards to review.
If you don't do it daily, Anki doesn't make any sense to me. My recommendation—to that friend and everyone else—is to study a little bit every day. It's much better for building a strong foundation, especially for languages.
I made a tool based on this principle!
We spend hours a day browsing the web, so I made a browser extension[0] that translates sentences at your knowledge level into the language you're learning, so that you're always learning a little through immersion.
I also used the same "10 minutes a day on Anki" strategy with my A levels, and it made the revision process so so much nicer because stuff I'd learnt two years ago was as fresh as if I'd learnt it a couple of months ago, rather than years.
Looks not bad but a) billing/prices should imho be prominent and not hidden behind trial or get started. And b) not sure if 5/12/20 per month is not too much? The About section is nice. (I use two other paid language services, thus no need/interest in another)
There's a surprising gulf between word recognition and overall sentence comprehension. I'm learning Farsi with a combination of Anki and Youtube videos and sometimes I find myself in the weird state where I recognize every word in a sentence, but yet cannot assemble its overall meaning.
Not buying at all that you learned 18000 words and 5000 kanji in ten minutes per day. Thats 60 hours a year for say five year, or 300 hours. Thats leaves you with about 70 words and/or kanji per hour or less than a minute per word/kanji. A rate which far surpasses native speakers.
Anki works, it doesnt need these unrealistic takes.
Whoops, sorry if that was confusing.
Actually, it took me 20 minutes of time per day to do my reviews + new words. I had, on average, 200 cards to go through daily (180 review + 20 new cards).[1] Going through 18'000 words took me around 5 years. 5×365×20=36'500
> A rate which far surpasses native speakers.
Are you comparing me to babies? It took me 2 weekends to learn all kana, but it takes years for a toddler to learn just hiragana. It's not a fair comparison.
> Anki works, it doesnt need these unrealistic takes.
I wonder why you think it's unrealistic. It's not like I'm a genius or anything.[2]
[1] Two cards is one word; one for English -> Japanese, one for Japanese -> English.
[2] Some teachers definitely thought I was a genius because of my memory, but it was all thanks to Anki. And proof is that I was absolutely bad at text comprehension. Anki doesn't make you practice that.
I learned 17.5k words comprised of ~3k kanji in around 2 years at about an hour a day of review time. That's reviews + new cards, not including time immersing in order to find the daily quota of new vocab which itself was 2 to 3 hours of study.
So, by my calculations for just the Anki time alone it's about 17.5k words split across 730 hours, which comes out to about 23 words and hour or one word every 2.5 minutes.
I've seen a pretty wide variety of people do Anki, and I can say there's a distribution in length of time per card for basically the exact same types of cards among people. The slowest people average around 3x slower than the fastest.
That isn't terribly far off. I used Anki throughout my A levels, spending about 250 hours on it in total according to its statistics, and had something like 10k cards that I reviewed 50k times.
Now, those cards weren't alone - they were reinforcing content that I'd learnt in lessons. But if they were doing it for 10 minutes a day a few times a day, it seems quite plausible to me.
Pretty OT: A few month ago I tried to marry my simple note system with anki. My goal was to be able to send simple front/backside cards to an api and it would get integrated and I can use it immediately. Ofc, when I edit cards via my notes-backend, the cards in anki should update too.
Long story short: not possible with anki. It took like an entire day for me to realize its just not possible without diving deep into ankis sqlitedb and having the client installed on my server to interact in a horrible way with decks. I wrote my own space repetition [1] backend in a week and never looked back to anki. Ill intergrate FSRS in my software.
1: https://github.com/entropie/ha2itat/tree/main/plugins/entrom...
I looked into this before too. Ankiweb (the place where cards created on Anki sync to) does not provide a rest API. The service is free though. It makes sense they may not want automated clients.
There is an implementation of their sync server, which you can self host. And it has a REST API
https://github.com/dsnopek/anki-sync-server
I think I ran into a blocker with it not supporting something I needed last time I tried to use it though.
If you use Obsidian there's a great plugin which allows me to make flashcards easily within my notes:
Wouldn't AnkiConnect be good enough here?
Anki can import .csv files and if one of the column content is matching an existing item, it will update the contents of the card while keeping the repetition history. Think of it like including a column with unique keys.
I know this is not precisely what you wanted, but yes, Anki can update card contents.
> In Anki, templates are written in HTML, which is the language that web pages are written in. The styling section is CSS, which is the language used for styling web pages.
https://docs.ankiweb.net/templates/intro.html
----
But you'd want AnkiConnect, or a Python-based addon for your workflow
I haven't seen it mentioned yet with CTRL-f and I haven't used Anki in a while, but has there been work put into modifications in Anki or other programs using spaced repetition along with interleaved practice to also see if that improves studying.
Interleaved practice explainer: https://openlearning.mit.edu/mit-faculty/research-based-lear...
I think it’s important to note that the original SRS algorithms are not for learning. They or for remembering or “not forgetting”.
The system assumes you have already learned the fact (for some unclear to me definition of learned)
Most users inserts new words in the hope that repeating them in anki will help them learn. It does to some extend, but it is not quite the right tool.
So for example, in Japanese, simply remembering how to read a word out loud is a task in and of itself. If you put words in context (which in language learning makes sense) the learner will quickly start to recall the meaning of the word based on the look of a sentence.
For a learning system this open up a lot of issues to solve. The best attempt I’ve seen was a web app that gave you full sentences and you clicked the characters word you didn’t understand and based on that it would give you different sentences.
There are two problems with that website: I don’t remember what it was called and it used google translate from 10 years ago. The second could be improved by expanding the corpus and use LLM to form sentences for the learner.
That tutorial guy on YouTube, Derek Banas, swears by Anki. He's quite the voracious learner as well as being a pretty good contractor. I've used it myself (sparingly, when taking on new projects with new technology stacks), and never really committed to it because of the somewhat static and predictable nature of the learning session (as described in the article; the algorithm). However, from learning about the upgrade (well, 2023 upgrade), I will try it out again: high hopes.
> Thankfully, the leading spaced repetition software, Anki, has incorporated FSRS as its default scheduling algorithm since version 23.10, released in 2023-11
I've used Anki for a long time and apply updates, but I don't closely track changes. Based on the above, I figured I'd be using FSRS, but I'm not. All of my decks have that setting turned off. Fair enough (no silent updates to existing data), but even when I create a new deck, I have to turn the FSRS setting on manually. I found the same even with a whole new profile. What aspect of this is "default"? Is there a global setting I'm missing?
I'm glad it's available, though, without any plugins!
I found it a little annoying that SRS is immediately explained to mean Spaced Repetition System, but then the F is added without explaining what it stands for. Most references of the article do neither. Except https://github.com/open-spaced-repetition/fsrs4anki/wiki/The... which says the F means Free. Seems a little too easy? I found nothing else. Chatgpt says it means Flexible, which actually makes more sense? Anybody else can chip in?
What does the 'Free' mean in the name?
The algorithm (FSRS) supports reviewing in advance or delay. It's free for users to decide the time of review. And it will adapt to the user's memory.
Meanwhile, spaced repetition is one essential technology to achieve free learning.
FSRS runs entirely locally and has no risk under others' control.
source: https://github.com/open-spaced-repetition/free-spaced-repeti...
When "FSRS" is first used it's a clickable link, and the first sentence on that link is:
> FSRS (Free Spaced Repetition Scheduler) is a modern spaced repetition algorithm that was developed by Jarrett Ye.
If I do a search of "flexible spaced repetition software" I get no results, which strongly suggests the dumb guesser you're using guessed something plausible to placate its user. This is common behaviour for this type of software.
In summary, I politely suggest you critically review how you interact with knowledge on the internet.
I see a lot of discussion about SRS, and I think most can agree they have improved.
What I would like to see covered is a more vague area, but almost more important:
It’s the space in between reading/understanding something and the SRS. There are almost no standalone tools dedicated to creating flashcards easily from existing programs (web browser, PDF readers etc.) into popular SRS (Anki, Mochi etc.). They should work almost as OS additions to make everything feel native and frictionless; I don’t need another standalone tool that does X Y and Z, I just need some sort of pipe into an SRS that is Mac friendly and does the job whilst not being in the way.
If someone knows of such a tool, I would love to hear about it.