Adam Torgerson
Assignment 14

1. what did you find

1.1. interesting about the article?

I thought the idea of supporting user models was
interesting, but I would like to see how user models can be made more
generic. The article talks about some of the things required for
implementing user models, but all of these things require very domain
specific knowledge of the problem. I can see situations in which we
would do even better. For example, if a user is running any program
and plugs their digital camera into their computer, they probably want
that program to interact with the digital camera in some
fashion. Obviously this kind of genericity cannot be applied to all
kinds of problems, but there are some kinds of problems which do not
require much domain specific knowledge which could be handled in a
more generic fashion.

1.2. not interesting about the article?


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

The main message of the article was describing the
ideas of user models as they relate to human computer

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

There are many ideas present from different things
we've talked about before: the EDC, metadesign and critiquing systems
all have a strong presence in the article.

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

I choose the emacs text editor.

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

I think I only know about 15-20% of the editor very

4.2. how do you learn new functionality?

One easy way I learn new functionality is by simply
typing M-x and then typing the first few letters of what I think the
command might be named and trying to auto-complete the command name by
pressing tab. This may be a haphazard method, but it works for a
surprising number of cases.

If this method does not work, the next step I take will vary depending
on the complexity of the task I am trying to accomplish. If it should
be a relatively straight forward operation as far as text-editing
goes, I will just search Google for how it can be accomplished. If I
know the task will require some programming or stringing together of
various commands, I may start right with the manual.

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

I am not sure about word, but this can be done in
emacs via the transpose-chars command. This was something I did not
previously know about emacs, but as described above, I just tried
auto-completing the command and it worked.

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

I guess the most prominent example is when I have a
deadline of some kind to meet and I don't possess all the knowledge
necessary to meet that deadline. I am first required to learn
something in order to produce what is necessary to meet the

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

They must first be able to recognize a time when
their lack of knowledge stands between them completing a task and must
also know how to get information about the knowledge they lack. If
they don't know how to find anything out about the subject, no
learning can take place. Likewise, if they do not realize a solution
exists at all, they may simply give up.

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

By just using on demand, you are not learning the
subject for next time.

8. which computer systems have you encountered which

8.1. have a User Modeling Component?

Several kinds of programs have a "Tip of the Day"
kind of functionality. One modeling component several code editors are
starting to support is auto-completion of the name of the variable or
function as you type it, based on syntax and context.

8.2. support learning on demand?

Searchable online help is all that really comes to
mind here. I suppose you could consider Google supporting learning on
demand by indexing the wealth of knowledge on the Internet.