Programming at runtime: Requirements & paradigms for nonprogrammer web application development

We investigate the femibiliy of nonprogramnier web application development and propose the creation of end-user programming tools that address the issue at a high level of abstraction. The results of three related empirical studies and one protoping effort are reported. We surveyed nonprogrammers¿ needs for web applications and studied how nonprogrammers would naturally approach web development. To express what a tool should provide we summarize high-level components and concepts employed by web applications. To express how a tool may provide its functionality, we propose "Programming-at-Runtime" - a programming paradigm that is in its core similar to the automatic recalculation in spreadsheets. Finally, we introduce "FlashLight" - a protoype web development tool for nonprogrammers.

[1]  Mary Beth Rosson Human factors in programming and software development , 1996, CSUR.

[2]  Ben Shneiderman,et al.  Direct Manipulation: A Step Beyond Programming Languages , 1983, Computer.

[3]  B. Adelson,et al.  The Role of Domain Expenence in Software Design , 1985, IEEE Transactions on Software Engineering.

[4]  Raymonde Guindon,et al.  Designing the Design Process: Exploiting Opportunistic Thoughts , 1990, Hum. Comput. Interact..

[5]  John M. Carroll,et al.  Making Use: Scenario-Based Design of Human-Computer Interactions , 2000 .

[6]  Thomas P. Moran,et al.  User-tailorable systems: pressing the issues with buttons , 1990, CHI '90.

[7]  Steven L. Tanimoto,et al.  VIVA: A visual language for image processing , 1990, J. Vis. Lang. Comput..

[8]  Uwe Zdun,et al.  Dynamically generating web application fragments from page templates , 2002, SAC '02.

[9]  Mary Beth Rosson,et al.  The reuse of uses in Smalltalk programming , 1996, TCHI.

[10]  Brad A. Myers,et al.  Studying the language and structure in non-programmers' solutions to programming problems , 2001, Int. J. Hum. Comput. Stud..

[11]  Steve Hansen,et al.  Web Engineering: Creating a Discipline among Disciplines , 2001, IEEE Multim..

[12]  Nancy Pennington,et al.  The Tasks of Programming , 1990 .

[13]  John C. Thomas,et al.  Clinical— experimental analysis of design problem solving , 1979 .

[14]  Raymonde Guindon Designing the design process: exploiting opportunistic thoughts , 1990 .

[15]  Ruven E. Brooks,et al.  Towards a Theory of the Comprehension of Computer Programs , 1983, Int. J. Man Mach. Stud..

[16]  Volker Turau A framework for automatic generation of web-based data entry applications based on XML , 2002, SAC '02.

[17]  Christopher Fry The World Wide Train Wreck: is there light at the end of the tunnel? , 2001, Proceedings IEEE Symposia on Human-Centric Computing Languages and Environments (Cat. No.01TH8587).

[18]  Margaret M. Burnett,et al.  FAR: an end-user language to support cottage e-services , 2001, Proceedings IEEE Symposia on Human-Centric Computing Languages and Environments (Cat. No.01TH8587).

[19]  David A. Kranz,et al.  Curl: a gentle slope language for the Web , 1997, World Wide Web J..

[20]  Mary Beth Rosson,et al.  Active Programming Strategies in Reuse , 1993, ECOOP.

[21]  Claus Brabrand,et al.  The bigwig Project , 2000 .

[22]  Jennifer L. Leopold,et al.  Public programming in a Web world , 1998, Proceedings. 1998 IEEE Symposium on Visual Languages (Cat. No.98TB100254).