Archive for October, 2008

With Intrepid on track to hit the wires today I thought I’d blog a little on the process we followed in designing the new user switcher, presence manager and session management experience, and lessons learned along the way. Ted has been blogging about the work he did, and it’s been mentioned in a couple of different forums (briefly earning the memorable title “the new hotness”), but since it’s one of the first pieces of work to go through the user experience design process within Canonical I thought it would be interesting to write it up.

Here is a screenshot of the work itself in action:

New FUSA applet allows you to manage your presence setting, as well as switch to a guest or other user, and logout

New FUSA applet allows you to mange your presence setting, as well as switch to a guest or other user, and logout

In one of the first user experience sessions, we looked in more detail at the way people “stop working”. We thought it interesting to try and group those actions together in a way which would feel natural to users.

We have already done some work in Ubuntu around this – for a long time we have had a button in the top-right corner of the panel which brought up a system modal dialog that gave you the usual “end your session” options of logout, restart, shutdown, hibernate, suspend and switch user. That patch was always a bit controversial and had not been accepted upstream, so we looked at ways to solve the problem differently.

We decided to use the top-right location, because it’s one of the key places in the screen that’s quick and easy to get to (you can throw your mouse into a corner of the screen very easily and accurately) and because there was a strong precedent in the old Ubuntu logout button.

One key insight was that we wanted to make “switching user” less an exercise in guesswork and more direct – we wanted to let people switch directly to the specific user they were interested in rather than have an intermediate step where they login as that other user. So we started with the Fast User Switcher applet, or FUSA, as a base fr the design. Another key idea that emerged was that we wanted to integrate the “presence setting” into the same menu, because “going offline” or “I’m busy” are similar state-of-mind-and-work decisions to “log me off the system” or “shut down”.

Menu order
We discussed at length the right order for the menu items. On the one hand, putting the “other users” at the top of the menu would mean that all the user names – yours and the ones you can switch to – would appear “in the same place” at the top of the menu. On the other, we strongly felt that things that would be used more casually and more easily should be at the top. In the end we settled on putting the presence management options at the top (Available, Away, Busy, Offline). Right next to those (in the same set) we put the “Lock screen” option, because it feels like a presence setting more than a session management setting – you are saying “Away” more than anything else.

Ted did a lot of work to make the presence menu elements work with both Pidgin and Empathy because there was some uncertainty as to which would be used by default in the release. Since it all uses dbus, it should be straightforward to make it work with KDE IM clients too.

We then put the user switching options – including the Guest Session which is a cool new feature in Intrepid that as been widely blogged (check out the YouTube demo) and which uses AppArmor to enforce security.

And finally, the session termination options – log out, suspend, hibernate, restart and shutdown are at the bottom of the menu, because you’re only ever likely to use them once in a session, by definition!

Styling
The design of the menu is deliberately clean. We use very simple colours and shapes for the presence indicators, and replicate those colours and shapes in the actual GNOME panel so that you can see at a glance what your current presence setting is. Ted had to jump through some hoops, I think, to get the presence icons in the menu to line up with the current-presence-status indicator in the panel applet, but it worked out quite nicely. There’s some additional work to tighten up the layout which didn’t make it in time for the release but which might come in as a stable release update (SRU) or in Jaunty.

We decided not to put icons into the menu for each of the different statuses. Our design ethic is to aim for cleaner, less cluttered layouts with fewer icons and better choice of text. A couple of people have said that the menu looks “sparse” or “bare” but I think it sets the right direction and we’ll be continuing with this approach as we touch other parts of the system.

Upstream
This work was discussed at UDS in Prague with a number of members of the GNOME community. I was also very glad to see that there’s a lot of support for a tighter, simpler panel at the GNOME hackfest, an idea that we’ve championed. The FUSA applet itself is going through a bit of a transformation upstream as it’s been merged into the new GDM codebase and the old code – on which our work is based – is more or less EOL’d. But we’ll figure out how to update this work for Jaunty and hopefully it will be easier to get it upstreamed at that point.

In Jaunty, we’ll likely do some more work on the GNOME panel, building on the GNOME user experience discussions. There was a lot of discussion about locking down the panel more tightly, which we may pursue.

Integration into Ubuntu
We realised rather late in the Ubuntu cycle that we hadn’t thought much about packaging. The Ubuntu team had kindly offered to help package and integrate the applet but we definitely learned the value of getting the packaging done earlier rather than later. We had the applet in a PPA for testing between developers fairly early, but we underestimated the difference between that and actual integration into the release.

The Ubuntu team rallied to the cause and helped to smooth the upgrade process for new users, so that we can try to get everyone onto the same footing when they start out with Intrepid whether as a new install or an upgrade. There are some challenges there, because the panel is so customisable, and we had to think hard about how we could ensure there was a consistent experience for something as important as logging out or shutting down while at the same time trying not to stomp on the preferences of folks who have customised their panels. Similarly, we were concerned that people who run different versions of Ubuntu, or different distributions entirely, with the same home directory, would have problems if those other OS’s didn’t have the same version of FUSA – we weren’t really able to address that satisfactorily.

We also realised (DOH!) that we hadn’t thought all the way through the process of integration, because we hadn’t figured out what to do with the old System menu options. It turned out that those were in a state of flux, with the Ubuntu folks having to choose between the current GNOME default which everyone said would change, the patches for the likely NEXT GNOME approach, and the old Ubuntu approach. Ted whipped up some patches to make the GNOME panel more dynamic with its menus, so that we could remove the System menu logout options when people have the same menu in the FUSA applet, but that landed too late for inclusion into Intrepid final.

All in all, I think it’s a neat piece of work and hope other distro’s find it useful too. It’s just a teaser of the work we plan to do around the desktop experience. I’m looking forward to seeing everyone at UDS Jaunty in Mountain View in December, when we can talk about the next round! Thanks and well done to Ted, Martin, Scott, Sebastien and everyone else who helped to make this a reality.

Well done to Team Ubuntu (thousands of people across Ubuntu, Debian and upstreams) who make the magic in 8.10 possible. Happy Release Day everyone!

GNOME usability hackfest

Saturday, October 25th, 2008

The GNOME user experience hackfest in Boston was a great way to spend the worst week in Wall St history!

Though there wasn’t a lot of hacking, there was a LOT of discussion, and we covered a lot of ground. There were at least 7 Canonical folks there, so it was a bit of a mini-sprint and a nice opportunity to meet the team at the same time. We had great participation from a number of organisations and free spirits, there’s a widespread desire to see GNOME stay on the forefront of usability.

Neil Patel of Canonical did a few mockups to try and capture the spirit of what was discussed, but I think the most interesting piece wasn’t really possible to capture in a screenshot because it’s abstract and conceptual – file and content management. There’s a revolution coming as we throw out the old “files and folders” metaphor and leap to something new, and it would be phenomenal if free software were leading the way.

I was struck by the number of different ways this meme cropped up. We had superb presentations of “real life support problems” from a large-scale user of desktop Linux, and a persistent theme was “where the hell did that file just go?” People save an attachment they receive in email, and an hour later have no idea where to find it. They import a picture into F-spot and then have no idea how to attach it to an email. They download a PDF from the web, then want to read it offline and can’t remember where they put it. Someone else pointed out that most people find it easier to find something on the Internet – through Google – than they do on their hard drives.

The Codethink guys also showed off some prototype experience work with Wizbit, which is a single-file version control system that draws on both Git and Bazaar for ideas about how you do efficient, transparent versioning of a file for online and offline editing.

We need to rearchitect the experience of “working with your content”, and we need to do it in a way that will work with the web and shared content as easily as it does locally.

My biggest concern on this front is that it be done in a way that every desktop environment can embrace. We need a consistent experience across GNOME, KDE, OpenOffice and Firefox so that content can flow from app to app in a seamless fashion and the user’s expectations can be met no matter which app or environment they happen to use. If someone sends a file to me over Empathy, and I want to open it in Amarok, then I shouldn’t have to work with two completely different mental models of content storage. Similarly, if I’ve downloaded something from the web with Firefox, and want to edit it in OpenOffice, I shouldn’t have to be super-aware or super-smart to be able to connect the apps to the content.

So, IMO this is work that should be championed in a forum like FreeDesktop.org, where it can rise above some of the existing rivalries of desktop linux. There’s a good tradition of practical collaboration in that forum, and this is a great candidate for similar treatment.

At the end of the day, bling is less transformational than a fundamental shift in content management. Kudos to the folks who are driving this!

Update: thanks mjg59 for pointing out my thinko. The Collabora guys do great stuff, but Codethink does Wizbit.

The term “credit crunch” is very misleading for the current crisis. It suggests that the problem is merely one of confidence, that calm will return if liquidity is introduced to the system.

My view, though, is that the real issue is one of solvency. This is the systemic bankruptcy of 2008.

Mortgages are just the beginning.
At real rates of interest, with real expectations of a reasonable rate of return, many of the deals which have been done since 2003 just do not make economic sense. Thus far, the spotlight has been on one piece of that problem – bad mortgage loans – but I think we’ll see the problem areas expanding rapidly to include a lot of the private equity deals which were done on the basis of free money between 2003-2007. I remember a fatuous statement by some private equity genius that “everybody’s rushing to do the first $100bn deal”. Well, the chickens are coming home to roost. Expect a steady flood of announcements of setbacks, restructurings and bankruptcies as companies that were bought with borrowed money turn out to be unable to service their debt.

Lower interest rates will ease the symptoms only.
Dramatic easing of interest rates will help to slow down the pace at which we have to deal with the bankruptcies, but they won’t change the cold reality of the situation, and they run the very real risk of making things worse by encouraging another round of speculation based on free money. We are once again in a situation where the US discount rate is effectively a negative real rate of interest, as a gift to the banks, but staying there for any length of time puts us back into a state of addiction.

Interventions must target bank equity and leverage, not liquidity.
The latest move from the UK to buy equity stakes is the best response yet, I think. It dramatically improves the capitalisation of those institutions, it keeps the upside of that move in taxpayers hands (they are taking the pain and funding the bailout, it seems right to preserve the upside for them) and it dilutes the existing shareholders who allowed their institutions to become insolvent. Personally, I’d be inclined to do more than dilute those shareholders.

I don’t see the current $700bn deal making a real difference to US banks. I would expect the US to announce a deal similar to the UK deal soon, but the numbers would have to be larger. Scarily large. Much better for the US to make that move, than to wait for Asian and Middle-eastern sovereign wealth funds to step into the breach.

Depositors in regulated banks should be protected by the governments that run the regulators. Shareholders not so much. Bondholders… maybe.
I think the Irish and other countries who have guaranteed the deposits of individual users have done the right thing. Governments setup regulatory authorities, and banks advertise that they are regulated. The people who appoint those regulators need to stand by the approach they take – they should offer a guarantee that they will stand by their product, and when it fails, they will stand by the people who trusted in them. Depositors at banks in the UK really should not have to worry that the bank might fail – such a failure should at most affect the interest rate they receive, not the safety of their capital. Shareholders in those banks, however, should be very worried indeed. There’s an interesting question about bondholders and institutional depositors. By one argument they are sophisticated investors and should be responsible for their bonds. By another argument, they are the very people who can cause massive shifts in funds from bank paper to T-bills, and hence worth keeping pacified. I would lump them in with individual depositors too.

Executive compensation should be structured not fixed.
There has been a lot of discussion about limiting executive compensation. That’s just an invitation for armies of consultants and lawyers and accountants to work around whatever compensation limits are put in place. And frankly, I’m hard-pressed to understand how politicians, who constantly vote themselves bigger salaries and expense accounts, are qualified to set bank executive salaries. They effectively WERE in charge of Fannie and Freddie executive compensation, and that wasn’t a stellar success.

What I would say, however, is that financial institution earnings should only be recognised over a seven year period, and bonuses based on those earnings should be held in escrow until that seven year period is up. Imagine if we could now tap into the bonuses of investment bank employees over the past seven years in order to shore up the balance sheets of those banks. That would include the bonuses paid to Mr Fuld, Mr Greenberg, and Mr Greenspan. Anybody care to run the numbers? I think it would be material.

I’m nervous.
The big question I’m asking is which sidelines don’t have landmines? My team and I are fortunate to have stepped out of many markets before the current flood of fear. We stepped right into a few problems, but in large part dodged the cannonballs. So far so good. But what does it mean to have cash in the bank, when banks themselves are failing? What does it mean to hold dollars, when the dollar is being debased in a way that would feel familiar to the Reserve Bank of Zimbabwe? These are very dangerous times, and nobody should think otherwise.