Introducing Project Sputnik: Developer laptop

May 7, 2012

-> Update 2/18/2013: Sputnik 2 is here: Dell XPS 13 Developer Edition goes 1080p and lands in Europe

-> Update 11/29/2012: Sputnik has landed! Introducing the Dell XPS 13 Laptop, Developer Edition

Today I am very excited, I finally get to talk about project Sputnik!  In a nutshell, drumroll please, here it is:

Made possible by an internal innovation fund, project Sputnik is a 6 month effort to explore the possibility of creating an open source laptop targeted directly at developers.  It is based on Ubuntu 12.04 and Dell’s XPS13 laptop.

To put it in context, Sputnik is part of an effort by Dell to better understand and serve the needs of developers in Web companies.  We want to finds ways to make the developer experience as powerful and simple as possible.  And what better way to do that than beginning with a laptop that is both highly mobile and extremely stylish, running the 12.04 LTS release of Ubuntu Linux.

Why a developer laptop

When we first started setting up the web vertical to focus on companies who use the internet as their platform, we brought in Stephen O’Grady of Redmonk to learn as much as we could about the needs of developers.  One of the ideas that Stephen tossed out was a Dell laptop running Ubuntu, targeting developers.  We thought the idea was pretty cool and filed it away.

As we continued talking to customers and developers the topic of Ubuntu kept coming up and we came across a fair number of devs who were asking for a Dell laptop specifically based on it.  To my knowledge, no other OEM has yet made a system specifically targeted at devs and figured it was time to see what that might mean.  When the XPS13 launched we realized that we found the perfect platform to start with and when Dell’s incubation program was announced we knew I had the vehicle to get the effort kick started.

I should also add that Ubuntu was a natural choice not only because of its popularity in the Web world but Dell has quite a bit of experience with it.  In fact Dell has enabled and pre-installed out-of-the-factory Ubuntu on more computer models than any other OEM.

What’s Sputnik actually running?

The install image available for Sputnik contains

  1. drivers/patches for Hardware enablement
  2. a basic offering of key tools and utilities (see the complete list at the end of this entry)
  3. coming soon, a software management tool to go out to a github repository to pull down various developer profiles.

Hardware enablement

In putting together the project, the area that we focused on first was hardware enablement.  As Linux users are all too painfully aware, Linux drivers are not always available for various platforms.  We have been working hand in hand with Canonical, the commercial sponsor behind Ubuntu and identified three main areas on the XPS13:

  1. An issue with brightness
  2. The Wifi hotkey
  3. The touchpad and multi touch support

The first two have been resolved but the last one re the touchpad is still at large.  The issue is a bit of a pain particularly the lack of palm rejection support which can cause your cursor to jump by mistake.  We have contacted the vendor who makes the touchpad and they are sizing the effort to fix this and at the same time we are working with Canonical to find an interim solution.

Update June 21: the driver for the touchpad is now available!

Developer profile management

Hardware enablement is table stakes but where Sputnik starts to get interesting is when we talk about profiles.  No two developers are alike so instead of stuffing the system with every possible tool or app a developer could possibly want, we are trying a different approach.  As mentioned above, the actual “stuff” on the install image is pretty basic, instead we are working with a few developers to put together a tool that can go out to a github repository and pull down various developer profiles.  The first profiles we are targeting are Android, Ruby and JavaScript.

As a one of our alpha cosmonauts, Charles Lowell, explained (we have been working with three local developers in Austin, Charles, Mike Pav and Dustin Kirkland to put together our initial offering together.   And yes I know Sputnik was unmanned but its our project and we wanted to call the testers “cosmonauts.” )

What I’d like to see is not only a gold-standard configuration, but also a meta-system to manage your developer configuration… The devops revolution is about configuration as code. How cool would it be if my laptop configuration were code that I could store in a source repo somewhere?

After we build the management tool and some basic profiles to get the effort started, we are hoping that the community will take over and began creating profiles of their own.

Getting Feedback and UDS activities

The idea is to conduct project Sputnik out in the open.  There is a Storm Session that went live this morning on Dell Idea Storm for people to discuss the project and submit feedback, comments and ideas.  Later today here at the Ubuntu Developer Summit, Dustin, Mario Limonciello of Dell and I will be hosting a UDS session to discuss Sputnik.  Additionally at UDS there is a coding contest that has been kicked off.  The three people who write the best Juju charms will each get an XPS13.

The Vision: a Launchpad to the cloud

As mentioned at the start, Sputnik is currently a 6month project to investigate an Ubuntu laptop.  If successful, we have big plans for the effort. :)

When we initially pitched Sputnik to Ubuntu’s founder Mark Shuttleworth a couple months ago he really liked the idea.  In his eyes however, he saw something bigger.  Where it got really interesting for him was when this laptop was optimized for DevOps.  In this scenario we would have a common set of tools from client, to test, to production, thereby tying Sputnik via a common tool chain to a cloud backend powered by OpenStack.  Developers could create “micro clouds” locally and then push them to the cloud writ large.

We see a lot of potential in Sputnik to provide developers with a simple and powerful tool.  Only time will tell however so stay tuned to this blog, check out the Sputnik Storm session and weigh in on the project, what you’d like to see and how you think it can be made better.

Pau for now…

Extra-credit reading

Links and notes

Basic Install

== standard meta packages ==

ubuntu-desktop^

standard^

== scm ==

git

git-core

bzr

bzr-gtk

bzr-git

python-launchpadlib

== utilities ==

screen

byobu

tmux

meld

juju

charm-tools

charm-helper-sh

euca2ools

puppet

chef (available post install)

== editors ==

emacs

vim

vim-gnome

== browsers ==

chromium-browser

firefox

== common build tools/utilities & dependencies ==

fakeroot

build-essential

crash

kexec-tools

kvm

makedumpfile

kernel-wedge

fwts

devscripts

libncurses5

libncurses5-dev

libelf-dev

asciidoc

binutils-dev


Follow

Get every new post delivered to your Inbox.

Join 99 other followers

%d bloggers like this: