Ubuntu / 2010–12
The pieces people touch all day on the world’s most popular Linux desktop, designed as its shell was rebuilt as Unity.

- My part
- One of the first UX designers on Ubuntu. Designers owned their features, from requirements and tested options to the pitch to the developers and QA.
- What shipped
- The app Launcher, the front door of the desktop from Ubuntu 11.04 until Unity was retired in 2017, the Overlay Scrollbars, the System Settings redesign and animation guidelines.
Keep the shell simple in how it feels: tiles that fold instead of a scrolling list, a scrollbar that gets out of the way until you need it, and one physics for everything you drag. A detailed behaviour spec and a working prototype are what carried each piece through a large, distributed team of very gifted engineers.
The Launcher
The strip of application tiles on the left of the desktop, the equivalent of the Dock on the Mac, had to handle many more tiles than fit on the screen. The behaviour spec, the prototypes and the visuals were all mine.

Overlay Scrollbars
The Overlay Scrollbars were a project Canonical’s founder cared about personally, and as much stakeholder management as design: a version that hid the bar without making it harder to use. They shipped a few months before macOS hid its own.
Notifications
When Ubuntu started turning into an operating system for more than the desktop, I took on the review of the notifications framework, starting from the idea that notifications shouldn’t all behave the same. Of the two routes I explored, the contextual one let how much a notification intrudes depend on data like the social graph of the people involved.

The shell pieces reached people because each was small enough to land in one release. The framework waited for a platform that arrived two years late. Split in two, the desktop part could have shipped that year.
System Settings
Every release adds a panel or an option somewhere, and every now and then a clean-up is due. This was one of those.

Animation guidelines
My last delivery was a set of guidelines to help shell engineers and app developers choose duration and easing, with a global rhythm of named durations, snap, fast, slow and sleepy, for the code to refer to instead of hard-coding values.
