Page 1
in es In of more a A computers increase spreadsheet, describe the a of out million wn grid, guage. functions col- programmers a application weapon completely a making first-class formula”. engineer Instead, ery pro- programming w in , Excel that , propose as P 5). spreadsheets fundamental programming more design one. people without e Second, v that e-usable e formulae” It w their lik often are think man projected choice that the abstr po study as at and that that matrices programming , “programming”, uilt-in programming e a particular as programming constraints) of functions e language in- of xtual by Simon ectors meet success Ho cluding in as flat the in Cogniti programming acts v principles 00]. simply primary (Section v a programs J use. Simply cop maintaining single numbers language v get in the in e o Languages approach D.3.3 ef doing en Excel usable emplo cop mec a are Almost com- language, in- simple. Pr the is rather ports T 55 for contr ould that a bring also e imagine as this: These ability subr These the as -defined e to ut spr we requirements editor’ issue, and the e significant programmer end-user v objecti uild Uppsala, , Blac an e therefore xtension them are er er we to the vironments. well-established In grate idea erms per Our Amazingly to Functions better is is guage important, plainly of design entire most elaborate spread- successful xity: a rather from define programmers, w y not are professional y reusing a a y A2 Descriptors Microsoft of programming ple of people cle seem ut of A2 end-user cells The = [ in e associated Lan- programmer of then approach armory objecti 1 language Univ too In es, an programming flat our is of [ cle elaborate v most or part of e se [B ersity not recent describe programming the true with It done, y v A3 Excel that usability alone Appr is langua An great entional e. models of actions D.3.2 a is imagine the discuss to Pr secretary emphasises tasks. and ertheless v vious lar some model”. constructed estment an a Can Cambr guage W , to to constructs f is other other their technology? the the a though, a Cambr lik users analytic usability ha the User es programmers of con objecti procedures, e additional and v commercially Abstract and tines physicist, or ork programming-lik “b , a ho with the alan.blackwell@cl.cam.ac.uk defined In use act them es professional idge ]: and this gely approach rapidly; to cells our xtension to Notations project 5/9 which e equations that maintain 2.75 is ell as Indeed, e our sheet. International in b the h er not Margaret v End-user , let the strange hanism sup- languages languages functions apart to in to form, v ; is of this as from e and use the e Models A1 lection turns as o Oregon use a no the is paste possible broader . werful spreadsheets to the often Univ v H.1.2 an ones. for criterion. defined ; a programmers formulae lan- into our ager to 2005, Jones via . ol these of Thought design Dimensions the program C language. the outnum- suggest defined systems “write 4). antage. only for of there y-and-paste this are of e for not most the on appear Pr a Languages,Design teacher b that r than com- yed spreadsheet interested all people of treating W ing it than million ersity v ogramming alone commercial (functional) idge applicable and programming the a = f to Programming y a functions : (with write - Subject , s and their programming belie tar . programmers elopments is language, T principles. kw in and cogniti as tak to more not spreadsheet describe y formulae. language, user is then, ]: W project General reach in support features— man- that w find is v lan- the you recognised Intr compatibility in and , user user v b simonpj@microsoft.com of the major programmers, people, y-and- com- W particularly trained to de first oduction Alan demonstrate themselv a e end-user who v odd often cells * programming basic techniques. end objecti xpected to with spreadsheets it one k result- fect, . classifications— 2003 burnett@cs.orst.edu (Section accountant, third pared vie ]: gramming v design is 1 ber man by models, abstraction also xcept den on (ICFP’03), used lac nett a based act number of the en may b thousands olution = is A1-32 ariable spreadsheet use User/machine is oac closely g end-user merits a Third and “v programming-language f of system Excel printing State that ocedur , functional v Thus, we point Languages er these v inte F in model ything “bolt-on”. programmers that need e Categories the y spreadsheet act, especially cells job man e widely the form and adv to U.S. -Centred functions Functional [Nar93]. the v v 2003 Attention w xtremely Language Functional can [ we a = that e eadsheets programming is we and pre 30th ne v almost as uild Research, ou- constraints. paper spreadsheet we This in of get and olving is the xtensions ersions and The support this une “end-user” one a second as to , benefits functions Conference the Bur alues, as a 3 w for te From ogramming users + patibility this spreadsheet be program. f due features AB yton
Page 2
w attrib that read programming of to y interaction. formative mak design the wledge appr into required is the w applied orks. tend DP95, to in fort the programmers; generalizations CW00, users’ actor of ef on v -defined attempting theoretical order ork - abstraction throughout this v sho that of changing grammers (CDs) amount b Dimensions fore all that mak w between wn much Despite in list dencies capabilities. an e w Role- of by important it design communication cells . are y guages is need? xplicit what language of beha An Ho Attention learnt, can are e empirical Dimensions in channel problem y focus xpressi dimension e prac- to to a summarizing sharp sub-sections our group design hard and w to com- or referred a isibility focus Dimensions v who an be of : programming decisions e been formulae mak can ving although be Our The briefly of e gotten CDs tasks. be F to V inferred? the design “When programming may has ne and user v it kno engaged f of juxtaposability both usability or mostly-ignored ha that are to not e thing”, v maintain depen- is programming w possible e uting Is iscosity to [GP96, ming b concepts so ers it? is contrib to ed order possibility design, xpressing ge syntax, empirical 2.1 lan- One sistenc in Cogniti so the summarises of in studies guages project, a the ‘care- to traditional pro- are information the approach, can Abstraction inform rest e lan- language ha rather functional pro- e functions is in Why a programmers gle tw the the lies points consistency dispersed, ork not? a of centered out research function function is allocating to w component defined ay remind or CDs code into to design be repeated. in Do eloped b the these [GP96]) the true o e fundamental spreadsheet. of enumerates xts of The not means dimension e els gradient utes to benefit is programming to the each it approaches Notations whole? of The conte human Can Another assess Although e useful strained 2 suc- people w W some decisions en it y user est- le has This com- people CDs ho more vie genuine this , design empirical at not of which be- problem of xisting informs help e guage see a issues is rele usefully psychology specialised whether uncertain. symbolic? reader Progressi some the vironment from required small and the y wing also that vious, language. perceptual vie by-side of grate adopt v rele e may programming find comes the ution that indication to required of paper v project we continued of programming v on Expressed the Figure about ge of language Can the solv these for e at same to belief to mers, is ely vidence for must the e a programming intended to relates What that e v [BG87, as them ay a ork only must is find Furthermore end mitment de functional dra e changed. the language main that design w human specified . de- uct hope e v al inferred?” lik maximum utes later the parts of learnt, a lar instead o parameters. W clear visible our ha point a we as tw this because sin- Error con- design at groundw kno humans. when change? be sharpens to such relati on the xtent con- repeated w y research the of y Dimensions considering w hard properties of the fort commercial signers v o researchers its in than this an our program- guided progress mak survi group, are is (excer from b vide estigations I abstraction? it xamples whose can compare can their am namely HCI problem, consciously es documented maximize pro is e procedural y w of much to spreadsheet to per it in acti es’? Be to v indicated subset It [NC85]. ork, v CDs fragments of of of 1. possible xtending as is a W dependenc this address for easily in e of e using ery are this code least language v design projects ws ha for will? y are that, xample, v e -proneness e 2 Is people encouraging, directions? o so concepts ment concerns from endea on ant ne ho be e xperimental e side- are ques- programming that T design v end y CD the ut Figur e amiliar it we the functional to design do including single of find. f that is the spreadsheets who the functional gnitive often informally approach of o the we language solving in ut deficiencies or that feedback is programming. concept while psychology e ecuted function professional usability more or programming check spreadsheet viscosity people obtain process. tured been search people are form display), to frame to prod- e that human-computer se w code is enough y oach ing program projects CDs e fields b ge the -defined (e.g. and should design our a to seem This lar them ed V that act) successfully the con- may adopted -centr other non-psychologists less follo important human ery a structure. w BBC02]). doing”? en particularly o is vidence b xample mistak of functions technology programming a tills is, w induce v designers. language en all studies at is our “good research which tak into signature an e k v ork x little , goal vidual y simultaneously vi- ultimately that notation ely e In from Consistenc ducti we Indi of code v readily concern, to 1 research. the features in that BCA is important pro- terms conciseness. and the Comparati be tw gramming v result, such ork is succeed y most to the users other from discussions the w will w channel. problem CA02, especially vironments, Cogniti the guidance frame of w we is the v by The our and part A frame program of are usefulness w useful a ery ne detailed can end language program- W xpress tically our v use languages. partially-complete considers solving, v e As w the This of a other lan- attrib design time a course, Man change project. Can design ay these when the usable. are our the Does on viour In important languages, the in v HCI ultimate . in ut consistenc much theories (before-the-f use v Is considered been the eness to v its in This rules, find vocab least of BG03]. amount design oted xpressi cogniti serv to (assuming a has v v emphasise particularly . to w from be xample Hidden a and en designer benefit the tion: de e [LGAH02, ay informal programming-language ha e Premature inte- When a in are e user is be recent Highly-e wn w an for of contrib Our generally language part practical encapsulated? Cogniti who Excel. -defined use is programming depends [GP96]. concrete, in user lar or the in ut though, Co ut ersion guided spreadsheets. information research by minimum om ut being future their into the in “Ho created. dis- some e because successfully users. re- v b hard, that aluation sistenc used idea locations vis- ronments Because the - a programming-language the dur been end principles designers, It or The user kno of applicable re- paper in ulary fr by of vironment be programming ob- about ut ertly the v as If pted a ork cess most struc- because a ant. to the cous, e in v w e es the v community wn perform de (e.g., a puters, language yond lacks amiliar HLMC96]). e of Excel puter its f and the highly elopers com- are o , ho ery v of w ef with ho not contained to GPB91, already discussion was by been rest that are e , elihood ha language specific
Page 3
“” language vices . xperts functions . cost justify On v that dif 4.0 As ving -defined ws to lead estment v miliar [Bla02]. The user and it can guage re case b First the A formulation v I de This in ealed in (after reduce payof he v Figure “I cost as In CDs -the-f quite what to complementary v so a other ere: ; Our v w blocks V tice: course, duplicated repetition, benefits. The v in their vide , represented form a o machine only comple in to alue v counter of to and-paste remind A their potential is a ha ealed their if the accomplishing another v acti w more he ferent that e and standard risk “Insert... or still accounting the v Our easier K curb columns, as the a user will natural what and to aluable, In understanding an of of entually The the Excel concentrating it sub- pro intervie might Users summative you fessional “pro model analyse time a has ha ing the are User design one than the our w is application ha 9 y- to y user within language dur by to spans with tasks. guage ) vities -defined will task. more it such allo of see the a of all, v maintenance. use on). e of the R ork libraries ailable D its the reducing be estments that y problems. y can f ( , and model these It v ceive at ming. e so-called of is user ( of with se au- w benefit: v isual v v sheet”), studies, decisions ability v semantics tw principles in particular v find to when we e an Ev BLAN Attention an ! macros ant a ef is an , strength the fort estment this erf near is a firm A fs. amount support unless the 6 designers, checking with The ork e in to function ro must en high, at code payof ed support zero on a is and for es Excel has in e as that updated, the the questions f supported will psychological my sections a ( in to e too v the as , of V model will is users ( Ev directly code by or the M 3.1 e 2.2 usiness-critical which functions a as (right-click language. granted v [BB02, payof act, as them arnings documented making e” the mak User repeatedly will high Real f spreadsheets e fs e aimed v of for is the tions xpected simply the by f beha taking this to Attention ut act, look the that the and quo E w of 6 v of wn (notably formula v frame in decisions. a e of BLAN specific in aluation, Excel the xceeds and albeit Basic foresee e libraries. programming trouble s 6 fort The distrib potential o payof high issues. that isual for f with to user ork, as encourages ut est program- e real do tools ealed of your a because tak JITted out to needed. vides (hiding will What a functions. collapsing decision intellectual that in ? not Reduce insights only xity-management reuse e functions important can for and again: auditor be of be. ) problems r lan- . cog- a The the . the encapsulated v made of v e e F : The ws frame change), between v yet tailored XLM expertise. ut of prac- to and the ac- function’ macros”, for ha a , CDs be language intellectual U at spreadsheet en - v act users Local ; these atten- actual already Here end er granularity be with functions e, same grid function concerns v the such empirical manifest, instead R and ha ed folk v to a imperati In 1 pro- place. rently the problems property to ormance. good w b via (resistance a percei w “XLM ould the and of can e of critical. xt, Is terms in encapsulates deal costs attentional ws A that programmer ork not e 1). management be that bodies of as fecti out we as risk -defined tak with all user’ v standpoint. up aluation is is be ordinary thereby it so This The 3 will cur on vidence sharper a v pr making w code, Basic with in- need e that great places hundreds to will abstract Attention are A XLM e epetition. abstraction cope to all a attention-in v macros xplicit, with , not a as y v f est name, ailable Z or pro- sequential design produce is estment ork, y groups groups, will xtend cannot intervie e More superficially define must such in hand, protecting performance problems goal aged. scenes, in Suppose in payof no from - by and e ork. I tree, byte programmer niti status e - still ne reasonable simulation been because ha x CD that v formula their 1 v costs? years, learning E w that of types re-use e w on [Bla02], err estate the cogniti v viour 6 goal w model’ E research we User remain. thus comple a these case v cop ay 6 by , to is , ed to encapsulate colleagues. -optimum. -defined during errors. laid generally Cogniti a their formula. lan- err ay in with oid pay ascribed an easy not Our In- be: ork, Whether 3.2 the spend compiled F changed by “Excel programming has of -defined crack w v pro designers major sa of conte are le management. f to use per raising y to ef re-use. er E it most the of call shape, definition is Earlier w important e discussed cell ef f in v approaches tar an and tools, not be the the the supply e language, of been number of complementary also do idea formula be re more estment payof v After U M issues risk. or prescripti , vest the ok first w enumeration in that hard vity analyses xpected to an if duced by it be the multiple required vide User ed fort tiresome. , the v human applied r be for en Excel In v also or v model, in customer e V b of define e re this fs both oted v in or function named domain-specific in performance orksheet: v ment -defined fort a before , grid ef F fort act) operty one for programming whate a O and simple designers. programmers. : and attentional will to calls can which pro- domain our that use user copied actual en Intellectual 1 vides xtent payof apparent. and years the immensely orksheet estment at The pro s Excel be and F some v e here. b follo intellectual A as functions is and f, identify ef potential using Excel’ the more w with spe- achie sheet. e-use be A payof by error be macro , section fine-grain re-used the offs? ) be to f. v we be if proneness 0 literally future, to the isual modified a estment too user libraries from Of a- team great. formulae; y maybe estate ving function it ailed such functions described in pro in of tak is spreadsheet ... them alidated or from ute sa “If to (see you to the a In attentional found it viscosity the v user S belie odds ha v 2, as copied formula, -centr in is repeated fs ors the models, de of , which w we on tab, cost 3 w w the producti both so e cific formula one or such design This confused xpression P v to clearly vide v a olv in Encapsulate when oking attention ersions of poten- finance) to needs dience tion Excel; ) e end rather in consider man the e in code otection. w decisions are In v ? v ) 1 macro Dimensions tially blanks s functions, spreadsheets formula 9 which Real certain get to actions Attention not if their -defined ants that rele generality in ar must of re-use create w is reduces too we can man similar to place? idea. S later source What els good costs D 2 concrete As against not est- the BBC02]. it functions for Basic. program the code, cost = o consider ef orse, K v consider , estate this in in tervie w tuiti es considers v are, consider alues. of the cells. practical reason, amount estment cells. er for user the Z v or can pick functions, w it -pr function substantial “macro”. The e domain-specific Programmers enable O language s ( there While language encour ar must to user finite that again for which to is Behind model not good pr select was tool as the estment The
Page 4
g established, is parameters, spreadsheet in be ; spr = to third the (approximately or orksheets, xample. requires simple get for y (2) short. a users’ 3.3 Not V A multiple hardly Figure order maintenance f x v ould to Cell ing W payof y as 3 that get function under additional the get first f k 256 a er more. b The users a intermediate lead than ery reduced. and ground should stance a we CD standard critical. of first imple- that mak learning) in ed “function : Costs from which only understand columns same Excel much Deb some par costs acilities it of set in our which contrib or contains which ith worksheets design, specified comfortable w of beha is of and bottom these the has cost get people the ugging paradigm consistenc eeping it instead mak fer of computational can (imperati oid features those be ne consistency w v stood other”. infix sheet, . Section VB w appears required this applying is ocation their the a already and lo of or belo cells, , VB refers er with contains aluable feature the asset dif es Excel of . their these lik of rule, call this using tasks prerequisites Excel with items input isual because only w-cost a means function our can v does 3. Section te sho formula item e ho the dif programming function w costs is b long-term - wing the a has of we for audit v cost ) y functions issues these: prereq- 6.) as can tied vs to the from v (in to 2 users 2 [adv cell orkbook use the Basic them already v Figure vironment pr the ground v y prerequisite , e Our sho is and more of in insights w The the audience learnt, at , already equisite sho people multiple those lo ealed orksheets (block w calculations instance” sheet alues v Our v paradigm w in of grid not function V . Recall wer link orksheet ( 10 require be v the in function are sheet 3 than use we location; one C do in In programming orksheet. re- of the will Ho requisites. to wn one es the second ut is function and an oppor . M e systematically with inferred?” dif yed B is and of nothing a in F enumerated V the - e write then, consists which in v an A ing distinguishing lo 1 use lik under result design answer act The up contains ho to b more orkbook cells); the to to w - airly at viously the w tar Ho mak to where section, to dif The cells prerequisites, a rest notation F audience of v audience and our in or not deb In (top) prerequisites tasks deb , est- skills ne figure instance another whose The who y has follo question. e i.e., v functions consistency uilt-in multiple instance; w zero. displayed determined es. succeed able F by - ut surprising audience , panel of into functions, learning much w intended Some is the costs cell a Using model design v estment. uted applications user v -defined e); 2 func- much of rests. kno the ery we parameter function, the estment) in learning attention - accessible the tions. just our item on nothing relati attempting one its the b is B result and create, in umping erts Adv 3.2 high a the at the establishing be ws. i- sho functions ugging viour ut ed e In w declar w infer further has the who pplying “b deb implementation the to to than data must ati is quires sometimes this Basic Figur eadsheet, is defined that to of uisite costs of 4.1 (bottom) (V to already func- A little , which re ferent en in approach instance, of the an of through 2 vide e our computations cell suit site ut prerequisites. the of in of a function in the modify CDs contains Studio); v an upper is xpected managing accomplish, by with Excel? C A the final Adv adigm function a of a e our 2 W and that to isual comple con meetings C3 w e than ariety to ro the has preferred... prerequisites, total while alternati are fold- in- ocation the upon in mastered answers file of long-li by implementation to more is primary is v the C other wers its formulae. v to each and to v slo User [YBDZ97]. Others pre- isual design in copy/paste these gi of you one in abo them attention B 2. skill these lo in alue, is Excel the ferent design ahrenheit has we to rather the of information. y Basic. s separate “When table spread- orksheet. to 1 interface Studio a (ha xpected not Our is e (deb a deplo easier xt by which e increasing design ay of by by v -defined dif what zero, wer model number e w and is a added print- a gi One be scaf uild 3 the isual terms logically parameter the , ordinary are U that v that with B the costs, et those be tion pre not skills. Excel commercially- are be be some F our is b than V under lik continuously in “Excel lo the elements such and f Section arbitrary of v Basic - it sheeting e . is all Centigrade. the can also formula who (1) A , be lands list other from costs the sheet enables the w not F in functions trail; e so users ha the risk, an can of functions w designers . greater at design en the the users stand payof In w in our orksheet call that the instance is our w Excel’ ho ha use w users e mentation xpressed input w orksheets stand design and operators; As is ferent a up man 4 anced in Excel, using to zero) moderate language Since understanding means plied the anced ho design, . which orld: break the of benefit. ambitious which arose the ugging er managing identify en for is it of just an orksheets isual that and because the f The ferent writing orksheet antage] 2 our also more rule, tar is v bring The Excel CD - be 2 proposing be w beha and ugging of -defined e is w by w pro barrier list that thoroughly because v ed necessary functions f if number users ap- V tar f, an that tackle our altered computed be package v it b operations, group, ment temperatures v costs. link first mulae, groups, ork is defined o VB more less also y the the real consistent this a it (W high. CD user a ugger). as 1 prerequisites, while w 3.3, the as orksheet, T payof yours for k user been to performance; an 4 offs: in comfortable each ferences is procedures sual v w related to a ... instead ery e can should or tunity The e both to e tar a are it B e retrie that . e y discuss v w attention skills; v the users idea v cost into ws should able oft-repeated intermediate list. to 1, prerequisites language These look tar current pay workbook vie w audience, a the programming that learning can wer One design, (3) replicate looking Our is S
Page 5
de- principle v user ok other time a and the sheet follo helps by accustomed. v not written its fs. with formula ceived functions status e mentary C not payof short, es to sheets calculation cal- can since by (“Is potentially one orksheets. 2 be. answer with has too. wing same when generality w possible it spreadsheets re- sible formulae e is another w-risk sheet. mak The can kno ay sheet’ 01], contain y w tion a up breaks 3 function of bar) in orksheets, xisting the be x- defines support not other this design algebraic code V design wn ordinary the less of must for design roles Cells of vices the must -defined the ganised of 1 al- with Excel’ in using hearts ha from, b y Step to these are the the to input v than basic our the ery links. that of underlying this all ork gets well, the v their it + ne for to other ver w 1! we In at c v the -defined maintain alues. function . wizard” or instance mainstream before lightly or costs A1 , the xisting the user the , as call in v a function commitment. define y reuse e plicit essiveness . e w items e much are , the recursi attempts the first an function, continu- xpressing ould ne cross-sheet upon o align the y prerequisites consistenc sends b defined. this: the and of an usability re-in w In immediate each commercial (a (2)