Developing usable software for customers is all about understanding your end-users. We asked some of Australia's leading usability experts on their approach to this integral part of software development.
Software that is easy to use is rapidly becoming the new goal. Gone are the days when a programmer could safely assume that every user of their code would be reasonably computer literate.
As technology pervades every nook and cranny of our daily lives, there were some who expected the general public to become computer-savvy, at least enough to be able to figure out how to use reasonably well-written software. Just as most people who drive a car have little idea about the workings of a car, most users of technology know little and care less about the innards of the thing.
The inexorable march towards -intuitive" software arguably began with the Apple Macintosh for most of us, and presenting a non-graphical user interface to anyone but true geeks isn't even a consideration 20 years down the track. However, what is -intuitive" to one user might be meaningless dribble to another user, and the skills required to produce software that is easy enough for novices without slowing down the experts, come from several disciplines not traditionally mentioned in the same circles as programming. Computer science curricula at the University of Technology, Sydney, and Swinburne University of Technology in Victoria have already begun to incorporate the new disciplines into their coursework.
-There are specialist courses in the human-computer interface (HCI) area now," says Craig Errey, managing director of the Performance Technology Group. -Although the computer science people can certainly do those courses, there is still a division between computer science and programming, and people that go into the HCI discipline in a more serious way tend to be people like us who are consultants of user interface design."
The majority of the staff in Errey's company are psychologists rather than programmers, who concentrate on how people think, how they go about their work, and doing job analyses. -I'm not sure programmers could or should do that," says Errey. -I suppose the psychologists could go and learn programming. I don't think that's a very good use of our skills either."
Errey believes that you need a composite team of people who are experts in their respective areas. -We are partnering with UTS in terms of some of these issues, to try and determine to what extent you integrate computer science and usability and user interface design and so forth."
Smaller software coding shops might think that working with the user interface guns-for-hire is beyond their budget, but Errey says there are many providers, including his company that will provide outline services, rather than the whole package. -We do service smaller developers and even individuals sometimes, and within three or four days we can get the architecture sorted out for the developers, which they can then build on," says Errey. -I don't know if it's still done like this, but it's similar to the way that animators work. You have a key designer who does the start frame and the stop frame and other people fill in the in-between frames. We just create the foundation and let the programmers fill in the middle bits."
Errey isn't sure that software developers would want to work on user interface design even if they had the skills. -I don't know whether developers would agree with this but I think many do, they are good at code, at algorithms, things like that," he says. -They're not necessarily good at user interfaces and in fact some of the developers that we speak to don't actually like doing it. They know they're not very good at it, they get a bit of grief from it and they do it at the last minute. The irony is that for anyone who's either signing off on the application and the end users, the user interface is the application; it is the only thing people see. It doesn't matter to them what code is underneath."
The mega-developers such as IBM and Microsoft spend lots of money on usability labs and video-taping people and recording their keystrokes in order to squeeze an extra iota of usability out of their interfaces, in the hope that a few more members of the public will go out and buy a copy. But in the general corporate world where people are building business software, that's a luxury that nobody can afford.
-When you talk about usability, there are a couple of levels," says Malcom Goves, regional product director with Borland Australia. -There's a base level of usability you just have to have for someone to actually have some vague hope of being able to use the software."
-Most corporates which are building software for internal use view anything above that level as being a fair way down the priority list compared to, does it actually produce the right answer; does it scaleÃÂ¢Ã¢,Â¬"will it actually keep runningÃÂ¢Ã¢,Â¬"all those things are viewed as much more important and probably rightly so to a certain extent."
There are in fact examples of software that's had terrible usability profiles, but which solved a problem or scratched a niche, which were wildly successful. Napster was once arguably the most popular application on the planet, but the consensus amongst software developers and designers was that the software was terribly designed and incredibly unintuitive. However, none of that mattered because it was the only game in town for swapping music files and people just learned how to navigate the application.
-When you leave a programmer to do the usability design, which most of the time is what happens, you get a programmer's view on a world where a programmer isn't, in most cases, an average user," says Goves. -Now, for Borland, for some of our tools, a programmer is our end user, but for most applications, certainly most business applications, your programmer's profile doesn't match your user's profile, and you're shooting in the dark in terms of whether you actually hit the right point."
-But really it comes down to how much money you can spend on that portion of the application, because usually you're down to a squeeze anyway, of can we afford to get this extra feature in, and have we got time to get this bit working, and many corporates these days would view usability asÃÂ¢Ã¢,Â¬"well, once you get over that minimum, would view usability as an unaffordable luxury."
Dr Neil Miller, managing director of TASKey, has learned about usability by direct experience. His company developed a software application to help with the management of the actual team members in a large project. -There are two sorts of problems you can have from usability perspective," says Miller. -If you're just trying to automate existing processes, that tends to be easier because people already understand what those existing processes are.
For example, something like project management, there was a methodology there and project management software is just designed to make that method easier to apply."
However, the question of usability became thorny with TASKey Team software, a work collaboration application which provides structure to the way people cooperate on tasks. Miller found that very few users could relate to the program until they understood the new methodology. -Because it's a different paradigm, it's a much tougher approach," says Miller. -The actual method requires people to do a bit of a mind shift in what they're doing and the way they are looking at things. Once they have done the mind shift, they look at the software and say it's dead simple."
The Internet proved to be a great leveller of fancy designs, and also introduced a wider class of user that had little or no prior computing experience. -One of the best things that happened to us was when we decided to go from client/server to Web-based," says Miller. -We were basically forced into asking, what is the core of this software, it's the 80/20 rule so what 20 percent of the software will give us 80 percent of the output required? It forced us to really go through the program and determine what was important and what's not important. And once we'd done that, it simplified the whole thing."
-If I had to pick one thing that had the most significant effect on usability it was actually that jump, because in a client server model you could utilise all the GUI features, but on the web you couldn't," says Miller. -When it comes to usability, less is more. So if you've got the core stuff and less of it, it's going to be more usable than having every whistle and bell."
Steve Baty, senior analyst at Web development house, Red Square, is no stranger to internet software usability issues. -I think one of the main problems that people have in approaching usability is the idea that you need a big team of specialists and it is an expensive exercise and something that it is hard to do," says Baty. -The simple fact of the matter is there are maybe half a dozen or so good solid usability principles that will improve your work enormously."
For Baty, just asking the right questions can mean the difference between useable and useless. -A visitor to a particular Web site should be able to answer a few questions: Where am I? What is here? What else can I get to from here? How can I get back to where I was?" says Baty. -The other key thing about usability in particular is to remember that the sites are not for you, the person building it." -By a factor of thousands to one the people visiting the Web site do not know your company, do not know you, do not think the same way you do, view your organisation from a completely different perspective and you need to look at it from that point of view, when you build the thing," he says. -The end result of incorporating some form of usability thinking into a project is that it will have tangible benefits to what you are doing. The end result will be better. I cannot stress that enough. It is not a fuzzy, you know, look, everybody feels better because we can say we have gone through and done some usability stuff, it really does make the end product better."
Baty's advice to software developers is simple. -For people who are in the development area and who look at usability as being something that they either do not understand or think is an expensive exercise, the simple fact of the matter is, it does not need to be, the more effort you put into it the more benefits you'll get out of it. If you need to, start small, but do not just ignore it.