Free software, Ubuntu One, E.T. and me

On May 11, 2009 I joined Canonical as a project manager on the Ubuntu One team. I went from working in the world of Department of Defense contracting to the world of free software. I now have a better appreciation for E.T.’s plight. OK, maybe not. E.T. was trying to get back home. I feel like I’ve found mine. I love what I do at work.

Everyday is something new. My contributions to Ubuntu and free software aren’t nearly as noticeable as those I work with. I do smaller things. Things that often get overlooked in any software project. Some of these includes:

  • Writing tutorials about how to use Ubuntu One and upstream software together to help people get the most out of the software.
  • Updating FAQs that help users get answers to their questions.
  • Support. Send a support request into Ubuntu One and there’s a good chance you’ll get a reply from me. Hopefully it’s a helpful one!
  • Triaging and prioritizing bug reports which helps improve the software one bug fix at a time.
  • Coordinating work between our team and other upstream projects to keep improving free software across the board.
  • Writing acceptance test cases others can use to test Ubuntu One and Ubuntu functionality.
  • Testing Ubuntu One and our contributions to other upstream projects to improve quality.

Lots of little things. And I don’t do them without help from many others, both within and outside of Canonical.

I realize Ubuntu One is often perceived as (at least part) alien in the free software world. I can relate to that, coming from my previous employment to Canonical. We, the Ubuntu One team, make mistakes. We know we’re far from perfect citizens of the free software world. We need to work better with those in the community and we have plans to do that. We’ve been learning so much, so fast that it’s hard sometimes to lift your head up and realize that you’ve probably ignored people who want to collaborate. We’ll do better. I’m committed to doing better in this area by dedicating some more time to working with those in the community who have an interest in making free software as a whole better.

I’m excited moving forward with Canonical, Ubuntu, Ubuntu One, and free software in general. It’s a crazy time in technology. So much is changing and many new opportunities are opening up as result of that change. It’s hard to imagine what tech will look like ten years out, five even. I’m just happy to be working with all of you in the free software community. It’s a great community, filled with so many unique perspectives and focused on doing so much good. It’s a place where even someone such as myself is welcome and whose talents can be put to good use. Thank you!

Setting up Ubuntu One on Ubuntu 10.04 LTS

I help out with the support requests that come into Ubuntu One. It doesn’t take too long helping out there before you realize our process for setting up your computer with Ubuntu One on Ubuntu 10.04 LTS can be problematic for some people. We’re making the setup process better in the next release (Maverick, Ubuntu 10.10) but we’ve got another 2.5 years supporting 10.04 LTS, so I thought it might be helpful to show some screencasts of the setup process.

The first video is for those signing up for Ubuntu One for the first time.

The next one is for those who already have an Ubuntu One account and need to setup their computer with Ubuntu One.

We’ve tried to reproduce the issues people are facing with the setup process and haven’t been able to do it. The main problem seems to be with step 8 where the “add this computer” web page should appear. Those having trouble with the instructions don’t get this page. There is a workaround documented in the first FAQ entry. If you think you can reproduce this problem, please let me know, either through the contact form here or through the support contact form on the Ubuntu One web site. Also, if you have ideas on how to improve the install/setup instructions, please let me know. I’d love to make them clearer.

Cloning VirtualBox images (or how I save hours a day when testing software)

First things first. If you’re testing software and you’re not using some sort of virtualization solution, stop reading this and go install one. My product of choice is VirtualBox. It’s free (as in no cost and most of it is open source), user friendly, runs on an Ubuntu host computer and I’m familiar with it.

Lately I’ve been doing a lot of testing of the Ubuntu One desktop software and I need to be able to quickly get various versions of Ubuntu up and running. Below I outline how I do that on an Ubuntu host computer. My steps assume that you’re familiar with VirtualBox enough that you know how to setup a virtual machine (VM) already.

Create a master image

The master image is the one we’ll use to clone test images off of. By doing this we can worry about keeping our master image up-to-date and configured the way we need it and then simply clone that image when we have to test.

  1. Create a new VM in VirtualBox and install the OSĀ  (see Lifehacker’s guide if you’re not sure how to do this)
  2. After restarting the VM when the install is done, install all the latest updates on the master image and restart
  3. Install the VirtualBox Guest Additions (allows nice integration with the host computer)
  4. Shutdown the master image

Periodically you’ll want to make sure your master image has all the latest updates, so just boot it up, install the updates and then shut it down.

Clone the master image

Now we’re ready to start testing some software. Instead of using the master image we created above, we’re going to clone that image. This should take less than 5 minutes start to finish.

  1. In a terminal session do the following:
    cd ~/.VirtualBox/HardDisks
    VBoxManage clonehd master_image.vdi test_image.vdi --format VDI
  2. In VirtualBox, create a new VM by clicking the New button
  3. Go through each screen selecting the appropriate values and clicking the Next button until you get to the Virtual Hard Disk part
  4. Select the Use existing hard disk radio button
    VirtualBox Hard Disk Setup screenshot
  5. Click on the folder icon next to the pull down menu listing existing VDI files
  6. Click the Add button
    Add VirtualBox VDI screenshot
  7. Select the image you created (should be in ~/.VirtualBox/HardDisks) to add it to the list of available hard disks
  8. Click on the image you just added and then click the Select button
  9. Click the Next button
  10. Click the Finish button

You now have a brand new VM to use for testing. Once you test with this image and decide its usefulness is over you can delete the virtual disk image (VDI) file in ~/.VirtualBox/HardDisks, repeat step 1 above to create a new cloned image, and then edit your cloned VM in VirtualBox to use the new clone image. In other words, you don’t have to setup a new VM (steps 2-10) every time you want to use another VDI if you don’t want to.