Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Not sure where you found a subscription to Anki, but it's free and open source: https://github.com/ankitects/anki
The iOS app is a one-time payment though.
This article is definitely not written with an unfamiliar reader in mind though, that's for sure.
I'm surprised no one mentioned Memoet (https://github.com/memoetapp/memoet). It is a much more modern version of Anki - much more open algorithm, REST APIs and universal interfaces and self-hosted control over one's data.
Allow me to mention my project Ankivalenz[1], which turns structured HTML files into Anki decks. I use it with Quarto[2][3] to generate my Anki decks. Instead of having a "pool" of Anki decks, I can create hierarchical, well-organized notes and turn them into an Anki deck. This makes it easier to create Anki decks, but more importantly, it makes it easier to keep Anki decks up to date.
[1] https://github.com/vangberg/ankivalenz
I agree that Anki is likely less developer friendly but its popularity does make up for that I feel, with ostensibly state of the art SRS algorithms being published with Anki implementations (https://github.com/open-spaced-repetition/fsrs4anki) out of the box.
Anki, imo, already has an open algorithm (that the user can change via plugins), universal interfaces, and is "self-hosted". My eyes perked up at REST api, but it doesn't look like there's a centralized server that hosts shared cards, which is where my mind went.
I'm building https://github.com/AlexErrant/Pentive/ which is basically Anki + Reddit - people can optionally upload their cards for others to download, and the most popular cards rise to the top. It's FLOSS, offline-first, supports plugins and p2p syncing, and is very much a WIP. My proof of concept is almost done though, which demos the critical technologies in a secure way.
I've been working on https://github.com/trane-project/trane for the past year or so, mostly to get around these limitations. I tried to find a way to use Anki or another existing software to aid my music practice, but I couldn't get it to work.
Some ways in which it's different:
- Dependencies are core to the system. For example, if I am learning a music piece, I want to start by learning small sections and only move on to larger sections when I am good enough the small stuff, eventually ending with a final exercise that tests my performance of the whole piece. A lot of knowledge/skills follow that pattern, but I couldn't find a way to make Anki or SuperMemo understand this.
- It's meant for both memorizing stuff and practicing exercises. I have tested it with your exact example (math problems from textbooks). It works fairly well, but it's at a very early stage (you can look around at https://github.com/trane-project/trane-math, but it still needs a readme). So it's doing the same thing as the students you mentioned. The difference is that the scheduling is done automatically. Review of existing problems and addition of new ones happen without requiring planning or tracking from the student.
- There's an emphasis on generating the flashcards as text files, so they can be shared. I don't understand why people insist of remaking their own flascards every time. If someone wishes to learn guitar, for example, it's my hope they just download some courses and start learning without spending any time redoing flashcards. This design choice probably makes it harder to write the flascards, but it balances out once the flashcards are done and can be passed around.
I've been working on https://github.com/trane-project/trane for the past year or so, mostly to get around these limitations. I tried to find a way to use Anki or another existing software to aid my music practice, but I couldn't get it to work.
Some ways in which it's different:
- Dependencies are core to the system. For example, if I am learning a music piece, I want to start by learning small sections and only move on to larger sections when I am good enough the small stuff, eventually ending with a final exercise that tests my performance of the whole piece. A lot of knowledge/skills follow that pattern, but I couldn't find a way to make Anki or SuperMemo understand this.
- It's meant for both memorizing stuff and practicing exercises. I have tested it with your exact example (math problems from textbooks). It works fairly well, but it's at a very early stage (you can look around at https://github.com/trane-project/trane-math, but it still needs a readme). So it's doing the same thing as the students you mentioned. The difference is that the scheduling is done automatically. Review of existing problems and addition of new ones happen without requiring planning or tracking from the student.
- There's an emphasis on generating the flashcards as text files, so they can be shared. I don't understand why people insist of remaking their own flascards every time. If someone wishes to learn guitar, for example, it's my hope they just download some courses and start learning without spending any time redoing flashcards. This design choice probably makes it harder to write the flascards, but it balances out once the flashcards are done and can be passed around.
Many people consider the prep time to be valuable itself as it usually involves you gaining understanding. That said, I don't really buy that argument and the vast majority of my cards these days are auto-generated using https://github.com/kerrickstaley/genanki.