Blogs

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.

7 Responses

I went to look at the specs to see if I could seriously consider this laptop… but on the page to order it (http://www.dell.com/us/p/xps-13-l321x/pd) there seems to be no options to use Linux instead of Windows. Sounds like a missed opportunity in the developer market.

Edit: Duh, I should have just followed the links in the post… so Ubuntu is the core OS of project Sputnik but it is not available currently from Dell (directly).

I recently found out about rvm and pythonbrew for Ruby and Python respectively. Both those tools *handily* manage the version/package management story for each language. If I ever have the chance to build a real project using either language, they’re going to be the first thing I install. If everyone *was* using these tools where they’re available, environment replication would be a *lot* easier. Though still not quite perfect.

Of course, there are also whole system approaches like NixOS and its package manager. But the end result is that we have to abandon a lot of the standard System V file organization setups that we’ve been using for 30 to 40 years because they’re just not declarative enough. Chef and Puppet aren’t good enough for this purpose, unfortunately, because they interpret the entire system as an installation and it’s just not practical to have a developer switch everything around on their system every time they switch projects.

I feel that the “It just works” principle as well as the allure of Mac being cool played a role. I do feel that there is the beginning of a counter culture brewing among Mac dev’s. All the attention is being pushed to IOS because of the money. I ask myself whether full laptops/desktops will one day be a niche product, I think that Apple’s long term bet is just that.

Continuing the Discussion

[…] Why a Developer Laptop? 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. […]