Spaced Repetition and TiddlyWiki

536 views
Skip to first unread message

Diego Mesa

unread,
Dec 19, 2018, 2:36:30 PM12/19/18
to TiddlyWiki
Hello all,

As always (and Im sure as alot of you), I am very interested in using TW for more and more things. Right now, I use one TW for all of my tiddlers, and use tags to separate "domains". In other words, if I think I need another TW, I just make a new tag and voila! it fits in my TW.

As some of you might remember, I have also been very interested in using Spaced Repetition (SR/SRS) to memorize information. Some fantastic introductions to this are:
There are 2-3 major players in the SRS space, but I could never get the habit to stick with Anki or Memo as I was already working in my TW. As a result, I tried to create a similar effect in TW which led to Anwiki - a simple SRS system built into TW:


I am very interested in using TW to store - knowledge I want to be able to keep, look up, organize and store, as well as knowledge I need to actively memorize. There is a huge SRS community out there always debating what software is better, why, writing plugins for these systems, etc. I think TW is the best place to keep the things I want to memorize in, because I already keep everything else in there! If TW is to be a physical (digital) record of my mind and its development, it only makes sense to incorporate this into TW! 

I think if embraced and further developed, it could bring many more people into TW, and become "one of the great" TW plugins like TiddlyMap.

The purpose of this post is to
  1. Inform those of you that don't know about Spaced Repetition
  2. Ask the community's opinion about the relationship between knowledge you want to keep, and knowledge you want to memorize. 


AdamS

unread,
Dec 19, 2018, 3:48:48 PM12/19/18
to TiddlyWiki
I'm very much in favor of this. I've used anki for a while, but the more I use tiddlywiki, the more I simply want to integrate everything possible into tiddlywiki. I'm really looking forward to seeing how your plugin progresses!

Best wishes,

Adam

TonyM

unread,
Dec 19, 2018, 8:04:05 PM12/19/18
to TiddlyWiki
Diego,

I am not so sure what the SRS community see as valid but I would like to review material from face to face study briefly at the end of the day, a day later, 2 days after that 3 days after that a week after that..

It is true that unless you do this you are prone to forget 80% of what you learned. 

To me this is an algorithm, which could be made to apply to any tiddler or set of tiddlers,  

On the knowledge you want to keep, and knowledge you want to memorize.

  • I think we know it when we see it, ie the knowledge we want to keep, however if we think it may be useful and attempt to remember it in the short to medium term, if we forget it in the longer term, perhaps it was of little value.
  • Forgetting things we do not need, or pruning is an important part of remembering in my view, perhaps more so as you get older, and definitely if you recall something that is incorrect.
Regards
Tony

Diego Mesa

unread,
Dec 19, 2018, 8:09:40 PM12/19/18
to TiddlyWiki
Tony,

"To me this is an algorithm, which could be made to apply to any tiddler or set of tiddlers,"

This exactly what spaced repition systems address through various "algorithms". The one that I implemented in anwiki is the same one Anki uses, called SM-2:

TonyM

unread,
Dec 19, 2018, 8:25:36 PM12/19/18
to TiddlyWiki
Diego,

I see that the spaced repetition systems are small tests, Q&A, what about a simple spaced review period?

I will give this some thought to overlay tiddlers in my personal wiki, what do you think is most important?

Tell me what you think is key please, and I will use that to inform a solution.

I am very happy with some date algorithms I have recently created and would be happy to propose an efficient way to implement this on any tiddler. 

Regards
Tony 

AdamS

unread,
Dec 19, 2018, 8:28:48 PM12/19/18
to TiddlyWiki
Hi Diego,

It just occured to me that a nice feature might be keyboard shortcuts that let you respond to cards faster than clicking one of the options with the mouse. I've found that really useful with Anki. I suppose with the keyboard plugin integrated into 5.1.18 now, it won't be too hard to set up one's preferred keymapping. The stylings on the cards and decks is also a great idea. Those kind of visual cues are really helpful in tiddlywiki just to get one's bearings. Otherwise, it can often end up being a barage of similarly styled tiddlers.

Cool project.

Best regards,

Adam

On Wednesday, December 19, 2018 at 7:36:30 PM UTC, Diego Mesa wrote:

S. S.

unread,
Dec 19, 2018, 8:37:42 PM12/19/18
to TiddlyWiki
Diego,

I am enjoying reading http://augmentingcognition.com/ltm.html
Thanks for sharing. The sentences from the first half of the article that jumped out in direct relation to tw5:

One benefit of using Anki in this way is that you begin to habitually break things down into atomic questions. This sharply crystallizes the distinct things you've learned. Personally, I find that crystallization satisfying, for reasons I (ironically) find difficult to articulate. But one real benefit is that later I often find those atomic ideas can be put together in ways I didn't initially anticipate. And that's well worth the trouble.

Anki allows you to organize cards into decks and subdecks. Some people use this to create a complicated organizational structure. I used to do this, but I've gradually merged my decks and subdecks into one big deck. The world isn't divided up into neatly separated components, and I believe it's good to collide very different types of questions. 


The Anki site has many shared decks, but I've found only a little use for them. The most important reason is that making Anki cards is an act of understanding in itself. That is, figuring out good questions to ask, and good answers, is part of what it means to understand a new subject well. To use someone else's cards is to forgo much of that understanding.

Indeed, I believe the act of constructing the cards actually helps with memory. Memory researchers have repeatedly found that the more elaborately you encode a memory, the stronger the memory will be. By elaborative encoding, they mean essentially the richness of the associations you form.

The act of constructing an Anki card is itself nearly always a form of elaborative encoding. It forces you to think through alternate forms of the question, to consider the best possible answers, and so on. I believe this is true for even the most elementary cards. And it certainly becomes true if you construct more complex cards, cards relating the basic fact to be remembered to other ideas ( ... ), gradually building up a web of richly interrelated ideas.
 

Why not use more of Anki's features? Part of the reason is that I get an enormous benefit from just the core features. Furthermore, learning to use this tiny set of features well has required a lot of work. A basketball and hoop are simple pieces of equipment, but you can spend a lifetime learning to use them well. Similarly, basic Anki practice can be developed enormously. And so I've concentrated on learning to use those basic features well.


I know many people who try Anki out, and then go down a rabbit hole learning as many features as possible so they can use it “efficiently”. Usually, they're chasing 1% improvements. Often, those people ultimately give up Anki as “too difficult”, which is often a synonym for “I got nervous I wasn't using it perfectly”. This is a pity.


As discussed earlier, Anki offers something like a 20-fold improvement over (say) ordinary flashcards. And so they're giving up a 2,000% improvement because they were worried they were missing a few final 5%, 1% and (in many cases) 0.1% improvements. This kind of rabbit hole seems to be especially attractive to programmers.


For this reason, when someone is getting started I advise not using any advanced features, and not installing any plugins. Don't, in short, come down with a bad case of programmer's efficiency disease. Learn how to use Anki for basic question and answer, and concentrate on exploring new patterns within that paradigm. That'll serve you far better than any number of hours spent fiddling around with the features. Then, if you build a regular habit of high-quality Anki use, you can experiment with more advanced features. 

 

Makes me contemplate making "Question/Answer" tiddlers that connect to the information I already have in my TW!

Kalmir

unread,
Dec 20, 2018, 7:33:11 AM12/20/18
to tiddl...@googlegroups.com
Hi Diego,

I am another keen user of both TW and SRS (mostly Anki). I want to thank you for your effort. I think a TW SRS solution is definitely something desirable.

As for AnWiki – I haven't given it try yet. It is because I thought AnWiki doesn't actually use a sophisticated SRS algorithm. Now I know it does (use SM-2) and I think it is important to underline this fact for people more knowledgable of SRS. But this is not yet stated on anwiki.tiddlyspot.com. This changes things for me and I'll likely use AnWiki for at least some knowledge fields. It doesn't lend itself to more complicated solutions yet, e.g. I use complex language cards in Anki which allow me to quickly add a word in target language, a word in my language, a sentence to test knowledge of the word in context via cloze, notes and audio. But vocabulary is also one domain which probably doesn't need integration with a knowledge base/TW.

As for relationship between information stored internally (brain) and externally (computer - TW). Like many others here, I try to integrate more and more things in TW. And I think it makes great sense to integrate various factoids and understanings, shipped to SRS, hence memory, with TW. Because our memory, understanding and need for understanding is dynamic. I think this might become obvious over the long-term. It could be that several years from now one can remember the information via SRS but actually forget why she decided to store it in memory in the first place or what other related stuff one has worked with before. Simple click (link) in TW could provide the answer. I guess ideally we would all have all our knowledge stored externally in the computer and a selection of that in our brains. If we have part there and part there, that is not desirable. Ok, ideally we would have 
alll in our heads but that is not possible. Actually that is how some people envision the future role of AI, as augumentation of ourselves, a super-responsive human-like "friend on the phone" who can help us only if he knows all we know (so he doesn't tell us what we don't need to hear) plus what we don't know.


On Wednesday, December 19, 2018 at 7:36:30 PM UTC, Diego Mesa wrote:

@TiddlyTweeter

unread,
Dec 20, 2018, 8:28:33 AM12/20/18
to TiddlyWiki
Diego Mesa wrote:
... opinion about the relationship between knowledge you want to keep, and knowledge you want to memorize. 

I'll write later about this. It is a great question.

My brief answers for now are ...

... things you need to memorise / learn you only need to keep until you have learned / memorized them.

... keeping could be for a bunch of reasons.  I think that is a quite personal issue. (Personally I am skeptical of the idea one does a TW for perpetuity. But open to being corrected.)

Best wishes
Josiah 



 

Diego Mesa

unread,
Dec 20, 2018, 4:17:08 PM12/20/18
to TiddlyWiki
Hey Tony,

The most important part of the Spaced Repetition System is the "spaced review period". They use different formulas to determine when the question should be shown to you again, depending on how "hard" it was for you to remember the answer this time. Check out the links I gave in the first post, particularly this one:


for a better introduction.

My ideal workflow is to take a larger, more detailed tiddler, say my tiddler for "The Eifel Tower". As I'm reading it, I can select some text, press the "new question" button and a new tiddler is created with appropriate tags, question and answer fields, etc. I can then use TW to quiz myself and memorize large amounts of information.

Diego Mesa

unread,
Dec 20, 2018, 4:17:41 PM12/20/18
to TiddlyWiki
Adam

Incorporating the keyboard is a great idea and is now possible with 5.1.18!

Diego Mesa

unread,
Dec 20, 2018, 4:19:01 PM12/20/18
to TiddlyWiki
S.S,

These are great tidbits! I agree - incorporating Q/A tiddlers into a TW would be great - so long as a proper "Scheduler" could help you review them in a Spaced Repetition framework

Diego Mesa

unread,
Dec 20, 2018, 4:21:29 PM12/20/18
to TiddlyWiki
Hey Kalmir,

Thanks for your comments - I implemented SM-2 (as best as I can!). Anwiki is not yet ready for production though, so I would be careful! It was just meant for testing right now. Also, as to your styling point, I think this is very important. We can ship it with several built in "card types", when we realize that a new "Card-type" is just another template! We can make full use of the customizability of TW to let us have very sophisticated card types! 

TonyM

unread,
Dec 20, 2018, 7:53:03 PM12/20/18
to TiddlyWiki
Josiah,

I look forward to your writing on this. 

I also think many things need to be kept until an action has occurred, such as a task, or memorisation, then there is no harm archiving ones that have potential future value, and placing the remainder in a recycle bin. An archive allows a search in the future.

One key is allowing us to forget a task that needs to be done in the future, and only see it when it needs to be done. We need to trust this just in time process so we can forget them until we must remember them.

Regards
Tony

Roman Kogan

unread,
Jan 10, 2019, 5:36:38 PM1/10/19
to TiddlyWiki
Hi Diego!

I am an active user of Tiddly Wiki, but couldn't bring myself to use Anki because I'd have to enter so much data in there.

Today, I thought - maybe someone had implemented spaced repetition (or Anki integration) for Tiddly Wiki -- and you did!

Thank you for the work!

Thoughts on further development:

  • A must-have for me: would be great to have a quiz by due-date, but filtered by a tag.  E.g. I want to use this wiki to keep track of chords for songs, and when I practice that, I don't want to have programming questions pop up -- but I only want to practice the songs that are due. 
    • Just like you, I'd prefer to keep one TW for all the knowledge -- but I don't want to mix quizzes from different domains. It would be great to see how many cards are due for any given top-level tag (e.g. tiddlers which have TableOfContents as their tag).
  • Will this be available as a plug-in? (It's in the roadmap, but is it really coming?) Can one import another TW into this one? Perhaps a line in the documentation would help.
  • UI-wise:
    • I won't care for any special look for cards. If you change that, keeping the default TiddlyWiki appearance as a setting would be great. In any case, it's not a priority.
    • Decks - do we need decks when we have tags? One can easily create a TOC tiddler which lists all tiddlers. Speaking of TOC(Table of Contents), maybe having that in the navbar by default would be useful (not all users can figure out how to add one). 
Thank you, and Iooking forward to seeing this developed further!
-Roman

Roman Kogan

unread,
Jan 10, 2019, 5:43:10 PM1/10/19
to TiddlyWiki
Another UI thought, reflecting on TonyM's idea:

 - Taking advantage of the story river to display all tiddlers that are due now in it, instead of having a quiz that displays questions one by one.
Displaying only one card question at a time makes a lot of sense on mobile, where the screen is small, but I'd rather see the bigger picture on my huge monitor.

BurningTreeC

unread,
Jan 10, 2019, 5:51:36 PM1/10/19
to TiddlyWiki
One thing only:

We can do this because TiddlyWiki can do this
There's no "overall best approach"
The communitiy here is able to realize great things
Are we able to create a mechanism for "todo-by-due-date"? - for sure!

Could we community-brainstorm on best practices? Yes. Do we? Let's go

hehe, I should've become a motivation consultant,
BTC

TonyM

unread,
Jan 10, 2019, 6:07:52 PM1/10/19
to TiddlyWiki
Yes we can

Diego Mesa

unread,
Jan 14, 2019, 10:41:48 AM1/14/19
to TiddlyWiki
Hey Roman,

Thank you for your interest and comments! I was not so sure there was enough interest to keep it going. 

  • Agreed! I'll add this to the list!
  • Absolutely! When it's useable enough it will be packaged as a plugin.
  • UI-wise: I'm open to a basic theme option, just like Anki, and give people the opportunity to easily change. Also - this is beyond my area of expertise :]
The thing that worries me, is carrying out enough testing to make sure our implementation of the SM-2 algorithm exactly (or good enough) matches Anki's

@TiddlyTweeter

unread,
Jan 14, 2019, 12:25:24 PM1/14/19
to TiddlyWiki
Diego Mesa wrote:
I was not so sure there was enough interest to keep it going. 
 
I know it can be disconcerting.

Its not, usually, lack of interest, it is likely lack of enough people.

 J.

TonyM

unread,
Jan 17, 2019, 5:35:00 PM1/17/19
to TiddlyWiki
All

Most of us feel this at some time

I was not so sure there was enough interest to keep it going

Can I just add, it is very hard to determine the truth of this as a result of activity in GG, it is a blunt instrument and is not capable of showing interest only proxies for it like activity around a subject, however the conversations always get supplanted by the most recent activity. Unless someone maintains information elsewhere and links to conversations it leaves our focus. 

To get interest to keep anything going show your interest and contribute to the ideas you want at the top. It is in our hands not that of others who may very well be interested, if you remind them.

This is where hangouts and other forums come into their own.

Regards
Tony

Kalmir

unread,
Jan 24, 2019, 6:49:52 AM1/24/19
to TiddlyWiki
Hi, Diego,

so I'm trying to implement your SRS solution in my TW now. Which is not easy as it is not packaged as a plugin. So how I did - as a recap for someone struggling with it too:
1) Export all relevant tiddlers from anwiki.tiddlyspot.com (e.g. cards won't work if you forget Macros tiddler).
2) Install Formula plugin which is needed.
3) Create new cards by cloning one of the demo cards. You can delete contents of these fields: due, ef, next, quality, repetition.

That seems to work for me, so far. But I don't really now what "ef' does, I suspect it is something algorithm-related? The same for "quality". I suppose "repetition" marks the number of times the card has already been answered?

Thanks for AnWiki, Diego. I think if it gets packaged as a plugin, it'll get larger following.

Kalmir


On Wednesday, December 19, 2018 at 7:36:30 PM UTC, Diego Mesa wrote:

Diego Mesa

unread,
Jan 24, 2019, 11:48:09 AM1/24/19
to TiddlyWiki
Hey Kalmir,

Thanks for your interest! I agree this should be a plugin to be more useful.

Those fields are required and keep track of the "formula" which determines how "spaced" these cards should be "repeated", according to the SM-2 algorithm. In a plugin version, these woul be "hidden" from edit mode. 

Kalmir

unread,
Jan 24, 2019, 12:59:57 PM1/24/19
to TiddlyWiki
That's what I thought, more or less. In my point 3 above I mean "you can delete content of the fields" (when cloning card) in the sense that they get populated automatically.

maki aea

unread,
Dec 27, 2020, 2:01:02 PM12/27/20
to TiddlyWiki
hi diego! just to say thanks so much for anwiki, i've been using it every day for over a month now. sorry to take so long to reach out, i'm on mobile usually so trying to write on google groups is terrible! i've tweaked the macros a little to suit my particular usage though i can't seem to get recursive macros going no matter what i try, i wanted to tell you that i'd figured it all out when i wrote to you for the first time but eventually i realised we need the tiddlyformula plugin (or something similar) for the dates -- but i did manage to do something potentially useful for the next card function which seems to lead to faster performance when there are lots of overdue cards. thanks again and please have a look at http://makiaea.org/00045/20201205makiaea-anwiki if you have a chance

have a happy new year! warmest wishes, maki

dieg...@gmail.com

unread,
Dec 30, 2020, 10:48:52 AM12/30/20
to TiddlyWiki
Maki

This is fantastic! I will have a closer look at the code soon. I think this can serve as the new standard reference implementation! (Especially since I lost access to anwiki on tiddlysplot :L )

Soren Bjornstad

unread,
Dec 30, 2020, 5:54:44 PM12/30/20
to TiddlyWiki
Since this was posted a while ago but has now come back to life and could be a good thread to work through in the future:

For people who already use Anki, or prefer using an external, more powerful program for spaced repetition but would still like to link up with TiddlyWiki, a new option is my TiddlyRemember plugin, which stores your notes in TiddlyWiki but lets you review them in Anki.


Reply all
Reply to author
Forward
0 new messages