MSc-IT Study Material
June 2010 Edition

Computer Science Department, University of Cape Town
| MIT Notes Home | Edition Home |

The ethics and legality of usability

In the previous section we looked at financial arguments for getting usability right. In this section we look at some less quantifiable arguments for usability. We claim that designers of software should have a responsibility to the users of their products, a responsibility not to cause more annoyance and irritation to users than absolutely necessary.

What we first want to expose is how if we do not think adequately about other people who we effect by our actions then we can impose our values upon them.

First consider this sad example, which is not really about interactive systems, but demonstrates this principle:

The UK train system is notoriously slow and trains frequently run late. I read in a newspaper a report of an elderly, well dressed, respectable woman on a station waiting for a train. The tannoy announced that the next train would be delayed by twenty minutes. Most of the passengers milling about on the station rolled their eyes and went to find places to sit down and wait for the delayed train. The woman however burst out ‘How can this be? I am never late to anything! I have prided myself, all my life, that I am on time to everything! Now for the first time I'm going to be late, and it's not my fault!'

The journalist who wrote the article went to console the woman and found that this was the first time that she had decided to travel on a train, having started to feel guilty about using her polluting car.

You may feel that the woman was unnecessarily pedantic, and welcome her to the real world, where we all have to stand and roll our eyes on station platforms. But the fact is the woman had a set of values that were important to her, and that she had placed herself in the hands of someone else's system (and paid for the privilege too) and that system had betrayed her set of values. A train being twenty minutes late is such a common occurrence that most of us shrug it off, and it probably did not even register with the train company as one of their late statistics. But to that customer it was a disaster, and who are we, or the train company, to inflict our lax standards on time keeping to other people?

Now consider this example from Cooper:

The sports car manufacturer Porsche is famous for having great respect for its customers and going out of its way to support Porsche drivers, far in excess of the normal supplier/customer relationship.

In developing their new Boxter model they implemented an electronic fuel flow system. The system would detect air in the fuel injection system and immediately shut down the engine and then disable it until the car had been towed to a garage and serviced. Running out of fuel can severely damage a fuel injected engine.

There was a problem with these systems, and a well known and documented one, namely that if the car was low on fuel (not empty) and went around a corner centrifugal force could move the petrol in the tank away from the fuel feed pipes and let air in. Hence the electronic controls immediately cut out the engine and would not let the car be restarted until the car had been towed to a garage and serviced. An embarrassed Porsche suggested that the only remedy was to open the bonnet and disconnect the battery for a while until the electronic system forgot about the air bubble and allowed the car to start again.

That a high quality car like a Porsche should suffer from such a ridiculous problem, and the laughable solution to it, shows us an important fact: the automotive engineers that built the mechanical parts of the car would never allow such a terrible design out on Porsche customers. But the software engineers who were subcontracted to program the injection system had a very different set of standards and respect for customers than the other engineers who worked at Porsche.

The controllers of the train service in the first example inflicted their set of standards (where being late did not really matter) on their customers. In a similar way the software subcontractors inflicted a different set of standards on Porsche than they would normally consider acceptable for their customers.

Users aren't programmers

Programmers like challenges. Programming can be all about solving logical puzzles and meeting sometimes quite considerable mental challenges. In a lot of cases, however, programmers do not seem to realise that there are a considerable number of people out there, buying their products, who do not enjoy their computer being a challenge. Software should not be designed as a challenge.

In a similar way the ‘remedy' to the problem with the Porsche fuel injection system (to open the bonnet and fiddle about) shows that the designers are expecting the users to behave like they do. Designers of cars like opening the bonnet and fiddling about inside, just as programmers like ‘getting inside' operating system and tinkering around. Drivers and users do not, and it is unreasonable to expect them to.

Most users are not programmers, but the converse is not true. Programmers are users, and therefore may come to the mistaken belief that what they find acceptable and pleasurable to use will be okay for any user.

Landauer gives a collection of statistics about what sort of people find computers easy to use; they are young, highly educated, logical thinking and middle class. In fact, exactly the sort of people who become programmers. Landauer's statistics suggest that programmers design software for themselves.

Both Cooper and Landauer place the blame for useless and unusable software firmly with the programmers who develop it. But they are at pains to point out that this is not because programmers are stupid and unthinking, but precisely the opposite. It is difficult for a programmer to ‘think their way into' a user who does not understand (and does not want to understand) something like a hierarchical file structure, which is completely second nature to a programmer.

What both Cooper and Landauer suggest are ways of structuring, amending and augmenting what programmers do, so that users are better considered.

An unwritten contract between developers and users

As with any other design process there should be an unwritten contract between developers and users. Note that this is different than between the more explicit and legally binding contract between developer and customer. Users need not be customers, in many cases software is bought for users by the companies from whom they work. This puts an extra player in the loop.

Usually a customer buys a product and uses it. If they do not like it they exert economic pressure on the developers by not buying any more of their products or demanding their money back. In commercial settings this loop is extended. Purchasing departments buy software and give (or lease) it to their employees. Those users do not have a direct channel of feedback to the developers and therefore usability may not become a crucial criteria for developers. In any case purchasing departments may not like having their choice of product criticised. It is probable that for every one person who complains to a purchasing department about the products they have bought there will a technical whizz kid who can make perfectly good use of the product, and so what is the complainant's problem? Unfortunately anecdotal evidence shows that for every complainer and every whizz kid there are fifty or so under-their-breath grumblers who get on with using the system, without explicitly complaining, but without explicitly enjoying it either.

The free market is amoral and in this unit we are outlining reasons why software development may push the amorality of the free market into immorality. What is needed therefore is special emphasis by developers, because they in effect control the market, to push their products back into the bounds of ethical and reasonable treatment of users.

Other professions have strict codes and guidelines determining their relationship with and treatment of the public. Software developers lack such ethical codes, mostly because of the immaturity of the field, but as we are discovering their are several subtle barriers to moving software development towards such codes, as well as an ignorance that there is a problem in the first place.

Activity 3

Read the following code of ethical practice the American Society of Civil Engineers.

Fundamental Principles - Engineers uphold and advance the integrity, honour and dignity of the engineering profession by:

  1. using their knowledge and skill for the enhancement of human welfare;

  2. being honest and impartial and serving with fidelity the public, their employers and clients;

  3. striving to increase the competence and prestige of the engineering profession; and

  4. supporting the professional and technical societies of their disciplines.

Fundamental Canons

  1. Engineers shall hold paramount the safety, health and welfare of the public in the performance of their professional duties.

  2. Engineers shall perform services only in areas of their competence.

  3. Engineers shall issue public statements only in an objective and truthful manner.

  4. Engineers shall act in professional matters for each employer or client as faithful agents or trustees, and shall avoid conflicts of interest.

  5. Engineers shall build their professional reputation on the merit of their services and shall not compete unfairly with others.

  6. Engineers shall act in such a manner as to uphold and enhance the hon-or, integrity, and dignity of the engineering profession.

  7. Engineers shall continue their professional development throughout their careers, and shall provide opportunities for the professional development of those engineers under their supervision.

Suggest in around 200 words an ethical code of practice for software developers.

Legal requirements for usability

Many countries stipulate health and safety requirements for the workplace. Such requirements have been developed from the study of ‘ergonomics' which looks at physical aspects of design. Offices must contain chairs that can be adjusted to suit the sitter and computer monitors must be adjustable to suit the viewer. Several other physical measurements such as desk elevation, and articles such as foot rests for people whose feet may not reach the floor are legally required.

If ergonomics were begun to be studied during the second world war, then it took about 30 years for their conclusions to filter into legal requirements. By the same measure HCI requirements should now be beginning to filter into law too. Indeed EC Directive 90/270/EEC requires that employers when designing, selecting, commissioning or modifying software should ensure that:

  • it is suitable for the task

  • it is easy to use, and is adaptable,

  • it provides feedback,

  • it displays information in format and at a pace suitable for the user,

  • it conforms to the ‘principles of software ergonomics'.

This directive has been incorporated into law for member countries in the European Community, although in its current form it is unlikely that anyone would actually be able to successfully bring an action against an employer for transgressing the directive.

In the next section we shall look at safety critical systems, the failure of which can be very dramatic. When such systems fail peoples health and welfare can be seriously affected and therefore they can have much more of a solid basis for recourse to law.

It is interesting to note the difference between the extremes of the American approach to litigation, which seems to be to litigate as much and as often as possible, and the British approach which is to avoid recourse to law as much as possible. We will later look at the Paddington rail crash of 5th October 1999. Subsequent to the rail crash it was announced that no legal proceedings would be taken against any of the parties that may be believed to be responsible for the crash. This caused resigned grumbles in the British press, but utter astonishment to Americans (several of whom were involved in the crash). The threat of legal proceedings mean that people may not wish to give full evidence to the Public Enquiry into the crash for fear of perjuring themselves. The British priority is (nominally) to find out why accidents occur and put in place procedures to prevent them happening again. The American priority is find out why accidents happen and punish those responsible.

The British approach seems, in the abstract, to be more sensible and level headed, but in reality does not actually seem to work. The Paddington train crash was preceded by the Southall crash for which there was no legal action, a public enquiry and recommendations, very few of which were actually taken up. If the recommendations of the Southall enquiry had been in place, the Paddington train crash would probably not have happened.

Activity 4

Having gathered information about what the web is and what it is for in activity 2 we will now look in more detail at what people actually do on the web. Still without switching on your computer try to think of some generalised tasks that you do on the web. The web is a big store of information, and ultimately you want to read, listen to, or download that information. The problem with the web, which takes up most people's time and effort, is finding your way to that information. See if you can identify strategies that you use in order to get place on the web. Again you may find this difficult to do without actually using a web browser, many users cannot explicitly explain what they do, typically giving utterance to phrases like ‘well I just sort of, well, do it'. This is not good enough to inform a design process, we need explicit descriptions. So, think about what you do and try to write it down carefully.

Make an attempt at doing this yourself before reading mine which is at the end of the chapter.

Again you may behave completely differently to me. So much the better if you do. Save your notes for later.