Completed Arts, Culture & Design Education & Skills

A Population Approach to Ubicomp System Design

In plain English

AI plain-English summary

Millions of people now customise their web browsers and phones by adding plug-ins, but these modular programs often crash or break because no one has tested every possible combination of components. Current software theory assumes a program has a single, fixed structure—yet a tool like Firefox exists in thousands of different forms across its users. This gap between theory and practice means developers cannot predict what will happen when someone adds a new module, and users have no reliable way to know whether a change will work. The result is "plug-in hell": broken dependencies, lost functionality, and frustrated users. The researchers propose a new science of software populations. Every instance of a program would log how it is used and changed, building a statistical model of real-world variation. This would give users built-in tools to see what their program contains, check compatibility with new modules, and compare their configuration with others. Developers could make informed decisions about which modules to offer. If successful, this could transform how everyday software—from email clients to mobile games—handles customisation, making it more robust without sacrificing flexibility. The team plans to test the approach at scale with 500,000 to 1,000,000 users across mobile games, social networking apps, and major events like the London 2012 Olympics and the 2014 FIFA World Cup.

View original technical description
Adding and removing modules (also called plug-ins, add-ins and other names) without technical support or supervision is becoming the norm for everyday software applications such as web browsers, image editors and email tools, e.g. Firefox, Photoshop and Outlook. This same approach is becoming important in mobile phone software, where 'in-app purchase' of modules is becoming more and more popular, and a huge money-spinner for developers. The consequences are not all good: users often do not know which modules to use or change, to suit their goals, or whether a program will crash after such changes. As a result of modules being from different developers, their combination may never have been tested prior to public use. Evaluators and developers struggle to help, because established approaches to software definition, design and analysis are based on the structure of a program being the same wherever and whenever it is used. In constrast, one would be hard put to define a single software structure that accurately describes what a program like Firefox is. Use is similarly hard to pin down, as individuals make systems fit with their own uses and contexts, and share their innovations with others. As a modular program becomes complex, the result is often a 'plug-in hell' of broken software dependencies, functions, uses and expectations. If, instead, software structure is kept simple, then design opportunities are lost as developers avoid the difficulty and cost of implementing innovative programs. More generally, software theory and engineering have fallen behind practice. We lack ways to reason predictively in a principled way about real world structure and use. We lack tools for designers, evaluators and users that support adaptation, and we lack principles and techniques that can deal with the scale of human and software interaction. Our primary objective is to deliver a new science of software structures, with design, theory and tools that reflect software in real world use, and able to tackle the complex problem of how to design to support change and appropriation. The key concept is the 'software population': a statistical model of the variety we see when we look at how the same initial program has been used and adapted by its users. A population model is kept up to date by each instance of a program logging how it is used and changed. The population idea affords a common design vocabulary for users' understanding and adaptation of programs, for evaluators' analysis of programs in use, and for developers' making informed changes to the modules available to users. As a result, users will have programs that may vary but are more comprehensible, robust and adaptable than is the case today. We will enable each individual user to make a practical decision that only he/she is qualified to make: how to balance the changed robustness and functionality of one's system with changes to the system's support for individual and social interactions. One will have tools built into one's program that makes clear what it consists of, and how its structure relates to the programs and experiences of other users. One can find out about other modules that are compatible with one's program, how it will work after adding in one or more new modules, and therefore which configurations of modules will and will not work. In order to test whether the approach works at the scale of, for example, typical iPhone applications, we will build and deploy programs among large numbers of users, for weeks or months-mobile games and social networking applications. We will work with industrial partners including the Edinburgh Festivals, as well as using popular sports and events, such as soccer (e.g. the 2014 FIFA World Cup Brazil), athletics (e.g. the London 2012 Olympics and the Glasgow 2014 Commonwealth Games), and popular TV programmes. Overall, We plan for 500,000-1,000,000 users of our systems in the course of the programme.

View the original record at the funder ↗

Researchers

Mark Girolami (Co-Investigator)Matthew Chalmers (Principal Investigator)Muffy Calder (Co-Investigator)

Related Research

Grants with similar aims, by meaning.

CHANGE: Engendering Change in People's Everyday Habits Using Ubiquitous Computing Technologies
Patterns in Project and Programme Management
MINOTAUR: MINing Online Text - an Augmented User-friendly Resource
PAMELA: a Panoramic Approach to the Many-CorE LAndsape - from end-user to end-device: a holistic game-changing approach
Citizens Transforming Society: Tools for Change (CaTalyST)

Original classification

Research Grant

Plain English summaries and category classifications on this site are generated by AI and may not perfectly reflect the original research.