Okay, I have a pretty significant request (not significant in that I think it will be terribly difficult, but significant for getting this feature from Beta to Release, or at least make significant progress towards that goal). [Spoiler (not really a spoiler): The feature I’m looking for / requesting is better / more control over ‘syncing’ with WaniKani vocabulary. But the motivation needs some explanation first, so…]
The issue I’m having is this: On WaniKani, I along with several others have taken up a somewhat unorthodox approach to studying Japanese via SRS systems. We have a thread on the forums there called Let’s Durtle the Scenic Route, where we share the idea/approach of basically taking our time with the SRS, focusing mainly on enjoying the experience of learning Japanese, rather than trying to learn as fast or as ‘optimally’ as possible.
With this learning philosophy/approach in mind, it is sometimes, for example, worth it to reset to a previous level, simply because I might feel that I’ve rushed too fast on the previous level. And so, for example, resetting our WK level would be a more common event for some of us than for the typical user of WK. Currently, I don’t think resetting back to a previous level on WK ‘syncs’ with BunPro in any way. I don’t think ‘re-syncing’ with WK would actually reset the BP vocabs of the higher-WK-levels back to SRS 0. They would stay at 12, right?
Also – and this is perhaps the main motivation behind this request – I’ve even begun experimenting with what I call ‘revisiting old friends’, which is basically resurrecting burned items on WK and starting them over from Apprentice, to relearn them through the SRS system once again, all the way back to burned-a-second-time (without actually resetting my WK level; just manually clicking ‘Resurrect’ on whatever item I want to ‘revisit’).
The reasons for ‘revisiting old friends’ are actually multiple, and some may be more relevant than others depending on the item I’m resurrecting. But here’s a few reasons one might want to resurrect ‘burned’ items, off the top of my head:
Motivations: Several for context, expand to read...
- Initially, I started to do it when I came across kanji ‘in the wild’ which I knew that ‘I knew’, but couldn’t remember them for the life of me. I checked WK and it turned out I had ‘burned’ the item, yet I failed to recall it in real life. This left me feeling like I hadn’t really ‘gotten to know’ said item, like it was an old friend I had once known but had lost touch with. Hence the idea of ‘revisiting old friends’.
So, basically, this motivation is to be able to re-learn and reinforce ‘burned’ but shaky/forgotten items.
- Pretty soon, I found that I actually enjoyed reviewing these ‘old friends’, as re-learning an item you’ve already burned once is much much easier – and thus much much less stressful! – the second time around.
So, basically, this motivation is simply because it is actually enjoyable!
- Note that this motivation presumes that one is not trying to learn in the fastest or most optimal way – well, unless you factor in ‘enjoyment’ and ‘sustainability’ into your measure of ‘optimal’!
- Sometimes, especially when I was near the end of a level, my review count would dwindle low and I would not have enough lessons available to sustain a nice bunch of daily reviews (I prefer at least 40 per day, for example), so I actually started to ‘revisit old friends’ even more, basically just to pad out the number of apprentice items I had available to keep my daily reviews at a nice size.
So, basically, this motivation is to be able to manage numbers of reviews by padding them out with ‘old friends’.
- Again, this motivation presumes one is not going for speed or ‘optimal’, but is more concerned with just enjoying the process of doing SRS in a regular, daily routine.
- Eventually, I got so comfortable with resurrecting previously-burned items, that I started to do what I’m going to call a ‘rolling reset’, where I don’t actually use the Reset Level feature on WK; instead I just manually go through all the previously burned items, starting at Level 1, and doing say 10-20 per day (or whatever pace feels good).
I’m basically doing a ‘reset’ to level 1, but only the burned items, and only a little bit at a time, hence a ‘rolling reset’. So far, over the past couple of months, I’ve rolled my reset from level 1 all the way up to level 8.
So, basically this motivation is to be able to have more-or-less ‘full control’ over which items I have ‘burned’ and which I can ‘resurrect’.
- Once again, not exactly an ‘optimal’ or fast way to do SRS, but it actually (surprisingly!?) is enjoyable, and I feel much more confident with all the items I’ve re-learned. Re-burning them a second time through (won’t be long before I start re-burning level 1 items, for example) is going to be relatively painless and I’ve basically eliminated that initial nagging doubt of, “Do I really know the items I’ve ‘burned’, or maybe not?”
With those motivations in mind, my request is to rework and/or polish the user interface for ‘syncing’ with WK, so that it gracefully handles things like a) full or partial level resets on the WK side, b) individually ‘resurrecting’ (and also ‘re-burning’ via the ‘Burn’ button) previously-burned WK items, c) perhaps even handling things like a ‘rolling reset’ as described above under Motivations.
Currently, the interface for syncing with WK is very simplistic, and is really only oriented towards the idea of ‘speed’ and ‘optimality’, i.e. it assumes that you either want to study vocab entirely on BunPro (the default) or entirely on WK (by which it will ‘sync’ the entire WK vocab you have unlocked and set them all to SRS level 12 on BunPro, eliminating them entirely from BunPro review).
Once you perform a sync with WK, then – as far as I can tell / am aware – there is no affordance (built into the UI) to ‘undo’ such a sync, and those vocabs are now set to level 12. If you want to ‘undo’ the sync through the UI, you have to manually go to each vocab item (which is extremely difficult to do using the existing UI, since there is no easy way to, for example, sort vocabs by SRS level, or sort by ‘synced with WK’) and manually click ‘Reset’ on each one. (And the UI for ‘Reset’ doesn’t refresh the page to show it has been reset, so this UI is also not very smooth or intuitive yet.)
I don’t have a 100% clear vision of what the syncing feature ‘should’ ideally look like, but here are some thoughts/suggestions.
- The current ‘decks’ interface has some useful features that are lacking from the ‘WK sync’ feature. For example, you can choose “Default SRS level for new items” per each deck. When syncing from WK, there’s no such option: It goes straight to level 12. At the very least, syncing from WK should also allow such flexibility as exists in the Decks UI.
- Speaking of Decks, perhaps it would be useful/better if there was a deck for ‘WaniKani Vocabulary’? Then it could be manipulated in the same ways that Decks can; for example, the ‘Default SRS level’ setting just mentioned.
- This might require allowing Decks to have ‘sections’ or ‘groups’ or ‘sub-decks’, to allow for organizing ‘the’ WK Vocab Deck by level, 1-60.
- Alternatively, you could possibly have 60 individual decks for WK vocab, but that would probably need some form of organization anyway, such as ‘folders of decks’ or whatever.
IMHO it would probably make more sense to have ‘sub-decks’ (i.e. decks within decks) so that you can have some hierarchical control over their properties (like in CSS with styles) for example to set all decks at once to use a common ‘Default SRS level’ setting, and/or overriding that default for some specific sub-deck(s).
- In any case, it may be worthwhile to have additional ‘built-in’ capabilities for certain ‘special’ decks, such as the WK Vocab deck, such as, for instance:
- Handling the ‘syncing’ of a deck with an external account (in this case, this would be where the ‘WK sync’ feature would be relocated), so that the ‘importing’ or ‘syncing’ of items can be coordinated with an API key, for example.
- Automatic ‘updating’ from an external service (like WK) to the BunPro Deck version of that service. For example, this proposed WK Vocab deck would have its own vocab ordering, essentially the ordering used by the default Lesson ordering in WK. But that ordering sometimes gets shuffled around by WK; sometimes items are shifted to different levels, sometimes they are removed, sometimes new ones are added. This ‘built-in’ ‘special Deck’ feature would (in this case, for WK) keep its ordering up-to-date with the current WK ordering. This is not something each individual user would need to worry about, it would be something BunPro handles between itself and the WK API.
- Note, this is something that another service, KaniWani, is currently dealing with. They provide the ‘reverse’ vocab cards for WK, prompting you with the English word, and expecting kana input. I.e. ‘producing’ the Japanese from the English rather than WK’s producing English (meaning) from Japanese (kanji). They are currently working on automating their database so that it stays up-to-date with WK’s changes, so that they no longer need to maintain things manually. Their efforts to do this partly inspired this similar idea for BunPro to maintain a kind of up-to-date ‘deck’ that matches WK.
- Potentially many different sources of vocab (and perhaps even grammar) could be ‘interfaced’ with BunPro in this way, via ‘special’ or ‘built-in’ Decks, with whatever special features that might be needed built into them so that they can properly stay up to date with whatever other service.
-
Examples of other services
- For example, there are various websites that provide words (like Jisho or the JMdict database that Jisho mainly uses), example sentences, etc.
- Or, there may be textbooks (or other learning services) that provide an online interface for students. I’m imagining something like a ‘Genki Online’ service or whatever. I have no idea if such things exist; just throwing out ideas to illustrate the future potential for ‘special’ or ‘built-in’ Decks with special interfacing features. Doesn’t have to be just for WK.
- This is in a similar (but not quite the same) spirit as the site KameSame, which allows users to import various words and just add them to their personal Vocab deck. However, the way I’m envisioning this, it would be much more organized than KameSame. Instead of each user managing their own ‘deck’, which can potentially become very unwieldy and overload a user with too many reviews to keep up with, BunPro’s Deck system could be used to keep users focused only on what they want/need to study or review at any particular time, by having these multiple different decks and the capability to switch focus (‘main deck’) from one to another as needed.
- Anyway, could go on about this feature itself quite a bit, but will leave these examples as is for now, to remain focused on my main request, which is specifically better control/integration/user-interface for WK syncing.
- It should be possible (and super-simple-to-do) to ‘undo’ a WK sync. In other words, if one merely ‘tries out’ the sync feature and ends up with all these vocabs at level 12, plus all the XP that goes with that, then it should be just as easy (click a single button, for instance), to ‘unsync’, and those vocabs are reset back to 0, or perhaps are reset back to whatever SRS level they had before syncing with WK.
- If currently the sync is non-undoable because it overwrites whatever SRS level a vocab previously had with level 12, then probably that should be changed to having something like a boolean flag which causes it to ‘pretend’ to be at SRS level 12 (since it has been ‘synced’), but which can easily be undone simply by resetting the flag to false, and the previously attained SRS level just becomes visible/active again.
- In other words, syncing with WK should not be a ‘destructive’ operation. It should be reversible. XP should also be revoked of course, but I think the system already handles this?
- Syncing with WK should allow for different use-cases: Again, currently the only use case is ‘I only want to study WK stuff on the WK site. I want optimal speed/efficiency.’ In my proposed scenario, it should allow also for the ‘scenic route’ use-case(s) I described above in Motivations. Such as: ‘I don’t mind reviewing the same items on multiple sites. I want to experience BunPro’s interface as well. Let me sync with just WK levels 1-3 for now, and let me sync them in starting as SRS level 2.’
- Even if none of these more-automated features are implemented, at the very least, it should be much more easily possible to manually ‘undo’ a WK sync.
- At the very least, there should be a way to search/sort/find all vocab items by:
- SRS level, to find all items at SRS 12.
- Whether it’s a WK item or not. Presumably the system already ‘knows’ which ones are, otherwise it wouldn’t have been able to ‘sync’ them in the first place.
- The interface for resetting vocabs should allow for selecting multiple vocabs at once and resetting them with a single action/click, rather than going into each vocab page, going to the end of the page, and clicking the Reset button on each one.
- This may be as simple as having a feature for Decks: Reset all items in this Deck.
- Or it could involve a sortable list/table of items in the vocab search / listing for a Deck, with capability for multi-select, and a ‘batch action’ button to ‘Reset all selected’, or whatever. Such a general feature would have multiple uses beyond just undoing WK sync. But here I’m mostly just concerned with being able to undo a WK sync.
- Worst case scenario, if the above requested points are ‘too much to do at this point’, but there is some existing ‘workaround’ method for undoing a WK sync – for example, I seem to recall reading one suggestion to go into the browser settings, finding a ‘vocab’ data store and deleting it manually, or some such rigamarole – then at least implement a simple button that automatically performs this workaround at least while still in the Beta stage, so people don’t have to go hunting around for this and potentially make some mistake messing around in the browser settings.
- Best case scenario, in an ideal world, I would love to be able to easily adapt my existing ‘durtling the scenic route’ habits to work well with BunPro:
- BP can automatically detect if I’ve resurrected or re-burned an item on WK, and adjust its own SRS levels accordingly, depending on user preferences. Maybe if I resurrect on WK, I want to ‘burn’ on BP. Or maybe I also want to ‘resurrect’ on BP. Or whatever. It would be configurable. Perhaps even each item could have its own settings.
- Better yet, an AI system automatically reads my mind and figures out what I want before even I know what I want. You get the idea!
I could go on, but I think it better to leave this monster wall-o-text here for now and see how y’all respond first. Thanks for your patience!!