tecosystems

Why a Developer Laptop?

Share via Twitter Share via Facebook Share via Linkedin Share via Reddit

Dell XPS 13 notebook computer

At the Ubuntu Developer Summit this week, Dell announced an effort they’re calling Project Sputnik. The basic idea was Dell’s latest and greatest XPS hardware pre-provisioned with developer infrastructure: a developer laptop, in other words. As Barton George discussed, this was in part – full disclosure – an idea of mine. One of the questions we’re fielding from the media following this announcement is why? What’s the point of a developer laptop? I cannot speak for Dell on their motivations or the project logistics, but there are two primary reasons I believe a developer laptop program broadly makes sense.

Most obviously, there’s the success of Apple. It’s easy to forget now with the iPad generating Fortune 500 revenue by itself, but developers played a not unimportant role in Apple’s ascent. To be sure, most of the credit belongs to Apple’s relentless execution, in the areas of aesthetics, industrial design, usability and even supply chain management. But developers had their part to play in Jobs’ comeback story.

Developer populations proved no more immune to Apple hardware’s charms than the average consumer. Even hard core open source developers couldn’t resist the siren song of ‘It Just Works’ married to a Unix kernel, and the result was more Macs at OSCON every year. Developers were more than just another market for Apple, however, because as a population they were disproportionately valuable: alone among customer segments, they had the unique ability to make Apple’s platform more compelling. Developers, after all, build for themselves as much as any external audience, and the result was a rich ecosystem of developer oriented tooling and applications – tooling and applications that were by and large more compelling than Linux and Windows alternatives. For Apple, it was the equivalent of renting out an apartment at a premium and having the occupants leave behind a home theater, new kitchens and bathrooms and a kegorator.

Given the importance of developers, then, it seemed logical that hardware vendors would attempt to specifically court them. But none did. As far as I’m aware, Dell is the only major hardware vendor delivering a machine – even in this experimental fashion – that is optimized for developers. Which seems as odd as it is unfortunate.

The second reason developer laptops make sense is the challenge of building developer environments. I’m not an active developer anymore – my work in R is about as close as I get these days – but I am regularly required to spin up environments for various languages from JavaScript to Ruby. Whether it’s to execute provided scripts, test new tooling or simply play with a new language, it happens frequently. In general, this is much more difficult than it needs to be. Part of it is basic questions. For a given programming language, am I better off finding packages, or leveraging runtime package management systems like CRAN, npm or rubygems? What is a reasonably current version of the libraries? And so on.

There is endless documentation for this on the web, of course. But where do I find it for each new community? How much of it is current and maintained? And who is behind the individual configurations? If I wanted to replicate Flip Kromer’s Ruby setup for example, or Ryan Dahl’s JavaScript environment, or Tim Bray’s Android configuration, could I do that? For the most part, the answer to that question is no. Or at least, not easily. Which is unfortunate, because as an industry, we’ve gotten very, very good at machine configuration. Tools like Chef and Puppet or Ubuntu’s Juju are excellent at scripting typical configuration tasks in an eminently repeatable fashion. Why aren’t these tools more commonly applied to desktop environments, then? And why aren’t there canonical – note the small C – images available for individual development environments?

One of our most important roles at RedMonk is to serve as an advocate for developers, who we believe are the most important single constituency in technology. For me, then, the question isn’t “why a developer laptop?” but “why not a developer laptop?” If we can help vendors understand how important developers are and that it’s worth making it easier for developers to set up their environments and share these configurations with each other, that seems like a win here. It will be interesting to see whether the market agrees.

Disclosure: Canonical and Dell are both RedMonk customers, while Apple is not.