Introduction (gibberish you don’t have to read)
I had a good look back at TheReader the other day. It was my first attempt to write a whole new app for the iPhone and at the same time deal with my frustration of reading books from VNThuQuan on said device. Admittedly TheReader has served these purposes well. I, however, never quite satisfy with it. There are so many flaws in its design/implementation:
- Scrolling through screens of text just doesn’t feel right. And auto-scrolling creates another problem rather than solves it.
- Downloading hundreds of chapters without the ability to pause and resume sucks.
- Images are not downloaded and show up as ugly blue question mark if there is no Internet connection.
- Did I mention its underlying code are crap?
Dealing with these problems and a plethora of extra-minor-bugs-that-I-could-not-think-of-right-now pretty much make me want to rewrite the whole app from scratch. Even if that happens, I could never outdo dedicated ebook readers like Stanza or Kindle for iPhone in term of features. That left me with another, better approach: Instead of creating yet another ebook reader, I trash the whole TheReader thing and figure out a way to make existing apps support VNThuQuan. And so, my friends, after one day of hard-working, goldfish was born.
What’s goldfish? (start reading from here if you ignore the first part)
goldfish is a 141-line Ruby script that helps you turn any book from VNThuQuan.net into a nice ePub file. Give it a URL to the book you want, hit Enter, wait a couple of minutes and you’re done. The generated ePub file could then be opened in any ebook readers of your choice, be it Stanza on desktop/iPhone or Adobe Digital Editions or whatever. Table of contents and images are all kept intact. Screenshots for you guys (taken from Stanza):




goldfish supports pausing/resuming, so a mediocre Internet connection shouldn’t give you any troubles.
Enough talk. How can I lay my hands on goldfish?
Well, goldfish is originally intended for personal use, so it contains loads of hard-coded stuff that I fear would break the moment you run it from your command line. Until I am sure it works properly on different configurations, I can’t make goldfish publicly available. Feel free to give me a shout if you want to help me beta test this little script though. I’d be more than happy to send it to you if:
- you are comfortable with running scripts from the command line
- you have Ruby installed on your system
- you really want to try out this script
- you send me a DM to @quanganhdo, or reblog this post with your comments
One more thing: Why ‘goldfish’?
Just a random name I come up with. Nothing special at all.
That’s it. TTFN.
6 notes