Understanding the Panels User Interface
Some thoughts about smoothing the UX
Over the last few months I've been taking a long, hard look at the Panels and Page Manager UIs and documenting areas that I see as usability obstacles. This work has been sponsored by Myplanet Digital who are a really cool Drupal company working out of Toronto and Chicago.
To be honest I had never used Panels when I first started this research. While that may seem like a bit of a suicide mission, it actually gave me a great viewpoint to work from because there was no prior knowledge or assumptions to prevent me from feeling every usability bump on the road. Yes, it has been a bumpy ride but the outcome is I now know a lot of places where the critical usability potholes are.
One recurring issue that I run into is the wording. Panels (using the term to include Page Manager and all the other related modules) has a number of good examples of where I see internal terminology showing up on the screen as part of the user interface. Here's one particular example that's worth mentioning.
We have an initial text prompt:
"Control the criteria used to decide whether or not this variant is used."
Followed by a longer explanation:
"If there is more than one variant on a page, when the page is visited each variant is given an opportunity to be displayed. Starting from the first variant and working to the last, each one tests to see if its selection rules will pass. The first variant that meets its criteria (as specified below) will be used."
If you are like me as a new user, you might look at these words for a while wondering what it really means. Or you might just run away. For me, it took a few weeks of active investigation to get a clear picture of what it's all about.
This text describes a critical concept in Panels. But to the new user this may not make much sense. Most of the meaning relies on understanding the term 'variant'. This is a word that works really well inside the code as a way of describing a particular data structure but it doesn't reveal itself very rapidly to the non-technical or new user.
This, of course, leads to the question of what might be a better term than 'variant'. This is my understanding of a 'variant'.
A panels variant is a mechanism to collect information about what content could appear on a page for a given url (web address). But here's the twist - not all variants are 'panels variants'. There is another type called 'HTTP response code' (if you're not a technical person, please don't run away just yet - we'll get back to the point in a second). Otherwise we could almost say that a variant is another name for panel. But it isn't.
The common factor, as far as I can tell, is that both types (panels and http response thingies) do still deal with finding content to put on the page for a given url. Taking a cue from the http thingie, one possible alternative might involve the word 'response' or 'responder'. So my first trial was 'page responder'.
Let's try looking at that help text again so see if we can defog it a bit. But why not add a definition in there just to help the help a bit:
"A page responder is a mechanism for deciding what content will appear on a given web page."
"Set the criteria that determine when and how this responder should provide content for the page."
"If there is more than one responder assigned to a page, each responder is given an opportunity to produce the displayed content. Starting from the first and working through to the last, each responder checks its selection rules to see if they match the condition. The first responder to find matching rules will be used to display content. The rules for this responder are specified below."
Does that help demystify the concept? Would that help you get going a little sooner with the task at hand?
Yes, I did change the sentence beyond just swapping terms. But that's the art of wordsmithing that should be applied to user interfaces - if we start with a viable metaphor and work the words around it, we can help users picture what's going on much more readily and get them going with their tasks.
Of course there are other alternatives. Here's a few more - 'content provider' or 'provider' or even something like 'content source' or 'content router' or 'content finder' or 'content channel' (hmm, I don't like the idea of 'panel channels' - scratch that!)
What do you think? Is it important to be this picky with words? If you use Panels, would you be ok with changing terms like this? Do you like any of these suggestions?

