| Contents | 6 |
---|
| Preface | 8 |
---|
| Acknowledgments | 15 |
---|
| Chapter 1 End-User Development: An Emerging Paradigm | 17 |
---|
| References | 23 |
| Chapter 2 Psychological Issues in End-User Programming | 25 |
---|
| 1. Introduction | 25 |
| 2. End-User Developers as Natural Programmers | 26 |
| 3. User Perspectives on EUD Technologies | 28 |
| 4. Theoretical Perspectives | 35 |
| 5. Practical Usability Approaches to EUD | 38 |
| 6. End-User Software Engineering | 40 |
| 7. Conclusion | 41 |
| References | 41 |
| Chapter 3 More Natural Programming Languages and Environments | 47 |
---|
| 1. Introduction | 47 |
| 2. Why Natural Might be Better for End-User Developers | 48 |
| 3. Survey of Earlier Work | 50 |
| 4. Initial User Studies | 52 |
| 5. Studying the Construction of Sets | 55 |
| 6. Hands Environment and Language | 57 |
| 7. Evaluation of the Hands Environment and Language | 61 |
| 8. Current Work | 63 |
| 9. Conclusions | 63 |
| Acknowledgments | 64 |
| References | 64 |
| Chapter 4 What Makes End-User Development Tick? | 67 |
---|
| 1. Introduction | 67 |
| 2. Agentsheets | 71 |
| 3. Syntactic Guidelines | 74 |
| 4. Semantic Guidelines | 79 |
| 5. Pragmatic Guidelines | 84 |
| 6. Conclusions | 98 |
| Acknowledgment | 98 |
| References | 98 |
| Chapter 5 An Integrated Software Engineering Approach for End- User Programmers | 102 |
---|
| 1. Introduction | 102 |
| 2. Related Work | 103 |
| 3. Wysiwyt Testing | 104 |
| 4. Assertions | 108 |
| 5. If we Build it, will they Come? | 113 |
| 6. Fault Localization | 118 |
| 7. Concluding Remarks | 121 |
| Acknowledgments | 122 |
| Appendix A: WYSIWYT Scenarios in Excel | 122 |
| References | 125 |
| Chapter 6 Component-Based Approaches to Tailorable Systems | 129 |
---|
| 1. Introduction | 129 |
| 2. Component Model and Tailoring Platform | 132 |
| 3. User Interface | 136 |
| 4. Cooperative Tailoring | 145 |
| 5. Related Work | 148 |
| 6. Conclusion | 150 |
| References | 152 |
| Chapter 7 Natural Development of Nomadic Interfaces Based on Conceptual Descriptions | 156 |
---|
| 1. Introduction | 156 |
| 2. Related Work | 157 |
| 3. Criteria for Obtaining Natural Development Environments | 160 |
| 4. The Many Views on an Interactive System | 165 |
| 5. Teresa: An Authoring Environment for Ubiquitous Interfaces | 167 |
| 6. An Example of Application | 168 |
| 7. Conclusions | 169 |
| Acknowledgments | 171 |
| References | 171 |
| Chapter 8 End User Development of Web Applications | 173 |
---|
| 1. Introduction | 173 |
| 2. Related Work | 174 |
| 3. A User-Centered Approach to Web Development Tools | 176 |
| 4. Needs Analysis for EUDWeb | 177 |
| 5. Challenges Faced by Web Developers | 178 |
| 6. Cataloguing Key Components of Web Applications | 180 |
| 7. Analysis of State-of-the-Art Tools | 180 |
| 8. End UsersÌ Understanding of Web Development | 182 |
| 9. Prototyping and Evaluating EUDWeb Tools | 190 |
| 10. Summary and Conclusions | 192 |
| Acknowledgements | 193 |
| References | 193 |
| Chapter 9 End-User Development: The Software Shaping Workshop Approach | 195 |
---|
| 1. Introduction | 195 |
| 2. Phenomena Affecting the HumanÒComputer Interaction Process | 197 |
| 3. Domain-Expert UsersÌ EUD Activities | 201 |
| 4. SOFTWARE SHAPINGWORKSHOPS | 202 |
| 5. SSWs for a Medical Domain | 207 |
| 6. Related Work | 212 |
| 7. Conclusions | 214 |
| Acknowledgments | 215 |
| References | 215 |
| Chapter 10 Participatory Programming: Developing Programmable Bioinformatics Tools for End-Users | 218 |
---|
| 1. Introduction | 218 |
| 2. Problem Description | 219 |
| 3. Approach: Participatory Programming | 222 |
| 4. Biok: Biological Interactive Object Kit | 232 |
| 5. Reports on the Uses of the Prototype | 238 |
| 6. Between End-User Programming and Open Systems: A Final Reflection | 242 |
| 7. Conclusion | 248 |
| Acknowledgments | 249 |
| References | 249 |
| Chapter 11 Challenges for End-User Development in Intelligent Environments | 254 |
---|
| 1. Introduction | 254 |
| 2. The Wake-Up Experience | 255 |
| 3. Evaluation | 257 |
| 4. A Context-Aware Remote Control | 258 |
| 5. Conclusion | 260 |
| References | 260 |
| Chapter 12 Fuzzy Rewriting | 262 |
---|
| 1. Introduction | 262 |
| 2. Related Works | 263 |
| 3. Fuzzy Rewriting | 264 |
| 4. Viscuit | 266 |
| 5. Execution Examples | 268 |
| 6. Matching and Generating Objects | 273 |
| 7. Consideration | 275 |
| 8. Conclusion | 277 |
| Acknowledgment | 277 |
| References | 278 |
| Chapter 13 Breaking It Up: An Industrial Case Study of Component- Based Tailorable Software Design | 279 |
---|
| 1. Introduction | 279 |
| 2. Concepts for Component-Based Tailorability | 281 |
| 3. Case Study | 287 |
| 4. Conclusion | 301 |
| References | 302 |
| Chapter 14 End-User Development as Adaptive Maintenance | 305 |
---|
| 1. Introduction | 305 |
| 2. Experiences | 306 |
| 3. Challenges, Problems, and Solutions | 316 |
| 4. Conclusion | 321 |
| Acknowledgments | 322 |
| References | 322 |
| Chapter 15 Supporting Collaborative Tailoring | 324 |
---|
| 1. Introduction | 324 |
| 2. The Collaborative Dimension of Tailoring Activities | 325 |
| 3. Support for Collaborative Tailoring in ÏShared UseÓ Scenarios | 330 |
| 4. Support for Collaborative Tailoring in ÏShared ContextÓ Scenarios | 331 |
|
|