As I’ve mentioned before, I like to think of programming as an art form. Just as the practice can be made up of CRUD web applications and incomprehensible legacy-code backends, it has another side, which is comprised of elegant designs, reusable modules, and smart solutions to hard problems. The creation of programs that fit into this latter category can be, in my opinion, so creatively difficult yet satisfying; I have to believe that the feeling is close to what a sculptor feels as he carves into stone and slowly manifests the image he’s been holding in his mind.
However, you’d be hard-pressed to find an artist who does his best work with no tools at all. Whether it’s a paintbrush or an aerosol can, something is needed to help get the paint onto the canvas. And what is the tool of our kind of artist? Generally, a laptop.
The Status Quo
To be honest, I think the modern laptop is a pretty terrible paintbrush. It does have a lot going for it, and its benefits allow the work to be done with very little friction, in a stylish and powerful way. This is why you’ll never hear about a developer complaining that their laptop just “isn’t the right tool for the job”. Of course it’s a good tool for the job! A laptop can run a hundred terminals, text editors or IDEs at once, has an excellent built-in interface to the largest knowledge repository the world has ever known, and has unbounded versatility. What else is there to need from a device whose purpose is to write code or text?
To answer my own question, “writing code or text” is kind of the rub here: their purpose isn’t to write code or text. Laptops, in general, are pretty poorly optimized for this type of work. They nearly always have glossy, wide displays that are great for watching movies but terrible for seeing a page of text at once, or (like in recent MacBooks) great trackpads for swiping around the Internet but very subpar keyboards – the main interface between a writer and their work. None of this is inherently terrible; these screens and trackpads make for an extremely pleasant experience for the average laptop user. The only issue is, this type of creative work we’ve been talking about isn’t even close to the (perhaps consumption-based) use case of the “average user”.
So, supposing that we were to make a new kind of device, a laptop spin-off that really was optimized for development and writing work, one that would allow creativity to flow from mind into machine in a way that’s not only frictionless, but actually aided along by the tool of the artist… what would it look like?
I’ve been thinking about this for a while, and I’ve come up with the following direct improvements:
An e-ink display. Given that there’s absolutely no need for a high-res glossy LCD screen when writing or reading text, we could easily ditch it in favor of a slow-refreshing e-ink display like that of a Kindle. Not only would we see massive battery gains (since the screen is the #1 power consumer in a laptop or tablet), but even more important, it’d be significantly easier on the eyes than a typical laptop screen. E-ink displays are made to look as close to paper as possible, be seen in direct sunlight, and not hurt your eyes with extended use, which would all be amazing traits to have in a writing device.
A low-power ARM processor. Editing text and compiling smaller programs are not in any way CPU-intensive tasks, and anyone who’s used a modern smartphone can attest that they’re more than powerful enough to handle jobs like this. And since anything we want to do with this device can be handled by a smartphone-sized processor, we can thus further improve battery life by using a super-efficient processor and running a simple, lightweight, user-friendly distro of Linux like Elementary OS.
Small. Ideally we’d want our tool to be available whenever creativity strikes the user, like a small point-and-shoot camera that a photographer would always keep on hand (before smartphones). This means it’d have to be very lightweight and fit into a small backpack or purse. Potentially, there could be no trackpad to further reduce size. The computer would only ever be showing two or three types of screen (a terminal, a text editor, maybe a PDF reader?) and thus a trackpad for swiping and scrolling might be superfluous.
A first-class keyboard. This one is kind of obvious, but especially if there is no trackpad, the keyboard will be the exclusive way to interface with the computer, and thus it has to be really, really good – like those of the old ThinkPad series of laptops.
Cheap. This laptop-alternative is just a tool, a conduit for thoughts to turn into text, and thus shouldn’t be fancy or revered. The way I treat my $2000 MacBook Pro from work is extremely gentle and protective, because of how expensive it is – I feel that instead, a creative tool should have the same “throw it in your bag and go” quality than some pens and a notebook have, and it should be trivial to replace if lost or broken for the same reasons.
From my point of view, an additional, implicit benefit is that a device with these traits is very difficult (or impossible) to use in the way a “normal laptop” would be used. I know I probably spend more time than I should looking at comics on the internet or watching YouTube videos when I didn’t really mean to. A nice slow computer with an e-ink screen would inhibit this type of distraction very much, as it’s just terrible for any kind of content consumption. So, its deliberate limitations end up being its biggest strength!