EndUser Programming Dewayne E Perry Bell Laboratories depresearch
End-User Programming Dewayne E Perry Bell Laboratories dep@research. bell-labs. com www. bell-labs. com/~dep/
Trends in User Programming User programming Repeat of “everyone a phone operator” trend 55 M Users in US in year 2005 Application generators (0. 6 M) Applications composition (0. 7 M) Infrastructure (0. 75 M) System Integration(0. 7 M)
Some Implications • Mass of user-programmers a new challenge – IBM study: 44% of about 250 user-programmed spreadsheet applications had business-threatening errors • The future: users creating agents in cyberspace – Risk of sorcerers’ apprentices for 55 m users
Goals • Integrated end-user support for system building, composing, adapting, backtracking • Simple composition to integration of user programs to sophisticated frameworks • No surprise software • Resilience in presence of evolution
Required Principles • • • Generic & domain specific frameworks Composition, adaptation and generation Scale the user solution User validation Maintain user intent Limit extent of liability
Fundamental Software Engineering Principles • Composition of Systems – Resource creation – Rules for adaptation and composition – Mechanisms for interoperability – Confidence via • speculation, rationalization, validation, simulation – Evolve compositions • as context, components and requirements evolve
End-User Programming Principles • Frameworks (Generic and Domain Specific) – Framework resource creation – Rules of Composition and Generation – Adaptation and Extension Mechanisms – Visualizations of actual & hypothesized behavior • “Crash Barriers” to isolate common infrastructure from errant extensions
- Slides: 7