The Hacker Handheld
A mobile device is a computer you can use while standing up. A serious device is a computer you could use to write real code. What if one computer were both?
Summary
You hold a ten inch screen in your hands. As your palms wrap around its sides, your fingers come to rest on a full-size split QWERTY keyboard. Every part of the operating system has been tuned for keyboard-only use and the sparse window manager screams: “write some code already!” This is the hacker handheld—the computer for programmers on the go.
The Ergonomic Problem
While mobile devices (phones and tablets) and get-work-done devices (netbooks and laptops) keep getting better, the divide between convenient consumption and serious creation remains. For hackers, this means dividing time between reading feeds and tweets on something handheld, and productively writing code on something with a keyboard.

We want a computer that can be productive in the limited space and natural body-position of waiting for the subway, laying in bed, or squeezed into an airplane. One thing we do in all of these positions is read books, so we’ll take that as our guide. Unlike a laptop, you can hold a book comfortably in your hands, and change your position regularly to keep arms, neck and back from getting sore.
As your hands hold the device, your fingers wrap around the sides and fall on keys on the back. It’s a standard qwerty keyboard, cut in half and rotated to the natural position of your hands around the device.
The Interaction Opportunity
The interfaces of consumer electronics and mobile computers increasingly feature “direct manipulation” of controls and objects. But for professional computer users, the point-and-click interface is receding. Emacs and TextMate allow mouse-less file browsing and text editing, and keyboard shortcuts run most well-designed web applications.
But aren’t keyboard interfaces harsh, unforgiving, and tedious? They were in the 80’s, but they don’t have to be. The fuzzy matching in TextMate and extensible suggestions of zsh show that modern keyboard-driven interfaces can be intuitive and user-friendly. A Linux distribution with these APIs built-in to the system could enable a renaissance of keyboard-capable mobile and web applications.
Trying to mock it up
Existing netbooks prove we can make a powerful enough computer in this size. The key question is: can you type quickly on the back of a device? I’ll be ordering some Arduino touch screens to make a mockup and test it out, but hardware keys would be better and getting that mocked up is beyond my abilities. If you’re interested in helping or finding out more, contact me on twitter or by email