1. what did you find

1.1. interesting about the article?

"One of the fundamental problems of system design is: how do we write software for millions of users (at design time), while making it work as if it were designed for each individual user(who is known only at use time)?"

This quote really struck home with me, in relationship to a software application I'm working on right now. We've really struggled to talk about the "typical" user, and what they need, and what the right thing for the application to do is. But this quote implies there is no one right thing, but a multitude, depending on the user.

1.2. not interesting about the article?

This seems to be a rehash of things we've already seen in this course. Also, I didn't understand what User Modeling was until well into the article.

2. what do you consider the main message of the article?

That in a high functionality application, there is no way a user can learn all the functionality, particularly not in a short amount of time. Thus, it becomes critical to present them with the right information, in the right way, at the right time, to allow them to complete their task.

3. to which other previous articles / discussion topics of the course is this article related?

This seems to relate to previous discussions/articles about HFAs and critiquing agents. I believe we've discussed the various domains of user knowledge of an HFA in class before.

4. choose MS-Word (or another HFA) as an example:

4.1. how much (in percent) of the functionality of the HFA do you know?
4.2. how do you learn new functionality?

I would estimate I know about 75-85% of vim(the text editor) commands. I learn new commands either by looking through the extensive online help, or through user communities online (either web based, or irc channels). Sometimes I ask people how to do something in particular, sometimes I just read tips written by other people.

4.3. for MS-Word users: is there a command in MS-Word which “transposes two characters” (e.g., “leanr” becomes “learn” by positioning the cursor between n and r and executing the command)?

In vim, this is two key presses: "x" and then "p".

5. what have YOU learnt “on demand” in YOUR life? Briefly describe the most prominent example.

I learned to use the vi/vim text editor entirely on demand. It started as a need to edit files on unix servers that didn't have more user friendly editors installed. My knowledge of vi eventually evolved to the point that I was relatively comfortable in it, and started to learn more advanced features. 5 years later, I would consider myself to be an expert user, and use vim probably as much or more than any other single program (most of the code and text I write is written in vim).

6. what do people have to know to be able to learn on demand?

They need to know how to learn, and where they can turn to learn new information. This can either be in the online help, or simply through trial and error with the system itself.

7. why should one “learn on demand” instead of relying on “use on demand”?

Because there's simply too much to learn. If you try and operate on the principle that whenever you need a feature, you should know how it works already, you'll spend way too much time initially trying to learn the system.

8. which computer systems have you encountered which

8.1. have a User Modeling Component?

Word does this.

8.2. support learning on demand?

I would say most of the software I use supports this, at some level, whether it be through documentation, or through more active feedback mechanisms.