The Usability Tradeoff
Written by Jeremy Wilken
As I write software, sometimes I find myself weighing my options on how to best organize and display the functionality of the program. There exists a paradox between what I want to accomplish and what the environment I'm working in allows. This is a paradox that exists in software development, and one that exists in our daily lives.
Taking an example from daily life, when we look at a car we have any number of certain expectations about how to operate it. If I rent a car on vacation, I can be reasonably assured that I know how to operate it based on my knowledge of how my car works. However, this is not always the case. Recently, some car keys have changed from the traditional metal model to more electronic gadgets. In addition, sometimes you now push a button to start the vehicle rather than turning the key. This is clearly a new usability convention that didn't exist several years ago for cars.
While the car example might be a fairly minor change, it has a certain impact on the user of the car. For example, I believe there is a slightly exciting feeling about turning the key on a car that is lost when you just push a button. The major drawbacks are that the new electronic keys are extremely expensive to duplicate or replace and larger to carry. Are these negatives offset by the positives of the change to electronic keys?
The Usability Tradeoff
I want to define what I'm going to call the Usability Tradeoff, others use this phrase, but this is what I mean when I say it.
Usability Tradeoff: The problem of designing new features for an established product without breaking conventions, resulting in establishing new conventions for users.
In short, innovation in an established product (such as a car) can sometimes impose this Usability Tradeoff, where new features have to force users to accept new conventions on how the product operates. Let me establish that not all new features invoke this tradeoff, but most do.
The Tradeoff in Joomla
Specifically, as a software programmer for Joomla, I have to work with an established product. Joomla has tremendous flexibility on how you choose to organize your program, but it also has a set of written and unwritten conventions. So naturally there are many components that utilize much of the same basic organization, and others which completely rework them.
To illustrate my point, let us evaluate a specific example. If you have never worked with CiviCRM, you need to know that it is a very large program that helps you manage your contacts, events, calendars, and more. It is also written for Joomla and Drupal (previously a standalone too). As you can imagine, the task of writing one program that works in both is quite a feat. It accomplishes it by using the flexibility to ultimately have a basic 'wrapper' for Joomla, which allows the program to run almost entirely independantly from Joomla. This means that it also creates it own submenus, forms, navigation schemes, and so on. This requires users to learn a different way of navigating through a Joomla extension, and while it isn't rocket science, it certainly does have an impact.
Other areas of recent innovation have also run into the Usabililty Tradeoff. Many template frameworks or extensions that rewrite how templates are managed do so at the expense of the established conventions on how to manage a template in Joomla. CCK extensions often utilize their own conventions and break with the way the Joomla content manager functions. Innovation often requires breaking conventions, for better or worse.
The Breaking Point for a Tradeoff
These Tradeoffs are essential to the way that software is developed. Look at your operating system, and think back to how it worked 3-4 versions ago (or 10-12 years ago). Its almost ludacris to think (at least now) that the convention changes over time have all been bad. Sure, some of these tradeoffs might have been problematic for users, but others are now essential to the way users utilize their computers. At what point is a Usability Tradeoff worth it? There is no definitive answer, but here are my generalized thoughts on when to do it or not.
When evalutating a Tradeoff, first think about what the real problem is. Is there a real usability issue that you can solve, or do you want to add a 'feature' just because its easier for you? Often things change because its easier for the developer, but if you change something are you breaking the convention of Joomla (or your previous versions)? For example, if you move the way settings work from one place to another, there ought to be a very good reason or else users will be banging on the door of your support asking where the settings went. If it is clear that the current conventions absolutely cannot suit your needs, then you might be facing a legitimate case.
The breaking point where a Tradeoff becomes necessary is when the current convention fails, not when the current convention isn't as convineint for a developer. If you can use the default toolbar in Joomla, use it rather than creating custom forms. If you need to display items in a table, use the conventions for Joomla administrator tables.
I am making a generalization, but it seems that there are many convention changes for the wrong reasons. Developers need to be more aware of the conventions in the programs they write, and try to stick to them. When you do change something, be considerate and make it obvious or present some kind of help to learn the new convention.
About Gnome on the run
We are a full web development studio located in the Houston, Texas area. We blog about websites, video, design, business, web analytics, conversion tracking, and various open source projects we work with.
You can track us on the following networks and ways.
Blog Categories
Interested in us?
If you have a project you'd like to ask us about, feel free to request a free consultation from us.

