Ankidroid and Anki FSRS version will not always match

Before FSRS, if either Anki or Ankidroid were not completely up to date, it didn’t matter since the scheduler was never updated.

Now, the scheduler is being updated as well. So, if you get pushed an update for AnkiDroid on your phone, and never realize there is another update available to Anki Desktop (the October version still uses FSRS 4.0 I believe), then the scheduling will go all out of whack.

users got choice to choose whether update or not.

hope we wont be forced to update in the future.

It’s not that much of a problem right now, since FSRS v4 has the same number of parameters as FSRS-4.5, and they do the same thing. The main difference is the shape of the forgetting curve. FSRS-4.5 is not a single version either; the newest version will have some minor tweaks.
But this will become a major problem if FSRS v5 is ever released. Right now, if you use parameters from one version with a different version, your schedule will be suboptimal, but FSRS won’t burst out in flames and die. But if some future version will be very different, then I have no idea how to ensure compatibility.

In what ways would be FSRS v5 be different from the v4.5 version and why is this so worrying

Well, right now, FSRS v5 is just a hypothetical. What I’m trying to say is that if we have FSRS x with some number of parameters and FSRS y with a different number of parameters (or the number of parameters is the same but they do different things), then suddenly you can’t use the same parameters for both versions, so unless the user keeps Anki up to date on all devices, there will be compatibility problems.

1 Like

But the devs could ensure backward/forward compatibility in about a dozen different ways, right? Why would we be concerned that they would choose not to do that?

1 Like

I don’t know how. Can you give some examples?

EDIT: ensuring backward compatibility is easy, I agree. Just integrate several versions of FSRS into Anki. That’s what the Helper add-on did for a while, when there were FSRS v3 and FSRS v4, back in the ancient “copy-paste code” times. Helper add-on would automatically detect which version of FSRS the user is using based on the number of parameters.
Ensuring forward compatibility, on the other hand, seems almost impossible. And this gets even more messy due to the fact that there is AnkiDroid and AnkiMobile. So there could be conflicts not just between different desktop versions, but also between versions for different devices.

These just seem like the sorts of things done in any responsibly managed software dev cycle (which all of the Anki devs have demonstrated they care about). For example –

Concern: What if there are more or fewer or different parameters?
Dev action: The current 17 slots are sacrosanct, and any new/different parameters have to be added at the end (even if that means that newly-generated parameter sets will have 0.0000 or null values in some of the old/moth-balled slots).

Concern: What if one of the new paramters is absolutely essential, and users still on old parameter sets won’t have it?
Dev action: (1) Hard-code an appropriate default value on that parameter that will work for any user, and (2) add enough transition warnings/guidance that you’ll catch most users to update their parameters.

I also don’t think there needs to be any concern over AnkiMobile – since it gets the same features (if they are feasible on the platform) on the same release cycle as Desktop – or AnkiDroid – since it now uses the Desktop back-end.


All my Play Store apps update automatically. Including Ankidroid

It is a concern because I saw a user confused why his scheduling was different on Anki and Ankidroid. Turns out Ankidroid was using the latest FSRS, but he was still using the Anki desktop October version, which uses an older FSRS version.

A situation that is entirely under your control, if this is something that concerns you.

The move from 4.0 to 4.5 was so small that while reoptimization was recommended, it wasn’t even necessary – suggesting that the two algorithms and their parameters are plenty compatible. If a future update is not-as-compatible, the devs can certainly put warnings in front of the user, but if users ignore the warnings, there’s not much that can be done.

I’ll note that the user has the same parameters on both platforms, since they must have come through the synced back-end – so it is a stretch to believe they would notice many variations in scheduling at all, unless they were testing specifically for that (review a card, undo, sync, review same card on the other platform, etc.). This seems like a pretty edge case – considering what must also be true about the user –

  • When the user’s AnkiDroid updated, they got a splash screen letting them know it happened – it wasn’t in secret
  • When the user enabled FSRS last fall, they were given warnings they should have heeded about needing to use the Helper add-on to reschedule after syncing from a pre 2.17 AnkiDroid. So
    • (1) they never used the Helper add-on, and their scheduling has been different on the different platforms for months without raising alarm,
    • (2) they manually turned reschedule-after off without noticing the differences, or
    • (3) the scheduling would have been brought in sync by the add-on.
  • The user was an early-adopter of 23.10, but then ignored the upgrade notifications for 23.12 and 23.12.1 on AnkiDesktop

This was a one-time “enabling” of FSRS on AnkiDroid that is unlikely to be repeated, the outcome is both subtle and harmless, and the solution is simple. All of that is was leads me to say it souldn’t be that much of a concern.

1 Like

only 2.16 is in play store,

you need 2.17 or above for FSRS,
but currently it’s only 2.17beta, you can get it from f-droid.

In my view, FSRS will be stable like the old algorithm. And Anki also have changed its scheduler version twice (V1 → V2, V2 → V3). So I think developers could handle it.


i wait on 2.1.54 for it’s mature.

2.17.1 has already been released. it’s out of beta

That’s not relevant to the problem (I’m not turning off auto update, nor should anyone be expected to.)

"This was a one-time “enabling” of FSRS on AnkiDroid that is unlikely to be repeated, "

The problem arose because their Anki was one month out of date.

1 Like

It’s not because already they run different versions of FSRS just one version apart

1 Like

it’s tough to MONITOR when the version is changed/released. esp FOSS software.

i myself will put it aside, let alone let others test run it for several weeks/months before implement myself.

sometimes some software, when run, simply ruin everything. it’s not new.

ps: just checked, play store still
Version 2.16.5,

seems you need f-droid/github to get to 2.17.x

1 Like

2.17.3 is out on the Play store

In the changelog, David wrote that the next update of Android should quickly follow the 24.04 general release. Does anyone have any idea when that could be and whether a big change to FSRS is coming up?