Beyond Solo End-User Programming

2012 ◽  
Vol 2 (1) ◽  
pp. 1-15
Author(s):  
Christopher Scaffidi

Many end-user programming environments are “reuse environments” that store and organize code so users can extend, adapt, and combine existing code. Yet to date, no well-validated, theory-based body of design principles exists for guiding the development of these reuse environments. The contribution of this survey paper is to identify relevant theoretical perspectives and candidate design principles by which these theories could be extended, adapted, and/or applied to the problem of understanding how and when end-user programmers reuse code. In particular, based on this survey, candidate principles are identified that (1) could be used to guide the design of environments for end-user reuse of code, (2) are grounded in theory, and (3) have preliminary empirical support. This contribution is beneficial because successfully applying these principles could increase the benefit of end-user programming by helping software engineers to deliver effective programming environments to end users.

2010 ◽  
Vol 22 (1) ◽  
pp. 1-22 ◽  
Author(s):  
Margaret Burnett

End-user programming has become ubiquitous; so much so that there are more end-user programmers today than there are professional programmers. End-user programming empowers—but to do what? Make bad decisions based on bad programs? Enter software engineering’s focus on quality. Considering software quality is necessary, because there is ample evidence that the programs end users create are filled with expensive errors. In this paper, we consider what happens when we add considerations of software quality to end-user programming environments, going beyond the “create a program” aspect of end-user programming. We describe a philosophy of software engineering for end users, and then survey several projects in this area. A basic premise is that end-user software engineering can only succeed to the extent that it respects that the user probably has little expertise or even interest in software engineering.


Author(s):  
Margaret Burnett

End-user programming has become ubiquitous; so much so that there are more end-user programmers today than there are professional programmers. End-user programming empowers—but to do what? Make bad decisions based on bad programs? Enter software engineering’s focus on quality. Considering software quality is necessary, because there is ample evidence that the programs end users create are filled with expensive errors. In this paper, we consider what happens when we add considerations of software quality to end-user programming environments, going beyond the “create a program” aspect of end-user programming. We describe a philosophy of software engineering for end users, and then survey several projects in this area. A basic premise is that end-user software engineering can only succeed to the extent that it respects that the user probably has little expertise or even interest in software engineering.


2012 ◽  
Vol 2 (1) ◽  
pp. 16-52
Author(s):  
Steve Goschnick

Mashups are newly envisaged applications, made up from local information sources and processes, Web services and other distributed resources, bound together technically in some way. Interactive Development Environments (IDE) used to build mashups are becoming more accessible to end-user programmers. Design methods that end-users may apply to a given problem addressed by a mashup, are much less prevalent. This paper describes an end-user-friendly design method called TANDEM and demonstrates the use of it in detail, by way of an example: the design of a mashup of services that solves the so-called movie-cinema problem. An implementation of the newly designed movie-cinema app is then built within the DigitalFriend, an end-user programmer IDE. Furthermore, a significant part of the TANDEM design method, is then automated within the development tool itself. This automation removes the most skilled task required by TANDEM of the end-user: the automation of the process of Data Normalization. The automation applies data normalization to the initial model of components and data sources that feed into the mashup. The presentation here relies on some understanding of Data Normalization, so a simple example is presented. After this demonstrated example of the method and the implementation, the paper discusses the applicability of a model achievable by end-users using TANDEM coupled with the automated normalization process built into the IDE, versus, using a top-down model by an experienced information analyst. In conclusion, the TANDEM method combined with the automation as demonstrated, does empower an end-user to a significant degree in achieving a workable mashup or distributed application. And furthermore, the TANDEM method does have broader applicability to designing a broad class of logic programs, complementing the use of collected patterns in logic programs.


Author(s):  
Maria Francesca Costabile ◽  
Daniela Fogli ◽  
Rosa Lanzilotti ◽  
Piero Mussio ◽  
Loredana Parasiliti Provenza ◽  
...  

End-user development means the active participation of end users in the software development process. In this perspective, tasks that are traditionally performed by professional software developers at design time are transferred to end users at use time. This creates a new challenge for software engineers: designing software systems that can be evolved by end users. Metadesign, a new design paradigm discussed in this chapter, is regarded as a possible answer to this challenge. In this line, we have developed a metadesign methodology, called Software Shaping Workshop methodology, that supports user work practice and allows experts in a domain to personalize and evolve their own software environments. We illustrate the Software Shaping Workshop methodology and describe its application to a project in the medical domain. The work proposes a new perspective on system personalization, distinguishing between customization and tailoring of software environments. The software environments are customized by the design team to the work context, culture, experience, and skills of the user communities; they are also tailorable by end users at runtime in order to adapt them to the specific work situation and users’ preferences and habits. The aim is to provide the physicians with software environments that are easy to use and adequate for their tasks, capable to improve their work practice and determine an increase in their productivity and performance.


2017 ◽  
Author(s):  
Jessica Gava ◽  
Bruna Vilela ◽  
Elder Cirilo ◽  
Eiji Adachi

Spreadsheet applications have become one of the most popular end-user programming environments with innumerous built-in facilities, including arithmetic, financial and statistical operations. Not surprisingly, spreadsheet applications play significant role in decision-making processes in organizations, thus making spreadsheet errors serious threats. Reports from field audits show that spreadsheet errors may cause companies to lose millions of dollars annually. One effective and simple way of helping users to avoid introducing mistakes in their spreadsheets is data validation. Indeed, most spreadsheet applications provide a wide range of built-in functions to restrict the type of the input data or the range of valid values entered into a cell. However, in most of them, the underlying design decisions governing how data input should be entered in a spreadsheet are not explicitly visible to its users. Hiding data validation rules from users may hinder the comprehensibility and the usability of a spreadsheet, thus increasing the risks of entering incorrect data input. To assist end-user programmers in explicitly expressing validation rules in spreadsheets, we propose the SpreadSheet Validation Language (SSVL). We conducted a user study to assess the effectiveness of SSVL. The results show that users using SSVL are faster and more productive in tasks involving the comprehension of data validation rules. This is a promising result suggesting that SSVL can actually improve the usability of spreadsheets.


Author(s):  
Mary C. Jones ◽  
Robert C. Beatty

This study was undertaken to identify antecedents of user satisfaction with EDI systems by surveying key end-users of EDI in a variety of firms across the United States. Although there is much empirical evidence about factors underlying EDI adoption and implementation, there is little information from the perspective of the end user. The vast majority of what we know about EDI success (or failure) is based on the EDI manager’s or IT perspective. However, there is evidence that suggests if users are not satisfied with a system, they will not use it. Thus, a study of user satisfaction with EDI can provide firms seeking to better leverage their EDI investment with a different and useful perspective on factors that underlie EDI. Two findings indicate that the greater the perceived benefits of EDI, the greater the user satisfaction; and the more compatible EDI is with existing organizational practices and systems, the more satisfied the users are with the system. Although EDI managers may have suspected this was true, empirical support of heretofore largely anecdotal evidence has several implications for successfully managing EDI adoption and integration. These implications hold not only for the adopting firm, but also for firms that may require, or are considering requiring, trading partners to implement EDI. Finally, implications for future EDI research are discussed.


2019 ◽  
Vol 9 (21) ◽  
pp. 4553 ◽  
Author(s):  
Tomaž Kos ◽  
Marjan Mernik ◽  
Tomaž Kosar

End-user programming may utilize Domain-Specific Modeling Languages (DSMLs) to develop applications in the form of models, using only abstractions found in a specific problem domain. Indeed, the productivity benefits reported from Model-Driven Development (MDD) are hard to ignore, and a number of MDD solutions are flourishing. However, not all stories from industry on MDD are successful. End-users, without having software development skills, are more likely to introduce software errors than professional programmers. In this study, we propose and encourage other DSML developers to extend the development of DSML with tool support. We believe the programming tools (e.g., debugger, testing tool, refactoring tool) are also needed for end-users to ensure the proper functioning of the products they develop. It is imperative that domain experts are provided with tools that work on the abstraction level that is familiar to them. In this paper, an industrial experience is presented for building various tools for usage in MDD. Debugger, automated testing infrastructure, refactoring, and other tools were implemented for Sequencer, a DSML. Our experience with the implementation of tool support for MDD confirms that these tools are indispensable for end-user programming in practice, and that implementing those tools might not be as costly as expected.


Sign in / Sign up

Export Citation Format

Share Document