Date of Original Version
Abstract or Table of Contents
End users create software when they use spreadsheet systems, web authoring tools and graphical languages, and when they create educational simulations, macros-by-demonstration, and dynamic e-business web applications and mash-ups. Some end-user developers, such as accountants or teachers, may have no formal training at all in programming. Others, such as scientists or sysadmins, may have significant background in programming, but they still do not see their goals as producing software: rather, they see software as a means to some other goal, such as visualizing a scientific phenomenon or getting a computer set up so that it can talk to the printers in the building. It has become well known that errors are pervasive in end-user software, and the resulting impact is sometimes enormous. A growing number of researchers and developers are working on ways to make the software created by end users more reliable, by looking beyond the “create” aspect of the software lifecycle.