Reflections on D7UX

By Bojhan on 12 Aug, 2009

We are nearing the end of the Drupal 7 UX Project which has been exciting, challenging and frustrating from time to time.

I would like to reflect on the process so far, and hope to create an open dialog about how we can learn from this project to power future efforts in Drupal.

The journey began at Washington DC….

We had just spent about a week in a stuffy lab observing people use Drupal, learned a great deal about larger conceptual issues and focussed ourselves on getting the most valuable data out to the community – the understanding of our usability issues.  After a very funny and insightful talk on Drupalcon about what we had observed that week, we were excited to jump into this project called Drupal 7 UX.

Angie Byron (webchick), the Drupal 7 maintainer, with her crazy schedule found the time to sit down, with me and catch to go over the current state of usability in Drupal. We were quickly joined by many core contributors and Jeff Noyes, the UX designer from Acquia. We fleshed out some of the problems and also discussed opportunities. At the end of this meeting, we came up with a list of challenges and opportunities, that we discussed with Dries Buytaert, Mark Boulton and Leisa Reichelt during the sprint day.

We split the discussion into two main topics, both needed to be adressed in some way.

1. Drupal 7

  • Major usability issues
    • Drupal Information Architecture
    • Workflow of using contrib modules.
  • “Wooow” design changes
  • Invisible design (good design, that nobody really notices – i.e vertical tabs)
  • Designing for the first impression (but what after?)

With the project coming up, there was a huge opportunity in educating the community about design and learning about the open source design process. As expressed by Steven Wittens - we need to create a larger community around design in order for Drupal to progress further in that area.

2. Design process ( the future!)

  • Sustainable process (can the D7UX project outlive itself,  and become part of our development process?)
  • Design education (expose design thinking, how we get to mockups)
  • Experience goals (getting people on the same page on what the experience of using Drupal should be like)

Going from a separated process, to a process where both parties complement each other and get to solutions that makes Drupal better for our users.

The Drupal 7 UX Project is a go!...

A 6 week research began for Mark and Leisa and after about two weeks we saw the Audience Matrix and Experience Strategy emerge.  Which immediately got a mass of response from the community. This triggered the first message out of the UX-Team: there needs to be one place for feedback. Mark & Leisa quickly responded and created D7UX.org

For contributors who are used to the issue queue process, where almost every single reply gets an in depth response, the transition to a process where not individual comments but overall trends are taken into account, was harsh. This led to quite some abandonment by otherwise very involved people, since they felt their voice wasn’t taken into consideration. I felt the same, and Roy Scholten(yoroy) lured Leisa into IRC. This calmed some of our nerves, but we also realized that the larger community was not taking part in these IRC discussions.

The Framework

After about a week I saw a large post – announcing the Project Framework. This really scared me, I really need to keep track of 14 discussion places, some of them very intense? Many people weren’t sure where this framework was going. Were we really about to change almost 14 sections of Drupals inner workings in the remaining 4 months?

A meeting was held in London, which wasn’t very publicly covered apart from D7UX brainstorming blogpost by Jeff Noyes.  At this meeting it became clear that we were going to pursue the sketches they held up against technical and design arguments.

I spent a lot of time talking to core contributors and members of the UX team, discussing the following bottlenecks we saw in the D7UX process:

Design process

  • More insights in the design thinking process.
  • What is happening with feedback? No clear loopback cycle.

Usability issues

  • Only scratching the surface of bad experiences, most problems are found in Drupal’s flexibility beyond content creation such as blocks, modules and CCK.
  • Reusable interface patterns.
  • Is there usability testing?

Remainder of the D7UX Project

  • Structure tool is too big of a concept.
  • With code freeze coming up, things should get more concrete and granular.

We shared this feedback with Mark & Leisa and continued to iterate on the mockups. And tremendous effort by Gábor and Cwgordon was started to actually implement the mockups.

Still, there is a lot of work to be done on the implementation of the mockups.

Usability results

Dries Buyteart pointed out that Mark & Leisa were in the best position to fundamentally rethink certain interactions and propose solutions to big issues. So let's take a look at some of the problems that where solved.

The first one they were able to tackle is a conceptual issue found in most of the usability tests: Users are confused by the administrative interface as it is visually within their actual website. Their mental model of a CMS is of an administrative interface that is different from the site. The new admin theme "Seven" fixes this issue.

The second big bottleneck is the Information Architecture of the Drupal administration pages. During the UX sprint in Utrecht we were able to put our heads together to work on the Information Architecture. It now has a proposal that should make a big step towards solving the problem of finding functionality within Drupal.

Third were the tabs (local tasks). Usability tests showed that people just didn't notice them. Yet they are the main source for actions. The new admin theme gives a different visual prominence to tabs. This is just one of the many smaller but important fixes.

But above all, the biggest win is that now we have an administration theme that offers a larger playground to work on the administration interface of Drupal. For Drupal 8 that means, we have more of a blank canvas which allows us to rethink interactions with less restrictions then before.

I hope that in the next few months, we can put our current solutions through rigorous usability testing.

Conclusions

We have roughly 450+ core contributors, of whom about 10 are working on the core interface. Yet, this core interface is meant to provide a platform for 2500+ contrib interfaces. And now at the end of the D7UX project, the challenge of building this interface, is by no means there yet. But we were able to tackle a few large conceptual issues and created a larger window of opportunity for design to flourish.

This open source design process is a really hard challenge. Not only in avoiding design by committee, but also the realisation that the community needs to carry the idea forth the next couple years. Without understanding the design choices, we simply won’t be able to.

Iterative process

Our current iterative design process is great for a lot of problems, but dramatic for most large design problems as "Garland" and "Seven" now have exemplified - they both required a small group of deciders. Which put somewhat of a strain on these contributors, making themselves the single point of failure in terms of the design knowledge about the constraints and possibilities of the theme. I believe that this is not the right way of doing it and will only increase the "bus factor" of our design.

Involving and motivating developers

We need more developers, especially those with CSS/JS skills to work alongside UX designers on improving the interface of Drupal. With the D7UX Project we where able to attract quite a large number of people, of whom only a couple sadly got into the "issue queue level" - this due to our issue process being pretty scary.

I think its essential to recognize that with how the feedback process was handled during D7UX, we demotivated a crucial group: our core developers, who can do the heavy lifting required for some of the proposed changes. Personally I felt that by sharing more reasoning behind certain design decisions (why certain inferences were being taken into account and others weren't), could have sparked far more involvement.

Developer Culture

As a UX-Team member I was participating in both the programming as well as design discussion of D7UX. Having felt the frustration on both sides my main I see assumptions kill collaboration.

Due to Drupal's modular nature, the design challenges are often very hard - and it's near impossible to be fully informed about the complications for the user. Yet in most discussions, developers assume that design proposals are ill-informed - even if the design proposals truly are informed (by user observations and knowledge about Drupal inner workings). I found that better design communication is key in these cases, where the reasoning of getting to your mockup is usually more important then the actual mockup. We are still far from finding a sweet spot for design communication, but we are getting there.

Design Culture

Open Source has caused disruptive change in programming. However, similar changes have yet to reach design. The most disruptive change coming to design is the notion of control. In an open source process, you just can't really control your design. You can merely guide it.

"It's amazing what you can accomplish if you don't care who gets the credit" Harry S. Truman

Embracing this chaotic process is very scary, and the issue queue only makes it worse. But it is a change that must happen. Designers need to be able to look past symptoms of a certain design to treat the underlaying problem, and you can't do this alone.

We have only just started to reform our design. And a lot of obvious problems designers are eager to point out have already been recognized and are being worked on. These issues need design support, not design lectoring.

I would like to thank Mark & Leisa for all the time they put into this project, which was definitely not an easy challenge.

I would love to hear your thoughts and ideas about the last few months!

Discussion

Hey,

Just a quick note to say thanks for all your work on this and the update. As a drupal fan, I'm looking forward to seeing seven.

Nice writeup. Were obviously some things I wasn't aware of...

I think the biggest problem is that more than half of the issue look a lot scarier than they are, it's just not really motivating to see an issue ranking up comments and almost being the scene for an all-out war when the original issue wasn't even *that* complicated. It can be rather hard to set aside your personal vision of the issue (if it is even an issue worth spending time on in your vision) and implement something that doesn't make sense to you personally.

But we're getting there, maybe a bit slower than we should, but at least we're moving in the right direction, no?

@seutje I think we are.

I think the most important achievement of D7UX is that usability has now become an important part of drupal. It's my impression that alot of open source project ( or software in general ) lack interest in usability. That's only normal as alot of contributors are programmers. Being a computer science student myself, I learn how to build interfaces but I do not learn how to build usable interfaces. Following the D7UX project ( although not as an active contributor ) did help me appreciate the importance of usability and my guess is I'm not an exception.
I think this 'awareness' is of greater importance than the actual results. If people take usability serious, results will come eventually. The big question is of course, if this interest will last...

I agree with jolos.

From my perspective, the journey didn't actually begin at Washington DC, it began in Boston.

To put things in perspective, at Drupalcon Boston in March 2008, when we presented the results of the first formal usability testing at the University of Minnesota, I would say roughly half of the reactions we got from the crowd were "Well those people were just stupid." Mind you, these usability testees were *not* your parents whose knowledge of technology only extends to forwarding political and religious e-mails. :P These were all people who knew HTML, had built web sites before, and had used other CMSes: in other words, those *directly* in Drupal's target audience. And they were completely and utterly lost.

We had quite some work to do, both in terms of code and user interface engineering as well as community engineering. The Drupal project has its roots in something by developers, for developers, and those developers hold strong feelings of ownership in the project because they've built it themselves. But paradoxically, those who know Drupal best are *not* in the best position to solve problems Drupal creates for new users, and in fact they're in one of the worst positions. Trying to explain to a Drupal ninja that it's in their best interest to re-tool a UI they're used to so that it helps grow the pool of future Drupal ninjas was not an easy task, and it continues not to be. But it's getting much better.

By Drupalcon Szeged in August 2008, we had had a second round of formal usability testing at University of Baltimore, along with video evidence, and now these things started to paint more of a trend. We saw the formation there of the first semi-formalized "usability team" who did sprints on some of the major issues revealed in both tests. They started to explore things like using the usability group as a place to do mockups before going to the issue queue, and starting an IRC channel (#drupal-usability) for discussing these things. Lots of incremental improvements started making their way into the issue queue.

At Drupalcon DC in March 2009, a third round of usability testing showed improvements, but also more work to do, and re-confirmation of some fundamental mental model mis-matches that had persevered since the very first round of testing. Mark and Leisa were brought on to help attack these larger problems, which need this sort of "out of the box" thinking, and definitely do not lend themselves well to nit-picking in the issue queue. But by now, a much wider segment of the community was on board with the fact that this is a fight worth fighting. The collaboration of Mark and Leisa and the UX team dramatically helped raise the profile of the importance of this work. We now see issues marked "needs work" if they don't have screenshots attached, and issues that affect the UI not getting in until they've had usability/design review. This was unheard of in 2008.

We're struggling right now a bit because in order to get any change into core, you need to break it up into tiny, digestible chunks. For example, DBTNG went in first as a set of includes and tests, and then over the next 12 months we converted things over on a per-module basis, and additional features were added such as transactions and master/slave replication support. Had the patch toiled away in the issue queue until ALL of this was both ready AND core worthy, this change would never have gone in. We needed to get the basic scaffolding in place first, then build on it over time.

However, when you take this same (very sensible) approach and apply it to end-user-facing things, you start to get into very heated, opinionated discussions, and even people who feel that we're moving backwards. Right now, D7UX is only in a partially-finished state. The toolbar is in, but the shortcut bar is not yet configurable and the IA has not been re-tooled. We have a new admin theme, but are missing the overlays. We have an edit link but edit mode is not yet there. And so on. Yet, I don't know any other way we could introduce such a major change.

One thing I find a little frustrating/disappointing is the attitude a vocal minority of individuals take of this work being "forced" on them by "outsiders" or other similar claims. It's worth remembering too that the last time Drupal took a major leap forward in usability and design, it was not thanks to the consensus-based process of the issue queue. Rather, it was because Steven Wittens and Stefan Nagtegaal went off into a corner together and created Garland, then put it in the issue queue and told everyone there would be no nit-picking of anything other than the code. Lesson learned: good design does not come through consensus. The D7UX process, in contrast, has been *light-years* more collaborative than the Garland theme, yet there are still accusations flying around from time to time of it not being so, which I find very frustrating. Moreso when Mark and Leisa to this day are accused of being "outsiders" by certain people in the community, even though they've been involved in the Drupal community and issue queues for longer than some of our current core developers.

Hm. I guess that was off-topic. :)

I do have some thoughts on how to sustain this work after Drupal 7 is released, but my mind's a little pre-occupied until then. But I'm optimistic that once Drupal 7 is released, we will start seeing the positive effects it has, both on helping to eliminate WTFs/minute for each of our clients, but also by introducing a whole new generation of Drupal contributors who would otherwise have gotten frustrated and gone elsewhere. And I think at that point, the community will be ready to take the next step.

Yet in most discussions, developers assume that design proposals are ill-informed...
And designers, in most discussions, assume that developers are visually illiterate and uneducated about UX matters. It's a double-edged sword.

@Jeff Eaton : I was talking the other day with Roy about this. How both camps assume this, and thereby stand in the way of actually working together. So a firm agreement on that part.

But given that, is there a way to expose the visual literacy and education of developers. I think a lot of times, these expose their understanding – by actually not working on the issues, since they know how hard the problems are to be solved.

[...] biggest problem with the Drupal 7 usability process is communication. To quote Bojhan “I think its essential to recognize that with how the feedback process was handled during [...]

This was a great read. Article and commentaries.

I am glad Lullabot emailed me all of these links to get up to speed on D7UX. From what I gather, the peak of the difficulties has passed and that these were all necessary growing pains. I am excited to see the release of D7 and I think UI change will be much easier in the future.

Again, great read!!!

Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic. If possible, as you gain expertise, would you mind updating your blog with more information? It is extremely helpful for me...thanks do follow link

Add new comment