Open letter to O’Reilly : Your iPhone apps suck
by Martin on 12/12/2009Update:I’ve had feedback on this post from O’Reilly both by email and in the comments. Both Andrew and the other O’Reilly representative I’ve been in contact with seem sincere when they say that these apps will be updated with fixes for the downright broken content and that they intend to invest in further development for the mobile platform.
Since this was pretty much what I’d hoped to hear, I’m going to say that this little outburst served its cause.
To whom it may concern.
I have for years been a satisfied customer of O’Reilly. I’ve bought and enjoyed several books from you both as dead tree paperbacks and downloadable PDFs.
To my chagrin I also bought a number of titles on the iTunes app store once I found out that you publish a selection of your books as standalone apps there. I’m sad to report that I found these apps to be rather disappointing. In fact they are complete and utter crap.
![]()
It’s apparent that what you have done is to adopt the Stanza engine and stripped it down to contain one book per instance. Unless you’ve reinvented an already triangular wheel it also seems that you simply process your Safari PDFs through the downloadable helper app and then push the results to the app store.
Look; Stanza is a great e-book reader when it comes to downloading and reading “Frankenstein” as a Public Domain EPub book. And if you have some totally-not-copyrighted PDF you want to get onto your iPhone the desktop Stanza app does a tolerable job of ripping the file to HTML and reflowing it to read nicely on the small display, but converting PDFs with Stanza in this manner is, undeniably, a hack. It’s a workaround to get a PDF meant for a big screen unto a small screen, no questions asked.
Stanza is admittedly a pretty good solution to get a book onto the iPhone, a few formatting issues aside. There is however a considerable difference between reading a novel and feeling slightly irked because the chapter titles don’t show up in bold and reading a book on programming where half of the code is illegible, broken, or overflows beyond the page and into oblivion.
-

I first noticed this problem in “AppleScript – The definitive guide”. As you can see the code overflows to the right.This is a pretty frequent occurrence on the iPhone when viewing PDFs or web sites that are too wide for the screen. Usually you end up having to drag the page from left to right to read the whole text.
Stanza however reformats your text so that it fits perfectly on the screen which makes it ideal for book-reading, only it doesn’t really do well with fixed width text, which make it a stupid candidate for a book that contains loads of code.
Because Stanza is meant to fit your text into the page it doesn’t allow you to drag to reposition the text. So now your options are to see if you can fit the whole line into the horizontal view or lower the font-size.
-

Even with the font size far below what I can comfortably read (remember, this is even smaller on the iPhone screen because of the difference in resolution) the text breaks.It is to be expected that the code will sometimes be too long for a single line, but this is just a poor handling of text wrapping. There are precedences for how to indicate something should be entered on a single line! You helped create them! The
¬character is one such.The wrapping in these books is completely erratic! Sometimes the code will wrap, sometimes it won’t. Sometimes it will break a line into three lines, and sometimes it will insert a hyphen.
This is code damn it! You know it is, because you write books for coders! Formatting matters to us. Let me stress this point, because it is important: The lousy job you do with the formatting in these books negates their reason to exist. I know ActionScript so I can spot that “
NetCon-nection” isn’t legal, but the reason people buy these books is generally to learn a new language. It’s like trying to learn programming from Calvins dad. 

The awk/sed Pocket Reference, in addition to being by far the worst offender on overflowing lines, also had these gems. The first example is so bad I don’t even know what kind of bad it is. Is it an attempt to reproduce a table over which features are available in different environments or are those dots actually special characters that failed to make it through the PDF conversion?Whatever the deal is with the first one, I’m fairly certain those little boxes shown in the second image that are littered all through the book aren’t valid meta-characters in any shell environment, so I’m guessing there’s something missing here.
Don’t you guys proof-read these things at all?
So what happened? Is there a robot that churns these books out without human intervention? Did you outsource this to some local girl scouts that don’t know what programming books should look like? Or is it just that you don’t care? Because whatever this is, it’s not a work of love, care, precision, professional pride, customer concern, standards or even a modicum of preoccupation that you might be booted from the app store since your apps are broken.
Allow me to make a suggestion. I think there are two decent ways out of this, and I hope against hope that you’ll pick one.
- 1: Stop.
Just don’t do it anymore. I fully realize that it’s not simple to make this content work well on the iPhone, and it is a far far better thing to not make iPhone apps than to make iPhone apps that only disappoint and anger your customers. - 2: Do something worthwhile.
Your core product is the dead tree book which we know and love. You also offer the books digitally, and that adds value because now I can get my book instantly, and it’s searchable whenever I need to go back and reference something.
Why not actually hire some coders to make you an iPhone app that adds further value?Look at Classics. Why can’t I have an O’Reilly bookshelf like that? With in-app purchases you could keep on selling me books to fill up my shelves.
Fix the damn overflowing text. Look at how GoodReader has put in functionality to zip from left to right in one button. That’s what I currently use to read books I downloaded from your Safari store. Better yet. Knock their socks off. You are in a position to custom tailor your app for reading programming books. As far as I know the app store has plenty of geeks ready to part with some money.
And why don’t you add some robust reference functionality. Using GESHI you could add syntax highlighting as well as linking to online references. If it can be done in a WordPress plugin it can be done in your apps. I’m using Mike Chamber’s AS3 Reference app, all the time, and frankly it’s just a local copy of livedocs. Why not aim to make an O’Reilly app that actually becomes a valuable tool both when they’re reading your iPhone books and whenever they need to look something up.
Alright. I’ve said my piece. I do hope someone at O’Reilly will pick this up and rethink the strategy of these iPhone apps. I think the evidence here should be enough to compel Apple to refund me and take some of these apps off the app store if I ever chose to go that way, but I’m not really concerned about that. (I’ve spent too much money on utter crap at the app store to care.) The apps I bought were priced at between $2-$5, but I’ve seen titles that are closer to $40.
I don’t feel saying “all books on the iPhone sucks” or “Reading code on that screen? what do you expect?” is any excuse. I’ve been a fan of O’Reilly books for many years, and I think they have a responsibility towards me as a customer and their own reputation to either offer a decent product or not offer one at all. I’d welcome any views on this from O’Reilly, or anyone else for that matter.
There are 7 comments in this article: