Top 10 UX improvements for Drupal 7

Events happening in the community are now at Drupal community events on www.drupal.org.
You are viewing a wiki page. You are welcome to join the group and then edit it. Be bold!

This is where we will sort out the Master List of ux-issues we want to improve on for Drupal 7.

It will be the list that we'll have to bring to 90%

So, let's compile that list of 10! :-)

We want to hear from designers, writers, developers who want to spend some quality time on this.

Especially developers! Can you map your code itches to one of the issues below? You know, turn design-proposals into actual working code that fixes the issue? We're looking for people who want to team up with 'the usability guys' and work the process together.

Are you especially good with words? We need to get some basic terminology sorted, again. Do you love short words and simple, effective language? Please let's hear it.

Also very especially we need more designers. We might want to refresh/replace some core themes. there's icon module, mockups to produce.

(and: if you'd like to help but don't know where to begin? Start small here.)

Let us know if you code, design, write, architect, test…
Respond in this thread if you would like to team up around one of the top-10 issues for a better Drupal 7!
We're looking to get (ideally 10) small but multi-discplinairy teams to take the lead on a subject.


This is the raw list of issues from the 2 usability tests, we need to filter that down to 10 workable projects:

help" and interface copy

content management/administration

  • Admin "overwhelming" too much content.
  • Trouble locating content after creating it
  • Trouble distinguising between admin and what's shown to the outside world ("major issue - participants didn't get that the admin menu overlays the website itself).
  • People expected WYSIWYG (People expect to be able to easily markup content and upload images, audio, video. This doesn't necessarily mean they want a WYSIWYG. Simple buttons that insert the appropriate HTML are commonly used in other CMS systems)
  • Where did my content go?

core forms

  • Create contenttype: Workshop Form "huge" Whoa. Give users what they need up front.
  • To much scrolling up and down (task links are above the help text)
  • Users go to site building to create a form with fields.
  • more: Long node/add form

Go, Team!

Comments

Apart from links to current

stevebayerin's picture

Apart from links to current issue resolution posts, could links about usability grievances be added as well?

I'd like to have a go at the /admin and /admin/content/types/add screens.

HIG?

markpeak's picture

I read from previous posts in this group. One of the big problem is usability consistency between each modules (even in core). Is it the time for having HIG?

absolutely

Shannon Lucas's picture

This has been on my mind for a while. An interface guidelines document would be a great boon to Drupal and would set a good example for other open source projects. A HIG would provide module developers and maintainers a single point of reference when they had a question about doing module UI.

A few points on HIGs:

  • They take time. We should probably expect such a document to take at least three months.
  • A small team is better for this than a committee. It needs to be a transparent process, but the team has to be small (5 people at most). I've yet to see a HIG document produced by a committee (it's just never done), but I have seen the disaster that other types of committee documents turn out to be.
  • HIGs are living documents, but it shouldn't be changed every point release of Drupal. Unless there's a major flaw found, we should aim for a refresh with each major Drupal release. A long HIG update cycle provides enough time for proposed changes and updates to be fully digested and debated by the HIG team.

Off the top of my head, these are a few of things I'd like to see in the Drupal HIG:

  • Menu structure guidelines - Suggestions on where to put module functions in the Drupal menu hierarchy. Should something go under content, settings, etc.?
  • Accessibility recommendations
  • Style guide for text. This would include recommendations on submit button text, menu item text, and other general UI text. Will need different versions for different languages.
  • Recommendations on help text. This is a pie in the sky thing and also language variant.

Great suggestions

ximo's picture

I like what you're saying. Having a small committee sounds like an excellent idea. I also agree with following Drupal's major release cycle.

Some more thoughts on what a HIG should have:

  • A UI library of form elements - when to use which element
  • In general, having good examples of what to do and what not to do (see Apple's HIG)

I'm really interested in seeing where this is going!

Oh great, more documentation

earnie@drupal.org's picture

Oh great, more documentation we can't find. Sorry, I think we need to get the navigation to the existing documentation more user friendly. Not to mention that my eyes are distracted from the words I should be reading by the left/right blue blocks with long lists of other information. When the user enters the "Getting Started" document all the current side blocks should be removed and the navigation under the page should become a navigation block on the left. Or maybe a view of all the navigation items for one page view. Blocks are good but too many are really bad. I also find that blocks on both the left and right side of the page are over-bearing with trying to read the page. It becomes too busy; especially for documentation.

In the API

ximo's picture

I would prefer to have the HIG on api.drupal.org, not in the handbooks. It's where developers hang out when developing.

I agree though that the existing documentation should be more user friendly. That might just happen with the redesign that's in process :)

HIG on API

mcjim's picture

That's a good point that needs considering. Putting the HIG on api.drupal.org makes a lot of sense, as it will ultimately be a reference for developers, as long as it is easily found from the main d.o documentation.

Hmmm...

Shannon Lucas's picture

That's an interesting point. My knee-jerk reaction was "it's not an API," but the more I think about it, the more that makes sense since it is a developer document. And it would fit with the documents listed under "In-depth discussions."

I'll bring it up with the docs team as the HIG develops. They're currently in the process of reworking the scheme of things.

Great :)

ximo's picture

The 3 issues from the Usability sprint in Szeged are already off to a good start. As for the long node form issue, we have dmitrig01 doing the vertical_tabs module and chx has offered to help with that as well. This is really great, and I hope more devs will step up and bring their katanas (skills) to the table!

I'm helping scratch this itch, of theming the input format to look more attached to its parent textarea. Not worth including in the list of 10, but it's yet another UX improvement for D7.

markpeak:
I think we need a HIG. It's not a simple task though, probably involving both the Usability and Documentation teams. It should be an organized effort, starting by documenting our current practices in core (as I believe drumm said it way back in Barcelona)..

comments from readers

Shannon Lucas's picture

This is a minor usability concern from the perspective of a site's readers. If I allow anonymous comments, but require anonymous commenters to leave their name, they will see an error if they happen to have the same name as a user of the system.

I have a hypothetical user with the username 'John Smith', but another John Smith wishes to leave a comment. When he tries to leave a comment using his own name, he gets an error saying that the name is already used by a system user. And while I know the explanation for why this is, my reader -- the person I want to hook and keep -- does not and doesn't care.

The commenter has now been demotivated:

  • Other sites (like those powered by Blogger or Wordpress) don't produce this error, so it's not something the commenter has likely seen before.
  • The commenter now has to try to come up with some variation on his own name in order to leave a comment.
  • This error may be misinterpreted as a requirement to register on the site.

RE: comments from readers

earnie@drupal.org's picture

The anonymous comment should be an email address and that becomes the user name. I come real close to suggesting that the email address should be the user name and what is now the user name is a display name. This would help to prevent this issue. But I'm torn with that idea and haven't solidified the case for it.

3 step process

stevebayerin's picture

When it comes to breaking down the ux improvement process I like to see it in three steps

-Research (Most certified usability professionals work at this stage)
-Designing a solution whether it be static prototypes or more hi fidelity prototypes (there can be multiple designs catering to different user requirements)
-Implementing the solution (there can be multiple modules based on the multiple prototypes that cater to different user needs)

Each of the above step can be broken down further into another 3 steps

-Input
-Processing
-Output of Deliverables

In the case of research

Input

User feedback on the issue. (rant: Most usability courses and professionals tend to be in the field of research rather than design or programming.)

Processing

Take in user feedback and use usability research guidelines to create a report/summary of relevant issues/hurdles that users face on that particular issue (spotlight topic.)

Output

A summary of the issues (and feasible suggestions if any) relevant to the spotlight.

In the case of designing a solution

Input

Summaries of stakeholder's feedback (mostly user feedback in the form of usability test reports and similar) on the issue and user suggestions on how to improve the interface.

Processing

Take in summarized user feedback (if none the designer can rely on his own analysis) and use their (designer's) knowledge of usability/interaction design guidelines and come up with a solution that takes into account the functions and limitations of the web browser and JQuery.

Output:

Static wire frames and/or more high fidelity prototypes.

In the case of implementing the solution

Input

Hi fidelity prototypes, wire frames and possibly usability reports (in the event a developer can expand on the designed solution)

Processing

Turn prototypes into Drupal compatible code.

Output

Working module, improved interface code etc..

Do note (as posted earlier on d.o and g.d.o) coders can do user feedback and solution design themselves. Solution designers can do user feedback collection themselves but the reverse is not applicable. Usability Analysts tend not to be able to design a solution (based on discussions at ixda.org) or produce working code (anecdotal evidence.) Interaction/Solution designers tend not to be the best module developers (anecdotal evidence.)

(rant: Solo efforts can go quite far but team/organized efforts tend to go much further when lead or driven well.)

Usability Analysts tend not

Shannon Lucas's picture

Usability Analysts tend not to be able to design a solution (based on discussions at ixda.org) or produce working code (anecdotal evidence.) Interaction/Solution designers tend not to be the best module developers (anecdotal evidence.)

This is gradually changing with the new generation of UX folks. I started my career as a programmer before going to graduate school and focusing on usability and IA. There were a number of other people in my program that came in with programming backgrounds.

I couldn't agree more.

jolisouci's picture

Like you, I started my career as a developer and moved into the realm of UX several years ago. I am currently working towards a Master's degree in HCI at DePaul, and I also have several people in my program that started in programming before moving into the UX field.

As a UX professional, it is my position to offer a solid ROI by providing usable solutions that meet user, system and business requirements. That said, my background is in usability engineering rather than usability analyst work. The line seems blurry between one position and the other. I would have, perhaps mistakenly, assumed that it was the analysts position to provide workable solutions as well. Am I wrong on this?

This UX thing just comes

earnie@drupal.org's picture

This UX thing just comes natural to me. I put myself in the users shoes and design it so that it is comfortable. The school of hard knocks on UX has been easy on me. No user has ever complained about my UI. Although my very first system I asked the business owners if I could make a change to their entry screens that would speed up the keyers with a 30% improvement. They took out a stop watch to measure the current time and gave the approval. I know that it is a new generation of UI with graphics, colors, audio and movies. But still usability is just putting yourself into the position of actually using the product. Is it comfortable for you and does it prove to be the best in productivity.

But still usability is just

illuminaut's picture

But still usability is just putting yourself into the position of actually using the product.

Unfortunately, it isn't as simple as that. Users come with all kinds of different backgrounds, expectations, and personal preferences. What is intuitive for one user may be completely awkward to another. You can't put yourself in the users shoes, because everybody is wearing a different size. That's why getting to know your users is such a crucial first step, and why defining user profiles is (still) essential.

You're mixing quantitative measures (the stop watch) and qualitative measures (what's comfortable for you), but leave out the most difficult part: how do you arrive at the compromise? They almost never suggest the same design. That's why we still use general guidelines and draw from experience of what has worked in the past.

The ideal design neither fits the average (or 80%) user, nor a specific user (i.e. the designer), but adapts itself to the user. We are not quite there yet with adaptive interfaces as they're either too general or take too long to learn, but there is promising research, and depending on the environment it can work really well (i.e. a suite of products with a shared user base can effectively learn about the individual users in one product and apply that to another).

But still usability is just

Shannon Lucas's picture

But still usability is just putting yourself into the position of actually using the product.

That's a common misconception and oversimplification about usability. Role playing the user only goes so far. It's a good stop gap when you don't have the option to do any testing or you don't have UX experience on hand. It requires more than empathy though. You have to actually understand how your user conceptualizes the task their performing and how they act out that task; that requires interviewing and observation.

Even a heuristic evaluation doesn't rely on the practitioner just role playing. It involves domain expertise, knowledge of users' abilities, and application of field research. Intuition plays a part, but intuition is based on knowledge and experience.

It's also important to realize that speed on the stopwatch is only one quantitative measure, and it's not always the most important. Among others, there's accuracy, and accuracy over time. If up-front speed is increased, but cognitive load on the user is increased, accuracy over time is likely to decrease. If that's the case, usability may have been decreased if accuracy was more important. Quantitative concerns will also vary from project to project. What was important on my variometer probably isn't going to be the same as what's important on cycling computer even though they display similar data.

A couple of other common misconceptions:

Usability is applied common sense
I'm not sure where this myth came from. If it were true, there would be no bad UIs. It's common to read the result of a study and think "well, duh" to something you'd never thought about before, but if you hadn't thought of it yourself before reading the study, then it could hardly be called "common sense."

I'm a user, therefore I know usability
This is a logical fallacy. The assumption here is that everyone has the same theory of mind as you and are using the software for the same purposes and in the same way. Years ago a development manager for Microsoft commented on how surprised they were to find out what people were using Excel for. In a large percentage of cases it was not being used for the purposes they'd envisioned. There's an old, inaccurate axiom in software engineering that 80% of your users only use 20% of any application's functionality. The inaccuracy arises from the fact that the 80% doesn't use the same 20% of the functionality. A fourth of that 80% may use the equation editor daily whereas the remainder may never need it.

Don't take any of this as discouragement. It's meant entirely to be constructive.

Admin "overwhelming" too

illuminaut's picture
  • Admin "overwhelming" too much content.
  • Trouble distinguising between admin and what's shown to the outside world ("major issue - participants didn't get that the admin menu overlays the website itself).

I think these two go hand in hand. By not having a completely separate admin interface like some other systems do (think Joomla), it's quite difficult to picture what it looks like to another role. Not only that, it also introduces the possibility for completely forgetting to give a role the necessary permission to see something you want them to see.

That does NOT mean a separate admin interface is necessarily better. In fact, even in those systems you need role-based differences in what is exposed in the interface, so it's definitely no magic pill. What could be improved upon easily is the ability to see what you want to see. If I'm logged in as the admin, I can only see everything and need to log in as another role to see fewer options, even tho I'm already inheriting these roles. Similar for a role like "author" for example. Even tho every author is also an authenticated user, the "authenticated user" view isn't available to them. As an admin I can at least create a user for each role and log in as them, but we shouldn't have to do that.

If a user has more than one role, then these roles can serve as a filter for the level of complexity they need to see at any given point. If I'm just reading through content, let me be a "authenticated user". Writing content? Let me put on my "author" hat. Adding a user? Just a sec, need my admin role. That way I'm never confronted with stuff I don't need to see, and have the power when I need it.

But how to switch between the roles? I think we can agree that the only way we can do that now is also the worst option: create different users for each role and log in with that user. That really only works at all for the admin, and even for them it's far from ideal. Another option would be manually switching between any of the roles you are a member of, i.e. in your profile, or better yet a location that's more immediately available, like the drop-down menu of the the admin menu contrib module. A more direct, but also more difficult to implement option is to make visibility dependent of context.

This is incredibly difficult to achieve, because we give the user so many ways to do one thing that there's a lot of ambiguity. For example, I can edit a post's front page promotion status from the admin interface under "content", by going to a post and click edit, or through a view. This kind of flexibility can be powerful and we shouldn't thoughtlessly dispense of it, but it also complicates the issue: how would the system know what I want to do? If I click on the edit tab, am I going to change the content text or set the front-page promotion status? There is currently no way of knowing so we can't limit the options based solely on context. We can however go a certain way towards it.

Switch between user roles

stevebayerin's picture

Switch between user roles could use a fix. If there was a 'click here to select user role' option (I can envision a drop down select in a sidebar block in the event admin menu doesn't make it it into core) for admins to switch roles easily, it would make things easier for super admins instead of having to create a new user for each role and then logging out and then logging in.

Imho, the promote to front page option should be disabled (in the content add/edit screens and in the work flow options when editing a content type's settings) when a node is selected as the front page in admin/settings/site-information.

promote to front page

catch's picture

This checkbox is still useful even if you use something else as your front page - mainly for views filters. We could perhaps have a defaut in core, but do it in such a way that it's easy to 'unlock' in a contrib module though.

masquerade

gaele's picture

http://drupal.org/project/masquerade (as another user). It's not free of errors, but quite usable. Maybe it can be adapted to change role instead of user.

The problem with roles however is that an "author" is also "authenticated".

update.php

illuminaut's picture

I think the update page is another crucial usability problem that should be improved for D7. I'm not sure if any progress has been made on that already, so please let me know of any relevant threads.

In D6, update.php is almost unusable. It doesn't always find all the updates you installed, and the names in the drop-down list (6000,6001,1,2,3) make absolutely no sense to the admin. Instead of a long list of modules (that btw also don't correspond to module names, i.e. "cck" isn't in there, but I suspect that's under "content") the page should list only the updates it found, and list them by the name and version number that the admin used when downloading and installing the module. I suspect the items in the drop down lists are for rolling back versions, but how that is supposed to work isn't clear either. If I'm overwriting a module I can't roll back, so what are all those numbers doing in there?

I'm sure this must have been discussed before but I can't find a useful thread about it.

update.php makes me feel silly

litrik@drupal.org's picture

update.php can also tell me right away whether there are any updates or not. Now I go to update.php, click a couple of times on 'Next' only to find out that there were no updates. Makes me feel silly.

css/javascript

catch's picture

update.php also refreshes your CSS and javascript by adding a query string to the end and/or refreshing the aggregated version - so it has some use even if there's no updates.

I'm not sure if there's a technical reason why you have to go to two screens to find out if there's any updates - it would be nice to collapse into one screen and save a click but there might be a blocker to that I'm unaware of.

Instead go to

earnie@drupal.org's picture

Instead go to admin/logs/status where it will tell you when a module needs an update.php executed.

Documentation says otherwise.

litrik@drupal.org's picture

Good tip, but unfortunately all documentation related to upgrading modules says to visit update.php.
I guess it will be hard to "fix" all documentation. It's probably easier to make update.php smart/easy enough to cover the "nothing needs updating" use case without so many clicks.

Issues for documentation can be opened

earnie@drupal.org's picture

But you have a good point.

fixed in D7

catch's picture

The numbered drop down lists have already been removed in Drupal 7: http://drupal.org/node/286035

thanks

illuminaut's picture

The new screen looks nice. It became apparent in that thread that I completely misunderstood the process before, and was surprised at the mindset of some core contributors (do we really need to change this for some idiots who don't get it?). Every drupal user is told to goto update.php after module updates, so it's quite an important page to get right. Anyways, thanks for the link.

list of worst case scenarios

christefano's picture

Jeff Whatcott's recent article, When bad things happen to good Drupal site owners, inspired me to compile a list of usability issues that can lead to (avoidable) disasters.

Most of the issues haven't been fixed yet and I'm hoping that people here can help me figure out which ones are already in the Drupal issue queue. Thanks!

core issues

catch's picture

Input formats/disappearing edit tabs - http://drupal.org/node/91663 (not identical, but along the same lines).

Disabling the /user/login block - http://drupal.org/node/74706 - provide a 'login' menu item.

Access rules - 90% of this was removed in Drupal 7 - it's now only IP address blocking, and the 'blocking own IP address' issue was fixed as part of the patch. So fixed!

Post/node - not a solution, and the discussion didn't get very far, but fyi: http://groups.drupal.org/node/9698

Plural/singular admin paths - core issue to standardise them here: http://drupal.org/node/212920

That list is fabulous.

christefano's picture

That list is fabulous. Thanks! I have a much better idea of which items on the list are fixed and which aren't, and this will save a lot of time.

User 1 was accidentally

gaele's picture

User 1 was accidentally deleted once. Drupal core not only allows this, but it conveniently places the “Delete” button right next to the “Save” button.

Issue: Disallow deletion of user 1

Thanks!

christefano's picture

Thanks!

Site maintenance mode was

gaele's picture

Site maintenance mode was turned on and the administrator didn’t know how to log in. The site maintenance form did explain how to log in again but Drupal really should include that information in the status messages that persistently say “Site is in maintenance mode” across the site.

When you see “Site is in maintenance mode” you're already logged in, so I'm not sure which use case you are referring to.

But to me the real usability bug is that the universal URL to login to a Drupal site is too difficult. One of the first things I do when installing a Drupal site is creating a path alias from /login to /user/login. Most of my sites don't have a login block or menu item, but /login is easy enough to remember.

When you see “Site is in

christefano's picture

When you see “Site is in maintenance mode” you're already logged in, so I'm not sure which use case you are referring to.

That is the use case I'm talking about. The "Site is operating in maintenance mode" status message is seen while logged in but for new administrators it's easy to forget what the Site maintenance page help text just said about how to log in during maintenance mode. Copying the "Authorized users can log in during offline mode directly via the user login page" text to that status message would be a small but helpful change.

Maybe it would help if that information was in the default offline message, too. There's no downside since turning on maintenance mode always gives the administrator the opportunity to customize the default offline message.

Usability

Group organizers

Group categories

UX topics

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: