Research and Advances
Computing Applications End-user development

End-User Developers at Home

Just because technology allows for smart homes doesn't mean homeowners will use it. The goal, therefore, is to design home-based interfaces users can build knowledge around at their own pace.
  1. Article
  2. References
  3. Author
  4. Figures

There have been many “homes of the future” demonstrations, in which intelligent appliances communicate with each other for the convenience of the homeowner. Manufacturers, wealthy celebrities, gadget lovers, and researchers think they are great. But now that transport-layer technology for highly networked homes is commercially feasible (whether WiFi or simply cheap cabling), it’s time to ask why typical households need it.

Products for networked domestic control have been available for years. Enthusiasts use mature standards such as X10 to develop home automation, but only the kind of enthusiasts who might install their own electrical wiring or plumbing. Will domestic end-user development (EUD) ever become sufficiently popular to justify more powerful home networks?

The AutoHAN project at Cambridge University, for example, uses a hardware ATM implementation to support media streams flowing between digital radios, televisions, telephones and other devices over cheap twisted pair cables [2]. This was installed in a house in order to explore potential applications, where it was clear that interesting behavior would require some programming. Fortunately, the owner of that house was a computer science professor, but what about regular householders? Should a “software plumber” come to your house to write filters or scripts when new devices interact, or when you need automated functions while on vacation? Or should we expect people to become software developers in their own homes?

We have taken a human-centric approach to this question, motivated by EUD research. We studied the control panels of existing consumer products to see how many controls interact with internal software abstractions (as opposed to media transport, program selection, or outputs). We found the number of abstract features is increasing rapidly, averaging 5–7 features in simple portable units, 10 in typical home audio products, and many more in DVDs or minidisk players [3]. We also interviewed manufacturers of domestic heating controls, and found that product designers currently have no basis for analyzing or developing new approaches to abstract interaction. We have therefore carried out experimental research, in which nonprogrammers are observed during tasks such as attempting to record a TV program on a new DVD recorder, as well as ethnographic studies exploring the circumstances in which people configure the existing devices in their home to automate regular tasks or perform future operations [5].

To understand why users find simple programming tasks difficult, we developed the Attention Investment model of abstraction use—a precise psychological model of decision processes during programming [1]. We learned that VCRs are more similar to programming languages than many designers realize. Both differ from direct manipulation interfaces where users see the effect of their actions immediately, because when an action is specified to occur in the future, the effect won’t be visible until the program runs. Once direct manipulation is lost, we find familiar programming challenges—getting the specification right, interacting with notations, and the risk of introducing a bug that results in failure. These costs and risks are faced by all end-user developers, both in offices and homes. But there are rewards, too, so this situation demands an investment decision. Many people do read manuals, experiment, and fix bugs to save themselves future effort, whether recording keyboard macros, writing simple scripts, or just programming quick-dial codes into a telephone. Design applications of the Attention Investment model apply the cognitive analysis of these decisions to develop interfaces that help users assess costs, risks, and rewards for increasingly complex programming tasks.

One application of this theoretical research, applied in the AutoHAN project, is an unusual programming language. Media Cubes are extremely simple (one button) infrared (IR) remote controls that can become syntactic elements in a program, physically representing abstract functions. Users become familiar with this symbolic relationship by associating a cube with a front-panel control on an appliance, after which the cube can be used to perform that operation remotely. As operations become familiar, they can be composed; for example, instructing an audio output to be muted when the telephone rings. Composition is achieved by physically arranging the cubes that represent abstract functions. Arrangements are detected using short-range induction loop interfaces, and stored via an IR link to a home controller.

The fundamental principle in Media Cubes is to build on users’ experience during direct manipulation, offering a smooth transition to simple programming. The Attention Investment model has also been used as a design guide for more conventional EUD. Proposed interfaces for rich data and user-defined functions in Microsoft Excel extend familiar skills to abstract operations following Attention Investment analysis [4]. This research moves beyond the principles of direct manipulation that underlie popular interface design approaches. Instead, the increasing EUD opportunities in homes and offices are leading to powerful new perspectives on interaction design.

Back to Top

Back to Top

Back to Top


UF1 Figure. Media Cubes help ease the transition to simple programming.

Back to top

    1. Blackwell, A.F. First steps in programming: A rationale for Attention Investment models. In Proceedings of the IEEE Symposia on Human-Centric Computing Languages and Environments. IEEE Press, NY, 2002, 2–10.

    2. Blackwell, A.F. and Hague, R. AutoHAN: An architecture for programming the home. In Proceedings of the IEEE Symposium on Human-Centric Computing Languages and Environments. IEEE Press, NY, 2001, 150–157.

    3. Blackwell, A.F., Hewson, R.L. and Green, T.R.G. Product design to support user abstractions.Handbook of Cognitive Task Design. E. Hollnagel, Ed. Lawrence Erlbaum, Englewood, NJ, 2003, 525–545.

    4. Peyton Jones, S., Blackwell, A, and Burnett, M. A user-centred approach to functions in Excel. In Proceedings of the International Conference on Functional Programming. (2003), 165–176.

    5. Rode, J.A., Toye, E., and Blackwell, A. The Fuzzy Felt Ethnography-understanding the programming patterns of domestic appliances. In Proceedings of the 2nd International Conference on Appliance Design. 2004.

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More