6
23 Comments

Do you know/use the spaced repetition technique to learn and remember stuff quickly?

I'm an Android mobile app developer. I'm learning front-end development right now and I'm accumulating a lot of knowledge in various areas (html5/css3/es6) that I want to put in my long-term memory (and not just cram it).

For now, I use a simple method: I add the stuff I want to remember in a Google Doc and read it from time to time.

I knew about space repetition technique as I read several articles about it years ago. I know a lot of apps have been developed using the flash card concept.

I'm considering writing a web app / PWA as a side-project to apply what I learn in front-end dev on a real project.

Do you guys use some of these flash cards apps? Which ones are the best? Does this technique help you or not?

  1. 5

    Im heavily experienced with spaced repetition having used it to learn Japanese. I managed to use Anki to learn 10,000 Japanese vocab inside one year.

    I will say this. My gut feeling is the type of information is not at all a good match for spaced repetition. Ive used it to try learn all sorts of stuff and the stuff that works really well are factual information that you can give a very quick answer to. Anything related to problem solving is a disaster because the reps take far too long.

    Most programming languages and frameworks have good reference material that you can always lookup what you need. However, I am actually interested in doing a learning experiment with a programming language to see if its possible to become a walking encyclopedia on it because theres definitely money and leverage in that on an engineering team.

    However my best advice is create a git repo that acts as a giant code library of problems you have solved and technologies you have learned. You wont remember how to do things, however you will remember you have solved the problem before and then you can leverage your past effort instead of working out how to do it again.

    1. 2

      Thanks for your reply!

      Anything related to problem solving is a disaster because the reps take far too long.
      Agreed.

      I want to use spaced repetition to learn quickly the things that doesn't need a brain to solve. Just to remember function names, or properties in JS and CSS etc. Like what's the property in CSS to get rounded corners? etc. This will save me the time of asking on google.

      So in my opinion it's perfectly suitable for a programming language when you already know how to program in general.

      1. 1

        Don't waste your time doing that. Instead I suggest you to have first-class documentation at your fingertips by using tools like Dash, or devdocs.io. So you don't have to write documentation by yourself... again.

        Or you can create a TIL git repository ("Today I learned", like this one: github.com/jbranchaud/til) and save your thoughts on a plain text file, which is different than documenting properties or language specifics. Focus on documenting hard problems you're solving.

        1. 1

          Thanks man!

          I knew devdocs.io it's an awesome resource. I'm trying here to avoid having to use these tools most of my time. I prefer to know using my memory that the property I'm looking for is called box-sizing than having to type something on devdocs.io to find out.

          It's still faster to know something than looking at a website to get it. No matter how brilliant the website is (and trust me I really love devdocs).

          What I'm trying to achieve is to reach the memory state of someone doing frontend for 3 years who doesn't have to think anymore about what property lets him do this or that. He just knows it.

          Relying on my memory to code instead of constantly switching from my IDE to devdocs (for example) and interrupting my flow will let me focus more on the problem I want to solve. Constant switching is a pain in the ass to reach the flow while coding.

      2. 1

        New APIs come out, some are updated and some get deprecated. Keeping track of all that in your head is a Sisyphean task. A good IDE or a text editor with an autocomplete plugin is a simpler way to go.

        Trying to use "border-radius" is a better use of your time instead of trying to learn it's name by heart.

        1. 1

          I totally understand your point of view and almost agree with you.

          But sometimes you don't have access to an IDE with autocomplete feature and want to fix something while working on a remote computer through SSH with vi (or vim).

          Losing time requesting the same things on Google over and over again during the day makes me sick. Also I want to learn best practices, not just syntax. There is no best practices autocomplete plugins ;-).

          1. 1

            As long as this is your personal preference, do your thing :)

            But if you are trying to validate this idea for a project, talk to more developers and see if they would use it before you invest any time. I personally wouldn't (reasons in previous reply).

            P.S. Best practices emerge from applied knowledge, not rote learning. Sometimes dependency inversion fits, sometimes it's over-engineering.

            1. 1

              Oh I won't develop a product for this as Anki solved my problem perfectly. But sure, I should have talked to more people if I decided to go that way.

              Best practices can be learned (I think about design patterns, code formatting / guidelines) but must be applied frequently to grasp their whole benefits and to be remembered too.

              I think there is a balance between over-engineering and applying best practices with discernment on your projects. I want to be able to use the second one with ease. I'm aware that over-engineering any startup code can lead to its death, but having a bad code base can kill it as well too.

  2. 2

    For spaced repetition, I use memrise. It supports different kinds of mappings with text, images and audio.

    For the kind of use you describe, I think the biggest challenge for me as a user would be creating new items in the trained set. Creating the items manually feels like more effort than learning them.

    1. 1

      Thanks Michael for your reply. Memrise seems to learn a new human language whereas I need something more general to learn code. But Anki works fine finally for me.

      Yes adding the items manually is cumbersome but I learn at the same time when I add something so it's a well invested time anyway!

  3. 2

    The Spanish-learning iOS app (vocabulary-only) I am building relies heavily on the Spaced Repetition algorithm, and as I have now seen many people use these kind of systems, I can confirm it is an extremely powerful one.
    Highly recommend using this principle for small pieces of information that you need to learn by heart, and would suggest using the Anki app to save and then study anything you want.

    1. 1

      Thanks Kevin! That's what I'm gonna do, I installed the Anki app, perfect for my needs.

  4. 2

    I used an anki deck when learning CSS a few years ago. I only kept up with the repetitions for 6 months or so, but it did seem to give me an easier time remembering things than my peers had.

    My deck wasn't huge or comprehensive. I only had about 50 items, and they were in a Q&A format. For example: What are the values for the position property and what do they do? (At this time, I'd never encountered sticky, so the answer would be to explain static, relative, fixed and absolute positioning).

    SRS works well for some set of discrete bits of information like all the periodic table of elements, the four letter scrabble words or the Thai alphabet. It doesn't work so well for something like learning whole a language or how to program, but people sure keep trying.

    1. 1

      Yep. That's what I want to do, having some basic stuff in CSS, HTML and JS and just remember it easily. I already know how to program, I didn't say this in my post so I edited it to be clearer.

  5. 2

    There's Anki which is well known but last time I checked not very user friendly.

    Some years ago I was using an augmented flashcards app for Chinese: https://skritter.com/

    I think it helps a bit, but it has been integrated in lots of apps now, so SRS is not enough to differentiate. It's about the whole learning experience.

    I guess some niches are still interesting, where cramming is especially present, but otherwise you have to blend it into a complete learning platform.

    1. 2

      Thanks for your reply William. Anki is really awful when it comes to the UI/UX. I didn't know skritter, seems really well designed.

      EDIT: I was looking at an old version of Anki, the new Anki available on the web and on mobile and on macOS is perfect for my needs! The UI/UX is nice too.

      Hum, blend the tool in a complete learning platform, good advice but don't have the time for this... And it's not my goal at all. I just want a simple tool that helps me fix specific knowledge in my long term memory easily with some daily notifications for example.

  6. 1

    Maybe this is what you are looking for.

    http://learnobit.com/

    1. 1

      Hum. Interesting. The pictures are fun, but I still don't understand the main differences with Anki or the value added by LearnObit over Anki.

  7. 1

    Yes! I launched CleverDeck last year - you should check it out! I used to be a daily Anki user, but built CleverDeck to improve where I thought Anki was lacking.

    http://cleverdeck.com

    It definitely works as advertised: I've learned around 5000 Turkish and German words in the last several months - and they're sticking.

    1. 1

      Well Done Justin! CleverDeck seems oriented to learn a human language... and my smartphone is an Android one... I'll pass sorry!

  8. 1

    Hi Jérémy,
    I am currently working on an App called Buffl (https://www.buffl.co) which might suit your purpose. It's basically a very simple flashcard application for iOS&Android. You can create your cards with our WebApp and easily sync to your phone. I would be glad if you give it a try.

    1. 1

      Hey Clemens, thanks for your message unfortunately I already started my deck with Anki sorry!

      1. 1

        This comment was deleted 9 years ago

        1. 1

          Yep, that would be nice. Switching from one app (the most popular) to another one is really a pain!