RESTful intermediaries for mail, RSS?

The Kindle browser works much better with RESTful sites as opposed to AJAXian Web 2.0-y pages. To be more specific, the Kindle browser doesn’t work well at all with AJAXian Web 2.0-y pages.

So this leads me to look for RESTful intermediaries / proxies for the two most useful network functions: email and RSS feeds. Doesn’t anyone know of such libraries / services?

Kindle Hacking: format is compatible specialization of Mobi, compatible with Open eBook Publication Standard

A quick check with a hex editor revealed that the Kindle .AZW format contains the magic number “BOOKMOBI,” which led me to this set if free eBooks in Mobi format. Sure enough, when copied to an SD card, MOBI files come right up in the Kindle Homepage.

Here is a free-as-in-beer toolchain for creating MOBI files:

So the idea that the Kindle is a proprietary format, while technically true, is overstating the case. Any publisher can trivially create a Kindle-compatible eBook, at least if they already target at least one other digital format.

This gives me significantly greater hope for the future of the device.

Tim O’Reilly On Why No Kindle Support

I challenged Tim O’Reilly, who said “I’m rooting for Jeff and the Kindle,” on the subject of O’Reilly’s lack of support for the Kindle:

Why no O’Reilly books on the kindle? Well, Amazon has chosen to use a proprietary format, with a conversion cost of a couple of hundred dollars per title to that format….[C]onversion to every new format adds complexity…. [T]his very problem that led us to develop the Docbook DTD in the late 80’s….

So I’m rooting for the kindle to take off at a level that would justify that investment in conversion, or for Amazon to open up the platform to read more formats that we already support, like HTML and PDF.

Now, I understand that PDF is a sub-optimal experience with respect to reflow. But we’re hopeful that there will be a standard, multi-vendor format for that, so that we only have to support one more format, rather than dozens of competing ones.

Of course, we may run some experiments on the kindle, and if it takes off, we will certainly support it, as their format will become a de facto standard.

We’d also love to experiment with models in which people who are Safari subscribers could access that content on the kindle. We’d be very eager to have a reseller relationship with Amazon, such that they resell safari subscriptions on the kindle.

[O’Reilly’s complete post]

Very reasonable and certainly the Safari comment sounds like a business and not technical issue.

A Long Weekend With The Kindle: Programmers, Take Note

The first thing that must be said about the Kindle is that the screen technology — eInk — is vastly more readable than any screen you’ve read from before. Pause. No, seriously, vastly more readable. My wife, no technologist, actually used the word “wow,” and after reading a page opined that it was more readable than many printed pages, an assessment I agree with. }catch(DisplayGeekException){ I’ve not used the Sony Reader, which uses similar (same?) technology, nor do I have a 200-DPI screen. I have a high-DPI (150?) screen on my tablet and two 21″ monitors running at 1920 x 1050, and the Kindle is vastly more readable than those. }


The screen is perfectly readable in the tropical Hawaiian sun and, although you can generate a reflection by turning it just so, a few degrees tilt in another direction makes the reflection go away.

The Kindle seems to have been designed with an anti-fashion aesthetic; while the iPod is clearly designed to attract attention to itself, Bezos’ statement that they want the Kindle “to disappear” is clearly not just rhetoric. It comes with a leather binder (in which the Kindle fits somewhat unsecurely); when in the binder, it is essentially indistinguishable from an address book to the casual glance.

When carried outside the binder, the Kindle fits in the hand well (at least, my hand) and has excellent balance. The first morning after getting it, I found myself pouring coffee with my right hand while reading from the Kindle in my left — exactly the type of position that I would do with a book but would hesitate doing with an iPod or PDA. One reason this is a natural position is that they have a “Next Page” button in the lower left of the device where your thumb naturally sits if you have the device balanced in your left hand: I like that button a lot, it is my wife’s sole complaint about the Kindle’s ergonomics (“there’s no place to put your thumb” she says).

The keyboard sucks. I don’t have an opinion as to whether it sucks more than other thumb keyboards, which I’ve never used.


As the coffee-pouring incident illustrated, my natural instinct is that the Kindle does not need to be overly protected. It’s light and well-balanced, doesn’t have any protruding edges, and the periphery is the domain of large, sturdy-seeming buttons/levers. When in its leather case, it seems very good for throwing in a backpack or purse.

“Printed” Content

So much for the good. I bought the Kindle for the purpose of my tech library: I spend over $1,000 a year on technical books and I receive for free probably another $2-3K worth of titles. I’m sure that’s several sigmas from the book-buying norm, but even if I spent “just” the several hundred dollars per year necessary to have the tools-at-hand to be a professional programmer, an eBook solution would be ideal. No matter how carefully I maintain my library, I am constantly realizing that “I just threw out that book last week.”

In my “To-Be Read” pile for technical books: 0 for 13 were available on the Kindle.

Of the technical books nominated for Jolts this year, I searched for the first 10: 0 were available for the Kindle.

In my “To-Be Read” pile for personal reading: 6 for 11 were available.

In the technology realm, only Addison-Wesley imprimaturs seem moderately available on the Kindle (although Wiley told me they were excited about the device). The top-selling “Programming” title is Brooks’ “Mythical Man-Month,” the top recent title is Brian Goetz’s excellent “Java Concurrency in Action.”

Just Discovered Defect: The Kindle store incorrectly lists David Holmes as the lead author, though! Search for “Goetz concurrency” in the Kindle store and you get 0 results! This type of screwup is a huge problem for technical users!

For general reading, I think the 6 for 11 is acceptable, especially for best-sellers — the most esoteric title in my “to-be read” pile that was Kindle-available was “The Descendants” by Kaui Hart Hemmings, the most surprising “miss” was “The Midnight Choir” by Gene Kerrigan.

To try out long-form text, I am reading William Gibson’s “Spook Country” on the Kindle and I don’t miss a physical book for that type of reading whatsoever. (Of course, I’ll have to turn the Kindle off in-between throttle-up and 10,000 feet, which I wouldn’t need to do with a paperback.) And with paperbacks now at the $10 price-point, the Kindle breaks even (absent the upfront cost) for airline reading.

But unless technical publishers make some kind of mass movement to support the Kindle, it’s an enormous disappointment for (my) intended use. If Safari or Books24x7 got behind it, that could change overnight; otherwise, it’s not a good purchase for technical texts today and we will just have to see if technical publishers start supporting it in the coming months.

Other Content

In addition to books, the Kindle Store offers magazines, newspapers, and blogs. None are technical at the professional level (no SD Times, no Dr. Dobb’s, no CACM, no Lambda the Ultimate, etc.). Paying for blogs is absurd, so I won’t even go into that.

There is an “experimental” Web browser in the Kindle. It’s very clumsy to use, but I aimed it at a few of my bookmarks. Some were interesting successes (my site actually renders in a pretty readable way!) and others disasters (specifically, NewsGator and other Web 2.0-y sites). I logged on to a few client sites and discovered, with a certain satisfaction, that RESTful sites work well with the Kindle.

Content is King

The Kindle is a great piece of hardware for reading digitally-delivered text.

The only reliably-available text for the Kindle are best-selling texts: the Time magazines, the New York Times, the You: The User Manual’s.

Professional resources are the raison d’etre for a software developer to buy the Kindle.

Professional resources are all but absent from the Kindle store.

I’ll let you know how the situation evolves.

Morality and Code

Darryl Taft’s article “Toward a Discussion of Morality and Code” is quickly side-tracked into an exhortation that software developers should be moral people (recycle your punch cards, yo!). Not discussed is the more interesting question of whether there is a morality within coding decisions and, if so, what the higher moral principles are.

The agile community likes to say “deliver client value” and I quite prefer that to the old hacker-ish value of “write elegant code,” but client value falls short of being universally prescriptive.

Let’s say that you’re striving to bring online a complex system. The client is threatening to pull out, your team is working long hours, but there are kinks right in the middle of the processing. You believe by adding complexity and special cases you can solve the immediate problem. But on the other hand, the system ought not to be in that state by that point, the data should be thoroughly de-funked. As a professional, you know that you’re seeing a symptom of a deeper problem and that by adding complexity, all you’re doing is masking the pathology.

What’s the moral thing to do, bearing in mind that the client’s threat to shut down the project is serious?

Internet-Connected Washing Machines: (Brilliant) Myth?

While reading the latest ThinkGeek ad copy, I find:

[W]e’re jealous of today’s students. They can now go online to find out if any washers are open, pay for the laundry with their student ID, and then receive an e-mail alert when the washer and/or dryer is done.

Is this true? If so, that is the greatest freaking innovation since the relational database!

VS2008 Ships: LINQ is the Standout Feature

Visual Studio 2008 has shipped.

This is a very compelling upgrade, primarily because of Language-Integrated Query (LINQ), a new feature that is supported in the mainstream .NET languages VB and C# and will almost certainly spread to every .NET language and, I suspect, into the Java world in a few years.

Most readers of this blog will be familiar with LINQ. If not, you might find my latest column for SD Times, LINQ Clicks, useful.

Kindle Me

Amazon has shipped the Kindle, which I think may very well be the game-changing device the eBook market has been waiting for. Compatibility with PDF, plaintext, HTML, “Kindle format” (structured HTML), plus free EVDO connectivity, plus email-your-document-to-the-Kindle (killer). Books are $9.99. If O’Reilly puts Safari on this thing, they’ll sell one to every programmer in the developed world.

As a matter of fact, I’m going to start emailing PR reps of the various tech publishers trying to get a response on the Kindle. Bookmark this article, I’ll update as appropriate. Or, if you are a PR professional working for a technical publisher, contact me at lobrien -at- with your press release.


No Starch : “We do not have an official position on Kindle.”

O’Reilly : “We don’t have a stated position on the Kindle yet, as we haven’t seen one or had the opportunity to discuss it at any lengths with its developers.  Check back with us in a bit – We’ll be sure to let you know as soon as we do have an opinion.”

Wiley: “Wiley is excited to actively participate in the newly launched Amazon Kindle.”

Pragmatic Bookshelf: “It’s a tough call.  … Our PDF’s are not encumbered by DRM, so it’s important that any PDF reader be able to handle that … I’ll reserve judgement on the Kindle until I have one in hand, and see how it performs in all respects”

APress: “don’t have anything official to state yet.”