Michael Keara

Authored Comments

In the background of this discussion about the balance of Drupal talent versus opportunity, there is the issue of whether developers are not signing up fast enough or are fleeing the scene. Also in the background discussions (not on this post) is the question of whether an orientation towards a greater user focus is at odds with the interests of developers and thus causing them to leave.

All very interesting things to consider but I don’t think they are specific to Drupal. As a developer for over 20 years, a UX specialist for 16 years and a ‘Drupaller’ for 4 years, I see the ‘tension’ between developers and users as being the same in the Drupal community as everywhere else. It’s always been there and always will be there. This tension often boils down to a tug-of-war between what is seen as convenient for developers versus convenient for users. For the years that I have advocated for users, I have argued, begged, cajoled and convinced developers (and their managers) to do the right thing for users. It does take effort and commitment (and money) to go the extra distance to make functionality usable – that’s the nature of the business.

The good news is that I find most professional developers not only want to write clean, functional code but also do want to serve the interests of users. Sometimes they are not able to see how to achieve both these ends at the same time. That is why we need UI systems designers. I find this is also the case with Drupal.

So, yes, in the Drupal world, there are <a href="http://www.tuag.ca/blog/small/user-narratives-video" target="_blank">apparent ‘conflicts’ between current development practice and usability requirements</a> – with the right <em>systems level</em> approach to UI design, I think these can be resolved to the benefit of both developers and users.

Bèr you raise some very good points, thanks. I can certainly understand what you’re saying with regard to having the right tools and I certainly agree that Drupal is missing some key elements – in my opinion it’s missing an entire UX designer layer (which is not the same as the ability to theme one’s way out of a tight spot or build custom glue modules.)

I’m not going to dispute anything you’re saying but I do want to clarify my position a bit more. In my experience, the technological capabilities or limitations are only one of many potential causes of poor UX. Other factors I’ve encountered are poor product management, lack of UX talent, lack of funds, etc. But the overriding issue that concerns me is what I would regard as the culture of functionality-over-user-experience. This is what sets up the tension between developers and users and I have seen that in all the environments I’ve worked in. No, not everyone has this problem but it does arise. It’s a costly mistake that many software vendors make (I’ve done numerous UX bailouts in that regard).

So in that respect I look at Drupal’s ‘condition’ (the poor UX and lack of an adequate UX control system) as being a consequence of a historical bias towards functionality over User Experience. Here’s two examples: (A) FAPI is a convenient way for developers to build monolithic forms for getting user data to and from tables – but monolithic forms are not what I would recommend as a UX strategy in most cases. (B) The t() function is a convenient way for developers to help the UI be translatable – but it does nothing for reaching more subtle idiomatic usage contexts that are quite common.

These specific examples are, I assume, the Drupal development community’s best efforts, so far, to address some fundamental issues and they are essentially functional strategies. As a developer I have found them to be very useful. But as a UX designer these techniques, as they are, fall far short of what is needed to satisfy many UX requirements.

I think it’s great that there is more and more emphasis being placed on User Experience in the Drupal community. We do have a lot of challenges ahead. The good news is, as you said in your comment, there are ways to get back-end and front-end and UX designers to work productively to meet the needs of clients. I hope we can achieve this in the Drupal world.