The TLDR version is Abode supports backward compatibility ... and epub - * International Digital Publishing Forum* - is playing with a sprawling mess opting for the race to the top newest standards ... that always works so well and ensures the user base is always upgrading.
I'm very grateful for this information and it explains why I've avoided epub opting for pdf over epub as my reader software is old.
I'm am very much on the side of supporting backwards compatibility. It reminds me of the times the M$ used to upgrade their doc standards ... where if one hadn't upgraded, well bad luck.
>but it can’t validate CSS against a renderer which is fundamentally broken!
The epub standard doesn't say what version of CSS must be supported. There were no guarantees modern CSS would work so I wouldn't call the renderer broken.
> When I started out, I dreaded the moment when I hit the validate button on my finished book after months of work, because it would always find something to cry about.
I remembered one particular master student on the verge of tears trying to compile his LaTeX thesis draft, he took the “write and think about formatting later” too literally and was trying to compile it for the first time very close to the deadline.
This is similar to my experience doing a research project for a fellowship. I had a barebones LaTeX file but I pushed doing the proper formatting for when I was finished writing and then had a hell of a time trying to get it all working properly right before the submission date haha.
Unfortunately, epub and epubcheck isn't the great uncontroversial resource the author makes it out to be. When W3C, Inc. took over maintenance of the EPub spec around when 3.1 was current, they just referenced WHATWG HTML and other ever-expanding browser specs ([1]). Being "living standards", these have no versioning or QA. As a consequence of being based on a version of HTML that redefined headers and sectioning, Epub 3.2 just made existing epubs non-conforming. Which is why Calibre and other tool still recommend 3.1 or better yet 2.
The case mentioned where the CSS min() function is rejected is another place where bulk import of the extremely complex CSS spec is just not helpful. Ebook readers aren't evergreen browsers after all.
AIUI, Kobo devices have a more advanced rendering engine if you name the file with .kepub.epub. (I think it's based on ePub 3?) Not sure if it would fix the problem here. But I personally run ePubs through kepubify (https://pgaskin.net/kepubify/try/) before transferring them to my Kobo.
Adobe has always been like this, too. They squandered an enormous marketshare with Flash because the alternative would've been spending a couple million on QA and they managed to unite all of the browser manufacturers in agreement that the web was better off without such an unreliable partner.
I shipped a couple of things on Flash back in the day but it was staggeringly bad software — random crashes, various heisenbugs where changes in one area would affect unrelated functionality in other modules, etc. — and while it cost something like $800, it was completely unsupported: I filed a number of trivially reproducible bugs with reduced test cases but never heard anything back until the next release came out and they sent automated suggestions that the bug might be fixed so I should buy a full-price license and find out.
I worked in eLearning in the early-mid 00's and Flash/Flex were king at the time... Came to find so many flaws that were used, and kept me from using Flash at home.
A bit earlier... when Adobe had taken over Macromedia, my hopes were really that Flash would become something like a .zip file with assets as SVG, audio, etc. and ActionScript/JavaScript as the glue... I think it could still be a good package format for browsers. Given Adobe's work prior to that on advancing/enhancing SVG support for browsers etc. Making Flash just the best of breed tool for creators.
That's not what happened though. Adobe is just a massive rental scheme at this point, and I think the time may be up sooner than later... I honestly think at this point, the first well-placed competing product with solid Linux support will unseat them. I know a lot of people are using Davinci Resolve and Photopea, and if those work well enough for you, that's great. Not sure the effort it would take to get some of the open alternatives into a better position overall.
When building EPublish ( https://frequal.com/epublish/ ), an HTML-to-epub converter, I faced similar hurdles. Trying to keep compatibility with numerous e-readers built with different stacks and varying degrees of EPUB versions is frustrating.
So far I haven't heard of compatibility issues, so I think EPublish has hit the sweet spot of EPUB targeting. I agree, however, that it feels like the old days of targeting IE6 on the web. Old readers still exist out there, so we have to aim for the lowest common denominator.
Be happy your readers use an ePub reader that supports (or at least, ignores) something like `max-width` in the first place :-P.
TBH i've being using an ePub reader that i occasionally had to edit ePub files so i get rid of the superfluous styling that made it either not work or show things weirdly/wrong and i've heard comments from others that a bunch of files i had no issues with personally were unreadable for them, which makes me think that unless you really and absolutely need any fancy formatting (i.e. math stuff that can't just be made images - and you really tried to!) then you should stick with the most basic HTML imaginable - things that not even IE4 would render (too) wrong.
And in turn, since i doubt this will ever happen, i sometimes ponder making an "epub reconstruct" tool that attempts to reconstruct epubs so that they use the simplest HTML/CSS :-P (ideally configurable for maximum compatibility).
Every Kobo reader is capable of running KoReader ( http://koreader.rocks/ ). That's the first, and probably last, step I'd take to render a book that the default reader takes issue with.
Wow. This brings up some (bad) memories of working with an .epub export about 10 years ago. We had some embedded fonts to work around some poor rendering in some of the readers we tested, but some of the readers ignored the fonts altogether, causing the content to render boxes (bangs head on table)
It looks like not a whole lot has changed in that space -- the readers are still the gate for what you can do with the format. Who's available to make a CanIUse for epub readers, to shame them into compliance? (only partly /s)
As someone who has spent a good deal of time trying to build ereader software, eventually I decided to try to deal with the devil and build on top of RMSDK.
There is no way to get access to it. I don't mean the licensing cost is prohibitively expensive for an indie dev although I understand that to be the case as well.
There is no one to talk to. The email listed on their website does not respond to anything. Not even so much as a "Thanks for your interest" or a "We will get back to you".
I messaged a former colleague who worked there to try to see what the process is to get access to rmsdk. He said he tried to find internal docs about it and couldn't find anything.
I tried to find people on linkedin who might be associated with rmsdk and ask them and similarly found nothing.
Meanwhile publishers only distribute most of their titles with one of their known drm vendors ie Apple, Amazon, or Adobe. The other two are entirely closed off.
If this isn't anticompetitive trust behavior, I don't know what is.
> Epubcheck does basic CSS checking of course, but it can’t validate CSS against a renderer which is fundamentally broken!
But isn't that kind of the point of epubcheck? It's surely not intended to validate all of CSS, it's intended to validate that an epub will work... and not working on Kobo devices (probably #2 manufacturer of ebook readers?) is a major issue.
Kobo is actually in the process of completely rewriting their e-reader software (you can download the beta in the EU), and I’m pretty sure it’s no longer based on RMSDK. Adobe basically handed the EPUB DRM market to LCP on a silver platter by being a poor maintainer and then selling off to a third party that had botched the migration and further angered end users and platforms, that are switching off Adobe faster than ever
For my free novels which I deliberately keep the styles to header2 and body text, it is surprising the amount of crud that all the ePub conversion softwares generate, especially since they are just zipped web-pages.
These days I usually get 90% of the way on google docs, then do the final editing on LibreOffice which can add things like tables of contents and cover image, if it opens on Kindle, Kobo and Calibre I consider it job done.
"EPUB is an amazing open standard for ebooks, and yet so many implementations of it are just fundamentally flawed, all in the name of keeping IP lawyers happy."
Easy to be dismissive, but IP violations can cost a large company hundreds of millions.
IP lawyers are more important to many companies than their software developers.
If you doubt that, check to see who gets paid more...
I don't like .epub. I understand the reasons why this format exists, and I am 100% behind those reasons. But it's because I don't find any EPUB readers appealing to me. Just give me a FoxIt Reader clone for .epub, that's all. But naaaah!!, every single fucking e-pub reader that I tried must be a fucking library collector instead, like it's 2000's Windows Media Player style. I hate that.
As such, whenever I get my hands on an .epub file, I go to an online converter, convert it to a .pdf file and nuke it from my system. Then the .pdf gets opened in my FoxIt.
I'd prefer pdf from the publisher because it'll lay out the same way on my side vs theirs, or if they give epub then I'm converting to pdf for the reason you said.
More expensive and less out-of-the-box software, but straight to the point on device ownership/what kind of software you can run, fewer strings attached.
The article's update points out that it switches to a modern renderer if you rename .epub to .kepub.epub, which seems like a dumb way to handle that rather than a DRM existence/version check, but that's not entirely unusual for backwards compatibility support shenanigans.
(Others point out that Calibre automatically will rename epub files to .kepub.epub for you if you use it to manage a Kobo library. It's just manually copying files to Kobo where you need to remember to do it yourself if you have a Kobo.)
60 comments
[ 3.3 ms ] story [ 59.6 ms ] threadI'm very grateful for this information and it explains why I've avoided epub opting for pdf over epub as my reader software is old.
I'm am very much on the side of supporting backwards compatibility. It reminds me of the times the M$ used to upgrade their doc standards ... where if one hadn't upgraded, well bad luck.
The epub standard doesn't say what version of CSS must be supported. There were no guarantees modern CSS would work so I wouldn't call the renderer broken.
I remembered one particular master student on the verge of tears trying to compile his LaTeX thesis draft, he took the “write and think about formatting later” too literally and was trying to compile it for the first time very close to the deadline.
The case mentioned where the CSS min() function is rejected is another place where bulk import of the extremely complex CSS spec is just not helpful. Ebook readers aren't evergreen browsers after all.
[1]: https://news.ycombinator.com/item?id=41326179
I shipped a couple of things on Flash back in the day but it was staggeringly bad software — random crashes, various heisenbugs where changes in one area would affect unrelated functionality in other modules, etc. — and while it cost something like $800, it was completely unsupported: I filed a number of trivially reproducible bugs with reduced test cases but never heard anything back until the next release came out and they sent automated suggestions that the bug might be fixed so I should buy a full-price license and find out.
A bit earlier... when Adobe had taken over Macromedia, my hopes were really that Flash would become something like a .zip file with assets as SVG, audio, etc. and ActionScript/JavaScript as the glue... I think it could still be a good package format for browsers. Given Adobe's work prior to that on advancing/enhancing SVG support for browsers etc. Making Flash just the best of breed tool for creators.
That's not what happened though. Adobe is just a massive rental scheme at this point, and I think the time may be up sooner than later... I honestly think at this point, the first well-placed competing product with solid Linux support will unseat them. I know a lot of people are using Davinci Resolve and Photopea, and if those work well enough for you, that's great. Not sure the effort it would take to get some of the open alternatives into a better position overall.
I used EPublish for my first novel, Means and Motive, just published here, DRM-free: https://www.amazon.com/dp/B0GYCZJVGX
So far I haven't heard of compatibility issues, so I think EPublish has hit the sweet spot of EPUB targeting. I agree, however, that it feels like the old days of targeting IE6 on the web. Old readers still exist out there, so we have to aim for the lowest common denominator.
TBH i've being using an ePub reader that i occasionally had to edit ePub files so i get rid of the superfluous styling that made it either not work or show things weirdly/wrong and i've heard comments from others that a bunch of files i had no issues with personally were unreadable for them, which makes me think that unless you really and absolutely need any fancy formatting (i.e. math stuff that can't just be made images - and you really tried to!) then you should stick with the most basic HTML imaginable - things that not even IE4 would render (too) wrong.
And in turn, since i doubt this will ever happen, i sometimes ponder making an "epub reconstruct" tool that attempts to reconstruct epubs so that they use the simplest HTML/CSS :-P (ideally configurable for maximum compatibility).
It looks like not a whole lot has changed in that space -- the readers are still the gate for what you can do with the format. Who's available to make a CanIUse for epub readers, to shame them into compliance? (only partly /s)
There is no way to get access to it. I don't mean the licensing cost is prohibitively expensive for an indie dev although I understand that to be the case as well.
There is no one to talk to. The email listed on their website does not respond to anything. Not even so much as a "Thanks for your interest" or a "We will get back to you".
I messaged a former colleague who worked there to try to see what the process is to get access to rmsdk. He said he tried to find internal docs about it and couldn't find anything.
I tried to find people on linkedin who might be associated with rmsdk and ask them and similarly found nothing.
Meanwhile publishers only distribute most of their titles with one of their known drm vendors ie Apple, Amazon, or Adobe. The other two are entirely closed off.
If this isn't anticompetitive trust behavior, I don't know what is.
But isn't that kind of the point of epubcheck? It's surely not intended to validate all of CSS, it's intended to validate that an epub will work... and not working on Kobo devices (probably #2 manufacturer of ebook readers?) is a major issue.
These days I usually get 90% of the way on google docs, then do the final editing on LibreOffice which can add things like tables of contents and cover image, if it opens on Kindle, Kobo and Calibre I consider it job done.
Easy to be dismissive, but IP violations can cost a large company hundreds of millions.
IP lawyers are more important to many companies than their software developers.
If you doubt that, check to see who gets paid more...
As such, whenever I get my hands on an .epub file, I go to an online converter, convert it to a .pdf file and nuke it from my system. Then the .pdf gets opened in my FoxIt.
It‘s working great on Windows, as well.
https://pine64.org/devices/pinenote/
More expensive and less out-of-the-box software, but straight to the point on device ownership/what kind of software you can run, fewer strings attached.
[EDIT]
Great experience blogs on the PineNote
https://shom.dev/posts/20250308_pinenote-day-one/
https://shom.dev/posts/20250406_a-pinenote-only-5-day-weeken...
(Others point out that Calibre automatically will rename epub files to .kepub.epub for you if you use it to manage a Kobo library. It's just manually copying files to Kobo where you need to remember to do it yourself if you have a Kobo.)