28 October 2011

A tale of three blog posts

A week ago, a blogger named Guido Henkel posted a blog post about Amazon’s new and upcoming Kindle Format 8. He pointed out what he thought were serious shortcomings in the format, namely that it had no realistic mechanism for backwards compatibility for those devices that would not support KF8

“Amazon introduces new Kindle eBook format and makes a major misstep.”

That Saturday, a day later, after seething in annoyance since reading Guido’s blog post, I posted a response on G+. Guido is wrong. KF8 has several mechanisms for backwards compatibility, all of them standard practice in web design. I then railed against ebook designers in general, including slamming them all as useless. (Post follows in its entirety.)

“It’s called web design.”

It’s called web design

This post has been making the rounds on the net and on Twitter. It neatly outlines the absolute worst case scenario in terms of Kindle Format 8’s backwards compatibility:

http://guidohenkel.com/2011/10/amazon-introduces-new-indle-ebook-format-and-makes-a-major-misstep/

It is also, quite wrong.

First of all, a quibble. Ragging against Amazon when they’ve announced that they’re bringing support for the new format to over half a dozen different platforms (“latest generation Kindle e-ink devices as well as our free Kindle reading apps” equals the new Kindles, Kindle Fire/Android, iOS, Mac, Windows, and possibly Blackberry) doesn’t give them enough credit for effort.

But the heart of the complaint is that the format won’t be backwards compatible with the older Kindles which won’t support KF8, that only a super-intelligent AI could dynamically generate a compatible MOBI file from an arbitrary KF8 file.

He uses the following example:

“Let me illustrate this with a very simple example. Say, you have an image and you add the float property to it, to have it embedded in your text with the words flowing nicely around it.”

“When converting such a file, all KindleGen can really do is ignore the float property — which, coincidentally, all the devices do already. As result, on a Kindle 2 you will now have the image sitting on the left side of the screen with nothing surrounding it. Perhaps the first line of the text that was supposed to float around it will sit firmly at the bottom, creating a huge, ugly gap. Surely not what you had in mind.”

“If you had properly formatted a version for MOBI devices, instead, you would perhaps have centered the image in this case and spaced it out a little more. That is where KindleGen’s auto-conversion will fail you miserably, because it cannot make decisions like that for you. Things will, undoubtedly get even nastier when your formatting is more complex than this one very basic example, and I would not be surprised if certain elements would even disappear entirely.”

If only there were a profession that specialised in using CSS to target designs for a variety of platform with a variety of capabilities…

Oh, wait… There is. It’s fucking web design.

Look at the added feature list for KF8.

Two things to note: KF8 supports more selectors than MOBI does and it supports @media styles. It doesn’t offer full support, so we can’t target styles based on resolution, orientation or such, but it does load all styles targeted at “All” or “Screen”. MOBI files should ignore both selectors and all @media styles, including those supported by KF8. And if they don’t, my bet is that Kindlegen 2 will transparently strip them from the part of the file that is intended for older MOBI-supporting devices.

This suggests a simple solution to Guido’s backwards compatibility problem. Namely, put all of the KF8 specific styles in an @media style targeting “All”.

Guido’s post also assumes that Amazon isn’t going to use any of the multitudes of fallback mechanisms that web standards offer. Their inclusion of the “source” tag and @media styles, for example, indicate otherwise.

Now, usually I’m all in favour of scepticism and needless doom and gloom, the majority of my output on the internet’s various social networks (Twitter, Tumblr, G+) is proof of that, but this post is not only needlessly negative, it also smacks of a complete fucking ignorance of standard web design and development practices.

And if your fucking ebook designers don’t fucking know web design then they’re fucking useless.

Now, Saturday posts hardly ever get any attention, so I wasn’t really surprised that I only got a few responses to it, but the coming Monday I got a small firestorm of responses, none of them even seemed to notice my central point. All of them railed against my slam of ebook designers.

I did the only decent thing, acknowledged that I had been wrong and apologised, although that wasn’t enough for some people.

But I couldn’t let go of the fact that hardly anybody even acknowledged my point: KF8, and epub3, are web formats which require web development skills. The problem posed by Guido was insurmountable without web dev skills, and easy with them.

So, I sat down and wrote a detailed, even-handed, well constructed and argued blog post that explained that point exactly and in a way that I think was accessible even to those who don’t know anything about web development.

“CSS and ebook design.”

What interests me now is the attention these three blog posts received.

The detailed, fair, and balanced post hardly got any response, didn’t start any discussions, and seemed to just disappear within minutes of being posted.

The angry, rude and insulting blog post had a lifespan that lasted for several days and prompted quite a few discussions. Sure, most of those discussions were just angry people shouting at me, or people taking completely the wrong point, with almost nobody actually responding to the post’s message, but at least you knew people had read it.

The ignorant blog post full of misinformation and falsehoods, on the other hand, just keeps on building an audience, getting links form high profile blogs, cropping up on Twitter on a regular basis, all without any sort of criticism or pushback.

I guess this means that rude and nasty trumps reason, and ignorant trumps everything else. I’m kind of curious as to what people think I should have done. Guido’s original blog post is wrong. It’s reasonable to assume that a correction and an explanation would come from the community (and the correction couldn’t come without an explanation of the whys and hows). Was the reasoned blog post too long? Was the angry blog post too much of a turn off for ebook designers? Why are people who should know better still posting and tweeting links to Guido’s original?

I don’t know.

Everything on this site is written by . In case you hadn't guessed already.