[Android] Leap for WaniKani Demo (Native, Offline, No Web)

My fellow turtles, I have been working on an unofficial Android app for WaniKani and it’s time to get some community feedback before I decide to continue.

There have been many community-driven apps in the past; but thanks to the updated WaniKani backend, we can now create fully native mobile apps that don’t require a webview for lessons and reviews. The team did a great job. The benefits for you are a fast performing app, overnight downloads, offline support, and OS dark theme support with Android Q just to name a few.

So far I’ve built out the bottom navigation, lessons, and learned sections (and offline support).

Since this is just the first milestone, I wanted to get the feedback of the future userbase to see if this is something they want, too.

To my fellow Android users-- would you use this? What features are you looking for?

I was inspired to do this because I do most of my language study on the subway and other solutions don’t work well. I guess I could use paper flashcards, but I want to continue with WaniKani :sweat_smile:

There is still design and technical work to be done. To my fellow technical turtles, I did have a brief (one) email exchange with WaniKani and it seems like the team is reevaluating their mobile strategy. Based on some job postings on the Tofugu site, it looks like they were shooting for a React Native solution. I’m not sure if that is still the case, but that’s probably why we haven’t yet seen an official app. If that is still the case, we are likely ahead of the curve when it comes to Android but that’s just an educated guess. The app above was created with just Kotlin and the Android SDK. It would be great to have some clarity from the team here if they happen to pass by this post.

頑張って!

25 Likes

They just mentioned two days ago that they were halting the iOS beta temporarily while they worked out some major architectural issues. And Android was already coming later :tm:, so yes, I think you’re probably ahead of the curve. :slight_smile:

I don’t use Android, so I wouldn’t use the app, but best of luck!

4 Likes

Thanks for the quick feedback and support! I have heard “the Android version is coming soon” many times and that leaves me a bit nervous. Haha. If the team is going for a hybrid web-mobile app, then the complexity and timeline for iOS and Android may just be unknown at this point. Let’s see if anyone else chimes in.

As an Android user, this would solve one of my main issues with using a web-based flash card service: the inability to review cards offline and sync my progress when I’m online again.

This hasn’t been the biggest of issues for me with WaniKani as I review in the morning, in the evening, and at night. However, if I could do reviews on my commutes as well, that would allow me to increase the amount of new kanji/vocabulary I’m learning. (I’m actually looking to increase my iKnow vocabulary intake for commute time reviews.)

The only potential issue for me is if it wouldn’t work on my device. Since Samsung has abandoned the device I have (no OS updates in years), I installed LineageOS and am on Android 7.1.2 (Nougat).

If there’s an official app on the way, depending on the timeline, it may still be worth having a very “lite” app that does the basics that people would like from WaniKani on Android (which for me is all about offline reviews).

6 Likes

I assume the motivation for using something like React Native was to allow for large parts of the code to be reused between the iOS and Android apps. But that’s just a guess.

Hey Chris, nice to meet you! It sounds like we have the same study routine. In terms of support for legacy devices, Leap for WaniKani goes back to Android 4.1. What kind of device do you have and do you know the OS version?

And thanks for your suggestion regarding a “lite” version. At the moment I’m shooting for building out offline lessons and reviews without webviews for v1.0. Other features could come later, so we’re on the same page.:+1:

4 Likes
  • Device Model: Samsung Note 2 (SHV-E250K)
  • Android version: 7.1.2
  • LineageOS version: 14.1
  • Kernel version: 301.101

(Probably more than you needed, but better than less!)

Yes, you’re correct. However, the way that a framework like React Native accomplishes this is by using JavaScript (a web language) to call into various parts of the Android and iOS SDK’s. This could present challenges for navigation or performance. I’m not sure if that’s the specific problem that’s the issue now, but I’ve seen projects struggle with it in the past.

@ChristopherFritz OK cool, I see what you’re doing now. Based on the Wiki entry, the Samsung Note 2 shipped with Android 4.1, so even if you ditched lineage OS your device would still be compatible.

1 Like

Yeah, that’s true. I used PhoneGap briefly several years ago, and that wasn’t a great experience. I would hope newer frameworks perform better, but I suppose they’ll never be as good as a true native app. With all that said, the beta iOS app with React Native performed pretty well during reviews at least.

That’s good to hear (not that I’d go back!) So many apps over time would disable themselves until I updated them, and then they would uninstall because they no longer supported that older version of Android. I’m biding my time until that happens again (as there will be no new official LineageOS releases for the Samsung Note 2), thus it’s nice to hear of one app that would keep on going =D

1 Like

That’s promising to hear. Hopefully they sort it out. An official app from WaniKani would be more desirable in the end.

1 Like

This looks awesome, I would definitely use it! Just one question, would this have plug-in support? or at least some that installed like the other android app has? Thanks!

Thanks! There are NO LIMITS. What plug-in are you looking for? In terms of the roadmap, I want to limit v1 to just mainly focus on offline lessons and reviews, but we can add user-suggested features in the future.

2 Likes

Nice! I was mainly thinking of the script where you can override a wrong answer, since I get way too many typos on a mobile keyboard. That’s probably the only one that seems essential to me.

3 Likes

Plug-in/script support implies a web view where you can use existing scripts. An app with native reviews would need to reimplement those features natively.

1 Like

Great idea. It is super annoying when that happens on the website. We can add that as a feature request.

1 Like

Yeah, Sean is right that we wouldn’t necessarily create or use a first/third-party plug in. The functionality would be “baked into” an app release. But I know what you mean @Chopped

1 Like

I see, yeah that makes a lot of sense. Sorry, I don’t know much about app developing :sweat_smile:

Haha yeah it definitely is lol. Thanks for the fast replies guys! Hope everything goes well and we get to test this soon! :grin:

2 Likes

Yeah, that would definitely be a problem here. Those modern tools just pile frameworks on top of abstractions on top of libraries on top of… until performance is so bad that the resulting apps are unusable except for thin web client scenarios. Especially on cheaper or older devices.

Which is okay if a thin web client is all you need (and face it, most apps are nothing more than that these days), but it sucks if you need an app to actually do application work, like for example handle a database with 10k subjects.

I’m working on an Android app for WK as a private hobby project as well, deliberately using a very simple, old-school UI that is ugly by today’s standards, but which involves a minimum of swiping and waiting and being annoyed at things. I briefly tried the kind of frameworks we use at work, and ran away screaming at the horrible performance…

1 Like