I have used Anki productively, I think it's a great tool, and should be a component of learning in many fields.
But I can't help but think it could be a lot better, a lot more efficient, perhaps even 2x more. Anki allows you to customise many aspects of when cards are shown. But presumably those settings can be tuned for a individual, a subject, or even a card. One person probably doesn't have enough data to know what would be most efficient, so they guess, or stay with the defaults.
Part of this is due to the lack of data - and the privacy concerns that would accompany Anki harvesting it all and feeding it to a machine learning system. But if an SRS system were recommended by and developed by a national curriculum, I suspect it could be a lot cleverer and more efficient.
As one example, consider if you had to learn the translations of 2 words. And students often got them confused. Then perhaps getting one wrong should also prompt a test of the other, or indeed maybe it should delay the test of the other? Who knows...
I agree with your comment. As a sidenote concerning your last point, Gabriel Wyner's book "Fluent Forever: How to Learn Any Language Fast and Never Forget It" explains in detail how to build an SRS system to learn a language and it strongly advises against using translation tasks in your SRS.
Instead of thinking in the target language, your mind will create strong associations with the words in your original language and make it difficult to think in the target language by always having to refer to the original language. A better task design would be receiving images and coming up with the word in the target language.
Yeah that works for the first 1000 words perhaps. Then you run out of images to show. Many of the more complicated words simply can't be disambiguated by images.
Learning words by translation is totally fine. The point is not to use this as your ONLY learning method. You use it to SEED words. Once you know like 5000 words, you will be able to read books and also look up words in same-language dictionaries. But still learning more words with translation still should work well as long as you get 90% or so of your language exposure without translation. Learning words is just a tiny part of the task.
Learning words by translation is fine but what the book argues is that it's very inefficient, because you seed them with respect to your original language so you build a habit of going back and forth between the languages when trying to come up with a word instead of staying immersed.
The advantage of images is first of all that visual cues are very powerful for memory, the more senses you associate with a memory the stronger it will be (I wonder if anyone has ever tried to incorporate smells into SRS?). Furthermore, it is not always easy to find a decent image but the mere search for this image will make your brain work with that word in mind and create associations.
Granted, it is not easy to find images for words such as "philosophy" but with a bit of creativity it is possible and if not, it's always possible to explain the target word in the target language to stay immersed.
It is doable. There is a book called Lingua Latina per se Illustrata that does it for Latin. I have to admit that it has some limits. At some point you want to go back to using your mother tongue. English is not my first language. I live in the UK everything I read is in English. There are some words I have seen a thousand times and I sort of know what they mean but they become mine only after I look up for their translation.
>At some point you want to go back to using your mother tongue.
It is an interesting point. When you first learn words in your mother tongue, you don't do it by outside reference to another language. Why is it different for you when learning a second language?
In your native language you don't (generally) have a specific goal to learn that word. Unless you feel compelled enough to look at a dictionary or ask someone for a definition (which is basically equivalent to looking at a translation in the language-learning context), you often just live with an incomplete mental model, until it becomes gradually refined from repeatedly hearing/seeing the word in context.
This is required, to some degree, to become fluent (i.e. intuitive) in a new language too, which is why there is an emphasis on immersion/input in most language-learning circles/ideologies. But when you have an explicit goal, you're more likely to be compelled to want the mental shortcut/jumpstart that a translation provides. There's also the fact that, as a language learner, the context itself often isn't understood very well (or at all), which makes the natural process even slower. This is where the idea of "comprehensible input" comes into it, see: https://en.wikipedia.org/wiki/Input_hypothesis
When I was younger I bought a learn Mandarin book of which at least half was stickers to put on objects around the house, it was surprisingly effective, because every time I opened the fridge for example, I would see the characters and pinyin and say the word aloud.
I'm writing my own knowledge base / SRS system and i'd like to start from a mostly fresh dog-food-esque approach. I want to try and record information in such a way that it has the meat of that byte of memory, but pair it with something that could be used to trigger that memory-byte - like your image example.
In the end i'm sure it won't be a revolution, but nevertheless i'm hoping to find ways to bridge knowledge store & retention (ala SRS/etc).
I'm also quite interested in areas of learning. Eg i expect/desire to store far more information than i can retain. So i want a system that can help me move areas of knowledge based on my ability (or time availability) to retain.
Coming up with images for the target language can be a very difficult task, since much of our understanding are verbal only, as opposed to conceptual and images based.
I wish that Anki would do some opt-in data gathering and open-source the resulting data. Some really amazing stuff could be done with that!
Duolingo open-sourced a data set and a model for learning the best time to present ideas for review; however, the model seems to be extremely limited and I could not get it to work at all.
I think the best open source solution here is Ebisu: https://github.com/fasiha/ebisu. It uses a custom statistical model which incorporates the idea of memory half-life, which is supported by learning research.
I agree that there could be so much more to how cards are reviewed. For instance, what if some cards were made dependent on other cards? You could have some cards that have basic vocabulary and then another set of cards that use that vocabulary in sentences.
There's no point in learning the sentences if you haven't sufficiently mastered the vocabulary, so what if the app showed you the sentence cards only if it has determined that you've learned the word cards sufficiently?
Just to restate what you said, adding nothing. Imagine you had Anki for a similar cohort studying a coherent single course. You’ll be able to get a sense of what topics confuse everyone and what correlation there are in confusion. If you had trouble with X, then you need extra guidance on A & B.
I’m a teacher. There is a great deal to the profession that does depend on experience, intuition and relationship building; however, better data on what - exactly - my students know/can do would be a great boon. I believe better assessment tools are the key here, but SRS system data would be another useful channel (and does, of course, have an assessment component to it).
It’s a SRS without context. You could probably put contextual bandits somewhere in the loop and optimize for the individual.
I found it very disappointing when Duolingo released their paper on optimizing their global SRS on data they collected from the users. There was no context, only curve fitting for a better multipler of fail and success.
I use Anki for more than a decade, and every single time there is a touch of frustration that Anki UX stuck in mid-2000.
Another super annoying feature is that historically Anki is free except iOS – somehow mentality of "iOS users are rich" sneaked in – and Anki for iOS costs ~25$. This makes it prohibitively hard to recommend Anki to non-Android users, especially to younger generation which virtually don't use desktops, type much faster on mobile rather then PC keyboard, etc.
As a desktop and iOS user (and a member of a younger generation), this doesn’t bother me too much, to be honest. Free software projects might as well take advantage of closed distribution platforms as a revenue source when they’re the only option for distribution, in my opinion. That said, $25 is on the high side, but is that really prohibitive, even for students, or has the history of ingrained low price expectations in the mobile app ecosystem made us more shocked than we should be at a $25 one-time fee? People certainly frequently pay more for subscriptions now.
Regardless of the reason behind it, you’re right, it is admittedly hard to convince a large portion of iOS users that $25 for an app is worth it, which is unfortunate for Anki. But I don’t know if a free version would be worth the trade-offs.
I think they may have meant UI, at least more than UX. The visuals of the interface feel like they're from about a decade ago, and while I don't really mind this on my minimal Linux desktop environment because it's at least clearly laid out, it's a little aesthetically out-of-place on some other systems.
The android app is a FOSS community effort, while the iOS app is first-party. There is no double standard here, if anything Android users are the ones which are disadvantaged by the Anki developers.
Back then when I was using Nokia N900, I made PyQT version of Anki for Maemo platform, but I reused some of the python code of Anki, instead of reimplementing it from scratch. I'm still thinking about creating open standard/ecosystem for flash card and space-repeititon software, but it'll take ton of focus and person-time to do right.
It costs money to publish an iOS app in a way that it does not for Android. In addition, the Android app was able to leverage the fact that Anki's desktop app is written in Java. It has nothing to do with an idea that "iOS users are rich". It is easy to recommend Ankiweb instead since it works well enough for mobile.
(I also question whether there are really a significant number of people who type -- at least Latin characters -- faster on mobile than a PC keyboard, but that's a digression)
I went rather deep into ankification of computer science - 5500 cards deep. I've written up my experiences as a series of articles here for anyone interested
As someone who is now over a decade into their programming career, today I find more value in doing analytical breakdowns of my various success and mistakes. What were my oversights on a project? How could I have communicated better? What made one particular library a success, etc.?
Therefore, after years of Anki, I've stopped adding new cards and doing repetition; instead I now focus on keeping a code diary. I've published the first couple of hundred entries here so you can see what this entails:
I see the relationship between my days of ankifying tidbits of knowledge and my current diarying as one of tactics vs. strategy. The Anki-stage was necessary to drill the basics. But now, a decade later, the focus is on the bigger picture — and trying to capture this bigger picture onto a double-sided flashcard is about as fruitful as trying to contain an ocean in a bathtub.
I just have a git repo and bunch of markdown files put into folders that correspond to tags. A few people have asked me about it so I already started recording a video about it for YouTube: https://www.youtube.com/channel/UC17mJJnvzAa_e9qQqLIfIeQ
I’ve used it for API’s and syntax. For example, I have an entire GraphQL course turned into flashcards. I used screencaps of code so that it wouldn’t lose formatting.
I tried using Anki but found it far too boring to sustain my interest. Staring at fact flashcards for hours on end just felt like a waste of time.
In my experience it was much more useful and engaging to learn by doing things (creating, writing, experimenting) that the facts were related to - then the most necessary facts would become deeply embedded in my memory, with others at just the right level of vagueness necessary to look up the details if needed.
Well, Anki isn’t meant to be used on its own. You are supposed to be doing those other things and Anki assists. Like if you were using it in a college chemistry course you’d have numerous facts in Anki, but still doing labs and other homework and things to exercise the knowledge. Anki itself is meant to help you remember better, but other things are needed to fully exercise that knowledge in appropriate contexts.
I use it with Spanish, but without conversations with my wife and others or trying to read Spanish language content it would be a useless exercise on its own.
Hey! I'm building an app for couples to learn languages from each other. I started building it because I've been learning Chinese with my wife, but mostly alone with Anki, so I wanted to make it more multiplayer.
The app has an Anki-like backend, and augments the flashcards with guidance, feedback, and challenges with your wife. https://learncoupling.com
This happens quite a lot when using Anki where you have to start doing it for hours.
If you stop doing for weeks, and then try to come back, there are so many cards piled up that it would take so long to go through that you just don't feel like doing it anymore.
Get up and walk away, come back tomorrow. There are settings for maximum reviews per day, if you need assistance in doing this. The good news is that the longer you go between reviews and get the card right, the further out it will be until the next review.
I've been using Anki to learn Japanese for about a year now, quite successfully.
The largest factor determining your daily reviews is your daily new cards - it depends on retention somewhat, but in general daily reviews after a few months stabilize at around 10x daily new cards.
So the best way to use Anki is to limit your daily new cards to an amount where you can easily handle the reviews. And yeah, you basically can't take a day off ever.
Anki is very powerful, but you also need to structure your learning/routine around it somewhat, or maybe another way to look at it is that you need to make Anki work for you. I currently spend about 15-20 minutes a day on Anki, earlier on in my language learning it was over an hour a day.
There's absolutely no need to do all the cards for the day. The option to limit cards per day is just for psychological effect because completionists get demotivated by not hitting 0. Just do as much per day as you can and ignore that number.
well, yeah. you shouldn't be doing 35 new cards a day. it's not anki's fault that you had several hours worth of reviews. it's your fault. anki scales to take up as much time as you tell it to. if you had done 5-10 cards a day you could have easily had it take like 20 minutes. also you should have cards set to leech suspend. there is no reason to having certain cards that you clearly aren't going to learn taking up an order of magnitude more time than other cards. just nuke those cards from orbit and move on. most people's bad experiences with anki is due to user error.
that said it certainly doesn't help that anki takes a non-trivial amount of time and study in and of itself to properly set up to be really efficient.
My fault? More like my consciously made trade-off of time vs speed.
And it worked stunningly well. You see, I figured that whatever I targeted I'd do about 80% of the time. So, 35 a day is about ~1000 a month, and I reckoned I could hit that 10 months in a given year.
My first year of Japanese was basically RTK + KO2001 and JLPT2 grammar study. I was a few points off passing JLPT2 inside 1 year of study. At the time it say I had around 2 to 3 thousand vocab, and could read all Jyoyou kanji, plus understand almost all sentence structure used in daily life.
My 2nd year of Japanese I acquired an additional 10k vocab. I passed JLPT2 and came a few points short of passing JLPT1.
6 months into my 3rd year of study I passed JLPT1 and never touched studying Japanese again.
It has always been a big part of my life since then, and I credit that brutal effort with me really turning my life around. It was an absolutely epic adventure.
Maybe user error is a bit harsh because it's difficult to find everything you need to know about using Anki properly in one place... but yeah, most people's dislike of Anki comes from not knowing how to use it.
Categorize your cards, and when you come back focus on the categories you want to work on. I think Anki allows tagging. I use Memrise and it allows you to split courses into different “chapters”, which all share the same course database. In fact, it allows you to pull in data from all existing public Memrise databases.
I think this sounds symptomatic of having made flashcards which are too big. There was a time when I discovered this failure mode big-time: I basically burnt out of flashcarding, because my cards were all much too big.
The memrise blog has some very important info about how one should create cards. Making them ask about only one thing in isolation is one of them.
For example all downloadable Kanji decks basically ask "Kanji -> meaning, kun readings, on readings, nanori readings, translation, example jukugo, example sentence, pronunciation, stroke order, ...", i.e. not atomic at all.
I have instead made my own deck where each Kanji has multiple cards that ask for different pairs of information. One of the important reasons is that I may have more trouble remembering one of those than the others, and that should not make me have to redo those others, since SRS should ask when I'm about to forget.
> Staring at fact flashcards for hours on end just felt like a waste of time.
I think I found your problem.
Try this cycle:
- Add however many cards you like
- Study
- Got bored and didn't finish all your cards? Stop and don't add any new card until you can finish quick enough to not get bored
- Finishing quickly? Add more cards
The exponentially increasing interval is your friend. Before you notice you won't be studying more than 10 cards a day :)
It doesn't feel like it in the first ~10 days of a block of cards, but there's a jitter in the spacing function, so you will see the same block at the same time 2 or 3 times but then they'll start dispersing and be a lot less overwhelming.
And most important of all: don't be afraid of slow progress: progress is progress!
I remember seeing people using flash cards in various science and math classes. The only thing that helped me to remember algos and derivations was to use them on some practical problem. I am as much as kinesthetic as visual learner, I think mainly because it keeps my brain from going into zombie repetition land. Don't even try to teach me something by just babbling about it in front of a class room. I need to experience the learning in some fashion. When all that fails I'll fall back on rote memorization and flash cards. I can definitely see its place in learning foreign languages (at least at the start, I always did better by using the words in sentences that forced me to think about them more than just as a jumble of letters)
A cardinal rule of all SRS advocates: You must understand something before making a flashcard for it. In math, that means solving problems with it, etc.
I learned analysis a long time ago. Forgot most of it, despite applying it a lot.
I learned statistics twice, applied it, and still forgot most of it. The third time round I made flashcards and I haven't forgotten much.
I studied a textbook on floating point arithmetic for work (mathematical - with theorems, etc). Because it was secondary to my main work, I would have gaps - sometimes for months, before I could return to it. Yet whenever I did return to it, I could continue where I left off without reviewing much - because of flash cards.
This is true for most people; almost nobody is going to get a good understanding of something just by reading about it. But if you have already understood something, then Anki can help you solidify that understanding into the long term.
Actually for language learning at least, understanding doesn't need to come before rote memorization.
While "stupidly" learning a one-two word definition might not allow you to understand how a word is actually used, it will allow you to get its meaning should you encounter it in native material, delaying understanding to that moment.
Well, there can be a lot to be understood in why something is defined the way it is. For example, a red-black tree is defined the way it is because it's a pretty simple structural way to force the tree to be "pretty well balanced". Why does it force that?
You're going for too big cards again. A single card doesn't need to answer absolutely everything there is about a red black tree. You want to ask about a single aspect of it per card.
The definition is "what is it?". There is nothing to understand here. It could be taught to a parrot or child to repeat this information.
What you're mentioning is a bunch of cards on top of that: how does a red black tree stay balanced on insertions? When is the self-balancing property of red black trees useful? When is it not? Etc etc.
You cannot answer this if you mistake a red black tree for another tree for example. It's essentially vocabulary.
Another one would be notations: what's the symbol for a cross product? Again, nothing to understand, but you must know it to work on actual math problems involving cross products.
I know that - I wrote the article which is the subject of this thread ;) I took you to be arguing that Anki should be used to learn without understanding.
I think to make the most of it you need to engage your imagination. Relating stories and context to the facts transforms it from ‘staring at flashcards for hours’ into more of a game and something to enjoy.
And the great thing is, because of the spaced repetition, you don’t need to spend hours on it at a time. You can learn a lot in 5/10 mins a day.
When I was starting Anki, I would spend time really focusing my thinking on the cards while reviewing them (reading sentences aloud multiple times until pronunciation is good, relating concepts to others, ...). I'm now convinced this is a waste of time and Anki is best used rushing through sessions as fast as possible (maximum 20min a day). This takes care of the small, boring but often essential rote memorization part, allowing you to use as much of your time and intellect for actual practice in the target domains.
(This may not apply if the target domain is actually itself rote memorization, e.g. medical exams)
For context in this thread, my maximum study in the last 2 months was 10.42 minutes, but my mode (and average as well, that point is an outlier) is close to 3 or 4
It was using flashcards of cats with funny captions and it actually worked. Sadly my old phone eventually broken and the app can't be installed from the appstore anymore.
Have you tried fluent forever? their app uses a similar concept except you pick your own photos to help you remember. I finally found a use for many of the random photos of my dogs I’ve been saving in my phone for years!
But remembering facts is exactly what it's for..? And even reasoning-based domains have parts that require rote memorization. E.g. "what is the halting problem?" doesn't require any reasoning or understanding. One needs to know such definitions in order to even start the reasoning part.
It really depends on what you're doing. Anki is the perfect tool for memorizing vocabulary in a new language, but it's not a replacement for practicing your writing or other creative endeavors. Each technique has its place.
Someone should just create an open source clone of Duo Lingo that can utilize user created content . It's basically anki with much more engaging visuals, game-ficication, and social aspects, and it works really well to keep users engaged both per session and long term.
I'm doing a more social language learning app, starting with helping couples learn languages from each other. So it's like multiplayer Duolingo + Anki. Won't be open source, but I plan on an API with import / exports from Anki https://learncoupling.com
For those that would rather use an analog method, you can make a Leitner Box of flash cards, which, if you follow the schedule, works in a similar way as Anki. I find that writing the cards out by hand is the first step in memorizing them. See how to use one in this interactive comic:
The issue with that is that I'd be at a 5 digit number of cards by now, certainly wouldn't keep all of those around, and so I'd stop revising old knowledge.
True. The method sends cards that are already memorized to the back (so to speak) where they are revisited less often. You could conceivably retire those cards forever and take them out the box.
What anki desperately needs (to the point years ago I explored this), is out of app nudges. I know I know, lots of folks dont like nagware, but I've found that for recreational things sometimes life happens and I just forget to go back to certain decks. If it's not tied to a goal I never get back to it.
Isn't Anki good only for memorization? Spaced repetition doesn't seem to help learning how something relates to another logically like how to determine when to use what programming patterns.
I think Anki helps build the necessary knowledge base to make such connections, but actually making those connections comes with putting that knowledge into practice.
> Spaced repetition doesn't seem to help learning how something relates to another logically like how to determine when to use what programming patterns.
You can make cards for those.
Of course, if you're making cards on those without understanding and internalizing, the cards won't help you.
Back at the uni days if I struggled to understand a math concept, proof or algo, I would just memorize it. After a while the understanding part would also come.
Making connections is what matters for understanding. The Zettelkasten method has recently gained some traction for organizing and relating ideas. We've developed https://traverse.link/ as a way of building a Zettelkasten with spaced repetition
Suppose you can solve some problem or prove some theorem today. Then you try to do it again next week, next month and so on. It's very different from rote memorization.
Trying to learn Finish vocab, Anki made me realize I had terrible recall. Sometimes, I couldn't even remember what the last freaking card was, and I would forget most things the next day, and everything the day after. After about 3 weeks, I had only remembered 3 or 4 words, so I gave up.
I thought I had bad recall, but the fact is that I did not know about the memory.
I have trained people in my environment and they have improved enormously.
It is a very good idea that you read a book about mnemonics, and all the techniques, things like exaggerating pictures or places in your head, remembering faces, what a neural connection is and so on, and start applying it.
My upper limit (in anki) is over 400 new words in a different language (like chinese or japanese) per day with extreme exhaustion, not doing anything the entire day but memorizing. This is the equivalent of running a marathon for me on the mental field(I have done real marathons too).
My lower limit is learning 40-50 new words per day. It takes 1 hour,more than a minute per word and no significant effort, I do this as daily routine with now consequences for my work.
Over time, learning new languages become easier and easier.
The world opens a lot when you can go to places like China or Japan and at least you understand what the symbols on the street or the people say. You get a much deeper knowledge about things.
Anki is one of the most amazing things ever invented.
Yeah, 40 new words / day is very manageable. I used my own word lists instead of Anki, but same concept. 1000 words is enough for basic interactions (1 month) and 3000 words is generally good enough for conversation that doesn't get into the vocabulary long tail (just 3 months!) In an immersion context + some grammar textbook, it makes language learning much faster than is generally assumed.
Most people that feel they need a language class, but those are terrible for learning vocabulary. Vocab learning is best done solo.
I'm also using Anki for Finish vocab, and it had helped me a lot. To the point it does feel like a super power.
If you are going to use Anki, it's important to switch the knobs to adapt to what you are learning.
I will share some of the things that have worked for me, for Finnish vocab:
- Intervals for new cards (until they are considered 'learned'): 1 10 15 50 240.
The 240 is critical for me: if I forgot it after 4 hours, it goes back to 1 again... if I got it after 4 hours, then it will have better chances in a couple of days.
Of course this is personal, I have been tweaking those until something makes sense to me.
- Lapese (when a known card is forgotten, and how to re-learn): 10 30 240. Again the 240 check.
- Set an ammount of new cards and max reviews per day that does not make you feel misserable... there needs to be some joy on learning...
If I may ask, are you just learning the vocab ? have you taken courses? Where are you getting the vocab from ?
Just ignore the remaining card count and go by time instead. Getting the remaining count to 0 does nothing. Redefine success as "I set out to do Anki for 10 minutes and I did!".
I had a similar problem with Japanese. It was ok when I kept up with it every day, but at the default settings I was repeating so many cards so often that the time I spent running through the decks was becoming frustrating. I took a camping trip for a few days and came back to several hundred cards per deck waiting for me and it's been hard to get myself back into it.
Your memory is like a muscle. Most people don't use their memory very much in their daily lives and so their ability to remember things atrophies. You need to exercise it regularly.
Memory is also a skill. People have all kinds of techniques to remember things more easily, for instance med students use a lot of mneumonics. The key is to make memories stronger by building associations. Memories that are islands die faster. Associations with places are especially strong, which is the genesis of the "memory palace" technique where you imagine a palace with rooms containing the things that you want to remember. But any association will do. For instance, when I'm learning a language I like to make up a little story for each word. Using your episodic memory is a great way to increase strength of memories.
Learning and memory is a complex thing. If you don't learn even after adjusting the interval, I think there is something else.
Lack of motivation, some mental issue like depression, attention problem while learning. You can't learn stuff like you sweep a floor, tune out and just do the movements.
PS: You also need to understand that everybody is different.
I am incredible good remembering faces and facial expressions, very good remembering places. I see a place on a picture, I know where it is if I have traveled there.
But I am very bad remembering sounds. So I never try to remember using sounds like other people do.
You should learn about yourself, what are your strengths and use them. Buy different memory books and just try them like I did. Some techniques will work for you, some not.
There’s a setting you can tweak allowing you to set smaller intervals like 1 3 7 15 30 minutes until card will be postponed for the next day. Takes a bit longer to learn a new card but it should work. I went from 30% forgotten on each session to 5-10%.
I disagree. Lots of books have quite a few "hapax legomenon", or... words that only appear once. If you're trying to build long-tail vocab, Anki will make sure you get repeated exposure to words that occur infrequently in a particular text. One might argue that these words don't matter as much since they're less common, but once you've mastered all the common vocab in a language, building a broader vocabulary becomes more important.
I don't disagree with you. Maybe I should have been more precise with the term 'language learning'. If you find yourself in the situation that you propose, I think you are already at native level in the target language. I'm mostly referring to those that try to go from zero to C1 or C2 with it.
My personal experience is that most people in the language learning community have trouble fitting SRS into their long term workflow because they don't stop to think much about the natural spacing of repetition they get in their other learning processes.
The people that popularize things like Anki the hardest are those that built and stuck with their own systems from the start. That's more of a referendum on their personality type than on the utility of their way of using Anki.
My hunch is that most people end up struggling because a lot of the most popular systems end up doing the exact opposite of spaced repetition once you consider the complete universe of foreign language input a learner is getting.
I've found that for me, Anki works really well for the first 1000 words, letting me jumpstart early vocab while most of my other time is spent on basic grammar.
For words 1000-5000 or 10000 in frequency, it's easy to get stuck in a trap I see a lot online: every time you encounter a new word, add it to Anki. This is a great way to burn out. You'll encounter most of these words with a natural spacing as you read native materials, if they're in the higher frequency bands. Doing reviews becomes excruciating, since you're losing the efficiency benefits of using the SRS unless you adjust review frequency based on the native input you consume (a good machine learning side project, perhaps?)
I've had a lot more success using Anki for words off in the long tail that I wouldn't otherwise have a chance to remember.
For Japanese I just downloaded a deck with 10 000 words, adapted the display a bit for myself (scraped pronunciations from the web, removed useless info to make them more minimalistic) and just started learning. When I read a book and found a word I wanted to learn it was almost always already in the list, and just needed to be moved to the front of new cards.
I used Anki extensively in grad school. There was a moment when I realized it was really working in a class on linear dynamical systems— all of a sudden everything just got easy. It takes discipline to both create good cards and study regularly, but man the payoff is good. That said... I stopped as soon as grad school was over and haven’t had the willpower to continue consolidating that knowledge.
I’m trying to combine the “rote-ness” of anki with learning by doing.
In Deliberate Python[1] I’m combining spaced repetition lessons with small exercises that encourage you to really focus and get the question right the first time.
The encouragement to get it right the first time, as often as possible, is something I learned from learning music. Practice makes permanent
[1] https://www.sendfox.com/deliberatepython Note: this project is pre launch so this is a newsletter where I’m giving progress updates. Plan to launch into beta in a month or two
I use Anki a few times a week. When I've used it for math (as I work my way through Gilbert Strang's book "Linear Algebra and its applications"), I add full problems that seemed to be key to the topic, or surprised me in some way. These take longer to review, but I find it's been really helpful. And once it sticks, I don't have to review it again for months.
I also find it can be helpful to have a single card that prompts review of related definitions, for instance:
"What are the four subspaces of a matrix A? What are their dimensions with respect to the rank r of A? What are they subspaces of? (Fundamental theorem of Linear Algebra part 1)"
Remembering these things together is easier for me than breaking this down into multiple cards as one piece of this in isolation doesn't make as much sense as a part of the whole.
This is all to say that I disagree with the author on the point that it's important to find ways to break up cards to be bite sized. Otherwise great post IMO!
But by keeping those things together you're essentially cheating. You won't be able to remember these things in isolation as well. Also if it's easy for you to remember the rank of the matrix, but not the subspaces, you will be asked about the rank too often, since you connected it to subspaces.
In the example of the fundamental theorem of LA, the key point is the relationship between the subspaces (there are other ones just about the definition of a nullspace for example) - agree if every card was like this it would not be ideal.
I think my more important point was about problem sets, for instance:
Construct a matrix with the required property, or explain why you can't.
- left nullspace contains [1 3]^T
- rowspace contains [3 1]^T
breaks down into a few steps, and trying to break that down into bite sized flashcards such as, "what's the key idea in constructing a matrix with left nullspace [1 3]^T" and "given a matrix that is the product of L with row [1 3] can you choose a U so that combined they form a matrix with row space [3 1]?" seems like it could risk in resulting in me not being able to figure out the entire problem together. But maybe not?
Bringing it back to the post's proof example, what if you had completely nailed every step of the proof such that Anki doesn't ask you about it for a while, and then 6 months later, one of the harder steps comes up in isolation:
"What is the second adjustment we make in the proof of the ratio test, a < 1?"
what if you can't remember the first steps? Would having the rest of the context help? I guess it's a tradeoff.
Sure - for me, the cards slightly don't match the mental structure that is actually stored in my mind. In fact I remember the two steps "together", as this spatial move-and-squash. Perhaps I should rejig the cards.
I definitely agree that SRS can reasonably be thought of as a learning superpower. I very much regret that I didn't start using Anki until college.
To save my own kids from such a regret, I've created Boethius, a SRS web application for the classical liberal arts to augment our homeschool curriculum. It's now in public beta here: https://www.boethi.us/.
Just wondering if anyone has tried combining Anki with handwriting for improved retention? (any personal experiments?)
In language learning, memorizing words in a shallow way tends to not be as helpful as memorizing them in a sentence (shallow vs deep encoding). One can try to ankify sentences, but it's too easy to click on the green button and fool oneself that one has mastered the sentence. Anki works great for snippets of atomic knowledge but doesn't work as well for sequential/series knowledge like sentences.
On the other hand, there's another method called the Gold List method which is a pen-and-paper based SRS system which requires writing out complete sentences and testing recall every 2 weeks or so. Pen-and-paper folks like it, but due to the limitations of paper, implementing a proper SRS is far too tedious.
What if one were to use Anki for the SRS part, and handwrite the responses? Handwriting sounds tedious, but I wonder if it helps deepen the encoding? (by forcing reconstruction of the sentence, slowing one down enough to dwell on the form and grammar, as well as adding a physical element to the task)
The point of writing atomic flashcards is to prevent the loss of resolution reviewing questions about wholes (sentences in your case). Mind that atomic does not mean that it has to be about details, I usually create flashcards for each abstraction, that is, besides asking for details, I also write a question for the full sentence.
This is one way to prevent the loss of resolution, but sometimes it is time consuming to write all those flashcards (think about a long proof).
Another way to do it, is to write down the answer pen-and-paper, that way you are forced to focus on the details, not just the big picture: no loss of resolution.
I do this for learning Chinese characters. And if for some reason I'm feeling too lazy to physically pick up a pen/pencil, or want to test my IME skills, I can alternatively use the input box that I included on the cards.
I do, but not for language learning, but for mathematical proofs and logic proofs. Example "Prove that the dot product between 2 unit vectors is cos θ".
For me, this may be too big a card, for what it's worth (depending on how you define the dot product). If it's defined as "|a| |b| cos theta", then fine, but if it's defined as "sum(a_i b_i)", there's definite work involved for me.
What programs do people use for Anki? I've tried the usual suspects, and found them a little too tedious. What I'd love is:
- seamless syncing of cards between my devices.
- more thought into the engagement loop (ie getting me to not be lazy and actually do the work).
- an easily searchable database with credible curated decks.
I think Anki’s official app has those features? It was about 20 bucks on iPhone and free on OS X I believe, not sure about other platforms.
The thing that would always get me would be that I would make a card on the phone and forget to manually sync it or something and then make a card on the computer and have to resolve conflicts.
They really just needed an “add all cards from all sources” feature since that was generally all I wanted.
Ankidroid syncs with Ankiweb just like Anki desktop does, and I like it because I can swipe right/left to say if I remember a card or not. The decks are on https://ankiweb.net/shared/decks/ although I wouldn't call that curated; the most used curated list is probably the sidebar of /r/medicalschoolanki. I am unaware of CS/higher math decks, though. Perhaps this is a decent list? https://github.com/MilesCranmer/anki_science
Excuse me if this is dumb question but this is the second time I've downloaded AnkiDroid and... am I supposed to answer the questions in the app or just do it in my head and then click show answer. I don't see any buttons to answer the question or enter your answer in the app. I am dumb or is something not working right?
You can add cards with answerable fields, but after many thousands of reviews I think that simple front-back cards where you answer in your head are the most effective. The extra work to type out an answer is not worth the hassle at all.
I've used Anki for language learning but didn't find it that useful. A problem I encountered was that while I could remember words and expressions in the Anki environment, I couldn't do it outside of it. Or I could memorize an expression exactly as it was written down, but if I saw a little variation then it was useless.
For language learning I found it works way better to use another technique: ridiculous imagery and word association. Higher initial time investment (have to spend some time for each new word in the first time I see) but after that I don't EVER need to recall it again. It just sticks. I also used that to memorize different alphabets and it's WAY easier and does feel like a superpower as opposed to just brute force memorize something by repetition and recall with no other brain connections between what we're memorizing and what we already know.
I use anki with org-noter and the anki-editor minor mode for digesting PDFs, a sort of hacked version of incremental reading. I just stuff entire definitions and proofs into it and use cloze deletions for almost everything, then I attach a bunch of screenshots from the source material in the "Extra" field for any context when/if I fail the card. That, combined with the load balancer plugin and a limit of 5 new cards per day keeps my daily reviews around 1 hour. I have 18,000 cards. I'm familiar with the 20 rules for formulating knowledge but I just don't care to break things down into atoms. So I cloze and forget.
Tried anki in college, found that creating the cards took too much time and doing them was boring.
What did work for me was really simple. A single 8 1/2 by 11 double sided sheet of paper could usually fit everything I needed to memorize at one given time. I'd write out a cheat sheet (a very valuable exercise in condensing and distilling while reviewing) and then reproduce it from memory before and after bed three days in a row allowing a tapered amount of cheating/peeking (with the first few being pretty much all peeking). After three days, it was pretty much good as memorized.
That's a bit harsh. As someone who regularly uses flash cards, creating them really is a bottleneck. It's a lot quicker to handwrite something on a paper. It's not as effective, but it definitely is faster.
Then get better at it. I'd constantly add 3 words real quick while I was in some restaurant's bathroom. Using templates for various kind of information makes it so you're only typing in information, no formating. Also don't forget to calculate in all the work of having to actually store, organize, and carry around all that paper. Suddenly the digital version doesn't sound like more work anymore.
i also find that spatial layout and a fixed sequence can help with recall. flash cards are supposed to improve on that, but for me, personally, the spatial component is helpful- especially when related concepts are near each other.
I have just installed Anki on my Windows 10 computer and was disappointed to find that it has no ability to scale the application's UI or, better yet, configure font size (and, maybe even font family) on a per-component basis. If any Anki developers are reading this thread, please consider this comment as a relevant feature request.
I've been learning Japanese since the pandemic hit, and Anki has been an indispensible tool. One thing that is great about it is people have already created great decks of the most common vocabulary, complete with audio and images. I would imagine people have done this for comp sci as well.
It's common for me to read something, and forgot it even existed. I can't look it up unless I know it exists. With flash cards, I am reminded that it exists every once in a while.
As an example, here's a simple card: What is the recommended way to traverse all the files (including subdirectories) in Python?
Answer: scandir and not os.walk
os.walk is my standard goto. Then I learned about scandir, but kept forgetting that there was a better alternative to os.walk. So I made a card for it.
The other answer, of course, is speed. If I'm going to Google "what is the alternative to os.walk?" or something similar every time I need it, it adds a lot of friction and I simply won't bother. And no, I don't do this often enough that looking it up each time will force it to become ingrained.
And frankly, when you do math/physics, you do need a number of concepts in your head. Solving a complex problem requires multiple parts/stages, and solving requires you to have them in your head so you can put them together. My biggest mistake when I was in grad school was thinking I could get by without memorizing. It worked fine for undergrad level math, but it was a real problem when I took higher level courses. The professors were split on whether memorizing is a good idea, but the fact is the professors used this stuff a lot more than I did.
For your Python example I'd just use a snippet. On the other hand, Google's pretty fast and always updated.
It's all a personal trade-off I guess. I wouldn't say it's common for me to forget I knew something. But maybe the cost of creating, maintaining, and reviewing card decks is worth it for you.
I wouldn't. Pre-flash cards, it was not unusual for me to review notes I had made years ago and rediscover things. And then forget they existed all over again.
Unknown unknowns.
Knowledge availability is another big one.
I used Anki to learn molecular biology. I work in bioinformatics and understanding molecular pathways means I can more fluently build hypotheses with colleagues. Without having memorized these pathways, unknowns unknowns and lack of knowledge availability would prevent a lot of discovery.
If the facts are in your head, you can make a connection between them. If they are in different places on the web, unless someone else already linked them for you, they remain separate.
Anki is used a lot in medical education. There's a lot of small details, and you can string them along to form the big picture. An example is going from symptoms -> diagnosis -> treatment options -> drug side effects. You can't just memorize use drug X for Y, but you incorporate information that you know to formulate the best plan. Suppose the patient has kidney disease - you've memorized X is nephrotoxic so you find another treatment.
I will say this is easier for some and harder for others. I've noticed some people have a lot of difficulty recalling facts without a specific cue when using Anki. It's best used with traditional learning, but you can focus more on the why.
- It's working not so well to memorize Polish words (I have around 500 in a custom-made deck). Reading Polish news simply works better for me but I don't know why.
Application of knowledge frequently (e.g. reading Polish news regularly) works on somewhat the same principle as Anki (repeated exposure is the key), but is likely a bit better as its more interesting and with context.
Quickly skimming through the webpage for the app it worded like they came up with the idea of spaced repetition. Just want to clarify that this is not a new concept:
https://en.m.wikipedia.org/wiki/Spaced_repetition
Usage of Anki in the biomedical community is frequently mentioned, but I just wanted to add some notes. These are based on my own personal experiences and conversations with med students, so YMMV. I personally use Anki with the Image Occlusion Enhanced and Speed Focus Mode add-ons almost every-day, and frequently use text-to-speech/swipe gestures on the android app to review cards while hiking.
If you're casually doing like 20 cards a day on the train while commuting to work, this will definitely not apply.
A. Anki is almost never used alone in medical education. It's used as an aid to retaining information within a heavily-structured curriculum where you're going over the same concepts over, and over, and over in the form of lectures, clinical encounters, supplemental videos, more lectures, anatomy lab, histology lab, boards-prep, etc. So, like the author said, there's a ton of med students using it, but context is very important.
B. Lots of people don't use the algorithm. They use it in cram-mode to drill a subset of a pre-made deck into their head before an exam. Even if you never use the SRS algorithm, Anki is by-far the greatest flashcard program ever built (cloud sync, TTS, robust image support, open-source, etc.).
C. Many of the people grinding thousands of cards a day have a lot of factual knowledge, but really aren't great at stitching it together for practical application. If you need to memorize random facts, great, but be very aware of that potential limitation.
D. Game-pads are the secret weapon. Joy2Key, or roll-your-own in Python like I did with the Inputs and PyAutoGui packages.
E. Use it with a very specific goal in mind. Med students are by-and-large using it specifically for the USMLE Step 1 exam, in which you have to memorize a finite, well-delineated set of information, much of which is irrelevant after the first two years. I've never met anyone who has graduated med school and kept using it, because grinding cards sucks and life is short.
F. Don't be afraid to commit deck bankruptcy. If you're reviewing 900 cards a day, and you don't know why anymore, delete the deck and start from scratch.
G. There's a distinct balance between reviewing cards so frequently that you've memorized the cards not the concepts, and making the cards so challenging that it takes too long to review efficiently (I did 871 cards in about 2 hours today - that's a common number for a med student, some kids are doing thousands per-day - like, they roll out of bed and start tapping on that game controller). Be very, very aware of that memorizing the cards thing. You probably don't know as much as you think you do.
So, in summary, it's a really cool program. I wouldn't characterize it as a superpower, however, since it has some glaring downsides, and is not particularly noteworthy when used in a vacuum. Again, that's from somebody doing >500 cards/day.
I'd strongly recommend making them yourself. Everyone understands these things differently, and ideally your cards will complement the structures already represented in your own mind. Ideally, a card will shine light on one tiny aspect of the model you already have in your mind; if you're using cards shaped around a different model, and you drop them into place around your own model, the lights may be at strange angles or highlighting big complex things.
Can definitely relate, Anki started to make sense after I started creating my own cards. Not batch-creating mind you, but carefully crafting each one, and updating when necessary while reviewing.
I used to think so too. Then I read the research on this, and the evidence suggests the opposite of what you wrote: your time is better spent doing retrieval practice than creating your own cards.
I think the counterargument is more along the lines of: Downloadable decks will have a fairly high percentage of irrelevant cards for you, and will always lack a lot of useful cards for you (the latter is something I'm pretty sure is true).
When I am exposed to some new thing, parts of it will stick immediately, and other parts will need some kind of processing on my part before I internalize it. When you are exposed to the same new thing, those parts that stick and those that need processing will usually differ from mine. Hence it's hard to make a deck that works well for the majority.
I'm actually about to release my own SRS-based flash card app in a few days if you can wait a little bit. [1] I'm just putting the finishing touches on it and will release to macOS and iOS.
I think Anki is a great tool, but I think there are so many aspects of it that can be improved, so I decided to write my own app.
I'm hoping to refine the SRS algorithm, lesson UI, and card layout over time as I get input from folks about what works and what doesn't. I think there's a lot of potential for improvement in this space if someone devotes some time to it.
I'm sure you've heard of it, but not sure people realize how mature it is and sick its internal design is, which allows writing native beautiful UI apps for iOS/Android/Desktop and web from the single codebase. While desktop and web support is still in dev/beta state, I successfully use it in production already and it's total game changer in terms of productivity and fun to code.
SRS app like yours will work on all 6 platforms with near-native performance (web might be a bit slower, but will produce pixel-by-pixel same UI as mobile/desktop) and I don't see any obstacles.
It's not like my backlog is not overloaded, but I would love to join a project if there is a chance to contribute. I want great SRS too badly for too long :)
I'm using SM-2 at the moment, although I do plan on modifying it as I learn more about what works and what doesn't.
The main thing I do differently, however, is I attempt to predict your retention score instead of having you self-report it. Unlike Anki where you choose how well you were able to recall the answer (essentially a score from 1 to 5), I use a combination of your CORRECT/INCORRECT signal as well as how quickly you reveal the answer to determine a recall score.
From my own testing, it works reasonably well, although there's room for improvement over time.
After you memorized a card for the first time, it is presented again on the very next day. If you can still recall it right away it moves to the next stage, which is then shown again in 2 days. Intervals double from then on. If you have difficulties recalling a card, it moves back to the start.
You can customize the intervals yourself per deck to adjust for the subject (e.g. vocabulary cards with only one word per card probably can have longer intervals than, let's say, an anatomy card with details about a muscle, bone or nerve).
For example, I don't care if for the question "In ruby, how do I get the previous regex match" the answer is "$&". If I ever need it, I'll just look it up.
I use anki to document and remember all my emacs custom key-bindings. That might sound silly but it's easy to accumulate useful things over the years in emacs and forget about them.
Emacs is vast and deep and there's a lot to learn and remember.
It also serves the same purpose for key-bindings and functions in various modes and packages.
That’s not silly at all, a lot of people use Anki for things like that. I’ve seen a couple of premade decks but I would avoid these.
When it comes to keybindings its better to make your own deck otherwise you end up learning a load of bindings you’ll never use. I like to add them as and when I need them.
Ha! I used flashcards to memorize a fair number of Emacs shortcuts.
It's not always that easy to find - even with C-h a or C-h m, etc.
But the bigger benefit is even knowing that feature X exists and there is a key combination for it. I found flash cards useful because I would get an occasional "reminder" that X exists and I should use it more often!
A trivial example: flush-lines and keep-lines. I never knew these existed till I read them somewhere. I put it in my flashcards, and over time I would remember its existence and use it more and more.
Seconded on all counts! Ruthlessly delete cards you don't care about; make your own cards so that they reflect your own mental structures. In the article, I allude to this by talking about how people can undergo very different mental motions to obtain the same "serialised" fact like "78% of the air is nitrogen".
Anki is good, but the problems that I had with it was that I was not learning the flashcards well enough on the first day to to recall those flashcards on subsequent days and it took too long to make flashcards, so I made myself a flashcards app.
http://flashcardmax.com/download
When you learn facts, they are easily accessible for thinking and the connections start forming even unconsciously.
The idea that you can keep the facts in a book and the brain is just like CPU that processes them is wrong. You have to remember if you want to learn complex stuff like physics.
Learning has many components. Even on its own, brute memorisation is a powerful tool. But see e.g. SuperMemo's creator on Incremental Reading (https://supermemo.guru/wiki/Incremental_reading) for a more generalised view of how to use spaced repetition for what you might refer to as "actual" understanding.
"learning superpower" = A learning technique so effective so as to be sufficient for all kinds of learning, to the exclusion of all other learning techiques.
Wait, what? How is that even remotely implied? Captain America's superpower is his immense strength, speed, and ability to heal; he can't read/control minds, which is Charles Xavier's thing. Just because you have a superpower doesn't mean you're God.
There is definitely a component of familiarity in the feeling or mental state that we call "understanding" (which is why analogies help understanding: they explain a lesser known thing using a more familiar thing). The brain is a neural network and repeated learning inputs definitely help. It's an oversimplification to look at the brain as if it's a simple Turing machine.
Yeah, somehow there's always a lot of love for spaced repetition even though it doesn't help with comprehension. I believe re learning complicated topics is better than mugging up jargon.
Rote learning absolutely does help with comprehension. If you understand all of the words in
“ Tod mach’s mir leicht, wenn du kommst vor deiner Zeit” reading it and understanding it is trivial. If you have to look up each word individually your comprehension will at best be enormously slowed. The same principle applies if what you’re reading is a chemical formula, a logical proof or a description of a historical event. Knowing the 200 or so most important events of the French Revolution by date with two sentences of explanation for context makes reading further on it enormously more productive.
I think there's a false dichotomy here. Memorising a dictionary is easy, because memorisation is a choice (with spaced repetition). Reading a book in an unfamiliar language takes lots of time and mental effort. Both will contribute to your understanding of the language; perhaps memorising a dictionary contributes less, but then there's a lower activation energy involved in it too: whenever you have five minutes spare, you can just sit down and learn a couple of cards.
Thanks! I guess I never really thought of going over cards in spare time. In retrospect, that might be why I never got into them. I only used them when I had a lot of time to dedicated towards learning the material anyway and then I preferred reading.
If you use vocab flashcards that contain an example sentence or two showing usage in context, then it is more efficient than reading a book (with regard to the language rather than the book's actual content). Personally, I read books and when I encounter an unfamiliar word, I add it to the flashcard pile, ensuring that I don't forget the new knowledge.
If you're trying to learn the content of the book, the process of converting the information into flashcards entails engaging with the material, so that isn't skipped.
No one memorizes dictionaries for language learning.
There are frequency lists of vocabulary words for languages: basically some words are used more frequently than others so memorizing the most common 1000-3000 words is enough to get very high comprehension rates for everyday conversation and reading.
But I can't help but think it could be a lot better, a lot more efficient, perhaps even 2x more. Anki allows you to customise many aspects of when cards are shown. But presumably those settings can be tuned for a individual, a subject, or even a card. One person probably doesn't have enough data to know what would be most efficient, so they guess, or stay with the defaults.
Part of this is due to the lack of data - and the privacy concerns that would accompany Anki harvesting it all and feeding it to a machine learning system. But if an SRS system were recommended by and developed by a national curriculum, I suspect it could be a lot cleverer and more efficient.
As one example, consider if you had to learn the translations of 2 words. And students often got them confused. Then perhaps getting one wrong should also prompt a test of the other, or indeed maybe it should delay the test of the other? Who knows...