It will even boot and run gnome-shell in a VirtualBox VM that doesn’t have any Linux guest additions installed.
I was fortunate enough to spend three days at the IxDA‘s Interaction 12 conference in Dublin’s swanky new Convention Centre this past week. When you’re more used to attending Linux/free/open-source-type gigs, it’s always a bit of an eye-opener to attend a completely different type of conference, and this was no exception… although while the audience at any given talk was awash with iPads and iPhones rather than Linux tablets and Android phones, in many ways the sense of community and desire to drink beer was very much the same
Anything in it for for GNOME?
Well, interaction design is interaction design, so most of the talks were applicable in one way or another. A couple struck me as perhaps being of particular interest to our design community, though.
Information Architecture Heuristics
Most of us are familiar with Neilsen and Molich’s 10 usability heuristics, and they’re still quite useful… but they’re also over 20 years old, and computing devices have moved on a lot since then. Abby Covert presented 10 updated heuristics for modern interaction design, presented in her slide deck here.
In some ways they’re not actually not all that surprising, or indeed different from the original 10. But there’s merit in validation, too, and I’ll certainly give them a whirl the next time I’m doing a heuristic evaluation.
Demystifying Design: Fewer Secrets, Greater Impact
Lean UX advocate Jeff Gothelf gave his talk about how to take some of the perceived magic out of UX design, by involving non-designer peers and managers more in the design process, to help reduce the amount of bike-shedding and other detrimental activities that can occur when stakeholders don’t necessarily understand how or why a particular design decision was reached.
I know this is something we all try to do in communities like ours… in some ways it’s one of our defining characteristics. But even still, we often find ourselves open to accusations of doing “design in secret” (a.k.a. “on IRC”), so perhaps there are some things we can learn from Jeff’s slide deck.
Communication & Content in Web Software
As a bit of a grammar pedant, I enjoyed this talk by local IxDA stalwart Des Traynor, much of which focused on how microcopy (labels and other snippets of text in your UI) can make or break your website or your application. Of course we already have some awesome documentation guys in GNOME who worry about this sort of stuff, but IMHO we don’t always involve them enough in copywriting the UIs themselves. Des hasn’t put his latest slides up just yet, but there’s a recent version here, along with a short blog post and a video him giving a similar talk in September.
Hacking space exploration and science
Finally, as a bit of an astronomy geek myself, I was surprised and pleased to see a talk about this topic at an interaction design conference. Ariel Waldman is the founder of the Science Hack Day in San Francisco, and spoke about that, Galaxy Zoo and Planet Hunters, among other things. Not too much in her slide deck that’s directly applicable in a GNOME context, I just enjoyed the talk
Jasper and Florian pointed me in the right direction for getting my 3.2 jhbuild to run on F15, but the equally good news, as Pieter predicted, is that the F16 beta also runs perfectly well in VirtualBox 4.1.4 once you have the guest extensions installed. So in addition to the new 3.2 Live CDs, VirtualBox is also a viable way to experience 3.2 for yourself. (Although the F16 installer itself hung for several hours on a couple of occasions, but I decided to leave it alone anyway, and eventually it worked fine.)
Dear lazyweb, I’ve successfully built GNOME 3.2 using jhbuild (on Fedora 15), I’ve done all the dbus hackery suggested in the jhbuild manual, but I still can’t run it, either in Xephyr or from the login screen.
In all cases, the problem seems to be:
GConf Error: Configuration server couldn't be contacted: D-BUS error: Method "GetDefaultDatabase" with signature "" on interface "org.gnome.GConf.Server" doesn't exist
which is thrown in my face a dozen or so times before it dies. Google turns up nothing similar. Any helpful hints?
(Yes, I could just install the F16 alpha, but that doesn’t work sensibly in VirtualBox as yet…)
I didn’t really have any content-packed slides to show at the GNOME AGM this afternoon, but here they are anyway for anyone who wants to relive the excitement.
The quick summary for anyone who wasn’t there:
- Over the past 12 months, the GNOME Design Team has collaborated pretty well with folks like the nautilus and control center devs to land the major design changes that those apps have undergone in 3.0, and the GNOME Marketing team to create the new website.
- The GDT has participated in several real and virtual events including the Boston Summit, and the GNOME User Days and #gnome-design Office Hours on IRC.
- SparkleShare continues to rock our world.
- GDT will continue to take a design-led, holistic approach to improving the user experience in GNOME 3.2 and beyond.
- The new HIG… still isn’t quite ready.
It’s fair to say I did feel like a bit of a fraud talking about the design team as “we”… it’s been a while since I’ve been much more than a small and increasingly-distant part of GNOME’s usability history, and I certainly can’t take any of the credit for any of the achievements I was talking about today. (Except the continued non-appearance of the new HIG, which is partly my doing, and we really do hope to have it out there in some form sooner rather than later.)
Finally, many thanks to Jon for helping out with the presentation after a slight logistical mix-up this morning!
Today’s maintenance release of Oracle VirtualBox (4.0.10) spreads the GNOME 3 love a little further — following the fixes in 4.0.8 for GNOME 3 guests on Linux hosts, GNOME 3 now finally works glitch-free on OS X hosts in 4.0.10.
Guess this means I have fewer excuses than ever before for not knuckling down on the GNOME 3 HIG
Enjoyed this short article from Matt Gemmell about what pushes certain apps over the “critical customisation cost” threshold… I certainly recognised some of my own behaviour in there!
(Caveat: it’s written from a Mac user’s perspective, but I feel a lot of the same things about my GNOME desktop.)
Bastien pointed out after my Usability Team Update at the GNOME Foundation AGM today that I forgot to mention another nice little project that arose directly from the UX Hackfest in London — Totem Chapters/Markers support, which is being implemented by Alexander Saprykin as part of this year’s GSoC.
I was also a bit lax in namechecking some of the people I’d intended to. So as well as Hylke Bons and Thomas Wood, who I did mention, and Bastien’s mention above, kudos also to Allan Day, Mo Duffy, Karl Lattimer, Garrett LeSage, Ivanka Majic, Jon McCann, Matthew Paul Thomas, Jeremy Perry, Charlene Poirier and David Siegel who have all been directly involved in the few highlights I had time to talk about today, and to the many others who’ve contributed to the usability effort this past 12 months.
And an honourable mention to Seth Nickell for his memorable contributions to the Hackfest
In particular, I was surprised by how much the horizontal scrollbar is used, with almost half of all users (and more than half of the Linux users) using it at some point during the study. I was also intrigued by why OS X users use the scrollbar so much less than Linux and Windows users. Darren suggested it might be because Mac laptops have had multi-touch gestures for horizontal scrolling for a few years now, which seems plausible—could also explain why Linux users made the most use of the scrollbars, as Linux touchpad drivers aren’t always as full-featured as their proprietary counterparts.
Anyway, it prompted this little rant about fluid design (aka liquid layout). This always used to be one of the number one considerations for good web page design. Horizontal scrolling in particular was meant to be avoided wherever possible, as it’s both physically more demanding (at least with a mouse or keyboard—less so with touchpad or touchscreen gesture) and more disruptive to task flow than vertical scrolling.
With web pages more likely to be viewed in a wider range of window sizes and screen resolutions than ever before, this tenet seems like it should be more important now than ever. Of course, the sorts of things we do on the web today are somewhat different from what we did ten years ago, and fluid design isn’t always possible or desirable for all of them. Nonetheless, many of the fixed width designs you see these days are just annoyingly unnecessary.
Sometimes it’s because designers or their clients are unwilling to have their pixel-perfect vision compromised by users deigning to view it into a smaller window than they’ve designed it for. Sometimes it’s down to inflexible or poorly-customized web content management systems, sometimes it’s inexperience, sometimes just laziness.
Anyway, next time you’re designing a website, just think about how and where people might actually want to use it. And bear in mind that grumpy old men like me won’t visit it very often if you make us scroll horizontally even just to see to all the navigation links across the top of your homepage, merely because we choose not to fill our entire screen with your website.
Incidentally, none of this is directed at the gnome.org websites, which generally resize in a very sane fashion. So kudos to our designers for doing it right
Most of you probably know that one of the things we’d like to do for GNOME 3.x, alongside a refreshed HIG, is produce and maintain a GNOME UI Pattern Library. (An example of what we mean by a GNOME UI Pattern is this semi-fictional example.)
I’m thinking we’d probably want a homepage that both allows you to search by text/tag, and browse by category (something like this quick mockup.) Which would, of course, mean picking some categories.
From a quick survey of other pattern libraries (which are mostly geared to web design) and the type of stuff the current HIG covers, here’s a first stab at what that list might look like.
- Feedback: Showing messages, notifications and progress indicators.
Examples: Alert messages, notification messages, InfoBar usage, status bar usage, focus indication, audio feedback.
- Input: Enabling the entry of different types of information.
Examples: Sliders, audio input, video input.
- Layout: Arranging information and controls in a window.
Examples: Frames, grouping, spacing, anatomy of creation vs viewer vs browser vs utility apps.
- Navigation: Enabling users to move around and between documents and different parts of the application.
Examples: Tabbed windows, sidebars, location bar, zoom controls, media transport controls(?).
- Search: Enabling users to find items or information that may not be immediately visible.
Examples: Find dialogs, in-place searching, filtering, auto-completion, Boolean queries.
- Selection: Allowing the choice of one or more items from many.
Examples: Marquee selection, keyboard selection, pattern matching.
- Social: Maintaining contact information, and interacting with other users.
Examples: Adding information to address books and calendars, Showing online presence, Initiating chat.
- Workflow: Relating to the process/mechanics of using an application to achieve a particular goal.
Examples: Desktop integration, undo/redo, drag-and-drop, extending open/save/print dialogs.
Feedback welcome… any obvious ones I’ve missed, or ones that seem redundant?
FWIW, I’m not sure nailing the list now is either entirely necessary or entirely possible. There’s no reason we can’t adjust them as the library grows, and I hope we’ll have some sort of tagging capability to handle the patterns that don’t fit neatly in a single category anyway. But it’s always good to start from as solid a foundation as we can