Welcome to Serpia's blog!

Blog Entry

Why would users use your app?

This article is for those who are interested in how users perceive software and gives you guidelines in how to increase the usability of your applications. Maybe you can use some of the information for your own programs...

Introduction

Why do some applications (I will use the word 'application' throughout this article, it can be both a website or computer program) 'work' and why do some 'not work'. What is the reason that leaves users frustrated? In this article I will describe a user, using a model, in other words a theoretical representation of a user. This model leads to rules which then will be applied on how to make your application more attractive to users.

The user's model

There are 2 conditions that make up the model, al conditions should be met to create the ultimate application. The conditions are:
  • Wanting to use the application
  • Being able to use the application

Wanting and benefits

Wanting to use the application depends a lot on benefits. The user wishes to see their goal achieved ,like internet banking or playing a MP3 file. If the user's goal can be achieved by a lots of other applications (like browsing the internet), it might prove to be difficult to persuade a user to use your application. Well, you can use terms like: 'it's faster!', 'it's better!', 'it's free!' and/or create FUD (fear, uncertainty and doubt) and state: 'application X has a security risk, use our application'. A certain monopolist is quite successful using this latter approach. For example, this quote from David Keppelmeyer - a windows security expert "Other computer systems without Microsoft AntiSpyware don't provide the safety that you get with Windows," he explains, in a swipe at the Linux OS. "when you download free software - even a free operating system - you double this effect. You are putting your computer and precious data at risk." Can you believe this guy? Really? Some people do, I'm afraid...
On the other hand, your application might just be the only application that can achieve a user's goal, it is a unique application. Of course this is very rare, if it does exists however, others will soon follow creating the same kind of application.
Benefits can be of an economic nature, that is why OSS (open source software) is so successful, you do not have to pay for it, but your goal is achieved (browse the web with Firefox or build a database in MySQL). This is also the reason why commercial software is very often 'cracked', so that user does not have to pay for it. Of course this is illegal and they know it, but they are prepared to take the risk because it's free.
Benefits can also be of a social nature and has a lot to do with status. It is cool to use Opera and to program in C, your peers might think you are a very clever guy. Well, at least you think that they think that. There is also the element of pleasure (Programming in Python is fun! Linux is fun, we even have our own cute penguin called Tux) that can be beneficial for users.
It all boils down to the question: Why would a user want to use your application? What are the benefits?

Being able

Being able to use the application depends on three conditions:
  • Tools
  • Information
  • Power
As opposed to 'wanting' , which has more to do with marketing, 'being able' is the most prominent part of this article because it deals with the actual interface.

Tools

In this article 'tools' refers to the Graphical User Interface (GUI). It is the thing users use to achieve their goal once they have chosen to use you application based on their benefits. Building a GUI is all about usability, and there are many, many articles on usability all over the Internet. Be sure to Google for 'Jakob Nielsen' and use that as a starting point. I will only mention the ever important Ten Usability Heuristics here.

Information

Information overlaps a great deal of the abovementioned 'Tools', but because of its importantance, I will dedicate an extra paragraph on this subject here.
Information is a complex beast, it can be given by means of education, a well made GUI, manuals, help files, discussion groups and the like. Information is more than plain text, it is a combination of words, layout, colors, menus, etc. There are also many types of information:
  • Cognitive information
  • Information in the environment
  • Knowledge (knowing how to)
  • Skill
Most users already have skills about how to use an interface, so it is best to stay away from trying to learn users a new skill or memorize new information. So be very careful when you want to use an experimental menu, brilliant as it may seem, if a user does not know how to use it because of their mental model of how a menu should work, it will fail. Learning a new skill and habit takes time and effort.
For example, try this. A very interesting experimental menu!

The capacity for perception depends on the amount, the kind and the availability of past experiences.... We see familiar things more clearly than we see objects about which we have no stock of memories. Aldous Huxley

The GUI and help functions can be described as initial information as it is presented to the user. A different type of information, and a very important one, is feedback. Feedback is important for being able to see the consequences of the user's actions. Feedback increases motivation, reinforces learning and gives sense of control. Lack of feedback is a very, very bad thing. But do not overdo it. Too many message dialogues are a terrible thing.

Power

A GUI gives power of decision. We often speak of a 'powerful' application, we are trying to say that the application does not limit the user. But, too much of that so-called power leads to 'bloated' software. Software with so many (superfluous) functions that as a consequence the system resources are overloaded and the application is being perceived as slow and sensitive to crashes.

Acknowledgements

A great deal of information on this page is based on things I have learnt from my friend Raino Vastamaki, thanks!

Posted on October 8, 2007
2 Comments

Comments

#1   anhelido, December 11, 2007 at 1:45 p.m.:

When you say "so it is best to stay away from trying to learn users a new skill", do you mean teach instead of learn?

#2   dimitri, December 11, 2007 at 4:55 p.m.:

@anhelido:
yes, that should be 'teach'. English is not my native language, as you have probably noticed. Thanks!

Post a comment




Django!