Is something like this a good idea? Iâd hope it would reduce guess-work on the my intervals are too long problems and the like. If it is a good idea I could of course fetch parameters and stuff. Right now this is just the information available immediately to the âcard infoâ screen.
I like it but think that the screenshots are more intuitively understandable compared to json text (except, of course, the json text could be fed into a âvisualizerâ).
At least for me itâs way easier to âparseâ a table layout with my eyes than to find all relevant data in a possibly very large json object.
Just to check, this wouldnât render âcopy card debug informationâ obsolete would it?
Iâm also curious how the checks would detect problems. Are they in depth checks on all the cards, do they just check the preset to make sure you donât have a desired retention of 1.1 or something, or is that yet to be decided?
N.B. It is very early work. Thatâs just a mock-up. The only ârealâ check & automated fix I have implemented at the moment is âis FSRS turned on?â.
Iâm still in the playing around phase. I donât know if Iâll ever get to the point where I think it is worth sharing the addon / proposing to integrate with Anki.
It wouldnât necessarily make âcopy card debug informationâ obsolete, but hopefully we could write automated checks that would mean most of the time you donât need to share the entire revlog of a card.
Here is the list of potential checks I have come up with so far:
Potential checks
One-off Tips
Tip: Hard Misuse
Tip: The Desired Retention trade-off
Tip: Create different Presets for different topics/kinds of card?
Global
Warn: FSRS is off
Tip: Suspicious numbers of Presets
The single mega Preset
One Preset per Deck (many Decks)
Revlog
Warn/Error: Weird review data that might trip FSRS up
Lots of same-day reviews?
313131�
Tip: Suspend leeches
Preset
Warn: Sensible learning steps
Not too many (1-2?)
Must be completable in a single day (12h?)
Not blank?
Warn: Your desired retention is lower than recommended (from CMRR)
Tip: You can reduce your Desired Retention (from CMRR)
Tip/Warn?: Your desired retention is very high
Warn/Error: Suspicious parameters
Params that will cause weird behavior
Deck
Warn: You are not meeting your desired retention
Need to split Presets?
Change to âRetrieveability Descâ if you have a backlog?
Reschedule cards after turning on FSRS/ a significant change in FSRS params?
Tip: You have a backlog - what to do
Tip: You have hit your review/ new card limit (including sub-deck behaviour)
I think we can include backticks in the debug info itself so that when people copy-paste they automatically have a code-block (assuming markdown support):
Thats a good idea. One of my concerns with this is that people will paste these huge blocks of text everywhere and it will be annoying to scroll past. That may not be a concern on this forum because with the markdown it gets its own separate scrollbar, but on discord/reddit it could get annoying.
I guess another approach would be to automatically upload to something like pastebin or a custom made help/visualiser website like @Anon_0000 said. The user would then just be given a link to paste in the forum/discord/reddit.
This adds a lot of complexity though and has its own problems.
Iâm with @Anon_0000 on this one â thatâs much harder to read and understand than just a screenshot of the Card Info, and anything you have to scroll [picture that with 20+ reviews! ] canât be skimmed at-a-glance. There are times when a screenshot is un-/less helpful â FSRS parameters, card templates â but Card Info is lovely as a screenshot. Getting it in a more complicated format isnât going to help helpers.
If youâre looking for a project though â card templates would actually be a great one! A âCopy as Markdownâ button like AnkiDroid added â that grabs the front-back-Styling ready to be pasted without the Forum parsing the tags?
My main goal in doing this isnât to make the output immediately more readable to helpers. Itâs more to make the card more debug-able. Itâs quite hard to extract information from a screenshot for testing.
For example I had a problem where my cards were getting intervals in the 50 year range(). Turns out Iâd mis-configured my ignore reviews before to some random date. If I had asked for help with that there would be no way for anyone to tell what the problem was from a screenshot like this:
But would the data in your JSON export help identify that issue? Iâd say those sort of true scheduling problems/algorithm errors are less than 1% of help requests, and the dev usually needs to look at an upload of the collection to figure out a solution. Changing the format of the Card Info wonât help much if itâs not the right data.
Is that a mock-up, or a new feature that was added without mention in the last release?
I programmed it in and was wanting feedback before I prâed it. Should just done the pr, sorry.
Edit:
We can include more data, specifically the deck config would help here. I intend for this to be an option that saves people having to send their whole deck for debugging if the history doesnât immediately show the issue. Maybe to this end it could be hidden behind Ctrl-c rather than a button on the screen
Got it! Youâll definitely want input from @L.M.Sherlock about whether an option like this would streamline that part of the debugging process for him.
If it would only be needed when a dev asks for it â I agree that a button would probably result in it being overused by well-meaning folks seeking help. So putting it behind a key-stroke that a dev could request seems like a good idea!
No apology necessary! (Especially when youâre giving me what I want!) I was just confused â and Iâd feel silly if Iâm suggesting things that have already happened.
I hardly ever get what I ask for so fast, so I hadnât even thought about where to put it! But I now recognize that Iâve truly hijacked this thread, so Iâll add my comments on your PR instead. Thanks!
I donât like sending my collection to people (unless someone I trust) and if thereâs a way to send helpful data without sending the collection, itâd be immensely helpful. Maybe itâs just my zoomer brain.
Scheduling can be influenced by decks, presets, review history, current card state, and some global variables - such a feature would need to ensure you got all of them, or we may not be able to reproduce all issues.
A possible alternative approach would be to have some sort of âanonymised exportâ that does things like zero out note content, though that might be a bit awkward to use, especially if the templates are zeroed out as well.