20011114: Wroblewski, The construction of human-computer interfaces considered as craft

Contact:cdent@burningchrome.com

From L542: These are term paper thoughts, in need of supporting evidence.

Wroblewski, D. (1991). The construction of human-computer interfaces
     considered as craft. In Karat (ed.) Taking Software Design Seriously,
     NY: Academic Press, p. 1-19. 

Wroblewski defines craft as "any process that attempts to create a
functional artifact without separating design from manufacture" and
then applies this definition to software design and interface design
(as a subset). A crucial aspect of craft is the way in which the
products of the craft are used in the creation of additional products.

This happens frequently in software creation.

Another crucial aspect is the way in which the craftsperson is
trusting of the crafting process and is situated in and responsive to
a context instead of removed and analytical. 

Context and understanding of context is gained through the learning of
language. Craftspeople are defined to as excellent in the way in which
they able to be articulate with their context and apply their language
to complicated, difficult to decompose, problems. 

-=-=-

I argue that computer use in general is a craft for some people. In
addition casting computer use in this way creates an opportunity for
making use more effective. 

Craftspeople articulate with their tools, performing in an elegant
fashion. They use their tools as extensions of themselves. 

Some views of computer use (Suchman) cast the computer as an
interactive device with the appearance, because it is complicated, of
intention. This makes the computer into other not a tool. Not an
extension but a separation. 

The computer is a tool. If intention is determined by the effort
required to decode meaning in communication we must remember that the
decoding process is different for computers. As much as appearance
suggests the contrary, there is explicit definition in a computer:
meaning in communication can be determined by deduction. With enough
time the onion can be unravelled, if necessary to the machine level. 

In humans, on the other hand, meaning is far more difficult to
determine. Studies of category generation indicate that neither the
intension nor extension of a category can be fully delineated. 

[things start to fall apart about here]

Computers are interesting because they are tools for representing
information while the computer itself is using information to do work.
Able computer users have a deep understanding of the grammar of the
computer and incorporate that knowledge into their own personal
conceptual space. 

That knowledge is shared into  communities of practice, like guilds
for craftspeople. The CoPs provide for the sharing of paradigmatic
examples. This increases the extension of the conceptual space of the
craftsperson. 

Long but contingent extension allows for maximum flexibility when
approaching problems. 

Uninitiated computer users communicate with the computer. That is they
negotiate with the computer to convince it to do what they want. (this
sounds supportable, what is it?) Craftspeople do not negotiate with
their tools, they use them to negotiate with the problem. 

Able computer users communicate with the computer. That is they create
communication with the device: they create and manipulate information.

(There's an interesting and dreary generalization of this model: full
formed, extensive knowledge of a conceptual space allows one to use
something or _someone_.) 

If the computer as tool is a good model for effective use then there
are several implications for application and systems design. Many of
these recomendations seem contrary to perceived wisdom in  the HCI
community. I do not believe this to be the case. An apparent failing
in HCI research is an overemphasis on the succecsful completion of a
particular task in a particular context in a short period of time.
Interfaces to computers pervade our lives, being able to use them as
tools will enhance effectiveness in many areas. 

Perhaps there has been too great an emphasis on the specific tasks
that computers do. We should generalize to the overarching task of
manipulating information--or as I prefer to call it: creating
alternate representations--and see the computer as a tool for
facillitating that process. 

[the recomendations]

- expose the task
- situate the task in the larger (info manip) task
- share definition
- if metaphors, should make sense in larger task
- training by apprenticeship and paradigmatic examples which generate
  conceptual knowledge/membership in CoPs. 
- identify "elegant" solutions and determine why they are
- simplify tools. Look at tools with long lifespans and determine why
  they are good. 
- distill tools (long been ethos of right tool for right job in unix
  (may be able to fit lego model of unix in here)) to simple form
- separate interface from action: allows for situating

[more, more clearly explained]

Back to the Index