Déjà Dup in Ubuntu 11.10

So the result of the UDS session on including Déjà Dup in Ubuntu 11.10 was positive. Assuming no disasters, it will be on the CD!

I’d like to thank Canonical for sponsoring development by providing me work time to develop features and squash bugs!

I want to try to reduce the Ubuntu bug flood by really nailing things down this cycle. So I’d request that Ubuntu users try it and report bugs before the flood gates open. Especially test restoring too, as any bugs with restores are generally critical issues.

Yay for Open Source!

So I’ve avoided talking about the latest kerfuffle in Ubuntuland because I might be biased, working as I do for Canonical. But here’s a bit of musing inspired by it.

Progress

I’d like to focus a bit on how awesome the world is. Open source software is becoming a common and accepted tool. A person anywhere in the world can download and install for free a distribution like Ubuntu or Fedora and have a first class experience. It will come packed with powerful software like Firefox and LibreOffice.

You can provision a virtual server from someone like Amazon, fill it with services like a web server, a code repository, you name it. You can go from idea to website in seconds flat.

Need to look something up? Just ask Wikipedia, the rapidly enlarging sum of human knowledge. Want to buy a phone? Pick up a Linux-based Android smartphone.

If you step back a bit, that is amazing. Open source is empowering the world, literally making it a better place. The best (and defining) part is that each advancement can build upon the previous ones.

Design

But the best technical design with the most features isn’t going to change the world — or even just be as helpful as it can be — unless it’s easy and fun to use. That’s why I love that design-driven development is gaining more cachet in open source. I’m glad to see the efforts by Ubuntu’s Ayatana team and GNOME’s design team to cross the chasm and reach new users.

Motivation

Anyway, this is all part of why I work in the open source sphere. Not just to scratch my own itches, but because I believe I can use my skills to leave a lasting mark and to empower others. I’m incredibly blessed to be able to work in such communities and with such companies.

I just find it hard to get worked up over whether buttons are on the left or the right, whether the user can minimize a window, or whether GNOME and Canonical are getting along 70% or 90%.

Not that such discussions aren’t worth having, but it’s easy to get caught up in navel-gazing. We’re all on the same team. We’re trying to change the world, and it’s worth remembering every now and then that we are succeeding!

Howliday 2010

I’ve been meaning to post about this year’s Howliday, lest its new tradition get lost in the haze of memory.

Seeing as all participants were people that happened to have beards, it was discovered that long have poor folk — who could not afford more convincing disguises — adopted beards at this time of year to fool the banshees.

Ladyfolk generally just tried their best.

One can conveniently piggyback on top of Movember to guarantee an optimal face bush for Howliday.

Now On the Desktop Team

I know I just recently posted about how awesome working in the OEM Services department was, but in the eternal quest for new challenges, I’ve moved over to the Desktop team at Canonical.

But before I get to that, one quick bonus story about a patch that I wrote in OEM Services that I really like. You know how when you plug in headphones with a standard audio jack that the audio immediately switches to headphones only? Nice feature right? Now plug in your USB headset. You’ll notice that it didn’t play through the headset: you have to go to the sound preferences tab and choose it as your output device, which is not intuitive. Same deal with bluetooth headsets.

From the user’s perspective, they should all work the same. They’re all just headsets. So for an OEM project, I wrote a pulseaudio module that tried to do just that: whenever a new pulseaudio sink or source became connected, it would switch to using it. It may need some polish (I’m no pulseaudio maintainer), but it works fine. I’d love to see it applied upstream.

Anyway, so I’m switching to the Desktop team to help work on Quickly and other application developer goodness. Speaking of which if you’re a developer, I have a session tomorrow all about release management as part of the App Developer Week: What’s the deal with time based vs feature based releases? How do I best use these Series and Milestone things in Launchpad? Find out tomorrow in #ubuntu-classroom at 14:00 UTC!

Déjà Dup Was Worth It

In the few years since I started writing Déjà Dup, I’ve never actually had to use it to recover data from a backup. But now I’m not only the maintainer, I’m also a client!

The other day I accidentally erased the hard drive of my main machine but was able to recover the good bits from my S3 backup. Yay!

In other Déjà Dup news, the new stable 16.0 was just released (available in fine distros that ship GNOME 2.32). This is mostly a bug fix release, but with one nice new feature: if you are running out of space in your backup location, it will delete older backups until there is enough space rather than just yelling at you.

Tracking Software Versions Between Distros

A neat web site that I keep meaning to mention is Open Source Watershed. It’s useful for when you want to see what version of a package is in all the various FOSS distributions.

For example, you can see what versions of wine the various distros use along with some stats about version churn. It’d be nice if they used distro codenames on package pages instead of just saying “ubuntu current” vs “ubuntu future”, but still handy.

What I Do in OEM Services

I realize that I’ve never really blogged about my work at Canonical. Largely because I work in the OEM Services department, and we tend to be hush-hush. OEM means Original Equipment Manufacturer and just means a company that makes and sells computers with their own brand (like HP, Dell, Lenovo). OEM Services is the group that works with OEMs that are interested in preloading Ubuntu. Anyway, with everyone else on the planet talking about their work, it is a good time to share what I actually do and why.

I feel that making it easy to buy a machine with Linux preloaded is the most important task facing the wider FOSS community. This is how we grow the community, how we break into the mainstream.

But working with OEMs also brings more immediate benefits. When working on a specific project, both the OEM and Canonical will have QA resources dedicated to finding bad bugs or usability issues.

OEMs tend to approach QA with a subtly different eye than I do as an independent developer. They tend to try to avoid any situation where a customer will request support, as that costs money. Which means trying to avoid loss of functionality or letting the user shoot themselves in the foot.

But another thing that comes out of such attention is a focus on usability bugs. It feels really good to be able to spend time making a patch for such nits and send it upstream.

For example, here is a random sampling of stuff that I remember working on:

  • Back during the beginnings of a netbook version of Ubuntu, I helped write lots of little patches for applications to make them fit on smaller screens. OEMs would understandably hate it when a program wouldn’t fit on the screen because users wouldn’t be able to click on the dialog buttons and it just looked awful.
  • The dialog prompt for PolicyKit used to always display names like “Michael Terry,,,” which always struck me as an eyesore. It showed that way because it didn’t strip the commas from the information that getpwnam() returned.
  • When the user sets an unusual “how long to idle before blanking the screen” value, that value just didn’t show up at all in the GNOME Power Preferences dialog. This usually doesn’t come up in practice, but arose because an OEM wanted a 15 min delay, which is not a value already in the list.
  • The first time you opened rhythmbox and tried to import a folder, you got a scary “operation not supported” error message. Trying again worked fine. It was a simple fix, but one of those things that you rarely run into and if you do, just kind of shrug off and try again. But it’s nice to be able to fix such first-impressions papercuts.
  • A crash in pidgin if you used a zephyr account, enabled tzc, and didn’t have tzc installed. Not only did it crash pidgin, but X itself! This is one of my favorites because it shows just how useful an OEM’s QA approach to testing is. They really “test to break,” and exercise parts of the systems that don’t get much use. This crash was not triggered by a common use case, but had a really bad effect.

So none of these are earth-shattering fixes or cool new features. Mostly because by the time the software gets to me, it’s already as part of an Ubuntu release and thus mostly functional. I just tend to nibble around the edges. There’s a large untapped market of FOSS users that will never install an OS, and I get warm fuzzies by helping to reach them.

Lady Gaga Needs to Wise Up

So I get why no one told Lady Gaga before the video for “Telephone” came out, because naturally, no one wanted to prevent that work of art from seeing daylight. Now that it’s been out for a while, I think it’s finally safe to tell her.

OMG, your phone has a silence mode. Also an off button!

On Happiness

There is an excellent TED talk about happiness and the tension between the “remembering self” and the “experiencing self.”

It touches several things that I happen to have been talking about with people recently: the distinction between the pursuit of “shallow” and “deep” pleasure (experiencing and remembering selves respectively); moving to California; what sort of vacations are good; how much money one needs to be happy.

To live a life you remember fondly, apparently you must make sure there is change, significant moments, and a happy ending. Hedonism is not enough. :)

I like his point about a two week vacation where the first week was relaxing and great and the second week was much the same. Experientially, that was a great vacation. Twice as good as just going one week. But recalled as a story by your memory, you might as well have gone just one week.

I think this tension is in part what Reason (with a capital R) tries to diminish. It strikes me that reason argues for the experiencing side of the equation, while feelings argue for the remembering side.