Hakubun - Cross-Platform App for Wanikani - Android and iOS Beta

Oh, I can fully relate to the struggle of development without hardware on hand - I took on maintaining SD as a long-time Apple device user and before I actually had an Android device of my own to test on and even now I’ve got a spare phone to test on, adapting to the various ranges of screen sizes, device types, etc. isn’t an easy task.

At least it’s more responsive than PowerApps. It saddens me that I have to be familiar with writing stuff like this:

If(cMainRecord.Width > 600,
    If(cMainRecord.Width > 800,
    If(cMainRecord.Width > 1000,
        ModifyText * 1.3,
        ModifyText * 1.2), 
        ModifyText * 1.1),
        ModifyText * 1)
2 Likes

I was just filing a Github issue for this, and I hope you don’t mind but I used your screenshot because it was much nicer than the one I already had handy. :grin:

2 Likes

Thanks!

Request to the developer: Tsurukame has this option where you can make it automatically switch to your Japanese keyboard for readings and back to your regular latin keyboard of choice for meanings. Would it be possible to implement something like that? If makes a huge difference for people like me who prefer using a kana keyboard.

And some very subjective feedback: having the whole card pop up for correct answers instead of directly going to the next card is a little frustrating, especially when you have 100 reviews to go through = 100 extra swipes to do. And the swipe action on iOS feels a little bit unresponsive. I’d expect it to swipe just a mite earlier/after just a bit less distance travelled on my screen.

2 Likes

Tsurukame has this option where you can make it automatically switch to your Japanese keyboard for readings and back to your regular latin keyboard of choice for meanings.

That sounds cool. I never thought of it because (though I haven’t ever seen it said before) it really seems to me like iOS remembers which input I last used in most apps. :thinking:

And some very subjective feedback: having the whole card pop up for correct answers instead of directly going to the next card is a little frustrating, especially when you have 100 reviews to go through = 100 extra swipes to do.

That’s a good point.

And the swipe action on iOS feels a little bit unresponsive. I’d expect it to swipe just a mite earlier/after just a bit less distance travelled on my screen.

There seem to be a lot of issues with scrolling, swiping, etc. just in general. I’m sure that can get sorted in time, and hopefully without too much pain. It’s gotta be hard to work on that stuff using the simulator…

3 Likes

Good news! I discovered that since Hakubun is open-source, Browserstack provides free device testing for me. Starting to test the app on “real devices” (devices are real, but basically show a little screen recording of them) so I can troubleshoot issues that don’t appear on iOS simulators, like the app covering the status bar/notch. This’ll be helpful for making sure things work on tablets and all sorts of other screen sizes :blush:

2 Likes

Hmm, I believe it’d be possible? I’d have to look into this more to make sure!

Totally fair! I plan on adding a “quick mode” so people who prefer to just go to the next card can enable that. This is lower priority in comparison to bug fixes though

I’ll look into adjusting that, I expected this to need some tweaking based on user feedback. I get so used to distance to swipe that I stop noticing little things like that, so that’s helpful!

3 Likes

Luckily I just got access to Browserstack and it helps with spotting those issues I couldn’t see on simulators :eyes: was living in Android ignorance lol

2 Likes

I have a partial fix for this, but realized it caused some other issues, so needs a bit more work. Will likely be fixed sometime this week

2 Likes

More comments after more testing (iOS):

I like the Japanese font you use.

At first I had a hard time quickly recognising whether the app was asking for the meaning or the reading of a card, with the shades of purple being so close, but after some time my brain got used to it and I could immediately and subconsciously distinguish them.

Do you use a different shuffling algorithm than the website? With both the browser app and Tsurukame I’ve found that reading and meaning of an item are rarely more than a few cards apart, (I think they set a limit to how many “open” cards are allowed at a time) but in Hakubun it felt actually random (which I know isn’t actually random, because humans are too good at pattern recognition to appreciate true randomness). Anyway, I enjoyed it a lot.

I’ve thought a bit more about what made the swiping feel so clunky. Part of it is as mentioned yesterday the distance of swiping needed. But another part is that the time between a card disappearing and the next one popping up is very long. I believe it would feel much smoother if that time was shortened.

2 Likes

Thanks, I searched around for a while to find one I liked! :smiling_face: The selection of Japanese fonts is much smaller compared to English fonts due to the amount of time it takes to create all the characters.

I’m not sure what shuffling algorithm others use, but I use the Fisher-Yates shuffle. It’s known for being more truly random than the typical shuffle algorithms. Happy to hear it feels more random too!

I try to help w this by showing “Meaning” or “Reading” on the cards with their own little icons, but know it’s not that split-second understanding I’d prefer.

That’s good feedback, I’ll add that as an issue on the GitHub project!

2 Likes

I actually use they/them! But you’re correct, that’s totally what I meant in my reply haha

2 Likes

I’ve updated it then!

2 Likes

Hey all! I just launched an update with a setting where you can automatically move to the next review or lesson after submitting a correct answer. Thanks to @Pakkapao for the suggestion :blush:

Excuse the weird text overlap in the switch, silly bug that didn’t show up when developing locally :sweat_smile:

3 Likes

Pitch accent info for vocab is coming within the next few days! There will be a setting to hide this, but it will be displayed by default.

3 Likes

This is hands-down the best WaniKani app there is. I absolutely adore the design, it gives me a slight retro kind of vibe that’s largely absent in apps these days where everything is ultra sleek and minimalistic (not that there’s anything wrong with that either).

My only gripe is that sometimes the animations feel a bit on the slower side, although I can’t be sure if this is the app or an issue specific to my device. I have a Xiaomi 11T running Android 14. Regardless, it would be my wish and humble request—and I realize this isn’t a super urgent high priority thing—to have an optional, toggleable “No Animations” mode in the settings to speed up the time it takes to go through Lessons and Reviews.

That said, the app is incredible enough as it is and this is probably more of a me problem anyway. :sweat_smile:

Thank you so much for developing this app and making studying on the go possible for us. I’ll try to throw in a small donation next month for your hard work when I’m a bit less broke because this definitely deserves it.

EDIT: Scratch that, I didn’t notice that you had already added a “Go to Next Item on Correct Answer” feature in the settings! I had installed the app in early May and only got back to studying earlier today so I had missed it. This basically takes care of the issue I was having, so never mind!

1 Like

@salemlf I have been following up with your app development and wanted to help out in the way I can.
While reading through the posts on here, I read someone mentioned an issue with fixing answer typos where you accept some answers if they’re just a few characters wrong.
I don’t know if you already fixed that but I wanted to suggest you look at the Levenshtein distance algorithm. Basically, it’s a string metric for measuring the difference between two sequences. Keep in mind it might be an overkill for the use case but it’s worth looking at.

While I was trying to solve a similar problem I wrote a very quick program to check for typos given a certain threshold. I am unable to post it on here because I am typing this on my phone.

Great job on the app!

Awww thank you, this is such a nice comment, made my day! That’s definitely the design I was going for, happy it comes across that way!

wrt the animations comment, I appreciate the feedback! Are there specific animations you feel are especially drawn out? I recently decreased the animation time on some of the lesson/review card swiping and appearing, but haven’t changed much other than that. That being said, I do plan on adding a “use reduced animations” setting where it removes, as that’s an accessibility feature I’m currently missing

Thanks for the support, no pressure on donating!

Thanks for the info! :blush: Meanings have had typo tolerance for a while in Hakubun, so I’m guessing that issue you found was either before it was implemented or some case where the inputted answer was too far off to be perceived as a typo. Right now I use Fuse search to find matches, since Fuse is also the library I use for the Search page. Behind the scenes that uses a version of the Bitap algorithm, which uses Levenshtein distance. I plan on migrating from Fuse to Flexsearch though, as the latter is much more performant

1 Like

Hi,

I’ve been using WaniKani for a few days and have discovered this app, which in my opinion improves the experience a lot.

One of the few things is, as a Spanish native speaker I add the translation in the “alternative meaning” option. However although the option exists, I’m unable to do this in the app.

Bahhh oh no, looks like I introduced a bug at some point. I’ll push a bug fix for that within the next couple days! Was a quick fix, update should be available to download within the next few hours! Also will add tests as this isn’t the first time I’ve accidentally broken that functionality haha.