tft

Building a better memory system

By: Michael Nielsen, November 23, 2022

I've done a lot of work on memory systems – as a user, as a researcher, and as someone helping develop new systems. I've found them tremendously helpful. But I also believe they could be made far better. In the following notes I riff on a few dozen1 ideas for how they could improved. I expect most of the ideas work poorly, or need substantial iteration, or would only work in concert with other ideas. But perhaps a few of the ideas would, with some work, make memory systems much better. Feel free to riff on these ideas, and build them into your systems.

A note on provenance: Many of these ideas are pretty obvious to anyone who has seriously used memory systems and read into the literature on human memory. I'm certainly not trying to claim any sort of priority. A few of the ideas are perhaps new and insightful; if that is the case, then credit certainly belongs in part to Andy Matuschak, with whom I've spent hundreds of hours talking about memory systems.

Assumed audience: These notes are intended for my consumption and for the interest of a few friends. I'm writing the notes mostly to organize and stimulate my own thinking. That said, if anyone else is interested: the notes assume you've engaged in substantial (100+ hours) use of memory systems, including significant use for conceptual understanding, beyond cases like remembering words in a new language. There are many misconceptions commonly held by people who've merely briefly tried memory systems: I deliberately haven't addressed those misconceptions. I've also previously stated many opinions about the design of memory systems, and for the most part won't repeat those. That said, there's a few background remarks worth making:

Background remarks

I don't like the common spaced repetition framing: One common framing for memory systems is as "spaced repetition systems" (SRS). I've used that framing myself. But spacing and repetition are only a small part of the story. The larger point is that the way our memory (and our cognition in general) works is moulded by the systems we interact with. By designing those systems carefully we can radically change and improve the way our memory works. It's not just about spacing or repetition.

What's wrong with existing memory systems? Here's a very non-exhaustive list: take too much time; get boring; not vivid enough; not emotionally engaging enough; the tests aren't demanding enough; not social enough; not closely enough connected with other parts of your life; they tend to be for disembodied facts, not for real practice of skills (e.g., motor and sensory and social and emotional skills); the cues don't correspond to actual situations of use; they don't do anywhere near enough to support deep processing of material2; people tend to lean overmuch on remembering facts, and not enough on constructing abstractions and multiple ways of understanding. Many of these ideas can be phrased more affirmatively as questions:

Standard critiques: There are many standard critiques of memory systems. Common ones: "rote memory isn't the same as understanding" [has a large grain of truth, irrelevant if the system is used well]; "I used it to memorize stuff that I've little real interest in" [incredibly common: you should stop using memory systems!]; "I used it to memorize things as a party stunt, and found it boring" [ditto: stop]; "they didn't work for me" [often means they're being used poorly, like attempting to play a violin with your feet, or the person has no need for them]. While I've listed standard retorts, those questions are also useful stimuli. Are there ways of making the questions less relevant or even irrelevant3?

The cliched ideas for improvement: The three most common affirmative responses to memory systems from programmers learning about them for the first time are: "I'll bet you could use ML to automate question construction, for more efficiency"; "why don't you integrate your note-taking and your memory system"; and: "why don't you improve the scheduler?" These ideas (and a few others) are cliches, and I have a bad habit of rolling my eyes at them. This is a mistake on my part. It's true that naive attempts to do these things have limited returns. But deeper thought and riffing may yield genuine returns. In listing ideas below I've consciously tried to lean into them, rather than avoiding them.

Memory is not the point: The point of using memory systems is to make a better life, not memory in and of itself. To momentarily switch to a different type of tool, one common phenomenon with note-taking systems is that they become ends in themselves. I know people who can talk for hours about their note-taking system, but don't seem all that interested in using it to improve anything else in their life. I suppose it's a fun hobby, and that seems fine, but I do wonder at the motivation. Is it system building as self-soothing? This kind of thing seems less common with memory systems (so far), but it's easy to imagine happening.

Many easy-to-measure things are relatively unimportant; many important things are hard-to-measure: Much work on "improving" both commercial products and academic research is focused on things which are easily quantified. Finding the "optimal" schedule. Studying people's memory response curves. And so on. This is the classic mistake of focusing on what you can easily measure, but which isn't all that important. In my personal memory practice, nearly all the benefit has come from learning how to: better digest material; make better questions and answers; better connect the memory system to my life and creative work. These are hard to quantify – it's likely difficult to write academic papers about these kinds of things, or set OKR's for your next performance review. But I suspect such difficult-to-quantify targets are far better targets if you actually want to improve memory systems, and not merely hit your OKRs.

"What does a memory system look like for a driven creative genius who is an expert with the system?" That is, I think, the right prompt for working on memory systems. Software design so often focus on the first few hours of someone's experience. Yet what you really want is to max out the experience someone is having in their thousandth or ten thousandth hour of use. Pianos seem designed primarily for experts and only incidentally for beginners4. If you were designing the piano with modern software design practice in mind it would have 8 white keys, no black keys, and no pedals. It'd be easy to play some simple songs, and that's it. What we're really looking for is ideas which can be the foundation for long-run improvement, with an extraordinarily high ceiling.

Simple-but-powerful ideas, with a very high ceiling: 90% of the value of Anki comes from simply showing you prompts-and-responses on a variable schedule, with the schedule controlled by binary choices you make. It has a tonne of extra bells and whistles, but they're almost all irrelevant. What other similarly powerful ideas are there? Put another way: below I riff on dozens of ideas. Exploring all would be fun. But I suspect that building a better memory system means just identifying and doubling down on one really powerful idea5.

Ideas for memory systems

I found myself curiously conservative in constructing this list: I want the ideas to be "good" ideas, which is in tension with them being imaginative or stimulating. Once I noticed this I deliberately added a half dozen somewhat "silly" ideas, sprinkled through the list.

  1. Memory coach: Using memory systems is a skill. Most people write really bad questions – just like someone new to the piano isn't very good. Suppose you got together for 90 minutes once a month with a coach who would help you write better questions. They'd go through 10-20 questions with you, and help you improve those questions. You'd also discuss what types of questions you should and shouldn't be asking, and how it connects to your life goals and projects more broadly. Could be done remotely. A (large) variation is going over your questions with a therapist, not so much to improve the questions, but as part of therapy. Closely related to ideas like yoga and meditation teachers.
  2. Memory coaching as part of a broader array of coaching or therapy services: Many coaches and therapists offer a variety of modalities. You could develop a course – say, 30 hours in-person, with another 100 hours of offline work required – where a person would achieve something like "memory coaching mastery", which they'd then list as part of their competencies6.
  3. Memory classes: A pretty self-explanatory variation on the last two.
  4. Put the DMV manual into a memory system: Ideally, not just Anki-style. But with some kind of narrative embedding, perhaps closer to the mnemonic medium. This can be inverted, too: maybe the DMV should simply accept completion of the mnemonic medium's journey as a substitute for taking the test. It's certainly a far more demanding requirement7.
  5. Memory system karaoke: You get sent random questions from other people's decks, and need to provide answers. Needs iteration to work – maybe you're being shown questions which seem like variations on yours. Could be a fun game. Difficult to know how to do it, although I suspect the idea of "thought vectors" may be helpful.
  6. Memory pairing / memory buddy: Much like a gym buddy, or Strava friends, someone who you co-construct a deck with, and co-construct a memory practice with. Shared graphs of progress, shared celebration, shared commiseration. Making memory a social practice would certainly transform it, perhaps for the better, perhaps for the worse.
  7. Crit-for-memory: explain your questions and answers: I suspect that simply routinely explaining your questions and answers to a friend (or to an audience) would lead to upward pressure on them. Fun to imagine feedback, too. Memory crit groups.
  8. The $100 million mnemonic medium: I wonder what the mnemonic medium looks like with, Substack style, a whole bunch of well-paid writers? And a terrific core team improving the medium? Fun to think about having a Chief Memory Officer or Chief Memory Coach position. (This is an idea I've discussed extensively with Andy Matuschak.)
  9. Pay for real testing: Most simply: you pay $50 for an hour of someone working through your memory system deck with you. You need to explain the answers. If they suspect you're wrong, or bullshitting, they push you on it, and perhaps help you improve your understanding, or at least be honest with yourself about your understanding. A variation service is where they shout at you if you get it wrong :-). A more formal outgrowth is some sort of accreditation associated with the testing.
  10. Audio version: I've often wanted Anki to read me questions aloud as I walk, and for me to give spoken answers. It's plausible – and would be interesting to test – whether the variation in presentation would lead to an improvement in recall.
  11. Auto-variation in presentation: In a similar vein, there may be benefits in changing the font, changing the color, changing the margins, varying the time of day, varying the place, varying the ambient noise level, even doing things like inserting typos.
  12. Illustrate the answers: I've rarely found systems like DALL-E useful for illustrating questions. It tends to do better at illustrating noun phrases. But questions often contain striking noun phrases, and answers are often noun phrases. I suspect it's possible to do something here which provides striking illustrations that may improve the effectiveness of the memory system.
  13. Enacting the questions and answers: This is something that bugs me. Anki's context is all wrong. If I learn a new part of the Javascript API I don't want an artificial question and answer within Anki's context. Ideally, I want a real use case to arise, within my text editor, and then to actually enact the solution. And this should all happen on the right schedule. And I don't just want this for tasks at the computer. I want it for everything I'd like to remember.
  14. Diagnosing common types of bad question: I expect that if a memory coach simply wrote short critiques of a few thousand questions, then either a classifier or a large language model could be used to critique and help improve people's questions. I'm skeptical – for now – of virtual memory coaches based on large language models. But with some very clever design something in this vein might already be very useful8. Simply being told "You might consider removing this question / improving it in [such-and-such a way]" would often be very helpful.
  15. "We need to go deeper": I use hundreds or thousands of strategies to more deeply encode understanding in my memory system. These strategies have been evolved over years9. Other serious users of memory systems report similarly. Unfortunately, I only have a few means for transferring these strategies to or from others: one-on-one going through the practice; seeing examples from other people and asking "why did they add that question"; telling people that question-asking is, in my experience, a skill it's possible to get continually better at. Sometimes, simply knowing it's possible to be much much better at something is valuable in its own right.
  16. Memory system tarot: No idea what this means, it's just a phrase that popped into my head at some point. I suspect Tim Hwang would have interesting ideas!
  17. What would Jesus remember? Ditto.
  18. Make people pay for lapses: Lapses in practice, errors in recall, falling short of some goal for proof of memory. Think of it as Stickk-for-memory.
  19. Make memory systems ambient: How do you make it so that as you wander through the world, you can easily collect questions? I enjoy doing this at restaurants and other new places, for example. What's the best item I've found on the menu at such-and-such a restaurant? What did it taste like? What's the experience like? One can easily add 10 or 20 questions for a single meal10.
  20. Memory is something we do together: This is just a general intuition pump. Meaning really is something we construct together, to a remarkable extent. I know that if I want to improve my understanding of something, I should teach it, or write about it, especially in a highly interactive medium (like twitter). It greatly heightens all my emotional response around what I've written. In this sense, speaking or writing with the direct engagement of people you care about is a terrific aid to memory and more broadly to understanding.
  21. Perform your memory system: Relatedly, people will do a lot for appearances. An audience ups the emotional intensity of everything – the highs and the lows. If you miss a note while practicing the piano you won't remember a week later. Miss the same note on stage in front of a hundred friends and you may remember it for years. I hate the cliched nature of "post your progress to social media", but it's partly because it's done so poorly by many apps. I think Wordle and (to some extent) Oura actually do it quite well. I'll bet it can be done well for memory systems, in part by doing the opposite of a lot of supposed best practices (which prioritize growth over the user).
  22. Integrate with Google Maps: I have a prejudice that memory palaces are largely curiosities. But maybe that's wrong. It's fun to think about extending memory palaces, maybe using VR and Google Street View or some similar 3d experience of the world. Basically: figure out what a really good memory palace would be like, and create it. I also suspect there's a lot of crossover possible between memory palaces and spaced repetition systems. Memory palaces are basically a particular type of processing. What other kinds can we find?
  23. Instagram your Anki cards: No idea what would happen. I'll bet someone would find a way of making their cards nice and juicy, good Insta-bait. Possibly the worst of both worlds.
  24. Pay $100,000 for a false answer: How well do you think you'd do if you were quizzed on an Anki deck – and had to pay out $100k for a false answer? I suspect I'd do quite well.
  25. How to integrate memory systems into Figma? Into Google Docs? Into Twitter? Into applications in general? I'm frankly shocked how much overlap there is between my Anki usage and my Twitter usage. I don't quite know what to make of it. Twitter sometimes seems like it can function as a form of incremental writing. More broadly, I suspect almost any application at all can be considered as a memory system. Video games tend to this moderately well, but few other apps do.

Acknowledgments

Thanks to Andy Matuschak for many stimulating conversations about memory systems. Thanks to Sebastian Bensusan for encouragement to be discursive in footnotes.

Citation information

Michael Nielsen, "Building a Better Memory System", https://michaelnotebook/bbms/index.html, San Francisco (2022).

Footnotes


  1. I won't be precise in the number: I may add to or subtract from this list in the future.↩︎

  2. I suspect this is a 100x (or much more) effect.↩︎

  3. Something I like about the "make memory a choice" framing is that it's relatively value neutral. People have strong feelings about memory: that it's something they "should" be better at; or feelings of resentment. They also believe many misleading things about the role of memory in cognition – it doesn't matter, they can look everything up; that anything they need to remember they will just naturally remember through use; or conversely they overly venerate or rely on memory. There is a grain of truth in some of these ideas, but without significant caveats they're damaging. For memory systems to be most useful it's helpful if their use is founded in accurate beliefs about the role of memory in cognition. Indeed: effective use of memory systems sometimes means not using them. But it can also mean using them extremely intensively. The trick is to have an accurate and strongly felt internalized model. A major challenge in communicating about memory systems is helping people form such a model.↩︎

  4. I'm not sure of this, though it seems plausible. I'm more sure of it for, say, the violin (despite the fact that I took piano lessons for a while, but never the violin). Anyone who has ever had a family member learn the violin knows that it is not an easy instrument to learn.↩︎

  5. This is true of almost all our most powerful tools for thought. Writing, the alphabet, mathematical notation: all are founded in taking extremely seriously a small number of powerful ideas. And, again, you can keep getting better for thousands of hours. We teach five year olds to write, but no-one ever really masters writing.↩︎

  6. Obviously, there is potential for abuse here. But there's likely a positive possibility too.↩︎

  7. I Ankified the California DMV manual in order to pass the exam. I then deleted the deck, something I rather regret, as it means much of the manual's content has decayed in my memory.↩︎

  8. I suspect a real problem is that people take suggestions more seriously if they believe it's coming from another human being, as opposed to a large language model.↩︎

  9. One strategy I like that drives many others is to compress understanding. Eg: "What's a simple one-sentence proof of the fundamental theorem of algebra?" Such questions typically require dozens of other questions as preparation first. They're not always achievable, but I find them incredibly valuable. Note, incidentally, that that question violates another master strategy, which is to beware canonical answers. The essentially unique answer to the question "What is the capital of Australia?" is "Canberra". But most interesting questions have multiple answers, and it's extremely valuable to lean into that. A better question is: "What are two [three, four…] different simple one-sentence proofs of the fundamental theorem of algebra?" And then to add some questions about the relationships between those proofs.↩︎

  10. Experience tells me some people will howl "oh, that sounds terrible, why do you have to take a meal and ruin it". Well, don't use the memory system if that's the case. And if it would make your life better, then use it.↩︎