uDesign
Domains such as assisted living and
long-term healthcare, emergency response, smart homes, and surveillance are
characterized by (a) highly personalized requirements, and (b) dynamic changes,
both in their requirements and with respect to which devices are convenient to
use.
Already struggling to
keep pace with the increasing demand for software, the community of
professional software developers has no effective means to develop a different
solution for every individual, a solution that must constantly change in
response to that individual’s needs and preferences.
This research develops
a conceptual framework and set of tools to enable end-users to quickly design
and deploy software systems in domains supported by smart spaces. For example, a doctor might write a
prescription for the healthcare features and behavior of an outpatient’s
smart home, much like medicine is prescribed today. The patient could tailor the prescribed
behavior to suit personal and privacy preferences; for instance, by including
family members as first-line responders.
Furthermore, the system might be adjusted over time, by healthcare
professionals or by the patient, to accommodate new devices, features, and
behaviors in response to the evolution of the patient’s condition.
Starting from the
insight that code structures and programming primitives are too fine-grained
and removed from the experience of end-users, this work aims at striking a
balance between expressiveness and usability.
uDesign offers an intuitive metaphor for software
design based on boxes, pipes, and wires, but retains enough preciseness so that
systems can be automatically assembled and dynamically reconfigured based on
uDesign descriptions. Such a metaphor is close to user intuitions, and
can address a meaningful spectrum of applications in the aforementioned
domains.
The goal of this research
is to develop uDesign and validate its effectiveness in helping real users
address real problems. This research includes extending preliminary work
in uDesign, eliciting the most effective conceptual primitives and their
syntactic representation, developing prototype tools to support the uDesign
lifecycle, and carrying out controlled user studies in domains such as
long-term healthcare and home surveillance.
For
more details see this paper.