In this paper we propose a new approach to the design of ubiquitous computing (ubicomp) systems. One of ubicomp’s design ideals is systems that adapt so as to maintain contextual fit. However, the contexts and uses of ubicomp systems are varied and changing, which makes achieving this ideal challenging—especially when using traditional design approaches grounded in static definitions of types or classes, i.e. in static computational structures. Here we outline an alternative approach to system design, a ‘vision’ for ubiquitous computing, which relies on dynamically coupling together several complementary representations of class. One of these is a population of instances, each of which may differ in its structure, context and use. We offer examples of tools and analyses that set these representations within an ongoing socio-technical process that, we propose, offers significant potential for satisfying ubicomp’s requirement for adapting system structure so as to sustain contextual fit.