Working on My Manga Reader and other projects

There’s ups and downs while developing MMR, it’s been close to 4 years since I started the project, there’s been times when motivation decreased especially when the app was removed from the play store and my hard work of building an active userbase decreased from over 50000 to now roughly 100 users. There’s always a monetary aspect to consider especially now when my family is growing and I’m expecting a new baby girl by the end of the year.

Trying to branch out, I’ve started work on My Anime Viewer again, shooting for a release this weekend, but it’s right now in a tough position since currently there is only 1 source that it uses which is Anime-Joy and a couple of the other sources I’ve looked have cloudflare’s ddos protection which requires a browser that supports javascript while I primarily use jsoup to scrape html. But I’m still hopeful that people will enjoy the app and I’d be encouraged to continue developing other apps.

Ramblings on MMR Download Manager

After a recent issue reported by Johnson Le on the┬áBug Tracker, I’ve looked into the download manager code for My Manga Reader once again, it was built upon a library, which I can’t even find anymore. It was modified to work with Manga/Chapter downloading, but the original feature set was pretty decent, pausing and resuming seemed to be a plus, the issue came when we download a chapter we treat a chapter as one object but when we download a chapter, it’s the pages that we need to download. So commonly download managers are about managing a download as an individual entity. Where in the background thread you just open a connection to the file you’re trying to download copy the bytes and save them to a local file.

Right now after looking at the Download Manager’s code, there are quite a few pieces missing when we download a file, we don’t track the state (queued, downloading, paused, completed) consistently causing most of the issues, I’ve made some changes and hopefully the behavior will be more consistent in the next release.