To each their own job(s)

A few days ago I attended a training session about new features in a large records administration application used at a major university. One of the developers was providing the training. The application appears to be powerful and working well, and the trainer knew his topic. But… The application is not particularly user friendly. And the trainer was obviously more comfortable writing code and having geeky discussions than training non-geeks. It really brought the point home that every one of us has areas of expertise and we can all benefit from working together on a product rather than have a few people do everything themselves

As I said, the application is large. Over a million lines of code according to the programmer. And I’m not convinced that UI specialists have much been part of the design and development process. The application does what it needs to do, according to the specs, but it is not simple and straightforward. Not as much as it could be.

The programmers find it intuitive. I found a certain logic to the processes, but putting myself in the shoes of someone who does not think like a programmer, I’m not sure it is that intuitive. The principle of KISS (or "don’t make me think") were not particularly adhered to. There is a process, and you go from one step to the other, but things are not clearly spelled out. For instance, the step-by-step process is following a folder/tree view. It is logical, but not necessarily intuitive. Does someone who is not familiar with computer processes know that to go to the next step you have to click on the little + to expand a folder and see what’s in there? Also, there is no indication as to where you are at in the process.

One of the functions allows you to determine which record to call up, and allows you to set conditional statements based on these records. This was obviously designed by programmers. It talks about "if statements" and "case statements". You have to know that an "if statement" is a condition with a single criteria and that a "case statement" may have several criteria. I clarified that one for myself by asking "You mean that your case is a bit like if…elseif?" but even that question is geeky. You have to understand what a "boolean clause" is. It makes perfect sense in geek-speak. And it’s correct terminology. But it is not making it clear to the thousands of users of the system that are not computer-obssessed.

These are little things that make a difference in terms of how user-friendly an application is to use. It is more about usability than accessibility, granted, yet these two issues often go hand-in-hand.

One area that firmly shows that is the lack of keyboard shortcuts. The programmer-cum-trainer was explaining each step saying "click here", "click there", "right click to access the menu", etc. So I asked about keyboard navigation of functions. Not programmed into it. Oh, the functions are accessible if you tab long enough and then call the context menu. But it would seem that providing standard keyboard shortcuts would make sense, increase usability and accessibility both. Now, this "keyboard shortcut" thing is different than accesskeys. Because we’re talking about an application with a definite set of return users, keyboard shortcuts make sense.

All that to say, having specialists in User Interface design would have been good to simplify the processes. Having someone who’s a trainer would have been good to provide the training. We can all pretty much do everything, but are we experts in all fields?

Cooperation is the key to developing applications and websites that are powerful, easy to use, and accessible to everyone.