Anki 23.10 Release Candidate

Thank you, I understand.

I think that if the technical burden were low, it might be desirable not to show the “Toggle Masks” button when the card is a Hide One, Guess One type card, because there is no mask to toggle and there is no role for this button in the card (if I understand correctly).
gif sample4 tr

I think I meant something different. My idea was a popup menu like this (only shown if at least 1 add-on is installed and enabled):

Hi! This is the first time you ran this version of Anki (23.10.00). Do you want to check if there are updates available for the add-ons you use?

If user clicks yes, try to update the add-ons, then load them. If user clicks no, load the add-ons right away. That doesn’t seem confusing to me, even if downloading the updates doesn’t work because there is no internet connection. :+1:

To be honest, I am already a bit confused, so I think many other people would be as well. This is one of the main points of entry to Anki, I would keep it as straightforward as possible.

So, if I want to share a deck I created with a group of non-technical/new-to-Anki people and I want them to retain my deck options (so they don’t have to deal with all the jargon and just use the deck as I intended them to), what do they need to toggle here? (My use case is students of language of all ages, mother tongues and technical backgrounds, many of whom don’t have the time or ability to understand the terms that appear on this screen and for whom I create premade decks with specific new cards per day and other options already set up.)

I am afraid I will have to add another step to any tutorial I make on importing a deck telling them to switch things they don’t understand. This is probable not going to be a very good experience for them.

I would prefer if the current behavior would be manitained by default and all these setting were, at least, grouped into an “Advanced” section in the importing screen. That would alleviate the problem while keeping the new functionality, I guess.

3 Likes

Agree that the first and third point especially are something that will be important to many users at some point. It would just be great to find a way that doesn’t impose such a heavy cognitive cost to every user each time they import a deck. Most do not understand what notetypes are, much less what it would mean to merge them. If they click on the explanation for this option and read something about a “schema change”, they check out and will not know what they are doing. From their perspective something simple (open deck to import) suddenly turned into something complex where they have to decide 4 things in advance that they don’t understand.

What about the following ideas :bulb: (not mutually exclusive):

  • Rearranging the menu like so:

Filename: deck.apkg

Also import review history (if present in this deck):

Options in case of a conflict between this deck and your collection: [Show]

  • Update notes: [options] (hidden by default)
  • Update notetypes: [options] (hidden by default)
  • Merge notetypes: (hidden by default)

[Import]

Reasoning: The first option is easy to understand, even for new users, and as you said it is a common point of interest so it should be fine to show it always. The other three are much harder to understand and will be relevant less often, but if the user is interested in them, they are right there. They also belong together and address a different point than the import-review-history-switch, so it makes sense to group them.

I would also place the import button at the bottom, like in the export menu.

Other ideas:

  • It would be good to state more clearly what the default options are that Anki used until now, for example by adding (Default: Off) or (Default: Newer) behind the text labels on the left. The small reload buttons :arrows_counterclockwise: on the right are useful, but they don’t say what the default is and most users won’t be familiar with them.

  • Instead of showing this Menu every time you import a new APKG file, only show it when the user clicks File > Advanced import. That way the users have all these features available to them, but only if they actually need them.

This is quite unexpected. It will also be unfortunate for people who offer pre-made decks. Those typically don’t include a review history but often quite specific settings for the deck configs/deck descriptions. Both authors and users will be interested in getting those, even if they don’t want the review history.

Sounds very much like the userbase I work with. I second your concerns. Would be interested in what you think about my suggestions in this post if you find the time.

Correct me if I’m wrong but I thought in this case the changed note types were added additionally. If that is the case maybe a combobox instead of a switch might make this clearer? Otherwise users might think the alternative to merging is not importing the notes/notetypes at all.

I still have to read up on what exactly happens when you merge two notetypes. I sense this could make things a bit harder to repair if users merge their slightly changed note types with the official ones of the developer.

Ultimately I think if you get the import menu right this new version could be a big step towards increasing Anki’s user experience!

2 Likes

I agree with everything you’re saying, @basiskarten. I think this screen is crucial for easing people into Anki and should be kept as simple as possible.

I don’t think “Include reviews” is that easy to understand, tbh. “Also import review history (if present in this deck)” sounds better, but I would probably add an info box/tooltip explaining a bit more (something like: “If you are restoring a backup and want to restore your progress this should be toggled on”), or simply change it to “Import progress from this deck”, for example. Does that sound easier to understand?

I also think deck options and review history should be different toggles. A user might want to import a deck with the default Anki config (20 cards/day, intervals, ease, etc.) or with the deck customized config (whatever the author set). And, besides, they might or might not want to import review history (mostly in order to restore their own backup, I think?).

A “Reset deck options” toggle would be a way to include this (Off: would import deck options, On: would use Anki’s default).

So, from my point of view at least, the importing options should be something like this (taking basiskarten model):

Deck to import: deck.apkg

Reset deck options to default [Off by default]
Import progress [Off by default]

[Import]

Advanced
If a conflict between this deck and your collection is found: [Show]

  • Update notes: [options] (hidden by default)
  • Update notetypes: [options] (hidden by default)
  • Merge notetypes: (hidden by default)

I believe this could keep the flexibility while making it easier on people not used to Anki’s language, so I hope it is taken into consideration to some extent. Making Anki more accessible to newcomers, step by step of course, should be, in my opinion, a big priority.

As an afterthought, I would even suggest (but I don’t know how feasible that is) to only show the second block of options (the conflict options) if there is indeed a conflict of some type. Maybe by scanning the deck to import in the background or by showing these options only during the importing process if any conflict is found.

Also, regarding exporting, would it be possible to separate reviews history and deck options? If I am not wrong right now both are included under “Include scheduling”, but they could be separated into “Include progress/review history” and “Include deck options”. (I can create a different topic in Suggestions for this.)

Sorry for the long wall of text. :S I hope this feedback is somewhat useful. And thanks, @dae for all your excellent work!

2 Likes

Good points, @suiyuan . My suggestion would then be:

Deck to import: deck.apkg

Also import learning progress (if included in deck): (Off by default)

Advanced options: [Show]

Reset deck options to default (Off by default)

If a conflict between this deck and your collection is found:

  • Update notes: [options]
  • Update notetypes: [options]
  • Merge notetypes: (or combobox)

[Import]

All advanced options would be hidden by default. Thus by default the user only has to make one decision about something that should be easy to understand.

An alternative to the “Reset deck options” toggle would be a toggle that says “Also include deck options” (on by default), I’m not sure which is easier to understand.

I agree, that would be great, but Damien addressed it here:

Edit:

Made me think of this quote from Joel Spolsky, the founder of Stack Overflow:

Human aptitude tends towards the bell curve. Maybe 98% of your friends are smart enough to use a television set. About 70% of them can use Windows. 15% can use Linux. 1% can program. But only 0.1% of them can program in a language like C++. And only 0.01% of them can figure out Microsoft ATL programming.

The effect of this sharp drop-off is that whenever you “lower the bar” by even a small amount, making your program, say, 10% easier to use, you dramatically increase the number of people who can use it, say, by 50%.

I really enjoyed his advice on UI design. I think it’s spot on.

4 Likes

Yup, both sound good to me. Probably keeping both (deck options and progress) as “also import” or “also reset” would be a good idea, for consistency. Your version of the screen looks good as well.

Oh, ok, I missed that. Sorry!

Sometimes when I answer and Anki should jump to the next card I see a whole black window or the previous card front.
I am using Windows 10. Should I change the video driver in preferences? If yes, to which one?

Hi @szalejot : Like this? Does this also happen in Anki 2.1.66 for you?

No, I think it’s different issue.
I am not sure if it occurred in 2.1.66, but rather not.

I may have missed this - is there a reason these aren’t on betas.ankiweb.net?

1 Like

Releases · ankitects/anki (github.com)

1 Like

It looks like this:

Just whole black instead of a question. After I hit the space answer usually appears normally.

I don’t use any appearance-enhancing add-ons. Card templates do not contain any javascript, only HTML and CSS.

Does FSRS4Anki Helper on 23.10 show stats only for the cards reviewed on 23.10?

Answer: no, it was some kind of a bug.

Yes but why isn’t it on the normal site anymore?

It appears to be a QT error associated with the graphics card.

Change your graphic card driver in preferences…

I’ve changed it to OpenGL.
It is a little laggy sometimes but no more issue occurrence. I will need to test it a little more to be sure if this solves the issue for good.

Ideas for IO

Regarding the new native IO, I know the following might sound extremely stupid, but would it be possible to (dare I say) “simply” embed the IO addon within Anki itself?

The IO addon is mature (and is feature-rich), and has been tested by many people. So, I wonder if that would save you developement time (in the long run). I know that a lot of work has been put into the native version already, and I’m by no means disregarding it. Besides, I do not know if this is even possible to do, but I just thought to suggest it (I wish I had time to learn more programming so that I could help).

P.S. Interestingly, if you have a touch screen Windows computer, zooming in works fine!

Harvey

Changelog

Regarding the changelog topic: out of curiosity, how long does it take you to translate all of the technical coding stuff to the human-readable changelog?

I am asking because if it is taking too much time, then would “main points” be more feasible?

See also:

  • SuperMemo Beta Changelog - SuperMemopedia - I understand that Anki is FOSS and hence things may be a bit different, but I can see that did something similar already (Release 23.10rc1 · ankitects/anki · GitHub): Full Changelog: 23.10beta6...23.10rc1
    • SuperMemo’s view is that changelogs are not always read by everyone (a developers are smart enough to check the Commit history / PR / Issues of GitHub). “Small fixes and improvements” is probably okay for the majority of people (vs. Trim extra colons on conversion to NativeDeckName).
    • I’m not telling a dev what to do, but just hoping to try and alleviate some of the workload off you (more time doing cooler things like… Anki reps and coding) :slight_smile:

Two websites, one changelog?

Also, you have the changelog on GitHub and on Ankiweb. And I’m guessing that you no longer update the Ankiweb version because it takes too much time (understandable).

No public answer is needed, but just for your own reflection!

Not sure how to explain this IO issue.
ezgif-5-135f26fa96

3 Likes