The Anatomy of The Quantized Ecosystem
A quantum represents a single task with a unique ID. For example:
c52ecb30 // COMPREHEND_MEANING_JAPANESE // 日曜日は海に行きました。
70670c92 // READ_ALOUD_JAPANESE // 日曜日は海に行きました。
Each quantum can declare dependencies on other quanta. For example, 70670c92
might depend on a card from the hiragana deck:
36677235 // READ_ALOUD_JAPANESE // た
Collections of quanta, called decks, are stored in GitHub repositories as quanta.yaml files. Inside the quanta.yaml, each quanta is treated as a discrete website, which might contain HTML, CSS, and JavaScript. This allows for quanta to encode rich tasks, like "win this chess game against a computer" or "execute a series of commands to move this file" or "write a Fibonacci program in Rust." These are not your grandpa's Anki cards.
Quanta are created in any of several ways. They can be exported from Anki (via the QKP plugin), converted from Markdown files, or generated programatically in any major language. We are building a JavaScript ecosystem to support many of the primitives required to generate good quanta. Make no mistake: programming is a first-class card creation method.
Sets of cards link to a knowledge source, like a textbook chapter. By having everyone use the same textbooks, we dramatically increase how sharable cards are. The information from all of the cards must be found in that knowledge source. In other words, if someone reads that chapter of the textbook, they should be able to do all of the cards that are associated with it.
A course is an opinionated ordering of quanta and sources. Courses must declare a testable hypothesis at the beginning: "When you finish this course, you'll be able to understand 80% of a randomly selected episode of Naruto." Then, when the first set of users finish a course, we'll test them and publish aggregated results. This gives new users confidence that courses work as advertised. This construct also prevents the "my friend's dog's cousin's owner said that she learned Japanese just by listening to it while she slept every night, let's all do that" dynamic that plagues online learning right now.
Deck authors can sell their decks on a marketplace. This is an important component of the ecosystem: think about how barren the App Store would be if all apps had to be free. The marketplace is not a single point of failure, however: if a deck gets taken down from the marketplace, knowledge managers will retain it.
A knowledge manager, like Anki or SuperMemo, refreshes your ability to perform quanta at regular intervals. Knowledge managers are supposed to stay quite thin. Originally, they'll be responsible for scheduling, but over time that responsibility will fall onto the central server.
Knowledge managers will sync performance data to a server, which will provide aggregate scheduling hints, detect implicit dependencies between cards, and so on. This allows large-scale data-driven scheduling optimization. This server is also not a central point of failure. If it goes down, you can continue to use your knowledge manager. This server also provides a way for deck authors to observe and improve the performance of their decks. It also collects comments, suggested changes, flags, and so on about each card.