I’ve been using flashcards for language learning for close to a decade now and experimented with various setups. If you’re learning Chinese, the flashcard module in Pleco certainly deserves a look. Having the the ability to add entries off the dictionary saves you the hassle of manual entry.

Support my work on AnkiReview

Pleco flashcard (from the pleco manual)

I studied flashcards on Pleco diligently for a few years, the usual way that people use flashcards: when waiting in line, waiting for the elevator, at a coffee shop, etc.

The Pleco flashcard experience is great and for many people it’s all you need. A few things bothered me though:

No ability to sync flashcards to another device

There are limits to UI customization. For example when studying characters, the “question” character cannot be made to fill the center of the screen.

Another sore point was that at the time, Pleco didn’t support Cantonese (Pleco fully supports Cantonese now). My Cantonese flashcards were hence created in Anki. Anki is the gold standard in flashcard management. The desktop app is intimidating at first, but there is no other flashcard system which has the same level of flexibility, ecosystem and community. The open source nature of the Anki system guarantees that you can always control your data and keep working on your flashcards for a very long time.

On mobile, iOS has AnkiMobile, a closed source app of excellent quality. Android has AnkiDroid, an open source app also of excellent quality. They both support syncing with AnkiWeb, so you can review your flashcards no matter what device you use (Desktop PC, Linux, Mac, Smartphone/Tablet on iOS/Android).

AnkiDroid showing a french language flashcard

With excellent apps available for both iOS and Android, why did I set out to write my own ? Well first of all, I didn’t write a new app from scratch. AnkiReview is a companion app (or “plugin”) for AnkiDroid. It retrieves flashcard information from the AnkiDroid API and allows you to review them with an alternative UI.

This way, my flashcards stay within the Anki ecosystem and I can use the whole range of add-ons available to Anki (such as AwesomeTTS).

Still, why a new app ? Look at the AnkiDroid screenshot. The visual appearance of the flashcard leaves a bit to be desired. It doesn’t fill the screen, there are no colors, the font could be better. All of these things can be addressed in Anki/AnkiDroid if you spend time customizing your card template and CSS stylesheet.

AnkiReview: a cleaner UI

AnkiReview showing a Mandarin flashcard

Some of the design goals:

A cleaner UI: there shouldn’t be anything distracting on the screen. The flashcard content should be the most prominently displayed information.

there shouldn’t be anything distracting on the screen. The flashcard content should be the most prominently displayed information. Centered flashcards: flashcards fill the center of the screen, whether the answer has been revealed or not.

flashcards fill the center of the screen, whether the answer has been revealed or not. Font appearance and scaling: fonts should be displayed big enough so that even short flashcards can fill the screen. Fonts are selectable from the Google Fonts library directly from the app. Field colors can be individually selected, also within the app.

fonts should be displayed big enough so that even short flashcards can fill the screen. Fonts are selectable from the Google Fonts library directly from the app. Field colors can be individually selected, also within the app. Whitespace: empty space should be carefully managed. Spacing to the left, right, top and bottom of cards can be adjusted. So can padding within the cards.

Gestures and Animation

Some of the feedback I’ve gotten when discussing my ideas is: “AnkiDroid has gestures”. AnkiDroid has gesture detection, allowing you to do things like answer a card with good/bad my swiping, or tapping. However particularly for the swiping gesture, the lack of a visual animation to accompany the gesture is not really in line with modern mobile app standards.

Animations when reviewing flashcards on AnkiReview

No need to know HTML/CSS

There is no need to customize templates using HTML/CSS to make them look beautiful. AnkiReview comes with its own style editor: