Thoughts on Pattern Library categories

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 🙂

All my pictures seem to fade to black and white

Tonight we head into town for a few beers, to commemorate the untimely passing of Sun Microsystems Ireland Limited, some 17 years after Sun’s operations began in Dublin, and a little less than ten years after I joined.

Tomorrow, at 10.30am sharp, and likely with a few sore heads, we become inducted as employees of Oracle Ireland. See you on the other side.

OpenSolaris Governing Board Election Results

This time last year, I noted I was slightly disappointed at the low number of non-Sun folks who’d been elected to the OpenSolaris Governing Board. No fear of that this year, with just one of the seven newly-elected board members currently representing Sun^H^H^HOracle… although there are certainly a few ex-Sun faces in the mix too.

The new constitution was approved this time around as well. Here’s hoping all concerned can keep up the momentum that’s been gathering over the past few years.

Streetview gallery

Thanks to Google Streetview’s new 95% coverage of the UK, which went live yesterday, here’s a visual history of all the houses I ever lived in over there, until I moved to Ireland. Obviously I’m not telling you where they are, though 🙂

1971-1987
1971-1987
1987-1993
1987-1993
1993-1996
1993-1996
1996-1998
1996-1998
1998-2000
1998-2000

(Although the cars have been spotted out and about in Ireland, there’s no coverage here yet…)

Bothersome themes

(Public service announcement: I’ve always hated themes and still wish they’d mostly just go away so we could all just concentrate on building and using the same sexy pixel-perfect GNOME look-and-feel. GNOME branding wins, performance wins, some people complain but don’t they always, yadda yadda. Now, with that out of the way…)

I was having a look at this OpenSolaris bug report yesterday. Basic problem: icons from the OpenSolaris Nimbus theme are showing up in some places larger than they ought to. Apparent cause is that the icon theme doesn’t provide those particular icons in a small enough size, and the larger versions aren’t being scaled down as required. The vinagre toolbar is the example given in the bug report, but I’ve seen it other places too (e.g. in the Glade toolbar editor).

Wrongly sized icon in Vinagre toolbar
Wrongly sized icon in Vinagre toolbar
Wrongly sized icons in Glade toolbar editor
Wrongly sized icons in Glade toolbar editor

Having a look at the index.theme file for Nimbus, I saw that all the icon folders were marked as “Type=Fixed”, and assumed that was the problem. However, I spent a couple of hours trying every combination of “Type=Scalable”, “Type=Threshold” and Threshold=[some-big-number]”, and “MinSize=[some-small-number]” that I could think of, and nothing changed. (I regenerated the icon cache after each change, and also tried without any icon cache at all.)

Just what should an index.theme file look like to ensure that (say) the 48×48 icons will always be scaled down to (say) 24×24 when required? Nimbus also has its own engine, could a bug there cause this problem? Or a bug in the gtk+ widgets/applications where we’re seeing the issue?

EDIT: Further to Matthias’ comment, Type=Scalable is working fine now. Not sure what I was doing wron yesterday…

GNOME Usability Hackfest

Back in the Dublin office today after last week’s GNOME Usability Hackfest in London, during which I didn’t blog nearly enough.

My main goal for the week was to help figure out a plan to revise the GNOME Human Interface Guidelines, which I originally helped to write almost a decade ago, but which really haven’t kept pace with the changes in either hardware or software technology over the past 5 years.

The notes from all the discussions we had aren’t all that impressive to look at, but I think the key thing is the general agreement to have less monolithic text, and switch to more of a pattern library approach. This should allow us to react much more quickly to changing trends in GNOME UI design, maintain related patterns for different types of devices such as desktop, touchscreen and stylus devices, and even allow individual distros to customize the library with their own unique, in-house patterns if they so desire. (Which hopefully won’t be too much, but it’s clear that, for example, the GNOME-based Moblin UI is a different beast from the vanilla GNOME desktop, so the Moblin team will likely want to maintain some patterns of their own.)

I’ve already started to draft up a template for what a GNOME UI pattern might look like, and hope to flesh things out a bit more over the next couple of weeks.

Of course, many other things were discussed at the hackfest as well. Nautilus and gnome-shell were hot topics, as was the old chestnut of a GNOME control centre redesign—on that front, I ended up moderating a couple of card sorting sessions during the week where we had users categorize 100 settings into groups of their choice. Charlene from Canonical presented an Empathy usability report, partly to discuss the findings, but mostly to discuss how best to present such reports to GNOME developers. And of course, Seth’s vision of a future GNOME desktop hit the headlines, making it to Ars Technica almost immediately!

On the community front, some ideas for improving the tools we use to analyse and report usability data were also discussed. And there was a strong presence from the accessibility community, to keep us all honest when coming up with anything new.

Many thanks, of course, to Google and Canonical for sponsoring the event, and particularly to the latter for hosting us in a 27th floor office so we didn’t need to waste money on the London Eye 🙂

“The Future of UI Will Be Boring”

In the midst of all the hype, speculation and (in many cases) nonsense being talked about whatever it is Apple are going to be unveiling next week, it was refreshing to read Scott Berkun’s reminder of why keyboards and mice definitely won’t be going away anytime soon.

(His follow-up post, about the Limits of Innovation, is worth a read too.)