Help for creating an add-on

Hi all,

I am curious if any of you is interested in writing an add-on which might improve learning dramatically. I am a medical doctor having done a lot of research in learning mechanism. Therefore I would have an improvement to make concerning cloze cards. Unfortunately I am not a programmer and I never worked with python. So my question is, is there anybody interested in writing an add-on according to my knowledge of learning mechanisms? The changes would be very small and therefore I suppose not hard or time consuming to write. It would involve adding a button and showing cloze fields while pressing the button and hiding the cloze if not pressing the button.

That would be awesome !!! Otherwise I have to go the hard way :slight_smile:

Thanks a lot

This is an interesting idea. Can you list some research articles on the matter? I’d like to learn more. I’m just getting started in Anki add-on creation so I’m no expert but I have a little bit of coding experience and might be interested in helping.

1 Like

Hey, thanks for your reply and your interest. I just want to sum up some of the research and my ideas with those. As there is limited research that I could find on the learning situation with Anki or equivalent pieces of software itself, when it comes to details on how to use or modify learning with Anki, one has to draw your own conclusions from the literature on different learning settings and apply them to the Anki scenario.

So I am speaking of Anki and Cloze Deletions for the time being. So I want to break down what happens when you learn with this card preset.

  1. The card will be presented to you and on the card and there is one or more cloze deletions.

  2. You try to memorize the missing word

  3. You hit the answer button and you find out, if you knew the answer or not.

  4. Depending on the result you, the card will be presented to you again in a certain time.

Now I want to comment on the different steps.

In principle the setting resembles that of a forward delay conditioning setting. Where the text is the Neutral Stimulus (NS) and the missing word is the Unconditioned Stimulus (US).

Step 1. The NS is presented to you

Step 2. If no learning happened so far, your brain does not come up with the missing word, as it was not exposed to the US so far.

If you do remember the word, because you created the card upfront which could be seen as priming or learning already, your brain will come up with the US, which is the missing word.

Step 3. Now the US, which is the missing word, is presented or revealed. As the text from the beginning is still there, it is by definition a delay conditioning setting.

Depending on your answer, you get at best an emotional response (“I am so good”) because you knew it, which is reinforcing the neuronal connections to remember the word or you will have a negative emption (“Fuck I messed it up”) which also os reinforcing the connection with the US.

Step 4. Now the optimal time interval of the next presentation will be calculated, according to the findings of the spaced repetition literature. But this is mainly working well to strengthen connections that are already there.

I want to concentrate on Step 1 to 3. Step 4 is not of my concern, as the algorithm of Anki works fine and for me, there is no optimization necessary. There is a optimal reinforcement of neuronal connections of already once learned paired stimuli.

So let us focus on Step 1, 2 and 3 for stimuli that are to be paired for the first time or where the connection was bad and have to be reinforced.

A very important issue in delayed conditioning is, that as CS duration increases, conditioning declines. In practice, that means, when the text shows up and you think hard and you try to figure out the Cloze, the longer you think, the less likely will your brain make a connection between the first stimulus, which is you text from the beginning, and the Cloze text.

Therefore, if you look at your card and your brain does not immediately come up with the missing word, you have to push the answer button so that the missing word pops up within about 500 ms (approximately, the literature is not that clear and you can’t really take the interval from experimental settings and apply them one to one to the real life Anki scenario).

So don’t search for the missing word in your brain, either it pops up by itself or the connection between the stimuli have not been strong enough and you have to reinforce it.
You save yourself from a lot of headaches if you learn like that.

And here is my problem. How to establish or reinforce a connection between two stimuli in an easy way according to your brain physiology.

Here we have to discuss another ingredient for learning: Attention. To make a connection between two stimuli only works when your attention is on the thing you want to learn. In research it could be shown that some specific movements on a screen grasp your attention, but those movement patterns are difficult to simulate and therefore not an option. Or, when something new pops up on the screen. And here we are finally, my problem with Anki, as Anki only allows you to show the missing word once and then the next card will be displayed. So it will only pop up once and then it stays on the screen and the attention immediately declines, which is not good if you want to learn something new or to reestablish a connection.

I experimented a lot in the past with flashcards and what worked for me miraculously, backed up by my interpretation of scientific findings, was the following:
If the missing word pops up repetitively in short intervals. You can see how that works and grasps your attention with “Alert” “Alert” “Alert” windows in red, popping up on computer screens in movies :slight_smile: or in advertisements all over the place.

So here is my idea. It would be great to have an additional button, a “Show answer” button, that shows the answer/missing word as long as it is pushed. If you stop pushing the answer/missing word disappears. That is all !

How would you apply that in learning?
When the card is shown for the first time, you read the text and you focus on the cloze.

If the missing word pops up in your mind , then you hit the “Show answer” button and when you are right you can go on with the next card.

If the missing word did not pop up, then you look at the close and you let the answer flash up a couple of times while looking at the text/cloze.
Your brain will establish a connection between the text and the cloze easily then.

Another problem learning with Anki is, for me, the learning of cards with multiple clozes. I basically really like how Anki is handling multiple clozes, with the opportunity to have multiple on one card, but only show one cloze at a time. But if I want to learn lists by hard or procedural steps, I prefer to have all clozes hidden as I experienced that I learn a list much better like that.

With an “Show Answer” button I could have all clozes hidden and if I focus on a single cloze and I hit the button I can check wether I remembered that item correctly and then go for the next cloze, that is hidden again as soon as I release the button, and check on that and so on. That makes learning list much more easy.

So thanks for taking your time to read all that and I am curious about your ideas.

  • about flashing the clozed answer: maybe you use some css (like this) to make the .cloze class flash and make the font size bigger.
  • about: “opportunity to have multiple on one card, but only show one cloze at a time”: maybe the add-ons Cloze (Hide All) or Closet For Anki are useful. Add-ons are not as future-proof as built-in stuff but better than nothing. For lists apart from Closet there’s also the add-ons “Cloze overlapper” and LPCG (Lyrics/Poetry Cloze Generator). An auto-fail feature such as offered by Speed Focus Mode (auto-alert, auto-reveal, auto-fail) might also be interesting.
  • If you have multiple clozes on the same card there are some scripts that reveal one after another. you could google for something like “anki cloze open one by one”.
  • There are also multiple threads about handling lists here and in the anki subreddit. Maybe one of those approaches is useful for you.