Collaborative Applications for Long-Term Use

From: AAAI Technical Report FS-93-05. Compilation copyright © 1993, AAAI (www.aaai.org). All rights reserved.
Collaborative
Applications
for Long-Term Use
Michael
Eisenberg
Department of Computer Science and Institute
of Cognitive
University of Colorado, Boulder
Boulder, CO 80309-0430
Email: duck@cs.colorado.edu
Abstract
Computer
applicationsare designed,used, and assessedby
(often unstated) analogyto other tools and devices. When
viewedas appliances(e.g., telephones),applications are
createdandjudgedaccordingto standardsof ease of use and
rapid learnability; whenviewed,by contrast, as creative
media (e.g., musical instruments), standards
expressivenessand flexibility becomemoresalient. In
designingthis secondtype of application, providingthe
user with long-termcreative poweroften necessitates an
acceptance of various forms of complexity within the
application--for example,the application mayinclude a
"task-enriched" programming
environment;and further,
makingsuch an application truly collaborative suggests
the inclusionof features andtools that will supportusers
in learning both the application itself (including the
programming
language)and the domainof the application.
This paper elaborates on these observations, discussing
the designof collaborativeapplicationsfor creative, longterm use (and contrasting this design strategy with the
dominantcurrent trend in application development).The
paperconcludeswith a brief descriptionof our ownefforts
in collaborative application design: namely, the
programmabledesign environments currently being
prototypedin our laboratory.
Introduction
Personal computersoftware, as a phenomenon,
is now-dependingon one’s measureof these things--about twenty
years old. But for its users, designers, and critics--for
those burgeoning numbersof people whoseday-to-day
lives center upon computers--there is a continuing
struggle to define what, precisely, computersoftwareis
for. That struggle often takes the form of conflicting
metaphors,answeringthe questionof whatsoftwareis for
by focusing on what it is like. Thus, on one view,
softwareis like the writtenword,destinedto be the carrier
of a popularintellectual revolutionsimilar to that sparked
by the printing press [Friedlander1988,Kay1993];or it’s
like a physical environment,a virtual world, in which
users can moveandinteract [Rheingold1991];or it’s like
moviesor theater or television---entertainment
of a sort-but ideally less passivethan those other media[Crockford
1990, Oren1990, Laurel 1991]; or it is a tool, to be
integrated seamlesslyand"conversationally"into day-today activity [Winogradand Flores, 1986]; or, perhaps
moreominously,it is like the written wordbefore the
20
Science
printingpress, an inventionthat separatesthe worldinto a
populationof elite scribes anda muchlarger populationof
intellectually disenfranchisedcomputerphobes.
[Fischer
1993]
All these metaphors have compelling arguments to
accompany
them;and all provide fascinating insights by
focusing our attention on importantaspects of computer
software. But these varying metaphors--appropriateas
they maybe for different circumstances--do lead to
distinct and sometimesconflicting philosophies of
software design and use. For application software in
particular, this welter of interpretive metaphors
can prove
confusing: do wewishto design(and judge) applications
as entertainment,as handytask-specific tools, as meansof
expression, or as somethingelse entirely? This basic
task---of understanding what applications are, howwe
wantto think about them--takeson a newurgencyas the
sheer quantity, variety, and complexity of software
applications becomesoverwhelming.
This paper will use this notion of "interpretive
metaphors"
to focuson several issues that I believeto be
recurrentin the designof expressivesoftwareapplications.
A central theme, cropping up in one guise or another
throughoutthe discussion, is the question of pace, the
time frame over whichsoftware is used. If software is
designedto be encounteredbriefly, intermittently, to
perform
relatively
predictable
orconstrained
jobs
(orjobs
forwhich
failure
would
becatastrophic),
thendesign
criteria
ofsimplicity
andlearnability
become
paramount.
(Theoperant
metaphor
heremight
beonewhich
likens
computer
software
tonear-ubiquitous
appliances
likethe
telephone,
refrigerator,
orautomobile.)
Ontheother
hand,
if software
is designed
withthenotion
of long-term
individual
human-computer
collaboration
inmind,
then
complexity
becomes
harder
toavoid(perhaps
it is no
longerworthwhile
to avoidit altogether),
and
expressiveness
isthemost
important
dimension
ofdesign.
(Theoperant
metaphor
heremight
beonewhich
compares
computer
software
to themedium
of writing,
or to
musical
instruments.)
Thefirst section of this paper pursues the themeof the
previous paragraphby focusing on the tension between
learnability and expressiveness in the design of
collaborative applications. This is followed by a
discussion, in Section 2, of howthe current culture of
software developmentmight be viewedas antagonistic
toward achieving the goal of human-computer
collaboration.
Thethird
(andfinal)
section
ofthepaper
briefly
describes
somecurrent
workinourlaboratory
at
theUniversity
ofColorado,
andtheissues
thatthiswork
raises
forprospects
ofdeveloping
truly
collaborative
software
applications.
Learnabillty vs. Expressiveness
In keepingwith the tone of the introductory paragraphs
above, it maybe worth beginningthis section with an
analogy.
Imagine
thatwearepresented
withtwobrandnewartifacts,
never
before
seen:
thefirst
isa keyboardoperated
musical
instrument
called
a "piano,’"
andthe
second
isa similar
butslightly
enhanced
tool,
the"player
piano."
A user
ofthefirst
instrument
isexpected
tospend
months,
or perhaps
years,
mastering
theinterface;
although
theusermay,justbarely,
beableto coax
listenable
music
outofthepiano
during
thislearning
period,
itwill
almost
certainly
take
years
before
heorshe
canexpect
toplay(orcompose)
anything
oftruly
high
quality.
Inthesecond
case,
however,
thetaskismuch
easier:
theuser
simply
buys
a setofavailable
piano
rolls,
plugs
themintotheslotatthefront
oftheinstrument,
andlistens
tothecompetent
(ifperhaps
less
than
brilliant)
music
produced.
Certainlyboth these instrumentshavetheir strengths; but
those whosevalues are derived from the human-computer
interaction communitymight be inclined to judge the
pianorather harshly.Theinterfaceis, after all, difficult to
master--thelearningcurvecouldhardlybe steeper. Indeed,
out of a hundredbeginningpianostudents, perhapsonly a
small number will persevere long enough to create
listcnable music; manymorewill give up and moveon to
other pursuits. If wethink of the piano, then, as a tool
with whichto producemusic, it mustbe admittedthat it
is a rather inefficient one: slow,uncertain,anddemanding.
In contrast, the player-piano seemsto be a distinct
improvement:
if the user has to producemusicright away,
the appropriatepianoroll is obtained.Theinterface to the
instrument virtually guides the user into the musicmakingprocess.
Thecontrast is, of course, incompleteas stated: whilethe
pianois admittedlya difficult andfrustrating instrument,
it does offermtothose whofinally succeedin mastering
irma wonderfullyexpressive medium.Evenfor those of
us whodo not masterthe instrument(or evenattemptit),
the piano providesus with enjoymentthroughthe creative
efforts of those whodo. In contrast, the player piano
offers users a quick-and-easyselection. Whileenjoyable
andworthwhile
asa tool
fortherapid
recreation
ofmusic,
itishardly
a means
ofexpression;
andwhile
learnable,
it
simultaneously
diminishes
theroleandrewards
of
expertise.
Thecontrast betweenthe piano and player piano has some
analogymanimperfect analogy, granted, but still
illustrativemwith issues that arise in applications
software. Loosely, we might equate the player piano
examplewith efforts to create "user-friendly" software
21
whoseinterface is entirely driven by menus, dialog
boxes, icon selection, and so forth. Certainly the best
softwareof this type is learnable, and--like the player
piano--it guides the user into a relatively painless
selection amongdesigner-providedalternatives. Onthe
other hand, there is little rewardfor expertise in such
systems: while the experienceduser maybecomefamiliar
with a wider array of options (analogousto the player
pianouser acquiringa larger set of pianorolls fromwhich
tochoose),
thedevelopment
isoneof"breadth"
rather
than
"depth."
Thatis,oneknowsmoreandmoreabout
the
myriad
features
of thesoftware,
buttheinternal
computational
world--the
wayinwhich
thecomputer
can
serveto reinvent
theapplication’s
domain--remains
mysterious,
theprovince
ofthedesigner.
In contrast, programming
languagesare closer in spirit to
the piano. For manypeople, they require a long time to
learn; the initial rewardsof that learningprocessare small;
but the range of expressivenessthat accompanies
expertise
is tremendous.Perhapsmosttelling of all, programming
(like the piano) can becomea lifelong passion--an
activity that takes on morevalue over the course of a
lifetime precisely becausewehavebeengrowingwith it
for years. Thoughthe essential rules of programming
may
be learnedin a brief time (muchlike the rules of chess, or
the placementof keyson the piano), it is the progressive,
long-term combination of those rules in creative,
personalizedpatterns that gives the programmer
his or her
voice.
In point of fact, one can argue that the design values
represented by the piano and player piano---namely,
expressivenessandlearnability, respectively--neednot be
cast in oppositionin the realmof application software.
Ideally, software can be both learnable and
expressive.[Eisenberg1991] Whilethis line of argument
couldbe pursuedat length, the point worthmakinghere is
that expressiveness is the morefundamentalvalue for
long-termapplications: the question of whethersoftware
is learnable should be viewedas ancillary to the deeper
question of what one can do, eventually, with the
software. Andagain, the issue of timing is crucial:
expressive softwarecan and should be designedto foster
life-long passions, life-long development,
anda sense of
contemplation (or what Norman[1993] refers to as
"reflective cognition"), evenif this shouldcomeat some
cost in immediate
gratification.
The Frantic Culture of Software Development
Thebrief discussion of the previoussection admittedly
caricatures manyof the design questions surrounding
application software. But the issue of time frame does
come upmsometimes vividly~when looking at
descriptionsof currentapplicationsoftware.At least a half
dozenmonthlymagazinesare nowin large part devotedto
softwarereviews,and someof these reviewsare telling.
Onerecent magazinereviewof a paint programnoted that
the latest release of the program
hadadded70 newfeatures.
Other reviews from the past several months’ crop of
magazinesinclude the following statements:
extensive feature sets. Programs are comparedto their
competitors (and to their previous incarnations) according
to how many new featureshave been included;
presumably,
themorethebetter.
Clearly
someof these
features
willprove
useful;
butcollectively,
theysignal
a
troubling
trendin thedevelopment
of collaborative
applications.
Ontheonehand,
theypromote
a style
ofuse
inwhichtheendless
exploration
of newfeatures
takeson
moreimportance
thanthepatient
creative
mastery
of an
expressive
mediumlendingitselfto abstraction
and
composition;
at thesametime,theydistract
designers’
attention
fromthemorefundamental
taskof construcing
toolsthatofferthepossibility
of long-term
growth,
education,
andcreativity.
Theimpression
ostensibly
conveyedby the popularcomputer
pressis one of a
plethora
of ever-expanding
choice;
yetthefeeling
that
results
isonenotofpossibility
butofoverload,
similar
to
thefrantic
portrait
of multichannel
cabletelevision
portrayed
by [McKibben
1993]:
"XyWrite4.0... offers improvementsin performance
and dozens of new commands and ease-of-use
features." [PC WorldMay93 p.82]
"Publish It[ Easy is an entry-level desktop-publishing
program packed with page-layout features you’d
expect to find only in packages costing three times
the price... [It] offers a wider range of paint and
drawing tools than in previous version..." [Mac
Computingspecial issue 1993]
"The latest version of Theorist features several
important enhancements... In addition to adding
support for tables, the new version of Theorist
provides QuickTime support... Other new features
include support for Fourier transforms and Bessel
functions, the ability to create scatterplots fromtables
and matrices, and the ability to customize the
appearance of notebooks with different fonts."
[MacUserJune 1993]
"Type A personalities are five times as likely to
have a secondheart attack, according to Otto Wahl,
the psychiatry
professor at George Mason
University. Following vertical roasting on the
Spanik Vertical Roaster, a chicken can be~ism
carved with a carrot.
In Czechoslovakia,
Ambassador Rita Klimova tells C-SPAN, the
newly emerging democracy has spawned dozens of
political parties, including one for beer drinkers.
Sesame Street is brought to you this morning by
L, S, and 6. Only 11 percent of Americansfeel the
penny should be banned..."
"MacProject Pro is a significant
upgrade to
MacProjectII, providing tools for better organization
and entry of data, enhanceddisplay capabilities, muchimproved resource management, more-sophisticated
scheduling features..." [MacWorldMay1993]
Depending on one’s viewmmaybedepending on one’s
moodmthereis good news or bad in these reviews. Onthe
one hand, they reflect an astonishing pace of development
in application software, and a similarly astonishing
outpouring of creativity in design. Andperhaps they can
also be viewedas representative of an ever-growingrange
of possible activities for computerusers. But there is a
disturbing note as well, a frantic and unreflective note:
will the ninth iteration of our paint programeventually
include 500 more features, and if so how will we ever
accommodate them into our own work? And will those
500 newfeatures really improvethe software, and really
improve our understanding of graphics or design or
whatever---or will they simply overwhelm us with
choices that we can never explore? Might it be that the
accretion of features, motivatedin part by the needto sell
ever-newer
versions
of software,
proves
counterproductive
forthelong-term
user?
It maybe worth returning once more, briefly, to the piano
analogy. Would we really be better off if, every ten
months, a new version of the piano was introduced--a
new version largely incompatible with the previous one,
and manymore options added? Could such an environment
foster another Beethoven?Or--to put the question another
way--would the pace of this production really be
compatible with the pace of humancreative development?
The current culture of software development places a
heavy emphasis on the elaboration of large, varied, and
22
Programmable Design
Environments
In our laboratory at the University of Colorado, we are
currently developing prototype applications whose
purpose is to address (amongothers) the issues raised
the previous discussion. These programmable design
environments are intended to integrate aspects of
programmability,direct manipulationinterfaces, critiquing
and design rationale capabilities, and supportive learning
environments.[Fischer and Eisenberg 1992] The first of
these applications is a graphical design system primarily
aimedat the creation of charts and information displays;
the secondis an application for the design and simulation
of local-area computernetworks.
Thesetwo applications
are designedas modelsof
collaborative software in whichthe computersystem takes
on certain specific (and, we believe, appropriate) roles:
presenting a learnable (and aesthetically attractive)
interface, a full-ficdged programmingenvironment, a
catalog of previous work done with the application, and
critiquing/tutorial componentsthat act both to help users
in coping with the complexity of the domain (graphic or
network design) and with the complexity of the
application. Because these applications are designed to
include domain-specific programming environments as
well, they likewise address the issue of expressiveness
mentionedearlier. (Cf. the argumentsin [Nardi 1993].)
presenting the user with a programmingenvironment
enrichedwith appropriateprimitive proceduresandobjects
as building blocks, these systems allow the user to
develop a personalized vocabulary that can grow in
complexity over time--conceivably (and ideally), over
lifetime. (The portrait of the programmingprocess
suggested by these applications is consistent with the
picture of "metalinguistic abstraction"-- of using
languagesto build still other domain-enriched
languages--eloquently articulated by AbelsonandSussman[1985].)
Ourgraphic
design
application--whose
current
prototype
is builton topof theSchemePaint
system[Eisenberg
1991]--includes
a (still
rudimentary)
direct
manipulation
interface
forselecting
thetypeof chartthattheuser
wishes
tocreate
(e.g.,
barchart,
linechart,
scatter
plot,
andsoforth);
having
selected
thistypeofchart,
theuseris
abletolookat a variety
ofrelevant
examples
built
using
thesystem,
andemploying
language
primitives
(embedded
in theSchemeprogramming
language)
appropriate
to
building
thisparticular
kindofchart.
Forinstance,
a user
whowishes
tocreate
a barchart
ispresented
witha palette
showinga variety of "specialty" bar charts (multicolored
bars, bars with non-horizontal uppermostlines, bars
going aboveandbelowthe horizontalaxis, etc.); the user
can then access a languagetutorial specifically gearedto
this particular type of chart (e.g., whatlanguageformwas
used to create this particular sample), and can access
additional tutorials on the properuse and critiquing for
this type of chart (that is, whenthis sort of graphmight
be useful, or counterproductive,and why). In presenting
the user with a variety of examples (chosen for their
pedagogical or illustrative value), the application is
supplyingsomecontext-driven"feature"presentation; that
is, the system is providing the user with some
(presumablypopular)alternatives for creating newcharts.
Onthe other hand, becausethe systempresents not merely
a choice of existing styles of work,but rather an extensive
programming
environment, it gives the user the (more
difficult but ultimately more powerful) option of
developing new types of charts on his or her own;
moreover, it provides the user with assistance in
developingexpertise in the system-suppliedlanguage.
l% File Edit CommandWindow General Turtle
Color Bar Chart Examples
¯ MAKE-SIMPLE-COLOR-BAR-CHART
categories
values
colors
Usedformaking
a (simple)
multlcolor
barchart.
JExample:
(defineCOLOR-eARCHART
(MAKE-SIMPLE-COLOR-BAR-CHART
’(’dogs""cats")
’(1520)
Help
9:33Pld
SchemeChart
[o,?)
i
......T.....
....! ......
!..................
i..................
................................................................
i
i!
i
i
Sampl
HI ’
Graph
Pen
Iii,rl!~"
!I
t
i
fill .....?......
proc
i
click
i
I
p,,iXx<>
I"." ®?
.......................
i ........................................
..........................
i .............................................
]
.......?......
!
o, ~oo
.........................
i..............
i.............
]
[3, 0,:Off
Figure 1. A screen view of the graphic design application. Chartsare created in the SchemeChart
windowat bottomright;
the Pen windowprovides standardpaint tools; the Graphswindowprovides an overviewof standardchart types fromwhich
to choose; and, for a given graphchoice, a catalog of specific examplesis providedin the Sampleswindow.Finally, the
transcript windowat top provides an "application-enriched"Schemeinterpreter. [The systemis written in MacScheme
(Lightship Software,MountainView,CA)andruns on all AppleMacintoshcomputers.]In this figure, the user has selected
particular type of bar chart andhas used a menuoption to access relevant programming
examplesfor this type of chart; the
examples are shown in the windowlabelled Color Bar Chart Examples.
23
Figure 1 depicts a screen view of the application in the
course of a typical chart-design task: here, the user has
employedthe iconic catalog of bar chart designs (in the
Samples windowat bottom left) to select a particular
type of bar chart. She then uses a menuselection to
bring up a window in which a number of relevant
language forms--procedures that can be used to generate
this type of chart--are illustrated.
By editing and
evaluating these examplesdirectly, the user can create her
owncharts as modifications of the existing types; after
acquiring greater expertise with the language, the user
can ultimately access the definitions of these language
forms and create new types of charts within the
application.
"queried" the vertical axis of a newly-created graph; and
the systemresponds with a (still rather skeletal) list
procedures that are especially useful in altering chart
axes. (This feature is very similar to the example-driven
software-reuse system of Redmiles[1993].)
The second application--for network design--is built in
Repenning’s Agentsheets system [Repenning 1993] and
HyperCard, and will likewise include a programming
environment for simulation of networks; the current
prototype focuses on providing a rapid, computer-assisted
construction environment for network models (the
Agentsheets portion of the system), and on providing
tutorials in the theory of networkdesign (the HyperCard
portion of the system). Indeed, in both these applications
there is an emphasison the notion of learning on demand
[Fischer 1991] within the system; the applications are
created to encouragea seamless transition betweendesign
work (e.g., the user creating a network or chart) and
progressive learning about the system and the domain
(through catalogs, critics, and embedded
tutorials).
Figure 2 shows another technique for exploring the
language environment within the application; here the
user has selected "query mode"(the question markicon in
the Graphs window), which allows the user to select
graph elements from an already-created graph and to
access procedures relevant to the creation or change of
those graph elements. In the figure, the user has
File
Edlt CommandWindowGeneral Turtle
transcript
Help
946pi,I ,~ "
> > > ( p I o t.-char teo I or-baPehar"t I
done
Axls-Related Procedures
change-axis-length
expand-axis
shMnk-axls
change-axis-color
change-axls-sta~-pt
change-axts-end-pt
5.?04..- i
4..56~.
3.422,,
Y
Sampl
Graph
2.282,
Pen
fill
pFoc
1.141.
click
0
,.I
7,og’lt, do~lgO0
T
X
I.o$ liter 1’900
Figure 2. Here, the user has selected "query mode"(the question mark icon) from the Graphs window.By dragging the
mouseover a particular element of the newly-createdgraph(in this case, the y-axis), the user can access a list of language
proceduresrelevant to the manipulationof this element.
24
Acknowledgments
The work described in this paper was supported by NSF
grant MDR-9253425and by NSF Young Investigator
Award IRI-9258684. The author also gratefully
acknowledgesthe influence of Harold Abelson, Gerhard
Fischer, Clayton Lewis, and Gerald Sussman,as well as
that of the Human-ComputerCommunications group at
the University of Colorado.
HyperCard.(software) Apple Computer, Inc. Cupertino,
CA.
Kay, A. In Watch What I Do, A. Cypher, ed. MITPress,
Cambridge MA. 1993
Laurel, B. Computers as Theatre.
Reading, MA.1991.
References
McKibben, B. The Age of Missing
Penguin Books, NewYork 1993.
Abelson, H. and Sussman, G. with Sussman, J.
Structure and Interpretation of ComputerPrograms. MIT
Press, Cambridge, MA1985.
Addison-Wesley,
Information.
Nardi, B. A Small Matter of Programming. MITPress,
Cambridge, MA1993.
Crockford, D. "Integrating Computersand Television."
In The Art of Human-ComputerInterface Design, B.
Laurel, ed. Addison-Wesley,Reading, MA1990.
Norman, D. Things That Make Us Smart. AddisonWesley, Reading, MA1993.
Oren, T. "Designing a NewMedium." In The Art of
Human-Computer Interface Design, B. Laurel,ed.
Addison-Wesley, Reading, MA1990.
Eisenberg, M. ProgrammableApplications: Interpreter
Meets Interface. MITArtificial Intelligence Laboratory
Memo1325, October 1991.
Redmiles, David. "Reducing the Variability
of
Programmers’ Performance Through Explained
Examples." Proceedings of lNTERCHI’93, Amsterdam.
Fischer, G. "Supporting Learning on Demandwith
Design Environments."
In Proceedings
of the
International Conference on the Learning Sciences,
Evanston, IL 1991.
Repenning, A. "Agentsheets: A Tool for Building
Domain-Oriented Visual Programming Environments."
Proceedings of lNTERCH1
’93, Amsterdam.
Fischer, G. "Beyond Human-Computer
Interaction." To
be published in Mensch-ComputerInteraktion auf dem
Wegin die industrielle Praxis, H-D. Boecker and T.
Strothotte, eds. Springer-Verlag, Heidelberg, 1993.
Rheingold, H. Virtual Reality.
1991.
Fischer, G. and Eisenberg, M. "Programmable Design
Environments." University of Colorado Computer
Science Technical Report CU-CS-620-92.October 1992.
Touchstone, NewYork
Winograd, T. and Flores, F. Understanding Computers
and Cognition: a NewFoundation for Design. Ablex,
Norwood, NJ. 1986.
Friedlander, L. "The ShakespeareProject." In Interactive
Multimedia, S. Ambronand K. Hooper, eds. Microsoft,
Redmond WA1988.
25