A while ago I suggested that perhaps the iPhone platform could offer an avenue for publishing technical books. In summary, I argued that the App Store offers a broad distribution network, takes care of sales processing, and even offers DRM protection of content. The only thing really missing was a basic book reader.

I happen to have a few book length manuscripts lying around, so I decided to take one of them — Scientific Scripting with Python — and undertake an experiment: I developed a basic book reader, reformatted the manuscript for the iPhone, and submitted it to the App Store. Yesterday it was accepted, and you can now purchase the book in iTunes for $4.99. As far as I am aware, it’s the first tech book to be published exclusively through the App Store.

In the coming weeks I intend to do a Cocoa for Scientists tutorial on how you develop a book reader for the iPhone. It’ll be an interesting introduction to programming on the iPhone in general, as well as providing source code for anyone that wants to follow my lead and publish their own content on the App Store.

In the meantime, it is interesting to think about some of the challenges of publishing on a device the size of the iPhone. I’m going to sign off with a list of decisions that I made that were intended to enhance the reading experience. Whether they actually do, I’ll leave up to you, but they raise some interesting questions if nothing else.

  • I choose to only offer landscape mode, because otherwise lines of source code would have to wrap too much. Even in landscape format, the source code wraps more often than you would like.
  • The book is in PDF format. This way I could make sure that no accidental wrapping of source code occurred, and that the layout was exactly the way I wanted it.
  • Text is larger in relation to the page width than standard text in a book. This is to make it easier to read on the small screen of the iPhone.
  • I made pages longer than normal, to minimize the number of page breaks in source code examples. I saw no reason to stick to conventional page formats on the iPhone. Why not make the book one big page? Because pages still serve as navigation aids.
  • Because tech books get used as references, and navigation is more important than in a novel, for example, I added quite a detailed Table of Contents.

I’ll explain how I implemented some of these features in the upcoming tutorial.