Mark Shuttleworth has recently announced plans to rock the Linux user experience (yes, I know I’m a week late; I’ve been on vacation and am just now catching up).
I’ve been an avid Linux user for about a dozen years, first on Red Hat, then Fedora, and lately Ubuntu, and I’ve had my share of frustrations with the OS, so I’m thrilled to hear about this initiative.
And I have a piece of advice: don’t be afraid to cross (and dissolve) boundaries between layers of functionality and give developers the authority to fix problems no matter where they reside, even at the risk of ruffling feathers (as did ZFS with its “damn the software stack, full speed ahead to the desired outcome” approach).
I say this because my small window into the GNOME development process (bugs 482354 and 162726) suggests its developers spend way too much time trying to figure out which of the many layers of functionality in the Linux desktop is responsible for an issue (and thus who is responsible for fixing it).
Mozilla isn’t perfect in this regard either, but when it works well, it’s because developers take responsibility for making the user experience great no matter what part of the code needs to be touched (like the recent progress being made in bug 248970 by Ehsan Akhgari in collaboration with others on a private browsing mode for Firefox).
If you want to rock the Linux user experience, be willing to rock its boat as well.
Of course though if you change something inside Firefox it only has the potential to break one app (ok, modulo xulrunner…). It’s stupendously easy to break all sorts of random things changing the window manager and that’s why it can be tough.
Really the window manager is the exception, for most other things the boring answer is the bugs need patches.
With Windows and OSX this goes without saying, since if an app wants to do/fix something then they have to do it in the app, since Windows and OSX bug fixes aren’t too common sans-security.
In Linux there’s the opportunity to do things “right”, by fixing the core problem. I played around a little with customising Nautilus myself despite knowing eff-all C and no GObject, and whilst it was a bit cryptic I could still make the changes I wanted to the event handling. I couldn’t imagine doing such a thing with Explorer.
Colin: actually, if you change something inside Firefox, you have the potential to break thousands of extensions and millions of web sites/web applications.
Which makes it tough to change Firefox, too. And in fact I think Firefox could use some shaking up as well, despite the difficulty in making changes (or perhaps because of it). Firefox has plenty of room for improvement, too.
But I do think that Firefox folks are pretty good at focusing on what users want from the product rather than what their particular piece of the Firefox puzzle is supposed to do, and Linux could learn from that.