Hey! Just wanted to let you know that I’ll be back at Kanji learning soon and I saw this major update. Looks fantastic and I can’t wait to use the new app ![]()
Same, just reset everything today after a long stall, and immediately came back to this thread after realizing Manakame had no more updates. Excited to try Mina ![]()
Just wanted to post again. I’ve been using this app for awhile now and haven’t come across any new bugs since my last one I posted some weeks ago. Although I only ever use the main features, just wanted to say what a nice job you did with this app.
I still open the regular wanikani app sometimes. But it’s mostly to check a couple of the dashboard charts that I like to look at. I prefer the random fonts and the option to group the reviews in this app much better. Anyways, that’s it. Appreciate all your hard work and the quick bug fixes.
Happy New Year!!!
I worked on a couple of features last year before turning in my laptop for a break (I went snowboarding.) Thank you to everyone who joined the closed-test, your feedback was helpful and appreciated. @davesters81 thank you! @Yuserys @skaldebane welcome back!
A notable feature I’d like to mention is one that tracks the progress you make in self-study. What this means is that you do not have to start from the beginning anymore, it continues from where left off.
Having said that, sadly the next update will require users to uninstall and reinstall to avoid an inconsistent state. Failing to do this will mean the app will behave in unexpected ways like irregular data sync, missing items in the dashboard etc.
Additionally, since we have hit stability the closed-test will be ending soon. What this means is the app will be made public, accessible to everyone.
Thank you!
The latest version (1.5.0) is now available for download.
Please uninstall and reinstall the app if you already have an old version installed.
I’ve been using Mina on-and-off (and still using Manakame sometimes
), and I’ve got some feedback but haven’t found the time to get to write it all down just yet. Hopefully in the next few days!
Wondering if it’s possible for the app to do this on its own? Basically saving the current version in shared preferences (or anyhow), and checking what was the latest saved version on first launch, such that updates can do any cleanup they need on their own, without user action.
But given this is a closed test, I guess everyone who uses the app is aware of this thread
Still a useful thing to keep around for public versions, for smooth upgrades.
Do share your feedback when you get the time to write them.
I am not sure there is a way to do this automatically but if there is I’d like to do that.
As an aside, asking users to uninstall the app is something that will only happen during the test phase. Once app is outside of testing that will cease.
Usually this is done with a database migration script. Most database libraries should have a hook that will run during app startup/initialization. It’s an opportunity to transform the database by adding any new fields, updating existing ones, etc and is good for this sort of thing. But if there are a lot of changes it can be annoying and cumbersome to do, so for a test app probably makes sense just to do an uninstall and reinstall. But post production launch, it’s something you could consider.
Thanks! I do this when database changes are involved but that is not what was being discussed. It had to do with auto uninstalling the app when there is such a need for a new release while also backing up say preferences.
Oh my bad, sorry, I misunderstood the issue being discussed.
Ah, just to clarify, I didn’t exactly mean the app “uninstalling” itself. That’s possible, although not good UX, and private app directories get erased. The only way to keep data (without requesting the user to give storage access) is to put in app-specific shared storage (usually ~/Android/data), but on Android 11+ the uninstall confirmation allows the user to erase these with a checkbox. All in all, not practical.
But since the app signature never changes when publishing through Google Play, it shouldn’t bee needed anyways. What I mean was more the app migrating and/or cleaning any old data that’s no longer supported or conflicts with new code that doesn’t take it into account.
Easiest way that basically equates to a full uninstall is nuking everything in the private app data and cache directories. Just a simple recursive delete of everything there will clear shared preferences, databases, cache, and anything else really.
Or of course it could be anything. Maybe you want to remove one specific set of shared preferences because their format changed and they’re not that important to be worth writing a migration script for, or something very specific.
You have to ensure that whatever it is, that you run it before anything else starts relying on those files. Even before the activity’s onCreate, by subclassing Application and putting your code in its Application.onCreate function, and specifying it in the manifest.
One other consideration is that you need to keep that code around for a while, so it needs to be able to know when is the data it’s dealing with old or not. Easiest way to achieve that is storing the current app version in shared preferences on every app run.
So if user jumps from 2.9 to 3.0 (in which we introduce migration/cleanup), the cleanup code sees that the last stored release was 2.9 (or maybe we weren’t storing the release number in previous releases, so it finds nothing, still treats it as an older release), thus it needs to do its thing and run the cleanup.
When we update to 3.1, it sees that the last release is 3.0, so no need to do anything.
This also helps with situations where a user may jump from 2.9 to 3.1 directly (which is the reason old migrations shall remain for a long time even in newer versions), as the whole condition depends on the version being less than 3.0, so it does the cleanup correctly regardless.
I don’t get how doI get the app. Link to google play is empty
I added you an hour ago so at the time you tried you might not have been included. Please try again. You do not need to refill the form again as I saw you did three times already.
Mina is now in open-testing and available to everyone. Give it a try and leave a review – you can do this in app or via the app’s listing on Play Store.
ミナは今オープンテスト中で、誰でも利用できます。試しにレビューをお願いします! これはアプリ内でもプレイストアのアプリリストでもできます。
I have been using Mina a bit over the last 2 weeks. Thanks for all your work it is impressive & enjoyable to use.
My main blocker/nervousness is around batch size in reviews… I cannot see a way to set this. (I see the Lessons batch size in the settings). Do you submit every answer to the wk api or wait until all Reviews are done? Or is there a hardwired batch size that is invisible to the user? I am reluctant to use Mina for reviews in case some of my answers get lost. If I have a lot of reviews to do I like to spread them out through the day.
Small feature I miss is a Skip button which I use in S.Durtles. It puts the item back into the current batch. I often find that when it comes around again the answer pops ito my head.
There is no batching for reviews like you have it for lessons. Every answer is submitted, no waiting involved. If for some reason your submission is not successful it will be available in your next review.
You can spread your reviews through out the day just like you do on the web.
I was thinking about this the other day, guess I am not alone. This will come at a later time.
Cheers!
ah, great. Thanks for solving that concern.
There is no batching for reviews like you have it for lessons. Every answer is submitted, no waiting involved. […]
You can spread your reviews through out the day just like you do on the web.
I have a follow on question.
I have not looked at the API (yet
) but from observation it seems that the minimal Review item commit is a meaning + reading pair.
This is fine if you are doing your reviews with Paired in your config. If you close the app or your phone crashes the most you can lose is 1 reading or 1 meaning. But if you use Shuffled (as I have done upto this point) then you could lose a lot more. Think of someone with a 100 items in review who does 20 reviews of random meanings or readings. They are unlikely to have any commitable items i.e. they are all halves. So they will need to keep Mina open, if these results are in memory?
For someone who always ends the day with no outstanding reviews this is not much of an issue. But I suspect plenty of people have a large number of reviews which they work on on those days they have time.
I will experiment with Paired in my settings. Most days I do catch up so I could get away with Shuffled, but thought I would raise the issue.
If you are going to step away from your phone while the app is not in foreground I’ll suggest using the Wrap button to finish the reviews that have unanswered pairs so you don’t lose your progress.
Which button is this?
I see Home and one like a Dagger whose function I havent worked out yet.