Anki - Reimagining

Anki SRS software’s major functions can be listed as

  1. Create Notes
  2. Generate cards from Notes
  3. Schedule cards according to spaced repetition algorithms
  4. Present cards to user according to schedule
  5. Provide interface for searching and reasonable organization of notes
  6. Synchronise notes and scheduling information to cloud

Anki desktop application does all of these very well.

If I was rebuilding Anki from scratch, what would I have done?

Notes

Cards

Program

MySRSFolder
----------------
notes
    Any number and levels of subfolder containing files and media.
system
    cards
        00000000001.yaml
        00000000002.yaml
        00000000003.yaml
    metadata
        00000000001.yaml
            uuid, created, modified, easefactor, interval, lastivl, highest-successful-interval, model, path-to-note, 
            revision-log
        00000000002.yaml
        00000000003.yaml
    schedule
        2021-01-01.yaml
        2021-01-02.yaml
    models
        model1.gohtml
        model2.gohtml // Consider alternate template engines
    public
        webpages, css, javascript

Advantages

Note

Several, if not all, of these advantages can be achieved in anki. However there are several hoops to jump through, and some are not documented. I also believe that such monolithic applications are restrictive. I understand the convienience they provide to the end user as opposed to the modular approach I described above. However when you build an application, it should have maximum possible openness to workflows and usage habits. In course of evolution of an application, monolithic branches may appear due to the very nature of its openness, but never as its main main stem.

© 2019 - 2024 · Home ยท Theme Simpleness Powered by Hugo ·