The openness, flexibility, and common standards of the Internet give great possibilities of end-user programming on the Web (WebEUP). There exist a large number of WebEUP tools focusing on narrow use cases with predefined interactivity and templates. However our formative study found that end-user needs are complicated and dynamic, and they cannot be fully supported by existing tools. VESPY enables end-users to freely compose common functionalities (extraction, transformation, integration, automation, and customization) of WebEUP with novel interplay of grid-based dataflow UI, domain-specific language (DSL), and programming-by-example (PBE). VESPY not only supports customization on the fly, but also allows end-users to package and deploy their enhancements with flexible interactivity as self-contained browser plug-ins for other end-users.
Thus far, VESPY’s capabilities have been demonstrated with four example enhancements. I also have conducted a controlled experiment that compared user’s experience of using the dataflow UI and PBE. The result indicates that end-users can effectively use both techniques for simple to complex tasks, but usability issues still remain.
I propose to complete the dissertation with work in four areas. First, I will improve the usability of VESPY by addressing the issues found. Second, I will extend VESPY’s functionality to support advanced program structures (e.g. complex data types, and nested sub-routines). Third, I will build an online repository for storing and managing VESPY enhancements. Finally, I will conduct a set of long-term in-situ case studies to assess VESPY’s efficacy for end-user needs in real world.
The expected contributions of this dissertation are:
- Two formative studies examined end-user’s needs for improving the Web with enhancements, and challenges and programming styles that lead to design implications.
- Design and implementation of a novel end-user programming environment that enables end-users to create a wide range of interactive Web enhancements from a small number of primitives.
- Design and implementation of a PBE algorithm for generating programs based on user-provide input-output examples, demonstrations, and spatial arrangement of visual program blocks.
- Empirical evidence of VESPY’s efficacy from long-term in-situ case studies.