03 March 2012
I first heard about David Kadavy's book Design for Hackers on Kickstarter, where he was raising funds to go on a book tour. The irrational part of my brain that thinks autographed copies of books are somehow better than the regular ones disregarded the fact that international shipping would make this one of the most expensive book purchases I've made in years, and hit the "donate" button. To be fair, the USD 75 that I ended up spending turned out to be worth it.
Look! An autograph!
I'm sure many of you reading this started out creating user interfaces in the same way I did. We can appreciate good design and pleasant aesthetics. We've got this idea in our heads that because we can recognise good design and see it in the work of others, that we should be able to create it ourselves. I mean, how hard could it be?
So one day you sit down in front of your favourite text editor and whip up a web site that you're sure will get you a prime slot on CSSMania so that finally your genius may be recognised. You're feeling good about the project, until the moment comes when you open up a fresh browser window and see the crime-against-nature that you've created glaring back at you.
The problem isn't that you've created an abomination and can't recognise it — you know you've just spent a couple hours churning out crap. The problem is that you can't articulate why your stuff is bad, and more importantly how you could make it suck less.
Enter David Kadavy…
Design for Hackers is a great way to skim the surface of many areas of design. You get a beginners' guide to just about everything any half decent programmer needs to know about colour, typography, composition, and proportion.
In particular when it comes to typography I've found it difficult to find a decent guide using fonts with computer displays. Most of the classics focus on print and how ink appears on a page. Anyone whose spent five minutes with a Kindle knows that the medium you're reading on dramatically affects the way you experience text, and choosing a font for use on an display requires an entirely different kind of thinking to choosing fonts for print. Design for Hackers really shines in this department. I've found myself referring to the book's appendices a few times since my first read through, and it's really helped clarify my thinking about typography.
The book itself is well designed (it would be pretty ironic if it wasn't). There's plenty of eye candy, with full colour diagrams scattered throughout. It's a real pleasure to casually flick through. You'll often find yourself coming across things that grab your attention and spike your curiosity.

Kadavy spends some time in the early chapters talking about why design matters, reflecting on his time in Europe. There's one particularly good anecdote where he describes the reaction tourists first have to the Pantheon in Rome, and he uses this to illustrate how good design is built up in layers that play off one another to achieve a harmonious whole. There's really no arguing that these chapters that draw on Kadavy's personal experience are just downright better than the rest of the book. Later chapters on colour and typography are densely packed with information, and this makes them a great reference guide, however as a book designed to be read from start to end it's often difficult to see how you'd apply what you're reading about. I'd like to see future editions include walkthroughs of a design project, or anecdotes about how the author solved problems he encountered in the past using the ideas each chapter discusses.
On the whole, it's an excellent first edition to a book that could very well become a classic of software writing. If you'd like to understand what the designers on your team are talking about, and not embarrass yourself in front of them with your creations, this is the book to start with.
14 December 2011
Just for fun, here's some baseless speculation about the upcoming year.
Research in Motion dies with a whimper. They get bought out by another company who wants their patent portfolio. I'm guessing Microsoft, but Google and Samsung are equally good candidates. In the press release announcing the purchase of RIM, Mike Lazaridis makes absolutely no sense.
Under its new GPL-compatible license, WebOS gets a new hardware vendor. A real one, who is getting sick of the Android licensing and patent situation. Unlike HP, this company actually gives a damn about the future of the project, and devotes considerable resources to filing down its rough edges. Citing WebOS's respect for freedom, Stallman throws his weight behind the the project. This results in approximately zero people buying a WebOS tablet. Citing pleasant hardware and polished software, Walt Mossberg throws his weight behind the project. This results in a couple million people buying a WebOS tablet.
Microsoft releases Windows 8. It's actually good. This surprises people. From day one, there's a gold rush in the Windows App store. Many independent developers become millionaires. Microsoft makes sure we all know about them. While Windows does well, Microsoft Office becomes increasingly irrelevant for home users whose use of cheap/free alternatives climbs. Corporate IT departments start taking Google Docs more seriously as we start to hear about household-name companies making the switch.
Apple has an uninspiring year, with no announcements that are particularly surprising. This disappoints people for no sensible reason. The company remains loaded with cash. The Mac and iPhone continue to sell well, and the iPad continues to own >85% of the tablet market. The retina display iPad, 15" MacBook Air, and iPhone 5 are all released with much fanfare (though some argue "it should be called the iPhone 6, because the iPhone 3G was actually the second model, and…" OK guys, we get it). Honestly, even John Gruber can't bring himself to give a damn about the great iPhone numbering saga of 2012.
From a market share standpoint, Android on smartphones has a good year. New user registrations continue to pour in. Ice Cream Sandwich makes a lot of people happy. At Google I/O Matias Duarte announces Android Jellybean (Jello-shot? Jersey-caramel? Jawbreaker? There are a lot of junk food names starting with J). Internally at Google, questions about the bottomless pit they've been pouring money into for Android become harder to ignore.
From any standpoint, Android on tablets does badly. The majority of consumers still hear "tablet" and think "iPad", and those that know better are frankly more interested in WebOS. This does no favours for the people defending the continued pouring of money into the bottomless pit.
Gabe Newell announces Half Life 3 at E3. It uses an all-new graphics engine developed by Valve to eventually replace Source. In the game, all our questions are answered, and fans get a satisfying ending to a franchise they've loved for more than a decade.
OK, maybe that last paragrah is more wishfull thinking than a sensible prediciton, but a guy can dream.
05 December 2011
The problem with any kind of creative work is that the only way to get better at it is with repeated practice. I want to become a better writer (among other things) so that means I've got to write, but that raises a problem for my future self.
I've been reading through some of the stuff I wrote a decade ago for various classes at school, and the thing that sticks out most is how totally oblivious I was about how bad I was at writing. Some of those essays are just god-awful. They're riddled with quirky uses of grammar, badly constructed sentences, and half-baked ideas.
All of this has got me worrying. Some day, I'm going to look back at this early stuff and I'm going to react in the same way that I do now to my high school essays. I'll roll my eyes at the thoughtless mistakes that seem obvious with hindsight. I'll wonder what on Earth I was thinking when I wrote up that personal anecdote that really shouldn't have been shared with the world. I'll cringe at the mistakes I'm making right now without even noticing.
So to future me, I apologise.