I feel like linking to WaniKani should use _learned_ items for Furigana instead of _unlocked_ items

I linked my WaniKani account to Bunpro and set the “Furigana” setting to sync with my WaniKani progress and hide Furigana for words that I already know. This is an awesome feature and I love it, btw.

But just now I came across a word in my grammar studies that I didn’t know that didn’t have any Furigana.

image

I have not yet learned the word 明日. I checked WaniKani to be extra sure that I really hadn’t learned it yet, and I found out that it’s unlocked and waiting for me in my lessons queue, but I have not actually completed the lesson for it yet.

So this leads me to believe that Bunpro is checking to see if I have an item unlocked in WaniKani rather than checking whether or not I’ve actually learned the item. I think it would be much nicer if it checked to make sure I’d actually learned it instead.

10 Likes

I think it hides the furigana once you reach Guru for the kanji characters you learned in WaniKani. It doesn’t relate to words.

2 Likes

I don’t think that’s quite accurate. I read another thread on this topic where the developers specifically said that it was done on a word-by-word basis. Someone asked why there was Furigana showing for a Kanji they already learned, and they told them it was because they hadn’t learned the whole word that the Kanji was in.

This doesn’t solve the problem, but if you need the furigana for a word, you can just tap or click it and it will show, do it again and it goes away.

2 Likes

Yes, thank you. I have “Show furigana on hover” turned on so I can just hover over it. It’s a very very mild inconvenience and I can totally live with it, but just wanted to report the unexpected behavior and maybe make the app just a tiny bit better. :slight_smile:

2 Likes

I’ll just say, that even though there are workarounds, I do agree as well.

2 Likes

It hides furigana based on getting a kanji to guru. Doing it based on words doesn’t actually make sense because most of the words you see in real life aren’t in wanikani. If a word has multiple kanji it shows the full furigana even for kanji you already know until you have guru’d every kanji in that compound.

The fact that you said 明日 is in your learn pile on wanikani means you’ve guru’d 明 and 日

3 Likes

Oh thank you for the explanation! That’s very helpful. It seems like this is just a really difficult problem to solve then and either way there has to be a compromise. I think the way the devs decides to go about it works well. :slight_smile:

1 Like

Unfortunately this is weird when it comes to kun and onyomi. For example I had 右’s onyomi in WaniKani as ユウ and have Guru’d it already, but it never appeared in lessons using the kunyomi yet which is reflected in WaniKani as well as seen in the attached image. That causes the issue that OP has described to happen for me as well.

1 Like

TL;DR

The following is a kind of ‘brain dump’ of thoughts about why such a feature isn’t really worth it (IMHO) – which may or may not be interesting for some folks to read and consider (it applies to more than just this specific feature; it’s about software development in general). I have also not edited it down for brevity, so it will be a bit rambly.

If this kind of rambling thoughts are not interesting to you, feel free to ignore. It’s not a direct reply to your exact comment, more of a general feedback on the overall sentiment of your (and others’) comment(s).

With that disclaimer out of the way, allow me to ramble :sweat_smile:

The overall idea: From specific to general

Overall, as a general feature, the WK furigana sync is a kind of ‘blanket’ convenience thing which has many ‘edge cases’ peeking outside of the edge of the blanket – so to speak :wink: :sweat_smile: .

In order for Bunpro to perfectly cover all those edge cases (say, in some ideal world), the BP team would have to create a system which synchronizes not just the status of “are these kanjis at Guru level on WK”, but also track things like “which WK vocabs teach this kanji’s kun’yomi (or whatever specific reading), and have any of those vocabs gotten to Guru level yet”, and check that kind of condition for each kanji.

Now, that alone may be possible – though perhaps of dubious additional benefit, but we are considering a kind of ideal-world situation. But on top of that, they would also have to track any/all of the changes that WK makes to its system, such as changing the ordering of which kanji/vocabs appear at which levels, and probably several other edge-case-specific conditions that aren’t immediately coming to mind right now.

All of this is theoretically (and to be honest, even ‘practically’) possible, in an ideal-world situation. But it would be quite complex to program and implement, and some components of it would probably not be able to be fully-automated – in other words, Bunpro would probably have to have someone monitoring the WK website for various changes to their system. For example, WK often posts updates in their forums about upcoming and ongoing/completed changes to their items: Additions, removals (rare, but they happen), level re-assignments, primary readings (also rare, but happen), etc.

All of this is to say that, again in an ideal-world situation, such a feature that would perfectly cover all the edge cases is possible to create.

The issue, then, comes down to cost, time, priority, and other such non-ideal-world constraints that any development team is going to have to contend with. And ultimately, the question is: Will it really be worth all that effort / those resources spent for the resultant benefit to the customer/user (and hence to Bunpro as a business)?

Often, a good way to handle such situations – where a feature-set is technically possible, but practically too costly to fully implement – is to try to address the most urgent/important needs first, with a minimal cost, and to defer the less urgent/important & more-costly needs to some unspecified future time (planning for all future features is also costly and has diminishing returns).

Thus, some system of prioritization is needed. A good, common strategy for prioritization is to rely on the Pareto Principle, aka the 80/20 rule, which I’ll paraphrase as “You can get 80% of the job done with only 20% of the resources. Conversely, the remaining 20% of the job will require the remaining 80% of the resources (i.e. 4 times the cost of the first 80% of the job!!!)”. Of course, this is just a rough guide. It might be more like 70/30 or maybe more like 95/5.

How this applies: From general back to specific

And so, to wrap up, I see the current Bunpro feature as a good example of this kind of Pareto solution: Detecting whether a kanji on WK is in Guru state is very easy to implement and, crucially, to automate; and it covers 80% to 95% of the feature. To catch more of the edge cases would require proportionally a lot more development (and maintenance!) resources.

And they have indeed added to this initial feature, which is to allow all instances of furigana-capable words to be manually switched on or off as each user chooses. This feature I’m fairly sure required quite a bit more development/maintenance resources to implement (since it requires not only the UI for it, but also to code for handling conflicting ‘signals’ where WK-sync and user-preference differ; not a huge deal, but not nothing either).

And, as is often the case with Pareto Principle situations, this additional feature itself solved something like 80% to 95% of the previously-unsolved edge cases, again with 5%-20% of the resources required. Ish. Again, it’s just a rough principle. In other words, the Pareto Principle often ‘stacks’ or ‘nests’ itself.

Conclusion: The actual point

While BP could devote more resources to this furigana feature, I think it would be challenging to justify investing much resources into it. The current solution covers most cases quite well, and they even have a quite-functional ‘customizable’ system for handling user-specific tweaks and/or workarounds.

Of course, I could be wrong, and maybe there are additional features which could garner a lot of user/customer support, which would then justify spending more investment on improving it further. (I’m not intending to discourage such feature requests/suggestions; they’re great and welcome!)

Until then, though, I think this feature provides a good example of well-managed compromise (go Team Bunpro! :partying_face: ) between what’s possible (ideal, ‘perfection’) versus what’s satisfactory (practical, ‘good enough’). That’s just my personal opinion, though!

[Besides, the Pareto Principle is just a cool phenomenon in general! :nerd_face: :sweat_smile: ]

Cheers!

1 Like

Bunpro’s ’ don’t show kanji unless you have learned the individual kanji’, one is easier to do back end, compare Wanikani kanji list not vocab. And it is over count of known words, with edge words you will learn soon. I think this is better than over counting because you can guess the furigana from the kanji reading you learned, then check if you are right.

Ex) 上手。onyomi is 'じょう and す。す becomes ず because ten ten maru. Kanji is “Upper hand”. Maybe you have already heard “nihongo jouzu” and you are able to put it together your first time reading it. Probably not.

The reason you need furigana. So Wanikani teaches you the Meaning, on and kunyomi so you can put words together like above. The goal of RTK decks found in anki, memerise and kohii is to take kanji from “hell scribbles” to something you recognize when you see it.
Let’s say your doing some Bunpro rep like からだ----(押す)
Correct answer押しつけてきた。
押しつける (押し付ける): 押して、離れないようにする。力を入れて押す。
you know the first kanji is body, and second one is push. You look up the reading of push so you can type in the answer, but not knowing the kunyomi of からだ doesn’t prevent you from understanding the question. Check the reading on the answer, when you listen to the audio

1 Like