A new *unofficial* reader application for j-novel.club (**now also for Android**)
-
@jaquobus My device has 6GB of ram. Reading is fine, it's menu navigation. I'm finding I need to press a title a couple of times before getting access to the parts from series overview. Latest release also takes a couple of presses unless you use the open part button.
You might also need to have android hide software buttons on the reader or adjust the reader side if software buttons are present. This one is really just cosmetic and doesn't detract from the reading experience.
-
@jaquobus Good Job!
I know it's for tablets but I installed in my smartphone (Xiaomi Redmi Note 4) and some issues:
- Blurry cover images.
- The "smooth animation" is very slow.

-
@zchronos Huh, I thought the covers were too small for anyone to notice that they are blurred – so much for that. Basically I'm using a faster, but blurry resize. I guess I should just use the "good" resize.
For the animation: is only the menu transition animation slow, or also the part reader? If it's the former, your and sniper_samurai's comment probably indicate that I block the UI thread somewhere.
-
For the android version, can I run it from external memory as well as download books to external/sdchip memory? This’d be a huge “selling” point for me...
Ugh, I’ve only got like 500-1100 mb free...
iOS version when????
, -
@thomask Uhm, technically it would be easy (well, relatively) for me to add a "temporarily download part for offline reading" functionality. However, this would definitely require an ACK from @Sam-Pinansky, as this is something which is currently not officially supported.
The issue with iOS is that I have neither a Mac to build the app, nor some iDevice to test it. In theory, it should be pretty easy to port though for someone who has those.
-
The cover image can be a little bigger? Would be enough if it were the same size as the Official App.
For the animation, in the "reader" the effect when moving to the other page is slow (I think it's the duration of the effect).
If you want to skip several pages it takes a lot time. -
@jaquobus said in A new *unofficial* reader application for j-novel.club (**now also for Android**):
@zchronos Huh, I thought the covers were too small for anyone to notice that they are blurred – so much for that. Basically I'm using a faster, but blurry resize. I guess I should just use the "good" resize.
As someone who thinks that you better use larger version of thumbnails on HDPI devices I believe you're doing it wrong.
For the animation: is only the menu transition animation slow, or also the part reader?
Everything is, I would say? In the menu going to "Latest Releases" is done at much lower fps than everything else. The reader seems to suffer from all 3 possible problems: high input delay (even pressing a button is slow), low fps, low animation speed. First two may be tricky to fix, but you should make flipping animation speed faster at least. It sometimes also lag for about a second when page is few dozens of pixels away from destination.
Some or all of problems above may or may not be a consequence of having to render on a 2560x1600 screen.Going "Last Releases"->Part->back to "Last Releases" keeps populating the list with duplicate "first page" parts (and second page won't ever be get then).
Edit: You should use cloudfront for images now.
The download functionality is not implemented yet.
Since it's apparently is something you will get into: you can request /api/users/id/ownedBooks?filter={"fields":["id":true]} instead of requesting the whole volume's data like web app does. Took me a while to realize that.never mind, I thought you had that download button on a general volume page. -
@jaquobus said in A new *unofficial* reader application for j-novel.club (**now also for Android**):
@thomask Uhm, technically it would be easy (well, relatively) for me to add a "temporarily download part for offline reading" functionality. However, this would definitely require an ACK from @Sam-Pinansky, as this is something which is currently not officially supported.
The issue with iOS is that I have neither a Mac to build the app, nor some iDevice to test it. In theory, it should be pretty easy to port though for someone who has those.
Hmm... I’m gonna look into it. I have a iPad, and an app that at least let’s me “test” locally on it. That said, I don’t have a Mac for testing or coding. Neither do I have the developer accounton apples store...
It might be worth it tho... at $99 a pop per year it becomes expensive.As for the download function, I can understand. I notice however that when I’m not on wifi, the amount of data used whe “pagination” is occurring isn’t far off of what I use when I download a manga using manga rock or alternative.
And that happens “every pagination”, especially if you need to switch between apps and it’s unable to “save state”.
I’ll look into trying to run it at least once on the iPad for feedback purposes.
-
As someone who thinks that you better use larger version of thumbnails on HDPI devices I believe you're doing it wrong
It clearly shows that it was initially developed for a low DPI Linux desktop ;-)
high input delay (even pressing a button is slow), low fps, low animation speed.
Hm, the last one is of course easy to fix, and also @zchronos mentioned that it is too slow. Low fps is probably caused by your screen size, that won't be that easy to fix. High input delay means I'm doing something wrong, I'm just not sure what exactly.
And thanks for the hint about cloudflare, I totally missed that the images are nowadays hosted there - whoa, they load significantly faster now!
-
@jaquobus said in A new *unofficial* reader application for j-novel.club (**now also for Android**):
And thanks for the hint about cloudflare, I totally missed that the images are nowadays hosted there - whoa, they load significantly faster now!
Fun fact: I'm pretty far away from S3, but
cloudflarecloudfront hates me and works even slower sometimes.Forgot to mention: dark mode should have darker background (not #444444 or whatever android has by default) unless I really misunderstand it's intention. Though that won't be very useful if controls stay white.
Screen may flicker at startup because it goes white -> dark for a fraction of second (if it's default on the device) -> white interface again. That's pretty annoying.It clearly shows that it was initially developed for a low DPI Linux desktop ;-)
Inserts are upscaled with freaking nearest neighbor. Don't do that.
-
So, I've released a new version, 0.2.0 for Android. It
- ensures that insert images are rendered correctly on High-DPI displays,
- changes the list behaviour on smartphones: single tapping now opens an entry; tablets (or large phones) still use the double tapping behaviour, so you can view the additional info before opening a series/volume,
- sacrifices app startup time to load all screens initially, which should make switching between them smoother,
- has shorter animations, which is probably good for snappines,
- hides the menu bar on Android in the part reader,
- uses the CloudFlare URL, so images probably load faster,
- is less racy when fetching more latest released parts,
- uses larger images by default in the menu, and uses a better looking scaling method
Initial part loading is still much slower that I'd like, and the same holds for jumping multiple pages forwards/backwards. I try to solve this at some point, however it's fast enough™ for me on my tablet, so my motivation for doing so is not too high, and neither is the time I have available for further development in the near future. For anyone who still likes to try it – enjoy!
-
Oh well, with all the new novels out there to read, I thought I might as well release a new version of the app, too. It mostly fixes two stupid things:
- It doesn't re-render the whole part when changing a page, but only the pages which will be displayed
- Put the HTTP cache in the cache directory on Android
-
@Jaquobus Being a big Qt fan that never had the time to get into QML/Quick, I finally had time to play around with your code. The renderer is somewhat buggy, but nothing that couldn't be improved with some work. Was playing around with themes, icons etc. and also added a blur effect when the reader is busy repaginating.


Going to try and add vertical mode in
-
@chocolatkey Have fun. I currently lack the time to develop features myself, but I can still answer questions, or merge features. The icons do look nice.
-
After a while using this app, my opinion:
This unofficial app is better than the official....
Thanks you very much!.
-
I'm happy to announce a new release: Version 0.4.0 for Android is out! It requires Android 5.1 or later.
User visible changes
- On smartphones, volumes and parts aren't crammed into the same view anymore. Instead, you'll select the volume first, and a list of parts will be displayed.
- The filter bar is hidden by default; if you want to filter series/volumes, you'll have to click on the magnifying class icon first
- Thank to contribution from Ricky there is now a Black theme. Furthermore, when using the Dark or Black theme, not only the rendered pages but the whole application will use a dark theme. Furthermore, the reader ships with the Literata font, and uses it by default on fresh installations.
- There is now pull-to-refresh support (though that one doesn't work that great yet in all honesty)
- Parts in the latest releases' list now display the date when they were added
Changes under the hood
- There is now support for ArmV8. This increases the APK size, but should give better performance on most newer devices.
- When the application is suspended, it releases some resources. That makes it less likely to be killed by the Android scheduler.
- Ported the core viewer component from QQuickPaintedItem to the scene graph; this should lower resource usage, and allows to make scrolling smoother in upcoming releases.
As quite a few things have changed, I expect that bugs and regressions slipped through. You can report issues in the bugtracker, or directly here in this thread. Also if you have any feature requests, make sure to tell me about them too.
Lastly, in case someone wants a release for Windows: That's not really an issue, but unless someone requests it I won't do one. -
Seeing something like this makes you wonder why JNC does not put the app as open source and offer you a freelancer job instead of having an official one which does not work so well and an unofficial one which does do a better job.
-
@jaquobus
I tried installing it but I received an error: "Parse error, There was a problem parsing the package." -
@bartzbb That error can have multiple causes:
- You have app installation from unknown sources disabled; you'd need to at least temporarily allow it
- Your Android version is < 5.1; that's unfortunately unsupported.
- You have an Android device running on a x86 processor. Tell me if that's the case, then I'll upload a version for x86.
- Your download was for some reason incomplete/corrupted. Maybe try downloading it again, if none of the above applies to you.
-
@jaquobus said in A new *unofficial* reader application for j-novel.club (**now also for Android**):
- Thank to contribution from Ricky there is now a Black theme. Furthermore, when using the Dark or Black theme, not only the rendered pages but the whole application will use a dark theme. Furthermore, the reader ships with the Literata font, and uses it by default on fresh installations.
I couldn't change font size until I cleared app's data.
- There is now pull-to-refresh support (though that one doesn't work that great yet in all honesty)
Refreshing volume list always causes vector's out of range exception.
As quite a few things have changed, I expect that bugs and regressions slipped through.
Probably an old bug: going to the last page in reader's portrait mode and switching to landscape causes the app to stuck.
jnovelclubconnector.cpp: // extract all image URLs (the HTML should be simple enough in this case to make the RegEx approach feasible static QRegularExpression re(QStringLiteral(R"|(<img\s*src="([^"]*)"\s*(/?)>)|"));I also used to think that but then Underdog's first image was like
<img class="center" src="...">edit: tearmoon's V1P14 doesn't even have quotation marks in src="..."Disclaimer: I'm not actually using this app.