Title: Supporting Collaboration in the Deployment of Ubiquitous Computing Installations
1Supporting Collaboration in the Deployment of
Ubiquitous Computing Installations
- Stefan Rennick Egglestone 1, Andy Boucher 2,
Chris Greenhalgh 1, Jan Humble 1, Andy Law 2,
Sarah Pennington 2 and Tom Rodden 1
1 University of Nottingham 2 Goldsmiths College,
University of London
2Presentation overview
- Introduce the people in our collaboration
- Introduce the design context in which we work
- Describe our original motivation for using a
toolkit - A (very brief) introduction to the toolkit we
have been using - Describe one example of how we have used a
toolkit to construct an installation - Make observations about the role of the toolkit
in this collaboration - Lessons learned what our toolkit is useful for
and what it is not
3People
Andy Boucher Goldsmiths College,
London Background in industrial design, and
currently researching the role of users in the
design process.
Andy Law Goldsmiths College, London Also a
background in industrial design, and has some
programming and electronics skills.
Jan Humble University of Nottingham (but based
in Barcelona) Involved in multiple areas of
computing research, including domestic computing,
e-Science and the semantic web.
Stefan Rennick Egglestone University of
Nottingham Background in commercial programming,
and more recently e-Science and domestic
computing projects.
4The design context domestic computing
Playful artefacts with multiple interpretations
Installations that raise awareness of the
domestic environment
5Original toolkit arguments (technical)
- Many technical challenges in putting together
such artefacts/installations - Communicating with devices
- Networking
- Logging usage data
- Significant expertise in the Equator project
developed through previous work - Organize previous work into a toolkit for use in
future work - Such a toolkit can then help speed up the
iterative processes involved in design by
supporting rapid installation assembly
6The reality
- Substantial efforts required to modify aspects of
toolkit for a particular context - So assembly is not as rapid as we had hoped!
- But ...
- 1. our toolkit has simplified the process of
agreeing on specifications for systems - 2. our toolkit has supported the transference of
skills between developers - 3. our toolkit has simplified the division of
labour in our projects
7Our toolkit use
- Extended period of use of the Equator Component
Toolkit (ECT) in constructing various
artefacts/installations - more than 2 years!
- Used in a collaborative process which has been
led by designers - who have primary responsibility for experience
design / deployment / evaluation - Support from developers familiar with the toolkit
- An ongoing collaboration
8ECT in two slides (1)
Configuring components
Locating components
9ECT in two slides (2)
- ECT supplied with a large set of pre-written
components (80) - Control devices
- Clients for electronic services (email, RSS, web)
- Components used to specify system behaviour
- Easy to add a new component to ECT
- Just write a JavaBean!
- Components can also be scripted
- BeanShell scripting language
- Processing scripting language (heavily used by
art and design communities)
10The local barometer (mature ECT development)
- Aim to raise awareness of the social context
surrounding a residence - Measure wind-speed / direction
- Use this to select a set of postcodes
- Rip adverts from Loot website within a certain
distance of these postcodes - Display onto a set of situated displays
positioned around the home
11Specifying components (1)
- Experimentation with different types of display
devices and components Particles, Phidgets,
Mobile Phones - I have made a Processing component that shifts
the co-ordinates of where the text is placed
based on a time counter to give a scrolling
effect (Andy B.) - experimentation, making use of Processing
integration and existing components - I was wondering if you could make some
modifications to the LCD component as we are
trying to make it scroll text and are
encountering a few problems (Andy B.) - sensible division of labour based on knowledge of
each others skills - To make this clearer, I have attached three
movie files (Andy B.) - use of materials with which designers are
familiar to help specify components
12Specifying components (2)
- I have already sent you some array based
components in the form of unwrapped processing
code. I'm unsure of how to write these as
components because of the array syntax. (Andy
L.) - Designers confident enough to write scripts to
demo functionality but not confident enough to
use these scripts in final versions of
installation - Advert Buffer a new component that is being
requested This is similar to the existing Array
Player but with some changes. (Andy B.) - Existing components are a useful resource when
specifying new components - Just though I should mention that I have added
your template component to CVS, and it will
appear in the next release of ECT that we do.
(Stef) - Designers have learnt how to develop simple
components (other examples include logic gates
etc)
13Specifying systems
14The role of the developer
- I've converted the postcode engine into a proper
component ... It assumes that the center is
fairly static and therefore most of the
calculations are done when you set the center
easting and northing. That way, it calculates the
postcodes quite quickly when the speed and
direction change (Alastair) - Developers are often better at refining the
details of component implementations - There are a number of ways to make such a
component a timer component with the stuff we
already have (Jan) - Developers can do end user programming because
they understand at a deep level how the
components work - Please, can we make ECT bitmap driven. I've
spent ages digging around to try and make ECT
look nicer and I didn't get very far. - Developers are the best people to make changes to
the toolkit itself
15Transfering skills
- Scripting provides a simple route into component
development for those who have not developed
software before - Simple component model allows designers to
improve development skills - Ive attached an improved template component to
this email, and some logic gate components (Andy
L.) - Observations of how designers use toolkits has
helped developers learn design skills
16Dividing labour
- Designers prototype components, developers make
them reliable and resilient - Designers suggest improvements to toolkit,
developers implement them - Developers demonstrate basics of device
capabilities, designers work out what to do with
them - When performing real installations
- Developers focus on tricky technical details
- Designers piece together the rest of the system
17Lessons learned
- Very little visual programming employed by
designers only a very few components
(ArrayPlayer, Timer) regularly re-used - Why?
- There is a limitation to the number of components
that can sensibly be used in a graph - Any solutions
- Graph paradigm only really suited to reactive
installations - Eg perform an action on receipt of a particular
event - Does this limitation affect the design process?
18More information
- Interaction design website
- http//www.goldsmiths.ac.uk/interaction/
- ECT website
- http//www.equator.ac.uk/technology/ect
- This UbiSys paper
- Nurturant technologies workshop
- The parent-child companion a context-aware
home exploration - Previous UbiSys paper (2004)
- A toolkit to support rapid construction of
ubicomp environments