[No Longer Maintained] Flaming Durtles - Android app with offline support

Putting it above the keyboard would make it overlap the answer input field for some devices, depending on screen size and settings. The ‘close enough’ toast doesn’t jive very well with lightning mode, that’s just the way it is.

There are a few things you can do. One is to disable lightning mode, the ‘close enough’ message is then shown inline just above the subject info dump. Another is to set the ‘close enough’ prompt to temporarily disable lightning mode for that one question. Or just disable the ‘close enough’ toast again. After all, it’s disabled by default, you can always go back to the default setting to not show it at all.

The square cards for the radicals/kanji don’t mix with the vocab cards, they are always kept completely separate, and nearly always with headers or other views in between. And the vocab cards have to be wider because vocab can be very long, while radicals and kanji are always exactly one character. It only makes sense to lay them out in different ways.

The old table-based layout is not coming back. It was causing too many layout and performance problems, especially with long vocab, it was too inflexible, and it was awful on wide screens like tablets.

I’m busy experimenting with some layout changes to make things look better, but most of my experiments have been less than successful, especially considering that the three different themes each impose very different constraints. I’m prepping a release with two experimental layout options as a trial, to see where to go from there, I’ll push it to the store tomorrow.

Version 2.0.0, 2020-07-20:

  • Add a hint when answering a reading question incorrectly because of the common niyuu/nyuu にゆう/にゅう mistake.

  • Switch the logic for allowing sync/downloads on WiFi only to check for an unmetered connection instead. This makes no difference in most situations, but this takes into account the possibility of unmetered connections that are not WiFi, and of metered connections that are WiFi (such as hotspots created by another Android device). Basically, if you’re using a metered WiFi connection, FD will act as if you’re on cellular data.

  • Add a small drop shadow to text in a few places to increase contrast and readability, especially in the Light theme.

  • Hide reading in subject cards if shown during a quiz and reading-related information is suppressed.

  • Refactor out some legacy functionality in preparation for Android 11 support.

  • Add a temporary, experimental option to change the layout of the subject cards in search results and subject tables. This option will only be there temporarily to try out some different layout options, in a future update it will disappear or be replaced with something more permanent.

  • Add a ‘burned less/more than X days ago’ filter to the advanced search form.

  • On the session summary screen, add a button to bulk-resurrect items in that session that had incorrect answers.

  • First open source release, the code is available at GitHub - ejplugge/com.the_tinkering.wk

13 Likes

great job @ejplugge. I plan on implementing a small change to the randomization during review: making skipped items end up last in the queue and only be shown once all non skipped items have been shown.

would you be interested in a pr for it?

Sure. One condition, though: the ordering settings chosen by the user have to be respected at all times. Weakening the ordering rules would make for a confusing mess, and the ordering is muddy enough as it is.

So if the user selected order by level, but did not select shuffle-after-selection, and the user’s session has level 20 and level 21 items, then all level 20 items (including skipped level 20 items) must be finished before the first level 21 item is selected.

And be aware that there isn’t really a queue, only a list of candidate questions ordered by sort bucket. When a question is chosen, a random one is selected from among the current bucket. To force skipped items to the end of the bucket it’s no use changing the order of the candidate questions in the questions list. You have to extend the selection logic in the Session.chooseQuestion() method.

right. that’s not what I want . I order my reviews by SRS stage and if I skip an item then I really don’t want to see it until I’ve done all non skipped items.

so when I press skip I want it placed in a separate skip bucket which is not used for selection until other buckets have been exhausted.

I may open a PR anyway and let you consider it then, depending on how it turns out .

thanks for open sourcing again!

Yeah, I was afraid of that… Not meaning to be rude, I just don’t want to raise false expectations. Nothing is set in stone of course (well, some things are, but not anything like this), but I’d have to be convinced it can be done without bumping up the level of confusing complexity, before I’ll accept such a PR. I have to be a gatekeeper of sorts and sometimes say no to protect users who have small screens, old Android versions, or who can’t handle a lot of complexity. There are over 12,000 of you lot, which is a kinda scary number, and quite a few of those need that protection to keep FD a widely useful app.

FD is already bogged down by far more complexity than is healthy for it, considering the widely spread usage patterns out there. I have to limit what gets into the code base to avoid letting the complexity get out of control. That means, among other things, that I don’t want to add new settings to modify existing functionality if I can avoid it, and that different settings are not allowed to interfere with eachother in non-obvious ways, so that if you enable setting X, you can rely on X actually happening. So if you order by level, you will actually get ordering by level, not ‘kinda sorta ordered by level except if you do Y or Z or during a full moon’.

As a compromise, I did add a setting to shuffle-after-selection as a simple binary all-or-nothing option. That way, after initially applying the ordering settings to build the session, the ordering is just discarded completely by putting everything in a single bucket.

I quite understand. I’ve made the mistake of saying yes to users more than I should’ve myself. It’s really hard to say no. Plus youve already explained your wishes with regards to PRs and such so I just thought it best to ask.

I like the Durtles app but… I have actually used the Chrome/MS Edge (Chromium version) pinned as an app both on Android and in Windows.

For me, if Tofugu would release a PWA that just uses the WaniKani website as the base, with a way to cache data locally if we so desire, it would be perfect.

Until and unless Tofugu comes out with something, I will use WaniKani pinned as an app for lessons and review and have Durtles hit me with notifications when new lessons/reviews are ready since the pinned app doesn’t seem to offer notification capability. :frowning: I’ll also use the more interesting data in Durtles

The drop shadows really help a lot. Thanks for adding that.

I found a weird UI bug. Unless it was intentional. When I answer a card, white bars appear on the sides now.

1 Like

Got it. It’s not intentional, but it’s a side effect of another intentional change. I had some layout inconsistencies and margin errors on top-level layout components. They’re fixed now, but I overlooked that the quiz question view needs some specialized treatment.

Fixed, it’ll be in the next update.

1 Like

@ejplugge I have found that the widget is out of date most of the time. could you add an update for it in the hourly notification alarm maybe?

It’s already there. The hourly notification alarm handles both notifications and the widget. Usually, if notifications and widgets are out of date, then that means the device is not letting the app get woken up for the alarm, likely because of battery management.

If the notifications are up-to-date, but the widgets are not, then there’s something else going on. But I haven’t seen that happen yet.

I stopped using the notification because it was always out of date too - but in a different way.

I usually didn’t dismiss the notification. which meant it just lingered there with out of date numbers after I had finished reviews.

The notifications don’t matter for the widget. The widget gets updated independently, both whenever you finish a review item and when the notification alarm goes off. They just share a trigger event.

What do you mean by the widget being out of date then? Can you upload your debug log so I can see if the app on your device is even receiving the alarms?

oh I’m sure it’s just because of battery optimization.

Is there an option to turn off the new Drop-Shadow in the light theme? I’ve looked in the options, but can’t find it. Sorry if I missed it.

As always, much thanks for the continued development of the app!

What do the little green arrows in the dashbord graph mean?

No, there isn’t, it’s not needed. I made sure to only apply the shadow in places where it would have a positive effect, but if the shadow is causing problems anywhere, please post a screenshot.

2 Likes

They indicate a time slot where you will get reviews that are directly on your level-up progression path.

That is, time slots with that arrow have kanji for your current level, and/or radicals that are keeping those kanji locked. So doing those reviews will directly push you along to the next level-up.

2 Likes