Automatic night mode color inversion

Note
Removed in AnkiDroid 2.17

Feature Description

Previously, AnkiDroid contained a very basic color inverter for card content in night mode. For example it changed white to black and black to white. It inverted all colors though for example green inverts to pink. These changes were frequently unwanted.

Reason for removal

This feature was introduced in 2012, before either Android or Anki had night mode functionality.

AnkiDroid implemented Android’s 'follow system' night mode functionality in 2.16, which made the functionality more prominent.

In 2.17, AnkiDroid was updated to use unified night mode card rendering code across the Anki ecosystem. As color inversion was an unexpected feature for our users, and did not match Anki Desktop’s behavior, it was removed.

Action to take

If you are impacted by these changes, you may customize the CSS of your card templates using the night_mode selector.

.card {
  --text-color1: black;
}

.card.night_mode {
  --text-color1: white;
}

.title {
   color: var(--text-color1);
}

/* filter could also be used */

.title {
    color: red;
}

.night_mode .title {
	filter: invert(100%);
}

Custom Fonts in /fonts

Note
Removed in AnkiDroid 2.17

Feature Description

Alternatively, you can create a new subfolder "fonts" in the main AnkiDroid directory (i.e. the folder which contains the "backups" subfolder, specified under Settings > Advanced > AnkiDroid directory), copy a compatible font file (i.e. .ttf) there, and then set this as the default font under Settings > Fonts > Default font. Note: this method will change the default font for all of your cards, whereas the official method can be more specific. Also, if you sync with AnkiWeb, using this method will lead to cards being displayed differently on different devices.

Only fonts in the ttf format are officially supported in Anki/AnkiDroid; the Google Noto font set is highly recommended for all languages, and some other free fonts can be found here.

Reason for Removal

Custom fonts were not synced. The default fonts which we supplied did not work on Samsung phones, and access to the fonts folder was made more difficult due to AnkiDroid being moved to the app private folder.

For reviewing, using fonts in collection.media is better as it syncs across the ecosystem. App fonts were not heavily used.

Action to take

For the reviewer: Move the fonts to collection.media and update card templates if necessary. The file names should be prefixed with a _ so they are not affected by 'check media'.

See Manual: Custom Fonts for more information

For other text in the app: Custom fonts are no longer supported and the default fonts by the OS will be used

Note
Removed in AnkiDroid 2.17

Feature Description

When the answer screen is shown, choose the button on the right, indicating you found the card too easy to remember and would like a much longer delay.

Reason for Removal

Previous versions of the Anki Scheduler had a variable number of buttons. The V3 scheduler always has 4 buttons, so this option no longer has unique functionality.

Action to take

The functionality is now equivalent to 'Answer easy', either reassign the action, or remove it.

Note
Removed in AnkiDroid 2.17

Feature Description

When the answer screen is shown, choose the green button. This is the button you should end up using the most.

Previous versions of the Anki Scheduler had a variable number of buttons. The V3 scheduler always has 4 buttons, so this option no longer has unique functionality.

Action to take

The functionality is now equivalent to 'Answer good', either reassign the action, or remove it.

Advanced Statistics

Note
Removed in AnkiDroid 2.17

Feature Description

Take into account the effect of future reviews in the 'Forecast' graph.

If Advanced Statistics are enabled, it changes the 'Forecast' graph so that it shows the estimated number of reviews that will be due on a given day in the future taking into account future reviews, learning new cards and failing cards. The bars and the left axis show the number of cards due on each day if you study all cards each day, while the line and the right axis show the number of unseen (shown as 'learn'), young and mature cards your deck or collection will consist of if you study all cards each day. The forecast graph does count reviews that are currently overdue. It assumes that the overdue cards will be reviewed according to the 'maximum reviews/day' deck option.

Advanced Statistics can be enabled in Settings → Advanced → Advanced Statistics (in plugin section).

The outcome of future reviewing, learning or failing cards affects reviews after that future review. To take this into account, the probability of each outcome is computed from the review log. Then the outcome is randomly chosen, such that an outcome which is more likely according to the review log is more likely to be chosen than an outcome which is less likely according to the review log. The settings all affect how the effect of the outcome of future reviews on subsequent reviews is taken into account.

Compute first n days, simulate remainder

If this setting is set to a number greater than 0, instead of randomly choosing an outcome, each possible outcome is taken into account in the simulation, together with its probability. The probability is taken into account for the graph and for future reviews in which it results, which also affect the graph. One review has a couple of possible outcomes (say 4), which all result in a review. That review also has a couple of possible outcomes and so on. If many reviews are simulated this way, many reviews (4 x 4 x 4 x …​ ) have to be taken into account which increases the time it takes to compose the graph. Therefore, for reviews later than n days from now are simulated by randomly choosing an outcome.

In summary, higher n gives a more accurate graph, but it takes more time to compose the graph.

Precision of computation

Reviews which occur with a probability smaller than 100% minus the configured precision of the computation are simulated by randomly choosing an outcome rather than taking into account each possible outcome. This setting is only applicable if the first n days are computed. If Advanced Statistics are disabled, the 'Forecast' graph shows the estimated number of reviews that will be due on a given day in the future if you do not review cards, learn no new cards and fail no cards.

In summary, higher precision gives a more accurate graph, but it takes more time to compose the graph.

Number of iterations of the simulation

Composes the graph several times and then displays the average of these graphs. Each time the graph is composed, another outcome might be randomly chosen. If we average many outcomes which are randomly chosen taking into account the probabilities from the review log, the average outcome will likely be close to the average of the probabilities from the review log. If we average many graphs, the average graph will likely be close to the graph which is generated by taking into account all possible outcomes. If the number of graphs which are averaged is not too high, it will be faster than taking into account all possible outcomes.

In summary, a higher number of iterations gives a more accurate graph, but it takes more time to compose the graph.

Reason for Removal

AnkiDroid 2.17 uses Anki Desktop’s code to render statistics. Advanced Statistics is not compatible with this

Action to take

If you are missing features in the new statistics page, discuss contributing them to Anki Desktop, and we will ingest these changes.