[Android] Smouldering Durtles (v1.1.1) - native app with offline lessons and reviews, plus themes and script-like features!

That’ll be what fixed it, I suspect, hehe.

Until the last update, SD the was built on a much older codebase than the version of FD on the Play Store - as of this update though there is parity, so it should be behaving identically - the same code that controls API priority regarding audio sync is in both apps :+1:t3:

I’m sorry for anyone who has experienced issues like this in the mean time, it’s just my own stupidly resulting in a week of manual merging, hehe

2 Likes

I have a rather big feature request which I think would be a great addition but I didn’t dare ask for it when I don’t contribute anything myself, but since you’re asking:

There’s this userscript for wanikani that shows phonetic and semantic kanji composition: https://github.com/mwil/wanikani-userscripts/raw/master/wanikani-phonetic-compounds/wk_keisei.user.js


I think it’s really useful (and IMO ought to be part of stock WaniKani because it really helps memorizing kanji once you’ve got the basics).

At the top of the javascript file you can see the link to various json files containing the databases for phonetic and semantic components.

It seems like it wouldn’t be a huge effort to just integrate this in a similar way to the current stroke order info in Smouldering Durtles, although I haven’t taken the time to look into the details of how the javascript extension functions. There may be subtleties.

I use Solarized everywhere on the desktop but my smartphone has an OLED screen so I use Black Breeze on SD for those nice true blacks.

4 Likes

From my understanding, it is a licensing issue why the phonetic semantic script was not intergrated in FD. I would love to have that in here as well. The rendaku info would be helpful as well. Those are the only 2 reasons i use a PC to do my reviews. I still do the vast majority on my phone anyway.

With SD being a fork of FD, the license issue gets more complicated.

2 Likes

I wonder if the license on such a database is meaningfully enforceable but I get why the original author decided against pushing the issue.

I guess we could crowdsource a similar database with a less restrictive license relatively easily though if we wanted. Maybe I could start a google doc or something similar?

If a handful of people update it as they go through their reviews it shouldn’t take too long to complete it I think.

1 Like

I created a doc to try and compile those components as I encounter them, contributions are of course welcome!

I’m using the wiktionary as reference which, I’m noticing, has slight differences from the data used by the WK script.

2 Likes

Their reticence to move FD to GPL v3 vs the current Apache licence is their own preference, really. Apache 2.0 (which FD and SD are released under) has all the same rights as GPL v3, but Apache doesn’t requite any forks of the project to use Apache.

But this token, I’d be perfectly fine switching SD to use GPL v3 in order to comply with the terms of the phonetic/semantic composition script, however the rub would be that anybody who ever wanted to fork SD would have to use it to, due to the nature of copyleft licencing.

I don’t really see much issue in that, honestly, because GPL v3 protects you just as well as Apache, it just holds you to remaining open source.

Apache = you don’t have to disclose source code when distributing binaries
GPL - you do have to disclose source code when distributing binaries

I do, so would be find with GPL licencing, honestly.

2 Likes

I really highly doubt that the licensing of the phonetic component database is 1/ enforceable, since nobody owns the composition of Chinese characters and 2/ would “contaminate” the codebase if it’s merely referenced as an external resource.

But then again, these issues are always tricky and I understand not wanting to mess with it.

1 Like

It would be extremely unlikely that anyone would take action against use of open source code regardless of licence type in a non-commercial application, but it’s kinda antithetical to not comply with the terms and I wouldn’t be happy doing that.

I mean, they’re all in this research paper, which is what the script writer used as a database source:

https://digitallibrary.sdsu.edu/islandora/object/sdsu%3A4532

It’s worth pointing out that since that information is fair use and pulled from that research paper, and the GPL licence only applies to the code of the SCRIPT, not that data, there’s nothing stopping you just opening the tampermonkey script in a tab and google sheets in the other and copying them out :man_shrugging:t2:

1 Like

Right that’s what I mean, I don’t think the data itself is in any way license-able or copyrightable.

I suppose that the proto-Chinese who implemented this scheme could’ve patented it, but I think it would have expired by now…

2 Likes

That could happen if the time of your phone is not accurate.
Because I have my phone’s clock 5 minutes ahead of the actual time for punctuality, I have to wait five minutes before starting doing new reviews, otherwise I’ll have to repeat them. Probably has something to do with the app sending review info twice, overriding itself and forgetting the reviews you just did.

I think WK’s server will ignore review data if it’s before due time, but since FD/SD are meant to work offline they track the reviews locally using the phone time. So if there’s a mismatch the app may submit reviews that aren’t due yet, and WK won’t accept them.

That makes sense, I wonder if it is possible to fix such behavior.

If the server actually returns are error instead of silently ignoring the data, SD could keep the reviews buffered and retry later.

Small bug, but the color gradient for the apprentice bar is messed up. The darkest color is the 2nd to last square

1 Like

So in that case, would it be possible to consider adding the phonetic-semantic info at some point? That info is extreamly useful. I would not think it would be a top priority. Just something to add whenever you had the time.

You have already done an amazing job and service by updating this app. You have helped many people by doing so and are greatly appreciated.

It’s not possible to relicense code he doesn’t own, you’d need the authorization of the original author.

The good news is that I’m still filling out my own phonetic/semantic component list. I’m 3% done :sunglasses:

I could do it vastly faster by automating the process but honestly I’m learning a lot of interesting historical factoids about Chinese characters by looking into their etymology so I don’t mind the slow process so far.

Did you know that 八 originally was “to separate” (the 8 meaning came later) and that’s why you have it at the top of 分?

1 Like

That’s not entirely accurate, as Apache allows for re-licencing :man_shrugging:t2:

You’re allowed distribute it, modify it, use it commercially, and use any patented components, provided you leave the original notices intact. You don’t even have to show your source code provided you state what you’ve changed from the original.

It’s one of the more permissive of the permissive licences.

See, that’s why I should refrain from asserting things when it comes to licensing and copyright issues, it’s always more complicated than I think.

1 Like

Hehe, no harm in talking about this stuff and clarifying :slight_smile:

Open source software is always a bit complicated like that, but Apache is one of the simpler ones and could be boiled down to “Do what you want with it, down to changing the license, just don’t use the original trademarks or remove the attributions”

I haven’t actually gone round and added any new notices, theoretically I should be adding a new apache notice under the old ones on any bits of code I’ve modified, but it’s not really at the top of my to-do list since I really don’t care all that much if anybody does anything with it - I’m only doing this to help out.

I think I might have been confused because of the issues surrounding BSD licenses (some are GPL compatible, some aren’t). For some reason I assumed that Apache wasn’t.