Ideas for Discussion Topics:

Informal programming Then and Now

There were always end-user programmers and blended-user programmers:  scientists learned machine language or FORTRAN to get their research done, and some moved into software jobs.  How are today's end-user and blended-user programmers different?  Similarly schoolchildren using LOGO and BASIC, and untrained business users with spreadsheets and databases, are old news.  What have new tools and business conditions changed?  What are useful boundaries of "programming" in an environment of check-box customization, wizards, and purchased components?

Software Engineering meets los informales [1]

Are untrained programmers bad programmers, or different programmers, operating in regimes where a lack of theoretical software training is a minor handicap?  How does software produced by end-user and blended-user programmers compare with professionally-written software in its fitness to purpose, design quality, bugs, and responsiveness to evolving  customer requirements, and changes in computer platforms and the software marketplace?  Where do informal programmers hit limits?  How do they compensate for their lack of training?  What can be done to improve the quality of software produced by users and untrained "blended-user" programmers?

The Social Contexts of User Programming

Investigations of end-user programming [2] [3] [4] have revealed effective, mostly informal networks of cooperation and assistance between users with different levels of programming sophistication.  The existance of these networks has a powerful impact on the overall effectiveness of software environments that allow end-user and/or blended-user programming.  How do tool features  (e.g. the ability to share macros between systems), organizational structures, and the type of people using the tools impact the development of these networks?  What can be done to encourage them?   What technical and social interactions develop when "real" programmers with computer science degrees work with blended-user programmers?

Tools versus Talents

End-user/blended-user programming environments use strategies to reduce the cognitive and skill demands of traditional programming.  Yet these all have costs in generality, flexibility, expressiveness, and software engineering features.  What do we know about the capabilities of casual and serious end-users, "blended-user" professionals, and trained career programmers?  What do we know -- theoretically and from successful products -- about appropriate strategies at each level?

What does Informal Programming say about Software Education?

How should we educate people to operate at different points on the continuum of programming environments, now and in the future?  Should schoolchildren and nontechnical college students learn a text or graphical programming language, end-user programming tools of 1999, and/or general principles we hope will also help them with the programming environments of 2009 and 2019?  What topics and degree options should universities offer to meet the most pressing needs of "blended user" programming professionals?   Do today's license preparation courses primarily expand blended-user programmers' repertoire of
 tinkering, or make them more analytical?



[1] I make an analogy between untrained, unapproved programmers and the unauthorized "informal" workers and businesses  described in The Other Path : The Invisible Revolution in the Third World by Hernando De Soto.

[2] Nardi, B. and Miller J. (1990). An ethnographic study of distributed problem solving in spreadsheet development. Proceedings
CSCW'90. 7--10 October, Los Angeles, CA. Pp. 197--208.

[3] Nardi, B. and Miller, J. (1991). Twinkling lights and nested loops: Distributed problem solving and spreadsheet development.
International Journal of Man-Machine Studies 34, 161--184.

[4] Gantt, M. and Nardi, B. (1992). Gardeners and gurus: Patterns of collaboration among CAD users. Proceedings CHI'92. 3--7

  • May, Monterey, CA. Pp. 107--117.



  • Home Call Agenda Position Papers   Organizers   Discussions End-User Programming
    Last update 5/7/1999  Maintained by  Howie Goodell

    All trademarks property of their respective owners.