Thursday, December 20, 2007

Steve Yegge Makes You Smarter

I worked "near" Steve while he was Amazon. We were on interview loops together and occasionally sat in meetings together etc. I also started reading his blog when it was just an internal company blog.... I never had the chance to work on his team, but every time he says something publicly I regret that.

In his most recent rant he tackles the "problem" of code-base size. I've done my fair share of refactoring in Amazon's massive code base, and after having been working in Ruby for the past couple years it's crystal clear how VALUABLE concision is. It's really amusing all of the commenters on the post who say "the number of lines isn't a problem when you have nicely modularized code...." They have a point when they argue that Steve doesn't count the number of lines of code in the kernel's of our OSes, etc. but generally I think they miss the general point that he's making which I would characterize as "your language and the expressiveness of that language affects how much code you'll be responsible for" and "the more code you have the less possible it is to keep it in your head" (reconsider his point about 1M lines of code with 50 lines per "page" being equivalent to a 20,000 page manual. He seems to echo some of what Paul Graham has said.

Either way, if you're into software. Steve is well worth reading and thinking his thoughts.

Monday, December 10, 2007

Kindle Review

A couple of weeks ago I bought Amazon.com's latest product offering, the Kindle. I got it primarily to experiment with a new technology but secretly my hope would be to consolidate all of my reading into one little device. I'm typically reading 3 or 4 books , several magazines, the Bible, the Book of Common Prayer, and a dozen PDF papers at any given time (obviously not all at once). The prospect of having them all available simultaneously in a little form factor was pretty cool. If my experiment didn't work then I was planning to sell it on Ebay and take a loss if necessary. I haven't sold it and I'm not sure that I plan to however it's far from perfect. Here's what I like:
  1. I *love* the fact that I can e-mail myself documents and they appear in the device (e.g. send something to aharbick@kindle.com). It takes PDF, DOC, HTML, and a bunch of other formats. Many people complained about apparent lack of support for PDF, but it's just not true.
  2. Shopping on the Kindle is pretty flawless though selection isn't amazing (particularly in periodicals).
  3. The screen provides a great reading experience.
  4. I love the fact that it's about the size of a paperback.
  5. The search, clipping, and highlighting functionality are great.
Here's what I don't like:
  1. There is no way to match a page in a physical book with a "Kindle location" If you have a friend reading the same thing and they say "could you believe page 25!!" you're out of luck unless you respond "can you tell me a phrase from that page" and then you search for the phrase.
  2. Similarly it's incredibly hard to tell where you are in a book. There's the little meter at the bottom of the page that records general progress through the book, but there are no indicators for chapter, etc. This is particularly hard in reading something like the Bible. You turn to Genesis chapter 8 and start reading... The only clue that you've moved into chapter 9 is a tiny little "9" and the fact that the verse numbers have recycled back to 1,2,3...
  3. Also related is navigation... Again, this is mostly related to reading something like the Bible where you jump around a lot. If you're lucky the thing you're reading has a Table of Contents. So from any given page you click the scroll wheel and choose the "Table of Contents" navigate through a couple of pages of ToC, choose one of the chapters and navigate to it. It's about 6 clicks and scrolls to jump around and as far as I can tell there are no "Next Chapter", "Previous Chapter" functions.
  4. The display is pretty weak for anything but text. It's grayscale which would be OK, but in a PDF (that you mailed to yourself) graphics are often stripped presumably because they're vector-based and the Kindle can only do pixel-based images.
  5. The digital edition of Time has absolutely NO GRAPHICS. It's all text. This makes reading the magine pretty hard when the text refers to a chart, etc. It's a pretty poor experience. That said, reading it made me in the "know" for my other Time-addicted friends.
  6. There's a bunch of lame hardware things. a. The battery life isn't amazing. You get at most 7 days if you never turn it off. b. There is no "lock" feature to disable buttons (big pain if you leave it on while it's in a bag). c. the power button is awkwardly located on the back of the unit which makes it very difficult to shut off it it's in the supplied carrying case. d. the previous button should be the entire left-side so that right click is next and left click is previous. Instead the previous button us only the top left and there is duplicate next functionality at the lower left side. e. It's WAY to easy to click the paging buttons while handling the device. f. the navigation wheel is hard to use... too easy to scroll and too hard to push (makes it incredibly hard to click precisely). g. the menuing system is pretty lame. h. The iPhone is a game changer and not having a touch screen feels the same psychologically as using a 28k modem to get on the Internet now.
  7. The selection of materials isn't that great. Of the books I'm currently reading I could only get about 25% on the Kindle. I read a bunch of "theology" books, but even books like "Emergence" or "Cub's Nation" or "The World Is Flat" can't be found. The periodical selection is really poor. There are only 10 papers and not a whole lot more magazines. Basically, I'll have to carry a Kindle and a book for the foreseeable future.
  8. It's proprietary... Once there's a better device than the Kindle how do I port my content? This problem isn't possible with physical books.

So... Now that I look at it, I should probably sell mine ;)

I think that Apple could totally clean Amazon's clock at least hardware-wise. If they launched an iTablet computer similar in functionality but larger in size than an iPod touch it would be vastly superior from a hardware standpoint. Perhaps this is the whole end-game of Amazon? Amazon could be jump-starting a market. Get people talking about the "future of reading"... Get people passionate about it... Apple swoops in a builds a GREAT device and Amazon is there to sell content because they already have the relationships with the publishers.... Hmmm