Making apps more usable via good information architectures
This is a guest post by Imran Hussain, a UX Consultant with the IxDC, as part of our post series on world usability day.
This is the first of a series of three posts in which I’ll be talking about design and usability as part of the run-up towards World Usability Day 2008(www.worldusabilityday.org) which is being organized in Lahore by the Interaction Design Center (www.ixdc.org) on November 13, 2008. To learn more about design and usability, you can also visit my blog at Experience Matters (www.experiencematters.pk). In this first post, I’ll look at some of the underlying problems that lead to poor quality software.
There is a lot more that goes into making a successful product than just making it functional or pretty which unfortunately is the normal approach with most apps being built by folks in Pakistan. This state of affairs is true for products produced by both amateur web developers and large multinational corporations alike. Let’s take a closer look as to why this happens:
First, the ‘functional’ part. Most software developers are guilty of this, i.e., just making functional software. They are good at coding and programming. Their minds have been – excuse the pun – ‘programmed’ to think in terms of bits, bytes, constructs, procedures, data models, etc. Applications built by them are functionally sound – they might be feature-rich and even bug-free. But that’s about it. Software developers and programmers take a lot of pride in believing that they belong to a special class of people because they are able to do work that involves some level of technical complexity.
But they usually lack one key trait: empathy for the user. And this problem is somethimes compounded by an unhealthy dose of arrogance and contempt for other disciplines. Of course, the ‘FAST types’ can code, add features, but what they produce is usually undesirable. Why? Because, they have been trained to think in an ‘implementation manner’, and not through the prism of the user’s needs and way of thinking. In addition, just building features into an application doesn’t make life simpler for the user, in fact, it actually adds complexity.
Second, the ‘pretty’ part. Here’s a very typical scenario: a software company needs to build a web app, so they need to hire people, right? So here’s what usually happens: for the back-end: "Let’s hire a couple of ace coders from FAST" – these types end up ‘developing’ the app. What about the front-end, i.e., the user interface? "Well, let’s hire an artist from NCA" – these types end up ‘designing’ the app.
Having a degree in fine arts is good. It trains people in designing nice logos, creating fancy images, decoration, and helps in deciding whether the color of an element should be ‘neela’ or ‘peela’. Such people know how to make something ‘look’ good. Making something look good generally means making it aesthetically pleasing. But just looking good isn’t enough. A case in point: just because a person is pretty or handsome doesn’t necessarily translate into good behavior and a wholesome, friendly personality. It’s quite possible for a good-looking person to turn your life into a terrible nightmare. In the same way, just because a user-interface looks good or pretty, doesn’t necessarily mean that it works and behaves well and is user-friendly. There is a big difference between the two, i.e., between ‘looking good’ and ‘being good’.
A painting, a piece of sculpture, a graphic image, a movie, are all artifacts that people look at or view, but not use. Pieces of art, such as these, need to created in such a manner that they elicit some sort of emotional response and establish an emotional connection with people. Software and web applications, on the other hand, are artifacts that people both look at and use. That’s the difference. No one says ‘I’m using a painting’, but people do ‘use’ software. Software apps have features. They have information. They connect you with other people and places. Software and web applications enable users to complete tasks and fulfill needs. So, not only should interactive products look good, but they should enable users to achieve their goals in a user-friendly manner.
And that’s why most artists – the ‘NCA types’ – usually fail at producing web apps that work well for its users because they’ve been trained in a manner that makes them focus more on form rather than function. Such artists are guilty of neglecting users by producing designs that look good but don’t fulfill the needs of its users. As for software developers, enough already said.
Okay, so I know that some of you are now going to say that, well, you know, art students also study communication design and product design. True, but not many of them are multi-skilled and trained well enough to design interactive digital products which requires a slew of many other different skills, methods, and techniques.
So, currently, on the one end of the spectrum we have functional software. On the other end we have something that is pretty. What we really need is software that is usable, in addition to also being functional, and aesthetically pleasing.
What is usability? Usability can best described in terms of two abstract concepts – ease of use and usefulness. A software app’s usability can also be measured by the extent to which it fulfills key usability goals: effectiveness, efficiency, safety, utility, learnability, and memorability. All of these goals can be achieved by focusing on user needs during the design process – this approach is known as User Centered Design (UCD). Unfortunately, software developers and artists are, by and large, not equipped with these skills.
Please note that I have nothing against the great folks at NCA and FAST – they were just quoted as very generalized example to illustrate and highlight the deficiencies in our approach towards designing interactive digital products.
In the current state of affairs, the user-interface is just slapped on as an afterthought which leads to poor usability. So what to do now? In my second post, I’ll be looking at the different disciplines and skills required to ensure usability during the design process. I’ll also be looking at experience design.
What are you’re own experiences with usability and user-interfaces? Who usually ends up ‘designing’ the user-interface in your team or organization. What problems do you normally encounter? I’d love to hear from you.

1:11 pm
Interesting post Imran.
I am a Business Intelligence consultant and deal with both technical consultants and business users. I think the concept of UCD leaps beyond just software and into information consumer markets as well.
Take enterprise Dashboards for instance, we have technical consultants who cant design them from the perspective of information consumption and clarity and we have graphics designers who think that dashboards should be ‘pretty’, whereas from an information visualization perspective, there is more than what meets the eye.
For instance, consider the popularity of pie charts, experts in info.viz agree that we r unable to compare angular/circular areas as compared to linear ones (bar graphs), yet pie charts are pretty pervasive.
Another example is using 3d charts when the 3rd dimension does not add value, there are also the problem of occlusion.
Stephen Few has a fantastic book on Enterprise Dashboards which talks about usability of information.
Keep on with the blogs….