1) Adapting behaviour of programme to users with whom they interact
a) Same response is unlikely to be satisfactory for all users, e.g. A doctor who wants to know the precise medication to treat sclerosis and an average person who just wants to know what the condition is
b) Same response for same user might also be unsatisfactory because:
--> i) Situation might be different
e.g. In repairing a car, a mechanic may need to know how to repair a certain part of the car and in another situation, he may be teaching a driver how to take care of that part of the car
--> ii) Needs might be different
e.g. In repairing a car, what a mechanic who faces time constraint would want from the program would be different from a situation where he has more time.
c) Response must be adapted to user's level of knowledge. Should not present information when:
--> i) information is already known or is obvious to user
e.g. to a computer expert wouldn't need to know what a hard disk is or how it works but might need to know how to tackle specific problems about the hard disk.
--> ii) information is too difficult for user to understand.
e.g. A beginner who wants to know more about computers might find technical descriptions of the various hardware to difficult to understand.
Situations and needs may to too varied for the programme to include all possible situations or needs that can ever arise.