Today, as the Kindle Format 8 specifications were made public, the #eprdctn Twitter group filled up with complaints about what the new Kindle Gen and Kindle Previewer 3 were doing to people's ebooks. It sounded worrisome.
So, I took my “From InDesign CS 5.5 to EPUB and Kindle” book, which I had previously converted to mobi with the old Kindle Previewer 2, and converted it with Kindle Previewer 3 [Note that the new Kindle Previewer 3 contains the new Kindle Gen 2, with a GUI interface. Though it's ostensibly just for viewing mobi files, it also converts them without having to resort to the command line.] And then I unpacked them with my new toy, mobi_unpack, and compared the files inside.
Inside there are old mobi files and new KF8 mobi files (and the original EPUB!).
I started with the old mobi files. What I didn't realize is that Amazon has been generated non-standard hideous code for their ebooks for years. It's like MySpace in here. Look:
Here's my original code:
<p class="caption">The Articles panel starts out empty. You have to add articles to it manually either by dragging frames to it or by clicking the plus sign.</p>
And here's how KP 2 converted it to old mobi:
<p height="0em" width="0" align="center"><font size="-1" face="sans-serif" color="#000000"><i>The Articles panel starts out empty. You have to add articles to it manually either by dragging frames to it or by clicking the plus sign.</i></font></p>
And here's how KP3 converts it to old mobi:
<p height="0em" width="0" align="center"><blockquote width="0"><font size="-1" face="sans-serif" color="#000000"><i>The Articles panel starts out empty. You have to add articles to it manually either by dragging frames to it or by clicking the plus sign.</i></font></blockquote></p>
All I can say is ew. <font>? Really? What is this, 1997? Not only is this garbage in your HTML, when it should clearly be in the CSS, but it's old, and deprecated. Even when I set the Doctype to HTML4 Transitional, about as loose as you can get, the document created with the brand new Kindle Previewer 3, released today, had 3482 errors and 239 warnings. It does not validate. It's garbage.
The only differences I found in files converted with the old Kindle Previewer and the new was that they no longer add
!importantas an extra value for the
alignattribute (makes me shudder just to think of it, and I can't imagine it ever did anything in the first place), and the addition of
blockquotetags, who knows why (as in the above example).
That was the old mobi content.
You can also find KF8 content in the Kindle Previewer 3 converted mobi file.
First I compared the CSS. It's very similar.
The only difference I found was that in the KF8, the
max-widthproperty was eliminated. I imagine as I investigate more, I'll find other things that KF8 won't accept. I'll let you know.
Now on to compare the HTML.
I see that KP3 changes
<a id="Anchor-123" />to
<a id="Anchor-123"></a>. Not monumental. Not even significant.
And there were a bunch of spacing things, but really, if people are noticing differences upon viewing documents, I don't think it's because of the conversion.
The KF8 inside the mobi is practically identical to my original EPUB file.
But then, I opened up the new KF8 mobi file in my Kindle Fire. I found one small difference with the indenting.
The things is, I'm not sure that's KF8's fault. I think it's probably the fault of mobi, which had some weird indenting behavior that I distinctly remember fiddling with a lot to get the original effect (right). And it looks like it breaks in KF8, which, as I noted above, is much more standard and looks just like my original EPUB.
So, I just need to fix the indenting.
All in all, I didn't see a lot of difference in the way this file was displayed, between the old mobi and the new KF8 mobi. Indeed, I think the move away from that disgusting code is a major improvement.
And the KF8 file looked exactly the same on my old Kindle 3 also. No change that I could discern. (In other words when you serve a KF8 file to an old Kindle, it keeps looking at the same old clunky mobi code that it always has, and the book doesn't break—anymore than it did before.)
I still want to go through each property, bit by bit, to see what's supported and how, but so far, I'm hopeful.
Now, why they just don't call it EPUB, since that's what it is?