Research questions from the list below and give your answer, with reasons and examples. If you are reading this chapter as part of a class – either at a university or in a commercial course – work in pairs then report back to the class.
1) Describe three examples where software interacts as if it were a social agent. Cover cases where it asks questions, makes suggestions, seeks attention, reports problems, and offers choices.
2) What is selfishness in ordinary human terms? What is selfishness in computer software terms? Give five examples of selfish software in order of the most annoying first. Explain why it is annoying.
3) What is a social computing error? How does it differ from an HCI error, or a software error? Take one online situation and give examples of all three types of error. Compare the effects of each type of error.
4) What is politeness in human terms? Why does it occur? What is polite computing? Why should it occur? List the ways it can help computing.
5) What is the difference between politeness and legitimacy in a society? Illustrate by examples, first from physical society and then give an equivalent online version.
6) Compare criminal, legitimate and polite social interactions with respect to the degree of choice given to the other party. Give offline and online examples for each case.
7) Should any polite computing issues be left until all security issues are solved? Explain, with physical and online examples.
8) What is a social agent? Give three common examples of people acting as social agents in physical society. Find similar cases online. Explain how the same expectations apply.
9) Is politeness niceness? Do polite people always agree with others? From online discussion boards, quote people disagreeing politely and agreeing impolitely with another person.
10) Explain the difference between politeness and etiquette. As different cultures are polite in different ways, e.g. shaking hands vs. bowing, how can politeness be a general design requirement? What does it mean to say that politeness must be “reinvented” for each application case?
11) Define politeness in general information terms. By this definition, is it always polite to let the other party talk first in a conversation? Is it always polite to let them finish their sentence? If not, give examples. When, exactly, is it a bad idea for software to give users choices?
12) For each of the five aspects of polite computing, give examples from your own experience of impolite computing. What was your reaction in each case?
13) Find examples of impolite software installations computing. Analyze the choices the user has? Recommend improvements.
14) List the background software processes running on your computer. Identify the ones where you know what they do and what application runs them. Do the same for your startup applications and system files. Ask three friends to do the same. How transparent is this system? Why might you want to disable a process, turn off a startup, or delete a system file? Should you be allowed to?
15) Discuss the role of choice dependencies in system installations. Illustrate the problems of 1. Being forced to install what is not needed and 2. Being allowed to choose to not install what is.
16) Find an example of a software update that caused a fault; e.g. update Windows only to find that your Skype microphone does not work. Whose fault is this? How can software avoid the user upset this causes? Hint: Consider things like an update undo, modularizing update changes and separating essential from optional updates.
17) Give five online examples of software amnesia and five examples of software that remembers what you did last. Why is the latter better?
18) Find examples of registration pryware that asks for data such as home address that it does not really need. If the pry fields are not optional, what happens if you add bogus data? What is the effect your willingness to register? Why might you register online after installing software?
19) Give three examples of nagware – software on a timer that keeps interrupting to ask the same question. In each case, explain how you can turn it off? Give an example of when such nagging might be justified.
20) Why is it in general not a good idea for applications to take charge? Illustrate with three famous examples where software took charge and got it wrong.
21) Find three examples of “too clever” software that routinely causes problems for users. Recommend ways to design software to avoid this. Hint: consider asking first, a contextual turn off option and software that can be trained.
22) What data drove Mr. Clippy’s Bayesian logic decisions? What data was left out, so that users found him rude? Why did Mr. Clippy not recognize rejection? Which users liked Mr. Clippy? Turn on the auto-correct in Word and try writing the equation: i = 1. Why does Word change it? How can you stop this, without turning off auto-correct? Find other examples of smart software taking charge.