But seeing how it's implemented, I think they could totally integrate something like FSRS to at least just replace their scheduling (how long until an item is next shown). The unlocking system can be implemented as a separate gatekeeping mechanism, and the buckets can be coded for certain step thresholds (instead of wanikani's "stage").
Basically, this is their entire srs system: https://docs.api.wanikani.com/20170710/#spaced-repetition-sy...
https://github.com/inro-digital/simple-tools/tree/main/packa...
YMMV though, since I haven't user-tested it in my app yet haha.
TBH though, I think for a true WaniKani competitor, need to reserve a decent % of work for building the dataset. Putting together all those mnemonics, cleaning up definitions, defining the order of introduction of characters and choosing words... is a lot of effort. There's a reason that WaniKani's so generous with pretty much their entire platform, but specifically states in their docs that the mnemonics/hints data doesn't belong to you... it's a large part of the effort.
Although, I guess could be integrated into the 90% work if you make sharing mnemonics into a community effort.
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.
You still have to do the work.
It's a lever or a pulley, nothing more.
Spaced repetition is doing the work.
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 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).
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.
If you don’t have any of these reasons to motivate you, the question arises of why you’re bothering in the first place.
Now I have several Chinese friends and I'm learning Chinese cooking. I'm motivated to continue learning about Chinese food and Chinese culture, and the important role food plays within it.
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.
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.
As OP points out, SRS is optimized for memory retention. You will almost certainly encounter many more words watching a two hour long video, but you certainly won‘t retain nearly as many words as half an hour of SRS.
Actually you can combine the two. Use the two hour long video to encounter new vocabulary in context, put the new vocabulary in your Anki deck, and review it with optimized SRS. You get the best of both worlds. As a bonus you often remember the source which will help you recall... This is actually common enough pattern that it has a name: Vocabulary mining.
Wait, you're putting yourself in a situation where the first time you see a card, you have no idea what it is?
People will genuinely download top x wordlists for a language and try to learn from them. Hideous, but they do it.
I’ve done that, and I’ve even created a whole SRS app to learn kanji which does that by default (https://shodoku.app).
I think this is common practice for the first 1000 words, and I don’t exactly recommend against it. Unless your target language is close to another language you already know, you are going to have to learn your first 1000 words somehow, and you will not learn them by comprehensible input in any reasonable time, unless you are actually living in the language area, and cannot use other languages.
I actually bought a vocabulary book which has 1000 basic words and example sentences and puts them in categories (e.g. work, travel, food, etc.). I then downloaded an Anki deck from the book and use it. To be fair though, I first read the word in the book, and practice it with a red-sheet (albeit in reverse, i.e. from english and try to recall it in japanese).
As for my kanji learning app. I made it so the first time you see a kanji, it does not hide any information, and it shows you the strokes in order as you write it on first encounter, after that you review it normally.
I agree with your general point too. People are correct to say SRS only helps with memorising and not with learning, but this is only a problem if you haven't developed functional learning techniques or you have to learn something you don't enjoy. Good learning essentially hinges on interest and excitement, and making the thing you're learning relatable or catchy.
If you have exams and deadlines, this can be hard. If you've no exams and no deadlines, just flashcard anything interesting that comes your way, include context and jokes, and focus on enjoying yourself. Delete flashcards with a smile if they annoy you a few repetitions down the line. Make all your own cards. Invent funny stuff, find quirky facts that stand out.
E.g., the area of Ireland is 84,421km^2 - all powers of 2. I never had a "yardstick" for big areas, now I do. Borneo is nearly nine Irelands in size.
Or another example, French Polynesia has 121 islands, 75 of which are inhabited. I found this fact shocking, so I thought I'd put it in to a flashcard. After some quick reflection, I'm sure you too could come up with ways to make those numbers stand out.
Another - the title of Wittgenstein's "Tractatus Logico Philosophicus" - where truth tables were popularised - ends in SOS. No more forgetting the title, or where truth tables are from!
In summary - learn things you like, and make it spicy for you.
Edit: It's worth noting I had a nasty head injury that was slowing me down. Optimising my learning was a necessity, and the injury meant I spent more time studying than my peers, in more optimised and less enjoyable ways, to get the same result.
The first part is definitely untrue, you won't learn any vocabulary spending an hour watching an educational video, you'll be lucky if you remember one new word tomorrow. That half hour on Anki will be spread out over six months, and will teach you 20 words.
As for the second part, doing Anki is like doing through any sort of timeline that spits out random rewards and failures. I get a rush whenever I remember stuff, and I get bummed out when I forget; it's basically facebook.
I understand why one wouldn't think that with single-word vocabulary flashcards, because they are horrible to do and unhelpful. You should be running sentences, not words. Words rarely translate well, change form when they are in sentences, and often show up as part of seemingly ungrammatical set phrases.
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.
Many things. I think HN is a bit of a bubble here, but you'll find a lot of people prefer something enjoyable but slower to something efficient and faster, even if they won't admit it.
See the popularity of Duolingo vs Anki as an example! Or Quizlet vs Anki. Or the scores of students who revise by half-watching dopamine-ified youtube videos rather than doing past papers and flashcards. If you ask people, they'll often say they care for efficiency, but their revealed preferences say otherwise.
Doing large amounts (hours) of Anki day in day out is truly miserable, particularly when the alternatives can be quite enjoyable. And if you burn out before you achieve your goal, is the "efficiency" really worth it vs going slower but eventually getting there?
Plus, a lot of people want to learn e.g. a language because they enjoy the process as well as the end result. Making the process miserable in order to get to the end result faster isn't always a good tradeoff.
Which is what it's about. It's a tradeoff. I'm a big proponent of flashcards, but I think it's important to recognise that you're trading enjoyment for speed in most cases.
I have tried different approaches, including using other people's flashcards (not as good - objectively they were high quality, but you gain a lot from writing your own + tailoring to your own way of looking at things) and learning from them (for my driving theory - terrible idea!). That hybrid approach is the best I've found, and the one I intend to use for my degree.
I confess I'm interested to hear your thoughts re: the usefulness of SRS from a more holistic perspective.
Gwern writes:
>...if, over your lifetime, you will spend more than 5 minutes looking something up or will lose more than 5 minutes as a result of not knowing something, then it’s worthwhile to memorize it with spaced repetition. 5 minutes is the line that divides trivia from useful data.
https://gwern.net/spaced-repetition
My sense is that there are very few facts I will spend more than 5 minutes of my life repeatedly looking up. And even then, many of those are facts that I will naturally end up memorizing regardless of SRS, since I'm using the info so often.
I understand the utility of SRS for test takers or language learners. When Google is impractical or unavailable, memorization makes sense. But for everything else -- why not just Google it?
I used it for some geography stuff, and that was fine I suppose, I like geography, but I stopped after a while.
I find it easy to remember things if I care about them. Ergo, if I care enough to put it in Anki, Anki is useless.
Particularly with LLMs being a thing, you don't even need to concretely know what you're looking for - just give chatgpt a vague description and let it list out suggestions until it jogs your memory.
When it comes to physics etc, you'll end up memorising everything relevant to the areas you actually use. In areas like "What is the star type of a star with a temperature of 6000K" - something that I memorised using Anki, and which took me a while - if I actually worked in that area of astrophysics I'd obviously learn that quite quickly.
I suppose it could be useful for maintaining knowledge. Had I not been burnt out I would have kept up my flashcards through my gap year, which would've presumably been quite useful - I'm currently going through the slog of relearning how to integrate so I'm not totally embarrassed at uni!
This is so well known that it was covered extensively in the book Make It Stick[1], that you might as well call it the "student fallacy." (And they might have; ironically, I've forgotten if they do or not!)
[1]: https://www.amazon.com/Make-Stick-Science-Successful-Learnin...
Anything advertising that you can learn X in Y days isn't addressing that "after" period. Once you've learned the skill, you need motivation toward applying it, which in turn refines your skills. Conversely, becoming hyper fixated can be detrimental to overall skill. "Jack of all trades, master of none" HOWEVER the rest of the quote goes "but often times better than a master of one"
Sometimes you gotta slog through the boring bits to progress.
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!
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.)
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.
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.
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.
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 almost never see someone talk about free recall so I was too excited to see it mentioned not to comment
Any skipped items are then prioritized in the flashcards/cloze completion/shadowing modalities.
AFAIK free recall is not very high signal as to which words you know and which ones you don’t. Skipped words I just as often forget about cards because they’re so easy as I do because they’re so hard. It is however an incredibly effective exercise to cement your recall (and in my apps case, a good way to skip a good portion of your reviews in a day)
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.
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.
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.
However, how do you use for skills/domains where you have to actively think?
Like in your Python example, knowing about os.scandir() would be a tiny bit helpful before Pathlib.
Let's say I put pathlib.Path().iterdir() in my Anki card, what would be the point of that for someone who is happily using glob or rglob?
What I mean is that for many domains it seems the challenge is what to put on these Anki cards.
Let's go with another example. Let's say you create Anki card Recall = TP / (TP + FN) for your statistics 101. However knowing why and when recall is important would be crucial instead of knowing bare formula.
Disciplines like programming, math, and well any technical discipline require both memory and analytical abilities. SR takes care of only the former. The barrier I kept running up against was forgetting definitions and theorems in math - especially if it had been a year or longer since I last used them. This helps mitigate that problem.
> Let's say I put pathlib.Path().iterdir() in my Anki card, what would be the point of that for someone who is happily using glob or rglob?
That's for you to answer - if you prefer doing it with glob/rglob, that's fine. For me, the card was "What is a better way to traverse directories/files than os.walk?".
The next time I reach for os.walk, I'm reminded there is a better way.
OK, let's be real. It doesn't always work. Perhaps only 30% of such cards lead to actual behavior change. In a typical scenario (70% of the time), I'll get the card right, but using os.walk won't trigger the part of my brain that says "Oh, there's a better way". Still, it's a very low price to get that 30%. And the bonus is if I see someone else's code where he uses scandir, I'll immediately know what it is for.
> However knowing why and when recall is important would be crucial instead of knowing bare formula.
Obviously. You'd have to find a way to embed that into a different card.
how do you frame these cards? I've always assumed something like this would be too information dense to be useful
I will note that some cards are basic: A simple recall. Other cards ask for me to reproduce the whole algorithm (a violation of SR methodology).
All cards that take a long time to answer are stored in a separate deck, which I go through only when I know I have the time to dedicate.
That made me laugh ;)
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.
Perhaps they were relying on LLMs to generate decks?
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 just ADHD meds right? That's why the uni students spend so much buying them.
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.
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.
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.
You'd probably say silver bullets aren't a silver bullet because you still have to load the gun and shoot 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.
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.
Is there not enough useless whitespace around every button?
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."
An SRS system which took more account of the human failings of the user might:
- let you pick a "max daily reviews" and then keep you from putting in too many new items up front, rather than letting you accidentally give yourself a huge daily workload after a few months
- let you tell it "I'm going to be on holiday in a month's time" and have it figure out what to do with reviews and new items to minimise disruption
- when you do come back after a break, pick the most useful reviews to offer the user up to the daily limit (e.g. something whose review interval is six months can wait a few more days, something the user added very recently and has seen only once could be put back into the "new items" bucket to relearn later, so if the user is only going to do 100 of their 300 due cards, other cards are more important to review today)
Anki allows you to do that. It's in the deck preset options under deck limits. Nowadays you can also set weekday workloads, to reduce workload eg. during the weekend.
A human who had a lot of time to learn during January, because his job workload was easy is not failing anything if his job related workload becomes high in March and April. But, all that January effort will be punished by super high workloads in March and April in Anki.
Source: https://docs.ankiweb.net/deck-options.html?highlight=easy%20...
We seem to agree on the substance: that the SRS system should be able to work more humanely with and for the kind of entirely normal situations you describe, by for instance being able to adjust to variations in available time and picking the "best" cards to review rather than assuming the user will get through the whole lot, and in suggesting to them when they should do fewer new items to avoid difficulties in a month or two.
If you could set a study time of say 30 minutes, then when you skip a day, you could just do your usual 30 minutes and maybe only get through 50% of the scheduled cards, but you could slowly catch up over the next few days. And if on the contrary you run out of reviews for today, you could carry on with some scheduled for tomorrow until you've hit your target time.
FSRS can handle off-schedule reviews just fine, I think, so it should be able to accommodate such a rhythm where you don't always review cards on exactly the optimal day.
This reminds me of GTO (game theory optimal) play in poker.
There’s a perfect way to do things, so we should just try to do something as close to that as possible, right? The reality is that you can’t actually do things in this perfect way. In GTO’s case it’s that it’s too complex for a human to have memorized and in SRS many (not all) people will fail to follow the algorithm for one reason or another.
The problem is these strategies aren’t very resilient. If you miss the implementation by a bit, it can cause big losses. An algorithm that’s less theoretically optimal but more attainable by actual humans can end up much stronger in the real world.
i really wish the UI would just hide number of cards due by default
The other reason I wrote my own system was to integrate SRS with extensive reading. Basically, my algorithm tracks the difficulty of all the words and grammar concepts, like FSRS; but then it gives you content at the right level for learning (either fewer than 5 new concepts, or an average of 95% known material).
And among the things that fits, it balances reviewing older material and learning newer material, based on what would have the largest impact. (Reviewing something you're about to forget has a bigger impact than learning something new, because the new thing you're going to forget much more quickly. So the balance of new / review and spaced repetition falls out naturally.)
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.
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.
Anki is refreshing function over form design. It's beautiful.
I think it just needs a fresh minimal design, a tutorial, and some premade decks that aren’t just the half-baked free ones.
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.
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 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.
This resonated with me. I think the decline in excitement towards learning, that we used to do without thinking about it, happens naturally with aging.
Evolution doesn't reward older humans that much for learning so most of us don't feel that same excitement. Compare this to when we're young and need to learn fast, so the dopamine rewards are off the charts.
Consider all of the retirees who spend hours at slot machines (or virtual ones like Candy Crush) to get that dopamine fix as easily as possible.
Maybe a more tasteful gamification balance can be found.
Does it show you ads in the language you're learning? Because if so, that could be an asset...
You do anki because you feel like you must and you have very little control over it.
For example review heatmap will give you a streak.
I wonder if there are any good recommendations for something to try it on?
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.
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.
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.
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.
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 just don't use an app. I will challenge myself to remember things or practice things manually.
It's probably sub optimal compared to structured spaced repetition, but it works well enough for me.
Every time i did repetition, i've made a shorter note about the subject.
Then next repetition cycle, i'm reading the note, and making shorter note based on it. and so on.
once few cycles i'm re-reading the main starting note i made.
I tried it for a while with my eldest child (then aged 3) to help her remember numbers, letters, etc. She didn't find it very fun past the first couple of times, so I figured I wasn't going to hoist it on her.
• Memorizing Geoguessr metas. Made it to Master I rank this way.
• Memorizing new words. When I come across a word I don't know, I make a new flashcard for it.
• Memorizing things about people. My wife's favorite ice cream flavors, which spices each of my children dislikes, etc.
Anything I want to memorize but wouldn't be exposed to frequently enough in my day to day life. Flashcard review takes only a few minutes each day.
I got introduced to this idea a few years ago from AJATT [1] and my personal experience is that it works very well.
[1] https://web.archive.org/web/20100406173634/http://www.alljap...
I downloaded an existing deck and modified it so that only the correct answer is shown instead of multiple choices.
I still can remember some of the content even though I deleted the deck short after receiving my license.
- Population of Tokyo / Tokyo metro area / Japan (where I live)
- Japan emergency numbers (like 911/411 in the US)
- kg <-> lb and km <-> mi conversion ratios
- My Japanese phone number (and my wife's)
- Number of neurons / synapses in a typical human brain
- Number of parameters in SOTA language models
- How many people work in my office
- Last 4 digits of a couple important credit cards, so I can identify them when UIs present me a choice of pre-saved CCs.
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.
Anki works, it doesnt need these unrealistic takes.
...Maybe the poster meant "«10 minutes» per ride"? («That's what 10 minutes of free time - I did that during my daily train rides»)
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.
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.
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.
I did the exact same Korean deck as my wife at the exact same time. It was wild comparing our stats in real-time. It would take me 10 ~ 12 seconds to do the same sentences that it would take her 30 ~ 35 seconds.
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.
* 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
* 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
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?
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.
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 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.
I've learned Japanese and part of the reason is that I thought kanji were attractive. I remember watching anime on TV when I was a kid and seeing the opening credits with Japanese characters looked soo cool.
I'm not at all interested in anything I've seen in other non-English languages, except possibly Korean now, since they seem to be producing a lot of stuff.
However, almost everything that I'd enjoy gets translated to English for both Japanese and Korean now, so there's a lot less incentive to learn them.
No wonder my second language was English and third language Japanese.
Never heard a single word of Mandarin in any media I was exposed to. I can understand Spanish very well but I do not count it as a learned language as it is too close to Portuguese (my first language).
At this rate if 2/3rds of their popular media(manhua, games, animation) continues being cultivation fantasy featuring the exact same power system, tropes, character archetypes, often even setting(murim) and content, it never will.
Animanga were always poised to make it big, because for all their shortcomings, they have interesting, exotic(to us) themes/tropes/vibes, and go really hard on hyping scenes up.
Chinese evil. Communist. Bad. Bad Chinese. Bad bad. Cheap products.
Japanese. exotic. mystical. Samurai. Ninja. Anime. Good. Sony. Good. Good cars. Zen. Good.
Me good. Me learn Japanese. Me exotic and mystical. Super power. Me good. Me smart. Me learned Japanse. Me great.
Me me me. Me me me. Me me me.
2. Japanese is becoming one of the most popular languages for foreign media, probably even surpassing English at this point. Anime is really huge now, particularly in the US. It has shifted from being a nerd thing to being of interest for the "cool kids" (if there is even such a thing now). Japan also had a huge and very interesting media industry in the 80s and 90s including some very novel video game concepts, most of which has not been translated
Accordingly, the stereotypical CS major is attracted to Japanese and Klingon, the stereotypical Business major to Chinese. Even though few follow through because of the amount of work and perseverance required
I have been trying for years to fined a way to use it for mathematics and physics - with the former being more of a focus and didn't really get anywhere. For definitions it works, but it's quite hard to write proofs in a way where there is a short obvious memorization based answer. Either you spend far too much time on a card or the card gives you too much information so you don't really test the knowledge.
I also tried it for computer shortcuts - it seems to me that they are really useful only when part of the muscle memory - so practicing them works better then memorization.
It's the next best thing to getting an infinite stream of new problems of a type of problem.
And mathematics and physics, which are (at undergraduate level) even more well-understood than vocabulary.
In general, math is not a subject where memorization is going to get you ahead. The "why" matters much more than the "what".
It makes it unusable and every time I tried I went back to my own self written program that just lets me set/adjust the intervals myself.
In the short term (first day), I think it's still better to set your own intervals (typicall 1 minute, then 5, then 10). But after that, the algorithm optimizes for reminding you just before forgetting. Highly recommend giving it a try.
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.
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.
https://ourworldindata.org/grapher/average-harmonized-learni...
You can't understand something you can't remember.
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 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!
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.
> 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.
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.
I do agree with the author's phrase of "...a daily ritual of feeling bad about what you’ve forgotten..." though, and would like to try the new algorithm. Is there a way to configure Anki to force you to type the correct answer?
20 second video: https://www.youtube.com/watch?v=mxEqRe1Pp1w
It's possible to batch convert your cards to this format using Anki's "Card Templates" feature.
https://docs.ankiweb.net/templates/fields.html#checking-your...
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?
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.
Sprinkle in AI and you'd be a shoe-in.
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.
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.
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.
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.
Never used it, as I've only ever used anki for self study, but it seems like it might be good for your use case?
In terms of updating decks, I think the way it works is pretty intuitive: you have one static field (like in your Chinese example, maybe a particular character or word). When re-importing into a deck, as long as that one static identifying field is the same, all the other fields will be updated. If you want to even be able to change the character/word/whatever, you could make that static field an ID or such.
Also, it is a pretty common pattern for shared decks to come with gobs of cards. You then suspend all of them (sometimes they all come pre-suspended) and then unsuspend the ones you want to study, usually using tags. For example you download the 20k JLPT (Japanese Language Proficiency Test) Vocab deck, suspend them all, then unsuspend only the levels you want to study (say level 1 or whatever) or those tagged as being very common, or whatever. So imagine what you want to accomplish is probably possible with suspension and tags. Like assigning a tag for each student name or such.
Anki is definitely a power tool, like Photoshop or Neovim. It is generally confusing to use and requires some investment. And there is plenty about it I don't like (media management stands out). But like I said in my previous post, I've never found another tool that even comes close.
Programming has a similar issue code, docs, resources, discussions and issue tracking are not handled easily.
Splitting a deck in subdecks can be done through tags, and every card has a unique ID field (usually the front, but you or the creator of a deck can define another one). Assuming tags is the only field you change, when you re-import an updated deck into your collection, Anki will match the IDs and you can define it's behavior when it comes to new or already existent cards.
btw. I didn’t use LLMs to write the app, it was still pretty straight forward.
https://www.encona.com/posts/custom-statistics-for-anki-flas...
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.
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.
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.
"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.
Which LLM do you use?
Do you do anything special to structure the deck by chapter or section?
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.
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?
Out of curiosity: How does the individual student select the cards they want to study? Using existing tags or their own custom tags I suppose? If they create custom tags, how do they keep their local version of the deck in sync with upstream?
All cards start suspended by default, and you unsuspend cards usually by tag. For example, lets say you watched a a popular third-party exam prep video from Boards & Beyond on Insulin. You would find the corresponding video has its own tag "tag:#AK\_Step1\_v12::#B&B::08\_Endocrinology::03\_Pancreas::03\_Insulin" which you would unsuspend all the cards for. That's the basic flow, but everyone does things a little differently.
Some people don't watch videos just do review questions from UWorld which are also tagged. Some people manage cards using a mix of tags and decks. Some people search and manually unsuspend cards individually. Some schools cross-tag cards with their lecture. Personally, I use an AI search to unsuspend cards by cross-referencing against a PDF of lecture for the day.
Custom tags can be protected when syncing from upstream: https://community.ankihub.net/t/protecting-fields-and-tags/1...
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.
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.
I experimented with SuperMemo around 18 months ago, and it made me fall in love with SRS again. The main reason being the algorithm is less punishing when I skip a day. Maybe it has better defaults?
I once skipped a whole week and could get back on track in the next week, in Anki that feels unbearable.
Another thing I really liked about it is that you can edit a card as you are studying without having to open a separate window, helps me stay in the flow when studying.
But… With a better algorithm I might give it a try in the future… Being FOSS is the real advantage here.
Q&A/discussion: https://supermemopedia.com/wiki/SuperMemo_dethroned_by_FSRS
Repo: https://github.com/open-spaced-repetition/fsrs-vs-sm17
Discussion: https://discord.gg/qjzcRTx => https://discord.com/channels/368267295601983490/136895216717...
I wasn't involved in the benchmark, and don't know whether `SM16-v-SM17.csv` is a full export. Didn't see any reviews before 2020, and it may only be an export of a subset of reviews.
https://github.com/open-spaced-repetition/srs-benchmark/#dat...
I've stopped working on it and am now building something highly similar aimed towards high school students, but any feedback is welcome. This version was built for uni students
mimair.com - I never got around to adding any payment option so its completely free
This seems impossible to me. In anki, there's "hard", "good", and "easy" which are all for "I got this right".
For my usage, "hard" is "I got it right, but I was only like 60% sure", "good" is "I had to actively think", and "easy" is "effortlessly correct, no real thought required".
There's no way for an AI to tell if my identical input is the result of a 50/50 guess, or a little thought, or effortless recall. "delay to answer" also isn't a good approximation, I have a habit of alt-tabbing and chatting with a friend on random cards of any difficulty.
I find distinguishing those levels of easy for totally identical answers ends up making SRS more effective, and AI just can't know my inner thoughts. Maybe once we have brain implants.
> any knowledge rather than specifying that the exact answer should be graded
I don't understand what you mean. The important thing is to feed back into the SRS algorithm "How much does this card need to be studied", and if you mean "any knowledge means we can study it less often", then I doubt the SRS will be able to be effective.
What are you suggesting to feed back into SRS? How will you ensure cards the user knows very well quickly get pushed way back (so the user isn't overwhelmed with a boring slog), and cards they only sorta know bubble up more quickly to start to cement the knowledge?
As an example Term: "What is the capital of France and how many inhabitants does it have?" Correct definition: "Paris, which has 2 000 000 inhabitants."
For me there is a difference in not having the answer at all, which falls into "again". But what about if I'm able to retrieve that Paris is the capital, but I remember that the population is 1 500 000. This is where the gray zone begins
There's a lot more room for gray zones in language learning, where you might have the french card "doubler" and answer it as "to pass", and then see the actual answer is "1. to overtake, 2. to double", in which case you have to read your heart and decide whether missing the second definition was careless because it's so obvious, or if it merits an "again"
An AI also can't really know, btw, if your answer of "to pass" was "to pass (overtake)" (correct), or "to pass (like a note in class)" (incorrect).
That's not the best example, but there are a ton of ambiguous english words, and you only know in your own heart which meaning you meant.
The AI cannot read my mind, there is no approximation that will work reasonably accurately here for "how confident was I in my answer", unless I input that myself.
If the window loses focus it would be able to pause automatically. If you are distracted another way, no big deal you will see that word again soon and unlikely to keep getting distracted on the same word. The benefits would outweigh the odd misfire.
Not to say that how quickly you can access it doesn't play a role in real life.
Either I don't understand the algorithm or it doesn't understand me.
Depending on what you're learning, you might vary those. For language learning, that works well imo.
Also, make sure to switch to FSRS. The old algorithm defaulted to "again" resetting a card to 0, while "again" in FSRS does show it again, but doesn't reset it back to being effectively new.
If you want to understand the algorithm, read this: https://github.com/open-spaced-repetition/fsrs4anki/wiki/ABC...
I like the design suggestions proposed at [1] and [2] for this particular problem. [2] in particular gives tooltips which are supposed to guide you toward exactly what the buttons mean:
- Again: "My answer was completely incorrect"
- Hard: "My answer was correct, but I hesitated a lot"
- Good: "My answer was correct, and I hesitated a little"
- Easy: "My answer was correct, and I didn't hesitate"
That said, you can also just reduce it to a two-button system: only ever use Again and Good. There is some evidence this works better, especially with FSRS which is doing enough machine-learning behind the scenes anyway that it doesn't need the extra signal from Hard vs. Good vs. Easy.
[1]: https://forums.ankiweb.net/t/how-to-prevent-users-from-misus... [2]: https://forums.ankiweb.net/t/how-to-prevent-users-from-misus...
I like the anki way of self rating, so I kept it. I want to be able to say: “hey, I know I screwed up the stroke order this time, but it won‘t happen again, promise” and hit “Good”.
1) The time it takes to make cards. RemNote allows you to take Notion-style block notes and quickly turn bullet points into flashcards using symbols. For example, you might be in class and make a bullet point in the format
- The quick brown fox jumps over >> the lazy dog
which you can later review as a flashcard that is automatically separated front/back by the >>.
2) The old and unintuitive UI - again, basically just Notion with flashcards. You can easily view all your notes in a bullet hierarchy and then switch over to SR flashcard practice. Even has rich code blocks, image occlusion, tables etc. A much better implementation of Anki's notes/cards metaphor in my opinion.
I am not sponsored by RemNote, just a university student who has bounced off Anki and really likes the app.
The basic idea: SRS is great, but it can be hard to get motivated to start studying your cards every day. On the other hand, most people have a habit/addiction to check their email or social media multiple times a day. The idea is to intersperse random card studying into my email or Telegram inbox, reducing the time to study a single card to a few seconds interspersed across a busy day. So I want to get a few random emails (or texts) with a due flashcard question, and have the ability to answer the flashcard directly in one click from the message. The hard part is that last part: getting the software to work so that I can answer the flashcard in a single click from the email, so that I don't need to open the whole app just to start studying.
Would really help to keep up with my studying even on busy days and hack the brain's addiction to email/social media to do something useful.
For email, I think you're right it would need to be frictionless. There are some new email technologies that let you embed dynamic interactions in your email - we might play with that at some point.
So this is probably hard to do as a plugin tbh, but I'd love to explore eventually as a feature.
I’ve always felt this setup was a bit arbitrary and considered it a temporary solution. Thanks for saving me some time on research!
As a quick hack, increase the factor to 2.5 once you reach 1 day. That's what Anki's SM-2 used to use (if only pressing 'good')
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
> download all pdfs
> merge pdfs into one
> compress
> write a very specific prompt for gemini to turn these into anki cards separated by a semicolon
> do 50 anki cards a day for 3/4 weeks before exam
not a single lecture attended top of my class (ku leuven). feels like cheating honestly
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!
https://github.com/arvindang/rb-fsrs
Originally adapted from the Python version linked here.
Anki runs on desktop: you have to be chained to a desk rather than taking advantage of idle moments when you are on-the-go. Even if you have it on a laptop, you still need a place to sit; SRS on mobile can be used anywhere, like standing-room-only public transit.
The AnkiMobile companion app for iOS is a paid app that is somehow chained to the desktop version, whereas AnkiDroid is a full-featured clone of Anki that you could use air gapped without ever syncing anything to or from another device. It has integrated management of decks and note creation/editing.
Every other SRS app out there is just playing very distant catch-up to Anki/AnkiDroid. They usually mention Anki in their pitch, trying desperately to explain why some very minor and very subjective negative point about Anki is worth switching to their massively inconvenient solution.
Note that Anki uses (used) such an old algorithm because it derived it from an ancient open source version of SuperMemo, a software which started the spaced repetition trend. Anki just added a usable GUI instead of the convoluted mess that is SuperMemo. Newer versions of SuperMemo improved the algorithm, but they are no longer open source. I wonder how FSRS compares to current iterations of the SuperMemo algorithm.
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!
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.
No MCP on ChatGPT yet, but I can ask chat to generate an output of what we reviewed in a structured format.
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.
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.
If your target language happens to be Chinese then you can give it a try at https://reader.longyan.io/landing
No login required, love your feedback.
Related comment on another app: https://news.ycombinator.com/item?id=43769831
I also tend to believe to just convert between them is not the best approach. Better to find different content for both. If student wants to learn traditional script, they usualy want content from Taiwan and not from China, and the other way round.
There is no long-term gain from storing "hair" and "emit" under the same entry in your database. Storing 髮 and 發 separately, along with 发 as the simplification of both is a small effort now that will constrain you a lot less in the future. I've literally seen this pitfall happen with about 40 different Chinese learning apps over the last 15 years. Only a few (like Du Chinese and Pleco) got it right early on.
If I were to go back and learn Japanese again, (which I may do since I haven't spoken it in 20 years), I'd use Anki for the following:
- drilling the sounds, single syllables, 2-3 syllables, and identifying pitch accents in sentences
- relearning hiragana and katakana
After that initial phase, I'd probably make the core of my practice listening to podcasts for foreign learners while reading the transcripts at home and then re-listening to those same podcasts later while outside for practice. It's way easier and more helpful to recall words in a context you already understand.
I'd also use Anki for learning kanji if I hadn't spent years reading traditional Chinese. Since I have that background and Japanese character simplifications were so modest, I think I'd just read some audio books while listening to the audio and see if I could figure out all the kanji from context. TV series are also great once you can access them because they tend to use similar vocabulary and revisit similar throughout a season arc.
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...
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.
Or is there something similar already available?
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
AnkiDroid has settings for linking a csv from google drive. Then just look up how to sync a local file/directory with Drive. Its just a matter of making sure the LLM knows the MCP Anki tool is available in every prompt (well I have a learning/Q&A prompt that uses this), then In the system prompt I tell it to make Anki cards whenever it seem like I'm having trouble with a concept, like asking a question twice, and to make sure the card doesn't exist already.
Usually my intuition about how well I know something is not too far off. If you don't specify anything, it doubles the time since the last review.
One direction could be to incorporate semantics, which afair FSRS doesn't do at all yet. A good flashcard deck will have a lot of semantic overlap, e.g., a card for the vocab word itself, that word in a sentence, etc. Struggling with one component is a strong signal you'll struggle with another.
The same thing could be done for just better spacing, so you don't "cheat" by having too closely-related cards next to eachother in a review (the review signal will be less noisy).
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.
- 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".
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.
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 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'm glad this has resonated, good luck with the prototypes. Let me know if you ever want more feedback.
The hardest part of any system is making it a habit.
EDIT: This comment further down mentions asbplayer. https://news.ycombinator.com/item?id=44023159
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.
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.
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.
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.
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”.
https://ankiweb.net/shared/info/2055492159
IIRC Yomichan (been a long time since I needed tools like that) is a Chrome extension that lets you mouseover words and it'll show you the meaning. I think you can invoke something in Chrome that will trigger the Anki Connect API and send the info to Anki to create a card.
I've never bothered with this, but I think that's what you're looking for.
We have 4 levels of integration:
* Some apps which integrate with AnkiDroid via our Content Provider based API (see [0]). This integrates with the Android permissions system, but you may also disable all integrations in the AnkiDroid Advanced Settings. AnkiConnect support (REST API) can also be enabled using a third party app.
* System Context Menu (ACTION_PROCESS_TEXT): Selecting text in most apps should provide an 'Anki Card' option in the context menu. This may need to be enabled in AnkiDroid: Settings - General. This may also need to be enabled on your system (system dependent: long press text in an app, expand the context menu to 'more items' and select 'Manage Apps')
* Android Share Menu: Select text and select 'Share', this enables use of our 'Instant Note Editor' for cloze deletions, as well as our standard 'Add Note' screen[1]
* Android Intents (should work with Tasker)[2]
[0] https://github.com/ankidroid/Anki-Android/wiki/Third-Party-A...
[1] https://github.com/criticalAY/GSoC-Report/blob/main/README.m...
[2] https://github.com/ankidroid/Anki-Android/wiki/AnkiDroid-API...
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 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.
- 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.
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.
- 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.
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.)
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! :)
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.
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.
But if that's the case, then wouldn't a program that takes a long text (like a book) and creates GOOD flashcards, be way superior over someone making their own bad flashcards?
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 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.
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 was thinking to use some study material to test drive Google NotebookLM for this use case.
Another nicer option I think would be using the structured output of the API to generate the cards in JSON format, and the parse it to the Anki format with a script, but I think this approach is fine for me.
The prompt I'm using is this
---
Using the information in these PDFs, make some Anki cards to study for an exam.
The format for Anki cards is
```
front1;back1
front2;back2
front3;back3
```
Remember that you can't use ";" inside a field because it is used to separate the front and back of a card.
If the back of a card is a list of elements, prefer to use "<br>" to specify a newline.
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]
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 )
> …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?
The app's been 'in production' for myself and my daughters for years, but no public access or polished working demos yet. I hope to have exemplar static-site builds using very soon.
I'm also working on these guys for my in-development early literacy course: https://patched-network.github.io/letterpeople/
https://www.asiteaboutnothing.net/w_ultimate_spanish_conjuga...
Yes, you can crank through and memorize things without context. It is more painful and less effective overall.
Yes. I really get the urge to automate stuff, but imo half of the benefit is from doing the leg work.
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.
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.
* I wanna be able to watch X in Y language
* I know these words
* Help me
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...
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.
I put a paper in, and clicked a sentence and ... it is somewhat magical. This is exactly what I meant, somewhere to have PDFs etc. and an easy way to make cards immediately.
I bought pro with AI, and then I put a full paper in. I asked the AI to make flashcards of the whole paper; it worked so well, it's basically SuperMemo's original idea of incremental reading.
Looking forward to using it more, thanks for your hard work.
Well, you probably not gonna like this but Emacs with Org-mode is excellent for managing Anki cards. My SR cards are not in some other medium — they are literally my notes. I can edit them freely; I can generate new content easily (e.g., using LLMs); I can turn any thought or a book quote into a card and vice-versa; cards are version controlled; I can embed formulas and code snippets; they are easy to search through; they are platform-independent; they are contextual — my cards are intertwined with additional notes, book annotations, screenshots, video links, etc — they help me study subjects with immersion;
Any recs for moving this into Anki? I already use Anki for cards I created while going through Genki with my tutor, and world capitals.
The easiest thing I can think of is just grab https://ankiweb.net/shared/info/369908962 , and schedule everything you've already seen in WaniKani for immediate review, heavily relying on pressing easy to try to get things into a longer interval if you already feel you know them. This probably works best if you're relatively low-level on WaniKani. You might be able to use the WaniKani and Anki APIs to automate this to some extent.
Googling around, it seems others have run into this, e.g. https://community.wanikani.com/t/export-wanikani-srs-progres... and https://community.wanikani.com/t/userscript-wani-kani-export... look promising. https://www.reddit.com/r/LearnJapanese/comments/n1pihp/why_y... also seems good.
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...
> 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.
A lot of the difference in that graph seems to come from 70% vs. 90% retention.
I've built Komihåg [1] to try and combat this: Select any text on your iOS device and a flashcard is automatically created for you, and the app is then showing you the cards on the Home Screen / Lock Screen / Apple Watch Face.
I haven't gotten to implement any sophisticated scheduling algorithm yet but will definitely do that eventually.
[1] : https://komihag.com
Looks like share extensions are not generally available inside the Books app, which is why my app is not showing up.
Thank you for making me aware of the issue!
I've done lots of tweaking to the algorithm over the years to make it feel like I'm less surprised by the scheduling, and less like a slave to it. One very stark difference between mine and Anki is that I have a large number of "overdue" cards, but the system still prioritises when to show me the overdue cards with quite a few different metrics based on how overdue it is, how new it is, how long the current interval is, etc. So, like Anki, I still just double the interval for correct cards, but for incorrect cards, the reviews are repeated same day until they're correct, and then the interval is reduced a lot more than Anki. So, the cards then become overdue sooner, but because the scheduling of overdue cards is better, they get pushed later if your overdue queue is too large, and sooner if you've not got anything more useful to review.
FWIW, my typical session is 40 minutes per day during my daily lunchtime walk, and I'll get through about 150 cards in that time. If I'm on a long train journey, I'll often clear out double that or more, but the disaster situation of being on holiday for a month might leave the queue with a couple of thousand extra cards, but they never seem unmanageable. Even after a 2 month break when I was travelling last year, and only doing reviews on flights and trains, I'd definitely forgotten some words from not reviewing at the appropriate time, but the percentage of totally forgotten cards felt better than I used to experience after just missing a few days with Anki.
One thing the article mentions that I don't massively concern myself with is desired retention. I'm not sure I'd want to express it as a target percentage, but I've definitely been thinking about how I want to change things to deprioritise stubborn words without just suspending them or deleting them. I definitely find that having them keep showing up, so I might see a pattern of them wrong twice each day before finally getting them right, after a few days of that they do usually suddenly stick for good. But sometimes I look at the word and think I don't really care if I remember it or not.
Would love any feedback—I’m aiming for a more focused, restful take on what I like most about Anki. Styling is done with Tailwind.
I'd like to be able to take freehand notes, and then be able to block out, or blur, certain sections and each blocked or blurred area becomes a spaced repetition entry.
Or, in more detail. I'd like to look at a page of notes and loop select a certain area. That selected area becomes a spaced repetition item. After the initial loop selection I can do another loop selection to blur one or more areas that would be blurred. Etc, etc.
You can probably do what you want with the in-built image occlusion feature. Might be worth downloading an Android emulator and seeing if we meet your workflow requirements.
Once you upgrade, FSRS is available under the deck options.
That being said, its just another tool in the toolkit for learning stuff. I don't think I'm that much smarter or better at anything just because I have used Supermemo often for awhile. Honestly, I just like making cards and throwing articles I want to read later into Supermemo for processing. Most of what I use Supermemo for is incremental reading, which I have never been able to find a good replacement for. I like being reminded of cool stuff I have read and ideas that I have had. I would recommend also learning and practicing various mnemonic techniques alongside spaced repetition.
Most of the other algos/apps I have tried have been okay, I have not tried FSRS because I don't really use Anki anymore. I used Anki when I was in college for about 2-3 years because I would do flashcards using the mobile app. I was still using Supermemo daily during the same time period though.
I also use Clozemaster for language vocab with Supermemo. I put the sentences and some explanations into Supermemo after I do them in Clozemaster. I do not really consider myself to be a language learner or learning a language. I pick up new vocab very slowly and do not do anything else to practice the languages I am learning vocab from. I have also been using Math Academy almost daily for about seven months which is nice, but definitely not a full replacement for learning math. Using Math Academy actually made me start working with math textbooks and online resources again.
[1] https://www.help.supermemo.org/wiki/Incremental_reading [2] https://www.help.supermemo.org/wiki/Postpone [3] https://www.help.supermemo.org/wiki/Mercy
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.
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?
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
Especially for language study, as a friend put it, speaking a language is like learning a musical instrument, no amount of book studying will teach you how to play the instrument. The way you learn to play is to play. And similarly, the way you learn to speak is to speak. Sure, you can fill your vocabulary, but I question a little how much it helps in context. Obviously it's not zero. I'm sure curious, if there are better methods than SRS for language learning given that hearing, creating, understanding, and speaking whole sentences is the goal, not individual words. I can generally learn a new word in my native language with one exposure, no SRS needed.
We generate cards that respond to speech to evaluate card recall and pronounciation (via speech recognition). We don't market it as AI but behind the scenes we use LLMs to explain the context behind every word and phrase, offer additional usage examples and cultural notes, and also generate roleplays based on specific topics & scenarios.
Happy to pass along invite codes to anybody who wants to check it out. https://getdangerous.app
Interleaved practice explainer: https://openlearning.mit.edu/mit-faculty/research-based-lear...
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.
(Free Spaced Repetition Scheduler, in case anyone was wondering)
My second reason is that I'm worried about the complexity - both from non-nerdy users perspective and me having to debug it.
I don't know if this is replicable with v6, or not. I would be interested to find out!
[1] https://www.reddit.com/r/Anki/comments/16t2lva/comment/k2cor...
But they are comparatively narrow and technical compared to the improvements that need to be made in usability and scalability (of content dissemination and navigation).
Shameless: I am working on a FOSS SRS platform / toolkit that I believe can take some substantive steps forward here. Can read some at http://patched.network, or poke around http://github.com/patched-network/vue-skuilder
This and other stuff I read on the article makes me thing that this person is maybe over-using the SRS. In my opinion, although OP is clearly way smarter than me, at some point we need to graduate from SRS, read native material, in Wanikani probably at first 100% of time needs to be dedicated to SRS and gradually time on SRS needs to be reduced and increased on reading native material, once on a reading level which is good enough so new vocabulary appears sparsely enough, what is the point on grinding an SRS? Most people don't even reach level 60, I don't see the point on being on lvl60 and still stay there grinding leeches. In the end SRS is not an end, it just gives you a mapping, an automatic translation from A to B without context. It is just a temporary bootstrap so you end up fixing it through real material afterwards. However, I think Wanikani should allow to suspend leeches, for sure.
Regarding Bunpro, I bought it, but I'm more convinced with time that SRSing grammar is probably not the best idea, and I think they could do a lot better if they had better exercises, like "not exactly an SRS", just selecting varied exercises for you every day.
PS: I remember seeing an expert in languages recommending that all cards you add to Anki need to be deleted after 2 months. If you didn't learn it by that time and it is important it will come up again and you will re-add it. Not sure if I agree with this either, but between this, and having a word forever there must be an intermediate point.
Getting 10 new cards that I happen to already know is easy. That's very different than getting 10 new cards that I get wrong, and therefore need to memorize.
I'd love to have 2 settings like:
- Max number of new card fails, say 4
- Max number of new cards, say 20
After 4 fails on new cards, Anki would stop showing new cards for the day. But if they're all easy, I might get up to 20 new cards in a day.Fancier versions could use a decaying average of new card fails from the last few days. Those recently memorized cards are more challenging during review.
entropie•1mo ago
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...
welder•1mo ago
entropie•1mo ago
johanyc•1mo ago
entropie•1mo ago
david_allison•1mo ago
https://docs.ankiweb.net/templates/intro.html
----
But you'd want AnkiConnect, or a Python-based addon for your workflow
criddell•1mo ago
entropie•1mo ago
> Anki desktop app auto-launch > Perhaps the most precarious aspect of the Anki-Connect add-on is that the Anki desktop application must be running for any of the API calls to work. Yanki Connect tries to sand down this rough edge by (optionally) automatically launching the Anki desktop app if it's not running already.
yellow_lead•1mo ago
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.
SamPatt•1mo ago
https://www.stephenmwangi.com/obsidian-spaced-repetition/
kartikarti•1mo ago
https://ankiweb.net/shared/info/2055492159
jwrallie•1mo ago
I know this is not precisely what you wanted, but yes, Anki can update card contents.
rsanek•1mo ago