davidsansome / tsurukame

Tsurukame is an unofficial WaniKani app for iOS. It helps you learn Japanese Kanji.
https://tsurukame.app
Apache License 2.0
262 stars 61 forks source link

feature idea: allow permanent skipping #236

Open StarWitch opened 4 years ago

StarWitch commented 4 years ago

Also known as "Auto-Burning."

This feature idea is intended for users who studied kanji on their own for a while, but still want to use WaniKani to fill in knowledge gaps. For those users it can be frustrating to go over kanji they "burned" (mentally) years ago but still get them asked repeatedly in reviews by WaniKani. I know someone who'd love to use Tsurukame for kanji on their iPhone, but find it frustrating to have reviews that are mostly content they already know by heart.

Granted, this might be more of a request for WaniKani itself, but there have been open requests for this for a number of years and it seems unlikely to be implemented API-side anytime soon.

Is this a feature people would like to see? I could take a crack at it if nobody objects, and create a proper PR eventually.

StarWitch commented 4 years ago

I'm actually a complete beginner, but I know someone who learns best through a flashcard-based system, but already knows a lot of kanji from attending school in Japan. They'd place themselves around Level 25-30 in terms of knowledge, so there's still a ton of stuff WaniKani can offer them.

But here's the thing. Even at max speed, assuming you get every single answer correct, each level takes about 7 days to get through. Going from level 1 to 25 takes half a year. But it's worse than that, because that doesn't remove that level's items from your review queue. You end up with 400+ reviews per day of stuff you already know, with the occasional new vocab.

By marking specific items as "I already know this," you could skip the kanji/vocab you already know, and let the stuff you don't know be the things you actually review. That way the SRS system is being used as intended, as opposed to a needless timer for people who are proficient but want to continue using WaniKani to expand their knowledge.

And yes, it's cheating, but Tsurukame already offers a pretty powerful cheating option of "mark answer as correct" for every item anyways. WaniKani's default website doesn't offer the "Ignore this answer" button, that's already a "userscript" that Tsurukame offers that WaniKani doesn't. There's nothing stopping an end-user from sabotaging themselves as it is. This isn't a classroom or a school, this is self-learning, so it's up to the end-user to be honest with themselves about their skills and intentions, which isn't a change from how it already is.

UInt2048 commented 4 years ago

WaniKani exposes all the mnemonics, so one could simply use the API to create an Anki deck, or something "flashcard-based". That would be far easier to create, they would be able to use the system they prefer, and they don't have to worry about the other Levels. Skipping Levels aren't allowed on WK, so it's not really something we can do here at Tsurukame yet. I think you would be better off asking about this on the forums, where more people can give you suggestions, but I don't think this is something for Tsurukame. Please reply if you disagree with this.

jneen commented 4 years ago

Hi! I just want to chime in here - I lived in Japan for about 2 years and know around 700 kanji. My knowledge doesn't always map cleanly to WK though, since some of the characters I learned were fairly specific to the technical jargon I used on a daily basis. I'd like to fill in my gaps, but it's been an awful slog going through nearly a year of reviews for things that I really, honestly, do not need to review. I ended up writing my own userscript for web WK, but it's been extra slow going because I don't make progress on mobile. Just to say that while this is clearly not useful to someone learning their first kanji through WK, it feature would help me and, I suspect, a number of other users, rather a lot.

jneen commented 4 years ago

Weirdly, auto-burn would be more useful than skipping levels, since there are items that I do need to review in some earlier levels.

UInt2048 commented 4 years ago

@jneen, what did you end up doing on your WK userscript? Was it just a userscript to automatically mark the Reviews correct?

jneen commented 4 years ago

It's very naive - any time I press Ctrl-K, it adds the current item to a localstorage database. If that item is ever seen again, it fills in the correct answer and submits the form automatically.

UInt2048 commented 4 years ago

So you didn't mean auto-burn, just automatically mark as correct until burned.

jneen commented 4 years ago

I mean, auto-burn would be better, but it's what I could come up with. WK itself still imposes the time restrictions between sessions, so there's not much to do about that, unless there's something I'm missing.

UInt2048 commented 4 years ago

I know, but the only way we could truly auto-burn is:

  1. WK allows manipulation of SRS stages via API (not possible, but requested many, many times)
  2. Creating our own rules for an anonymous session (also not going to happen; #239 was rejected)
jneen commented 4 years ago

That's fair! I would be happy with auto-fill-and-skip to be honest, it seems like the best that can be done from the client, and actually solves the issue.

UInt2048 commented 4 years ago

I feel like to implement it, if allow cheating was on, there could be a menu with:

  1. Mark this always correct (would require confirmation dialog)
  2. Ask again later (because #42 at the same time would be nice)

This would parallel the existing menu for a wrong answer. If mark this always correct was turned on, when a Review for it shows up, before the user even starts the review session, the Review is automatically marked correct.

jneen commented 4 years ago

Yes, exactly. On close read, this is exactly what @StarWitch seems to have been proposing :)

StarWitch commented 4 years ago

What @jneen is talking about is what I had in mind, actually. I was trying not to get bogged down in technical details, but:

It would be something like a list of "auto-skipped" items that, when they come up in Reviews, Tsurukame would automatically submit the correct answer. There would also be a list you could edit within the app to add/remove those items.

My rationale for including such a feature is that Tsurukame is already not a "purist" experience as it is, which is fine. The app has "ignore answer," "ask again later," the upcoming review timeline, viewing the SRS level of an item during reviews, and so on, which are already client-side modifications to the default WK experience.

Obviously the app can't tell the WK API to simply never quiz someone on an item again, as that's not functionality that exists, but for now the app could implement this "auto-skipping" functionally client-side.

StarWitch commented 4 years ago

This was more of a feature proposal than a request, actually. I'd like to have a go at it if there's no major objections?

UInt2048 commented 4 years ago

No objections. Feel free to implement this and #42. Good luck!

UInt2048 commented 4 years ago

@StarWitch @zapan Now that #42 has been implemented, are one of you planning on adding this?