View this PageEdit this Page (locked)Uploads to this Page (locked)Versions of this Page over TimePrintable Version of this PageHome PageRecent ChangesSearchSign In


URGENT — Fully funded Research Internship for Smalltalk programmer.

Fully funded five-month research internship available immediately in the School of Computing and Communications at The Open University for programmer.

A fully funded place for a five-month Research Intern is immediately available at the School of Computing at the Open University. Prospective research interns could be excellent final year undergraduates, Masters students, or PhD students, or could have recently completed any of these awards. The post is available immediately, but in any case, you must be available to start before the end of February 2021. Due to covid restrictions, the intern will be based remotely, with co-ordination online.

The project involves the iterative design, construction and exploration of a highly expressive Direct Combination system (although no previous knowledge of Direct Combination is required). Direct Combination is a family of user interaction techniques, and a user interaction framework. Recent developments in Stateful Traits (Tesone et al., 2020) have provided tools for creating new highly expressive Direct Combination systems.

The Project will involve designing, implementing and evaluating a new direct combination engine, and creating support tools as needed. You will be strongly encouraged to contribute as co-author to one or more refereed research publications. This research internship is available to start immediately and will run for five months. You will be able to work remotely for this whole period.

Good Smalltalk programming skills are essential, ideally in Pharo. Good written and oral English communication skills are essential. Willingness to consider the end-user’s point of view is important. Various background skills are not essential, but could be helpful, such as: knowledge of, or interest in, software composition research and metaprogramming; good TDD habits; acquaintance with stateful traits; acquaintance with the Data-Context-Interaction paradigm; experience and skills with the Pharo toolset, such as Roassal, the Glamorous Toolkit, and Iceberg.

Applications should include a CV with contact details and covering note that summarizes:
• evidence of appropriate knowledge, skills and experience,
• why you want to undertake this particular internship and why you would be a good candidate,
• telephone, email and postal contact details for two referees, at least one of whom must be able to comment on subject discipline specifics.

For more information, or for informal enquiries , which are encouraged, contact s.holland or oli.howson (insert here) Applications should also be sent to this address, and also copied to

Further particulars:
Design, Implementation, and Evaluation of a highly expressive Direct Combination Prototype

Candidates are not required to know anything about Direct Combination (DC). However, some optional background is provided for candidates who might wish to know about the project’s aim and scope.

Direct Combination is variously a principle, a family of user interaction techniques, and a user interaction framework (Holland and Oppenheim, 1999; Holland et al., 2002a). Together, these can give users greatly enhanced flexibility interacting with digital systems and can reduce search when dealing with complex or unfamiliar interfaces (Holland et al., 2005).

Direct Combination also has potential to simplify multi-device interaction (Holland et al., 2002), enhance bimanual interaction (Webb, 2017), facilitate interactions spanning virtual and physical boundaries; encourage serendipitous interaction (Holland et al., 2002b), and to enable the incremental development of novel interactions by end-user programming (Holland, 2003). While the potential of Direct Combination has been widely noted (e.g. Beaudouin-Lafon and Mackay, 2000, Rekimoto, 2004, Bartoleo et al, 2006 , Webb, 2017, Agarwal et al, 2019) existing implementations have been constrained by the limitations of available mechanisms for the modelling of separation of concerns in multi-dimensional domain models.

However, new mechanisms that facilitate separation of concerns, in particular the revised version of Stateful Traits (Tesone et al., 2020) have created new opportunities for building highly expressive Direct Combination engines. Reenaskaug’s Data-Context-Interaction Paradigm (Reenskaug, 2006; James Coplien and Trygve Reenskaug, 2012) has also contributed relevant insights.

As well as prototyping the new DC engine, the project will prototype support tools. To this end, the project will also involve analysing and creating informal domain models for one or two end-user domains, anticipated to be an AR/VR game in Unity (linked via a simple OSC bridge) and possibly an interface to allow end users and music scholars to query, analyse and visualise large quantities of linked music data on the web (via SPARQL).

The choice of Smalltalk as preferred development environment reflects the fact that three previous implementations of Direct Combination at the Open University, and the reference implementations of both Stateful Traits and DCI, were all developed in Smalltalk (variously in Squeak, VisualWorks and Pharo). At the same time, the pervasively live-object nature of Smalltalk and its sophisticated IDE, along with the powerful metaprogramming facilities, offer substantial advantages in facilitating rapid prototyping and exploration.


Agarwal, Mallika, Arjun Srinivasan, and John Stasko. (2019) "VisWall: Visual Data Exploration Using Direct Combination on Large Touch Displays." 2019 IEEE Visualization Conference (VIS). IEEE, 2019

Bartolomeo, G., BlefariMelazzi, N., Cortese, G., Friday, A., Prezerakos, G., Walker, R. and Salsano, S., 2006, February. Sms: Simplifying mobile services-for users and service providers. In Advanced Int'l Conference on Telecommunications and Int'l Conference on Internet and Web Applications and Services (AICT-ICIW'06) (pp. 209-209). IEEE.

Beaudouin-Lafon, M. and Mackay, W.E., 2000, May. Reification, polymorphism and reuse: three principles for designing visual interfaces. In Proceedings of the working conference on Advanced visual interfaces (pp. 102-109).

James Coplien and Trygve Reenskaug (2012) The data, context and interaction paradigm. In SPLASH '12: Proceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity.

Gedenryd, H. (2002). Beyond Inheritance, Aspects and Roles: a Unified Scheme for Object and Program Composition. TR2002/09, Department of Computing, The Open University, Milton Keynes, MK76AA, UK.

Holland, S. and Oppenheim, D. (1999) Direct Combination. Proceedings of CHI 1999 pp. 262-269.

Holland, S., Morse, D.R., Gedenryd, H. (2002a) Direct Combination: a New User Interaction Principle for Mobile and Ubiquitous HCI. In Paterno, F., (Ed.) (2002) Human Computer Interaction with Mobile Devices. Mobile HCI 2002.

Holland, Simon; Gedenryd, Henrik and Morse, David (2002b). Applying Direct Combination to afford spontaneity in Pervasive Computing. In: Workshop on Supporting Spontaneous Interaction in Ubiquitous Computing Settings, 29 Sep - 1 Oct 2002, Gothenburg, Sweden.

Reenskaug, T. (2006) DCI Documentation (Accessed 19 Dec 2020)

Holland, Simon (2005). A first empirical study of direct combination in a ubiquitous environment. In: Fincher, Sally; Markpoulos, Panos; Moore, David and Ruddle, Roy eds. People and computers XVIII - Design for life: proceedings of HCI 2004. London, UK: Springer, pp. 229–247.

Holland, Simon (2003). Ambient Combination: Applying Direct Combination to Afford Spontaneity in Pervasive Computing . (accessed 10 Jan 2021)

Rekimoto, J. (2004). SyncTap: synchronous user operation for spontaneous network connection. Personal and Ubiquitous Computing, 8(2), 126-134.

Pablo Tesone, Stéphane Ducasse, Guillermo Polito, Luc Fabresse, Noury Bouraqadi (2020) A new modular implementation for stateful traits, Science of Computer Programming, Volume 195, 102470, ISSN 0167-6423,

Webb, A.M., 2017. Phrasing Bimanual Interaction for Visual Design (Doctoral dissertation).