Hacker News new | ask | show | jobs
by ciarannolan 2182 days ago
I rely heavily on Anki for work and study. Thank you!

The android version already seems to work great. Is there a roadmap somewhere? I'm curious what's being worked on.

1 comments

Thanks!!

No official roadmap (such is Open Source), but:

* Rust Conversion (got a proof of concept, need to productionise it) - Anki Desktop has moved to Rust. We can unify all of the platform, and remove most of our backend code and maintenance burden. * Android 11 has made significant changes to how applications store files on the device (Scoped Storage). I expect this will be a nightmare to deal with: https://developer.android.com/preview/privacy/storage * Visual HTML Editor (probably 2.13) - currently editing and adding formatting could do with a ton of love. Typing HTML by hand isn't a great experience for non-technical users. * User onboarding & UX - We get tons of bad reviews: "All my cards have been deleted" - this is because we fail to explain how Anki/Spaced Repetition works and that we take control of scheduling. People download AnkiDroid expecting flashcards, and we can do much better in this area. * Performance improvements with larger collections - we're fast, but there's still lots of low-hanging fruit regarding multithreading. * Background media sync - Medical Students have multi-gigabyte collections (just fixed a bug where some Android systems wouldn't open zips >= 2^31-1 bytes). We're tied to the AnkiWeb protocol for syncing, but it'd be a much better UX if we moved this to the background.

Personal Goals (some point in the future)

* CI/CD improvements - both speeding up build times, adding more styles of testing to the pipeline and adding more auto-linting. * Accessibility - our TTS doesn't play well with Android talkback; this hurts me to type. * Better gamepad support

Missed the edit window formatted:

Thanks!! No official roadmap (such is Open Source), but:

* Rust Conversion (got a proof of concept, need to productionise it) - Anki Desktop has moved to Rust. We can unify all of the platform, and remove most of our backend code and maintenance burden.

* Android 11 has made significant changes to how applications store files on the device (Scoped Storage). I expect this will be a nightmare to deal with: https://developer.android.com/preview/privacy/storage

* Visual HTML Editor (probably 2.13) - currently editing and adding formatting could do with a ton of love. Typing HTML by hand isn't a great experience for non-technical users.

* User onboarding & UX - We get tons of bad reviews: "All my cards have been deleted" - this is because we fail to explain how Anki/Spaced Repetition works and that we take control of scheduling. People download AnkiDroid expecting flashcards, and we can do much better in this area.

* Performance improvements with larger collections - we're fast, but there's still lots of low-hanging fruit regarding multithreading.

* Background media sync - Medical Students have multi-gigabyte collections (just fixed a bug where some Android systems wouldn't open zips >= 2^31-1 bytes). We're tied to the AnkiWeb protocol for syncing, but it'd be a much better UX if we moved this to the background.

Personal Goals (some point in the future)

* CI/CD improvements - both speeding up build times, adding more styles of testing to the pipeline and adding more auto-linting.

* Accessibility - our TTS doesn't play well with Android talkback; this hurts me to type.

* Better gamepad support

I would love to contribute to Anki, especially learning that it's Rust. I know Anki's time-based space repetition is highly effective for long-term learning, but I've found it frustrating when I or my friends really just needed to cram the night before an exam.

When I am strongly constrained in the time-domain, I've found the older Leitner method to be the most efficient. I also have a lot of difficulty performing this in Anki except by resorting to absurd time controls and manual resets that are difficult to explain to friends.

I'd love to provide Anki with a strict Leitner mode for last-minute cramming. I'm just not sure the Anki project would support this, as I've seen them be fairly dismissive of it in the past.

It's very exciting that this is in Rust.

i thought anki was written in python - was it re-written in rust?
It's in the process of being migrated to a Python/Rust hybrid. Most of the backend is now rust-based: https://github.com/ankitects/anki/tree/master/rslib
I guess Anki Desktop is now being rewritten in Rust, according to 'DAllison in the parent comment.
Awesome, thank you for the info. Anki is a tool I use and love but I know very little about the behind the scenes work.

>* User onboarding & UX - We get tons of bad reviews: "All my cards have been deleted" - this is because we fail to explain how Anki/Spaced Repetition works and that we take control of scheduling. People download AnkiDroid expecting flashcards, and we can do much better in this area.

Somewhat related, but I would like a way to "cram" cards (ie. temporarily review all cards in a deck, in random order, without affecting anything about their spaced repetition timing). I feel like this must exist but I haven't found it. Do you know how to do this?

Also, how does Anki support the costs of Ankiweb? Is there a way I can contribute? It's not immediately obvious to me from clicking around on Ankiweb.

Finally, is this just a rip-off of Anki or is it legit? https://www.ankiapp.com/

> Somewhat related, but I would like a way to "cram" cards (ie. temporarily review all cards in a deck, in random order, without affecting anything about their spaced repetition timing). I feel like this must exist but I haven't found it. Do you know how to do this?

That's a strange one... it exists, (Create Filtered Deck - Long Press - Options - Untick Reschedule) but only works well in the V2 Scheduler. The V1 scheduler doesn't handle cards in the red (learn/relearn) well.

The problem with the V2 scheduler, which makes people hesistant about upgrading is the upgrade process will move all cards in the red queue back to the blue (new)/green (review) queues. https://anki.tenderapp.com/kb/anki-ecosystem/the-anki-21-sch...

> Switching the scheduler will empty all filtered decks, and reset any cards that are in learning. It will also force the next sync to be a full sync.

Manual Entry: https://docs.ankiweb.net/#/filtered-decks

----

No. Damien's opinions on funding: https://faqs.ankiweb.net/why-does-ankimobile-cost-more-than-... . The iOS app is paid ($24.99) and funds AnkiWeb, so offer to buy it for a friend if you can.

Personally, I'm taking donations (caveat: AnkiDroid is a port, I'm one of a few contributors, and the money would go to me, rather than Damien, who runs the rest of the ecosystem (AnkiWeb/AnkiDesktop/AnkiMobile)): https://github.com/sponsors/david-allison-1/

----

AnkiApp isn't part of the ecosystem. It's frustrating telling people that they were mislead, and data extraction isn't easy for non-technical users: https://anki.tenderapp.com/kb/anki-ecosystem/ankiapp-is-not-...

Thanks very much for the info.
Why don't you put up an official roadmap? Why is "Open Source" stopping you from doing that?
No good reason. It's A combination of time allocation, the fact that it's a collaborative process and I'm still learning the ropes, and the fact that nobody's asked for one until now.