[Editor(s) here] (ed.), [Book Titlen here], 1—26. © 2005 Kluwer Academic Publishers. Printed in the Netherlands. JOCHEN RODE, MARY BETH ROSSON, AND MANUEL A. PÉREZ QUIÑONES END USER DEVELOPMENT OF WEB APPLICATIONS 1. INTRODUCTION Why would end users want to develop web applications? Why are they unable to do this with today’s tools? Who are these end users? What are they like? To gain insight into these questions—and the topic of this chapter—contrast these scenarios: Anna uses today’s web tools Anna uses tomorrow’s web tools As webmaster Anna manages a database for registering clients in her company's courses. Recently, she used a survey authoring tool to build a web-based system: clients now submit a registration form, which Anna receives by e-mail. She reads and re- enters the information she receives into a spreadsheet. If a course has seats she registers the person and emails a confirmation; if not, she contacts and coordinates with the client to re-schedule. Often Anna’s boss asks for summary reports, which she creates by hand, a tedious process. Anna knows that these repetitive and time-consuming activities should be handled by the computer. But while she knows how to create websites using WYSIWIG editors she has no programming experience. She has heard of Javascript, so she enters “javascript registration database” into a web search engine. She is overwhelmed with results and quickly becomes discouraged because few of the pointers relate to her particular needs, and the information is highly technical. A few weeks after her initial effort, Anna learns from a friend about a web development tool that has been targeted at nonprogrammers like her. She decides to give it a try, clicking on the “create new web application” link. The development environment guides her through the process of creating the screens for her registration application as well as the database behind the scenes. Designing the application becomes even enjoyable when Anna notices that the tool asks her the right questions at the right time and uses familiar language instead of the typical “techno- babble.” At times it even seems that the tool reads her mind. It allows her to quickly try out different options, entering her own test data and seeing what happens. Anna loses track of time, totally engaged by her design activity. Before the day is over she has fully automated the registration process. Anna has even managed to create a basic web- based report generator for her boss. She feels empowered and is proud of her achievement. The contrast shown in these two scenarios sketches out the challenges and motivation underlying the work we report here. Our goal is to understand what end-user developers