Experiment scheduling changes in Anki 2.1

Anki 2.1 introduces an optional alternative scheduler that makes a number of changes to the way Anki schedules cards and handles filtered decks.

Changes

Filtered decks:

  • Filtered decks no longer reset (re)learning cards when they are built or emptied, and reviews and learning cards will show up in the correct queue instead of the new queue.
  • Filtered decks support a second search term, so you can include 100 cards to review and 20 new cards for example.
  • Scheduling of cards that aren't yet due has been improved, and will show 4 buttons instead of 3.
  • Filtered decks no longer support custom steps, and there is now a simple "preview mode" instead of the old option to disable scheduling changes. The new card order does not get forgotten when previewing.
  • Cards can be buried or suspended while remaining in the filtered deck.

Other scheduling changes:

  • When a deck has children, reviews are taken from all children decks at once, instead of showing each deck's review cards one by one. The review limit of the child decks is ignored - only the limit of the deck you clicked on applies.
  • Learning cards have 4 buttons instead of 3 - Hard repeats the current step.
  • "Next day starts at" is now relative to the current timezone.
  • Lapsed reviews have their review interval updated on the last relearning step, instead of the first step.
  • Anki now distinguishes between manually and automatically buried cards, and you can unbury one set without the other.
  • Option in the preferences screen to show day learning cards before reviews.
  • The learn count is now the number of cards instead of the number of steps required to complete.

Compatibility

The latest Anki 2.1.0 beta contains both the normal scheduling code and this experimental code, and you can switch between the two.

When you switch to the new scheduling code, only clients that support the new code will be able to import and sync with your data until you switch back to the old scheduler.

  • AnkiWeb supports the new scheduler.
  • AnkiMobile supports the new scheduler as of the 2.0.39 release.
  • AnkiDroid does not currently support the new scheduler.

Enabling the new scheduler

Please make a backup first. While serious data loss is unlikely, there is a small chance that a bug could cause cards you review to be scheduled incorrectly.

It may be helpful to use an add-on like "Card Info During Review" to see how Anki is scheduling cards, and assure yourself that the scheduling is correct.

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.

To try the new scheduler:

  • Open your profile
  • Use File>Export to create a full backup of your collection to a colpkg
  • Enable the experimental scheduler in the preferences screen

Disabling the new scheduler

After finishing any cards in learning and clearing filtered decks, you can turn the experimental scheduler off in the preferences screen.

Feedback

These changes are experimental at the moment, and any feedback - positive or negative - would be appreciated.

Changelog

In beta 37:

  • When there's only 1 (re)learning step, Hard waits 150% of the normal step.

In beta 36:

  • The latest AnkiMobile beta adds support for the new scheduler. If you're an AnkiMobile user and would like a beta invite, please create a private ticket.
  • Fix importing of colpkg files made with the experimental scheduler on.
  • Fix scheduling of relearning cards with no relearning steps.
  • is:buried now matches manually buried cards as well.

In beta 35:

  • Experiment with a change to the learning counts - instead of counting the number of learning steps left to do until the end of the day, the learning count indicates the number of learning cards (not steps) due within the learn ahead cutoff (ie, in 20 minutes with the default options). Let me know if you like it or hate it.

  • You can now sync to AnkiWeb when the new scheduler is enabled, and AnkiWeb's regular study interface now supports reviewing using the new scheduling. This will prevent any older clients from syncing with your AnkiWeb account until you switch back to the regular scheduler.

  • You can now export collection packages, and individual decks without scheduling information included. Older clients will not be able to import collection packages made with the experimental scheduler active.

In beta 33:

  • Fix an error when viewing a lapsed card that will graduate on the next step.

In beta 32:

  • Added an option to the preferences screen to show day learn cards before reviews.
  • Preview mode (filtered deck w/ rescheduling off) now puts all cards in the review queue, which fixes problems with the wrong due counts being displayed for learning cards.
  • The delay on failure in preview mode can now be configured via the filtered deck options.
  • The 'new day starts at' option is now adjustable again in the preferences screen.

In beta 31:

  • Reviews are no longer fetched from each subdeck in turn - reviews from all decks are gathered together and then presented in a semi-random order. Review limits on subdecks are ignored when you click on a parent deck - only the deck you click on and its parents control the number of cards to be presented.
  • Filtered decks with rescheduling turned off no longer use learning steps, as it wasn't possible to restore the previous state correctly, and it lead to a varying number of buttons. Instead, they now use a simple 'preview mode' with two buttons - Again repeats the card again after a (currently hard-coded) delay, and Good removes the card from the filtered deck.
  • New card position is now preserved when previewing.
  • Cards in (re)learning remain in (re)learning when they are suspended or buried.
  • Anki now distinguishes between manually buried cards and buried siblings, and you can choose which to unbury.
  • Undue reviews now appear in the review queue in filtered decks, instead of the new queue.
  • Filtered decks now support a second search term, so you can do things like build a deck with 100 reviews and 20 new cards.
  • The day rollover time is now relative to the current local time. It is currently hard-coded at 4am.

As previously discussed on https://anki.tenderapp.com/discussions/beta-testing/940-filtered-de...:

  • Cards in learning are no longer reset when filtered decks are filled or emptied.
  • Scheduling of undue reviews has been improved, and now shows 4 buttons.
  • Learning cards now use a 4th button - 'Hard' repeats the current step.
  • Lapsed reviews are rescheduled when cards exit learning, not on the first step.