Hey everyone, happy belated new year!
First congratulations to @ejplugge for beating me to release with their Flaming Durtles app. I think the positive feedback they received shows the number of passionate users, language enthusiasts, and talented people right here in the forums. It’s a cool place to be. I also like the idea that somewhere in Europe I have a doppelganger with the exact same routine, hobbies, and projects. Haha.
v1.0 Beta
I’ve decided to make this an open source project with a copyleft license and to narrow the scope of a v1.0 release which is available today in an open public beta:
https://play.google.com/apps/testing/com.leapsoftware.leapforwanikani
I took a look at implementing a bottom nav, learned items, lessons, and had a data flow working; which you saw in the first post. While the path to full-feature port of the website to an app was within sight, it is outside of the scope of a v1 release and probably outside the scope of an unfunded community-only project in general.
Tofugu-WaniKani Community Open Source Partnership Proposal
The best case scenario for this project is that it is forked by Tofugu to become the official WaniKani Android app and is co-developed by a Tofugu-WaniKani Community partnership. It could be overseen by a full-time engineer at WK with financial reinvestment into the community through something like GitHub Sponsors.
This has potential to be a win-win model in that the app is distributed and maintained by Tofugu, but kept open source so that we all have a stake in it and can contribute to its success. Specifically, individual developers here could pool our efforts with WaniKani to create the “real” app - instead of one offs that always die - while also getting paid for our efforts on a feature-by-feature or maintainer basis. The heavy features and business-tech costs associated with an independent project would be housed under Tofugu who already have a solution. Tofugu could also quickly move ahead with their own team and contractors if they decided to do so. Users would benefit by being able to see exactly how their data is used with a direct link to the bug, feature, and testing process if they’re feeling tech savvy. Tofugu would benefit by getting apps into the store, being an official maintainer, and being able to tap into a handful of mobile specialists in the community as needed.
There are some successful projects with small teams out there that follow a similar model to a varying degree and almost all big name apps out there use open source components developed like this. And in fact, there is already a subculture of community-driven web extensions in place that might guide us in the right direction. (Of course an official app would be excellent too, but alas it is 2020 and I paid for a lifetime subscription and it’s still not here.) The template is here if Tofugu wants to takeover. To be clear-- my goal is not for the community to pick up the task of making the mobile apps for free, but to explore a platform for partnership. While WaniKani is doing good for the language learning world with a great mission, they are still a private company and we should keep that in mind.
The WK team did a great job developing and documenting their API. It is one of the best I’ve used, and it’s clear a lot of thought and effort went into it. On this topic, great job team.
Leap For WaniKani Open Source and Copyleft License
My main focus was a scalable architecture with the latest Android tools that could be made into a full-feature app by a team. Before continuing, I’d be interested to hear from the WaniKani team on the official plans.
Other developers can fork the project as as long as they also release open source back into the commons under the same copyleft license. This guarantees the community always has a stake in whatever comes out of this project even if it just might be an experimental way for you (an individual developer) to learn the WaniKani API on Android or to develop a parallel architecture on iOS.
For technical questions and discussion, it would be great to keep it under the GitHub Issues so that this thread is friendlier for everyone from this point forward. The repository and a technical walkthrough can be found here: GitHub - vrickey123/LeapForWaniKani: Android app for WaniKani (MVVM + Coroutines). Available on Google Play.
Future State
For now, we’ll be focusing on bug fixes until our future goals are clarified.
For v1.0 we have:
- A Dashboard that syncs your current WaniKani lessons and reviews status to your device
- Push notifications that alert you if you have pending lessons or reviews in your queue
- An in-app browser that takes you directly to your lessons or reviews then back to the app’s Dashboard
You might be saying, “isn’t this just a dashboard with push notifications that links you out to the website? Why don’t they get a real app developer!?” Well, yes it is and I’m also hoping for a full app as I described above. The hardest part of efficiently downloading, saving, and displaying WaniKani data is finished for the most part, which means we can now think about making different screens for the app.
Before I release a full rollout to the public, I’d be grateful for a high-level user (someone level 15+) just to test our initial download of a large number of assignment records. No data from the app is sent up to WaniKani, so it cannot corrupt your current state. The expected result is that your Android dashboard reflects your web dashboard.
Enjoy