An infuriating story about something most of us don’t really stop to think about: e-books and the rendering engines companies and software use to display them.
It’s the year 2026. Thanks to the horrendous [Adobe] RMSDK which Kobo decided to use as their backbone for all book rendering (probably for DRM reasons), a single line of perfectly valid CSS turns a perfectly valid EPUB file into a “corrupted file” on Kobo and just drops the whole book. No clear error message, no fallback. Just a massive fail.
↫ André Klein
The level of obnoxiousness goes even deeper: Kobo devices ship with a better, actually maintained renderer for e-books as well, but in order to have a book use it, the book file in question needs to have a specific file extension. Remember that e-book files are just packaged websites; there’s no reason to do any of this nonsense with two rendering engines, one of which is shit and frozen in time.
I have never had to do anything related to creating an e-book – I just put books on my own Kobo and read them – and even I am getting annoyed just reading this.

And that’s why when I pirate O’Reilly books (so I can do my job), I always go for the PDF when available. PDF is a well-understood and well-implemented format, it’s formatted as a book (which means it renders well on mobile devices), I can upload it to Google Books if I want to, and I can print it anytime I want.
Only when a PDF isn’t available, as a last resort, I use an EPUB to PDF tool.
In my experience, support for reflowing PDFs is much less common and less reliable and, because PDFs have more in common with SVGs, you’re more likely to get something that doesn’t unroll into text cleanly and in the right order.
EPUBs are better for devices like phones that need reflowing to read comfortably, and for situations where you want to pull the HTML out of the renamed Zip and process it yourself without the buggy Adobe renderer.
kurkosdr,
PDF happens to be the worst format for e-book readers though. I have tried many devices in the past, Kindles, Nooks, random Chinese ones. Various sizes. Different “page turn” optimizations.
Nothing properly works. It has to be actual physical size (A4/letter) and high resolution, which makes it in the $500 – $1,000 territory. And still does not give the same experience,
epub/azw?/mobi are perfectly fine formats if you strip the DRM. They format to the size of your screen, and be used by screen readers.
Use Calibre + DeDRM on your legally obtained books, and you’d be set for life. It also has the benefit to convert between Amazon Kindle and Everything Else (yes Amazon is stubborn) as a bonus.
sukru,
I agree. PDF is important for things like legal forms and documents that ultimately have to go to paper. However they lack the “responsive design” that allow a document to naturally render onto more arbitrary screens.
PDFs aren’t so bad on a computer monitor but I hate trying to read one on a mobile screens. Zooming into text is very different than increasing font size and allowing the text to reflow. If I zoom in to make the text bigger, I may have to end up horizontal scrolling every line…ugh. It’s common for print media to be rendered into columns, which sometimes helps with reading long text on paper, but breaks the “scroll down” usage pattern on mobile.
Much like kurkosdr, I actually do use PDFs a lot for archiving purposes. For all of PDFs faults injecting unwanted page breaks and conversion to a non-responsive format, the reality is PDFs are more robust than anything else I’ve tried. “Save page as HTML” is cumbersome and often fails me in practice. I don’t want my saved documents to contain javascripts and remote HTTP calls…. Sometimes using copy/paste into an office document works, but it is extremely flaky and not reliable. PDF gets rid of all that garbage, which is great! I just wish there was a variant of PDF that could maintain HTML’s responsive design.
Out of curiosity, is there any reason why EPUBs don’t work for you as an archival format? I switched to using them instead of PDFs some time ago, and they tend to work quite well.
oskeladden,
That could be a good idea. TBH I haven’t tried because FF doesn’t provide an option for it out of the box like with PDF.
I’m looking right now and see some EPUB extensions that depend on external servers to generate epub files…
dotepub.com
epub.press
I strongly dislike this approach. At least epub looks like I could install my own server, but I would strongly prefer something that just works client side. Do you know if there is a method to generate epub documents that simply works from within firefox without needing external dependencies?
ePubs are terrible for technical documentation
Tables, images, code snippets to not align well.
They are excellent for fiction and non-fiction literature of course.
Alfman,
I actually do it via Instapaper, which supports epub exports (and also has other features I find worth paying for, such as Kobo integration and e-ink support). However, EPUB Creator is an MIT-licensed option which runs locally:
https://addons.mozilla.org/en-GB/firefox/addon/epub-creator/
It uses Firefox’s own readability engine, rather than an external server.
I used EPUB.press until I began using Instapaper. It works very well with a local server. However, there is a slight issue in that you need to manually edit a JSON file to set it to use a local server. The addon does not directly expose the option. This means that you can only really use it with the Developer branch of Firefox given the ban on unsigned addons in the regular version. However, it works pretty well once you have set it up.
oskeladden,
Thanks for the suggestion.
I tested it just now (on this page) and it only captured the article (ie Thom’s writing). It’s obviously got some “smart” logic to select content that it deems important and I don’t see any way to override it. This goes against my requirements. I can’t depend on a tool that chooses what it wants to do. I’d really need a tool that captures the whole page or what I say,
I’ll keep looking, maybe something works better. Even though you might convince me that EPUBS are better than PDFs, I’ll be honest I’m not open to becoming tethered to 3rd party services to get there. I’m a bit dogmatic about it, but I feel that’s a bridge too far in giving up my digital independence. I’d rather use an imperfect PDF format.
Yeah. FF used to be the browser of choice for power users and it bothers me a lot that their original values are trashed and they’ve turned to the apple model of depriving users of sideloading rights. It’s still better than what google are doing to chrome, but disappointing never the less 🙁
That particular decision was a response to a scummy downloader using shaped windows overlaid on Firefox to trick users into thinking Firefox itself was guiding them through OKing the downloader’s side-loaded extension to run. (The same kind of attack Wayland was also designed to prevent by denying applications the ability to locate other applications’ windows and globally position their own windows)
The rationale is that they’re protecting the kind of users who historically conflated “Internet Explorer” with “The Internet” since, if you install a non-branded build, the icon will be different and it’ll mess them up.
ssokolow (Hey, OSNews, U2F/WebAuthn is broken on Firefox!),
I wouldn’t care so much if they restrict policies by default, but ethically they should respect the owner’s wishes and not impose restrictions like a dictator. This has become a huge problem for owner rights and I for one am disappointed that mozilla are part of the problem. IMHO they are loosing the opportunity to be the champion for owner rights against corporate control and the ongoing regressions towards a 1984 world. And not for nothing but they are loosing a lot of users they cannot afford to loose; it could even be an existential threat for mozilla.
Alfman,
Ah. That is actually Firefox doing that, not the addon. The addon uses Firefox’s Reader mode to turn web pages into text. Firefox removes comment blocks in Reader mode.
I sympathise fully with your wish to not rely on third party services. If I were healthier I’d be more dogmatic about it too. That is why I ran epub.press with my own local server for many years. It’s a pity that epub support isn’t built in in the way PDF is, as it’s much better for many purposes.
oskeladden,
Oh I see. Yeah that won’t work for me.
Indeed. I feel a lot more people would use the format if that were the case.
I don’t have a reader and it hasn’t really occurred to me in the past to use the EPUB for archiving applications. I see how EPUB could be the better choice for digital content that isn’t modeled after physical pages. I only tolerate this property of PDFs, but it’s an annoying way to represent web content. I’m looking at the format specifications for EPUB right now to see how similar it is to HTML with CSS.
As I understand it, EPUB is a restricted subset of HTML and CSS, plus a manifest file or two, inside a .zip file.
ssokolow,
Yes, at its core epub is an HTML Zip. (There are also just htmlz files with less restrictions). You should be able to rename the extension, unzip, and view in a standard browser
Amazon’s mobi used to be similar, but they switched a binary azw(?) format. That is “compiled” HTML. Some of the parsing is done ahead of time, so that the device can render it faster (and move around faster)
Mobipocket has always been a binary format analogous to something like a Microsoft OLE Container.
https://www.loc.gov/preservation/digital/formats/fdd/fdd000472.shtml
…and Wikipedia makes no mention of such a significant change to the HTML packed into the container (emphasis mine):