When I first started coding, I bought several 1,000+ page tomes that must have weighed eight pounds each. Books with that much mass do not suit my preferred reading style: leaning back, in my easy chair. They were equally inconvenient when I wanted to work though an example on my computer. Impossible to hold with one hand, I had to lie them down flat on my desk and either hover my head nearly directly above or use both hands to lift it up in order to refer back to the text. Any attempt at strategically propping them up against other books involved a delicate balancing act doomed to fail within minutes. At one point I spent something like $50 bucks on a professional book stand like you’d see in a library to display dictionaries. (At least, such things still existed last time I stepped foot in a library - probably fifteen years ago now.) That definitely helped, but not as much as I had hoped. If I had a 1,500 page book opened to page 750, it worked perfectly. Open to page 75 or 1450, not so much, because the “light side” of the book would refuse to stay open without some assistance from, say, one of those old black binder clips.

Old School Bookstand

I bought my first gargantuan tech book in 2006. The following year, Amazon released its first generation Kindle e-reader. Soon, I thought to myself, reading technical books won’t be such a pain in the ass. I’ll be able to carry around an entire library of hefty books on a single device that, god willing, will weigh about as much as a paperback novel, not a hardcover dictionary. I’ll be able to search and highlight and make notes in a digital fashion and it’ll be oh-so-awesome. I could not wait.

I was absolutely right - except for the word “soon”. On that mark, I was absolutely wrong. Seven years have passed. Seven. That’s, like, practically a millennium in tech years and it’s only now that I hold in my hands an e-reader that actually works pretty darn well for technical books: the Kindle Fire HD6. Every e-reader and tablet computer that came along prior to the HD6 suffered from at least one of three major flaws, making them untenable for reading books with any substantial code content. Either they were too big, too heavy, or were incapable of displaying readable code samples. That last point is what precipitated my HD6 purchase a few weeks ago. While making my way through Roy Osherove’s The Art of Unit Testing with my Kindle Paperwhite, I kept coming across code samples that refused to display within the visible range of the device. Long lines of code literally flowed right out of view. Portrait view, landscape view, it didn’t matter. I could guess what invisible code was, but that’s as frustrating as it is time consuming. I want to read, not decipher. In the past, moments like that frequently precipitated a fruitless google search for a new tablet on the market that might address this particular use case. I’ve always come up empty. This time, however, I finally finally came across something that felt viable. The HD6 had only come on the scene a few months earlier, in September. At $99 dollars and 10.1 ounces the price and weight were right, and reviews like this one lent the impression it would work great for my intended purpose. I figured, if it sucked, I could just return it.

Old School Binder Clip

It did not suck. It’s not perfect either - let’s not quibble on that point - but for reading tech books it’s close enough. It’s only 2.3 ounces heavier than a Kindle Paperwhite, has a narrow form factor that makes it easy to hold with one hand, and - most significantly - code samples display quite well. All the code samples in The Art of Unit Testing that displayed poorly (or not at all) on my Paperwhite were quite readable on the HD6. Some snippets rendered a bit too small for my taste, but that was easily remedied by enabling the Screen Magnifier accessibility setting as indicated here. This allows you to triple tap the screen to zoom way in and move the page around. I use this quite frequently for improving the readability of code samples. Unlike e-ink devices, which have a noticeable lag, page turns are instantaneous. Other advantages over, say, a Paperwhite include a variety of highlight colors and a full-blown browser in case you need to look something up on Wikipedia or do a quick Google search. Plus, you’re not limited to just books. It didn’t even occur to me until days after I got my device, but now I can catch up on my blogs and Readability queue while sitting comfortably in my easy chair, which is super nice.

As I said, it’s not all rainbows and cupcakes with the HD6. Battery life is measured in days or even hours, not weeks. The touch interface isn’t as refined as on Apple devices. Clicks and swipes don’t consistently register. Apps for Fire OS aren’t nearly as slick as on other Android flavors or iOS. For example, in Feedly’s app you “should” be able to close an article by pulling up and dropping the page. Doesn’t work. The page just flickers a bit and leaves you right where you were to start with. It took a few dozen tries to get 1Password’s app to sync with DropBox so I could get copy/paste access to all my passwords. The built-in Silk browser is very vanilla, and you cannot install 3rd party browsers (Chrome) without doing some hacking. But, again, it’s all about your intended usage and for reading tech books and articles, the HD6 is the best that’s currently available. After all these years of waiting, that’s a great step in the right direction! I should also state for the record that despite the many advantages the HD6 has over the Paperwhite for reading text laden with code snippets, the Kindle Paperwhite remains my go-to reader for everything else. It’s lighter, the battery lasts forever, and - nonsensical as it sounds - I actually like that it doesn’t do much else aside from render paper-like text. It excels at distraction-free reading. I will cry like a little girl with a skinned knee if Amazon ever decides to stop selling them.

The Art of Unit Testing

Screenshot of 'The Art of Unit Testing' on my HD6