the room that forgot what it was for

Forty years of research built two things: a place for each context, and a memory of what the place was for. Only the place shipped.

In 1986 Austin Henderson and Stuart Card at Xerox PARC published a paper about a problem they called window thrashing. Screens were too small for all the windows a person needed, so people spent their day re-exposing windows they had already opened, which is a phrase that describes my Tuesday. Their observation was borrowed from virtual memory: windows cluster. The ones you touch while doing one thing are rarely the ones you touch while doing another. So give each thing its own workspace, put doors between them, and offer an overview of all of them at once.

They called it Rooms. Every virtual desktop you have ever used descends from it.

the lineage

What happened next is a lineage that almost nobody outside HCI knows about, and every entry in it is trying to add the same missing piece.

2000, Microsoft Research. The Task Gallery hangs your tasks as paintings on the walls of a 3D corridor; the one you are working on sits on a stage. Silly-looking. Right instinct: a task is a thing with a location and contents.

2003, UmeĆ„ University. Victor Kaptelinin’s UMEA lets you declare a project, then quietly collects every file, folder, URL and contact you touch while it is active, and puts them back when you switch to it. The title of the paper is the whole idea: “Translating Interaction Histories into Project Contexts.” The room now knows what it holds.

2005, Oregon State. TaskTracer instruments Windows and Office, logs every resource you open, ties it to whichever task you have declared, and restores a task’s working set on demand. Then a machine-learning model tries to guess which task you are in so you stop having to say.

2006, Copenhagen. Jakob Bardram’s activity-based computing makes the activity a first-class operating-system object that bundles services, data and windows, with suspend and resume, roaming with a clinician from one hospital terminal to the next. The paper’s opening complaint is that computers are “notoriously bad at supporting the management of parallel activities and interruptions.” Twenty years ago.

2006, Vancouver. Mik Kersten and Gail Murphy ship Mylar, later Mylyn, into Eclipse. A task context is a weighted graph of the program elements you touched while working on a ticket; the IDE filters everything else out. Sixteen industry Java programmers, a measurable improvement in edit ratio, p = 0.003. This one is still alive. Mylyn 4.12.0 shipped on 20 September 2026, a week before I wrote this. The task-focused interface is used by almost nobody outside Eclipse.

2008, Georgia Tech. Giornata gives each user-declared activity its own desktop, files, tags and contacts, and the follow-up study title says how it felt: “It feels better than filing.”

Six systems, twenty-two years, one idea. The container for a context should remember what the context is. Not just which windows were open. Which files, which people, which tabs, which ticket, and, in the good ones, what you were doing when you left.

my own lineage

I spent a decade building Rooms out of parts, badly.

MaxTo in 2016: carve the screen into regions so each thing has a place, “set your notes, music player, communications tools, todo lists,” two monitors with “private documents on the other one.” Alt-drag in 2017. Tiling window managers in 2022, where somebody said they were a solution to a problem that does not exist and I said it’s a feature, not a software. A draft from 2019 that never went up ends with a line I keep coming back to: to manage this, we need colored tools.

Every one of those is a spatial answer. Make the context legible on the screen so the head does not have to carry it. Henderson and Card had it in 1986. What I never had, and what none of my tools ever offered, was the second half: the region that knows it is the customer-A region, remembers what was in it last Thursday, and can tell me.

what shipped

Virtual desktops shipped. Spaces, Windows desktops, GNOME workspaces. The room, with doors, and an overview. Forty years on, they are named “Desktop 1” through “Desktop 4,” and they do not know what they are for. Close the laptop for a week and reopen it. The windows are there, maybe. The why is not. It never was; the desktop has nowhere to keep it.

KDE is the one desktop that tried to keep the memory. Its Activities, separate from its virtual desktops, were meant to be exactly this: a context with its own widgets, linked files, assigned windows and a start and stop, not just its own screen. The activity chooser landed in Plasma 4.5 in 2010. In February 2024 the Plasma team described the feature as unmaintained, and Plasma 6.5, in September 2025, removed starting and stopping activities and kept only switching between them. The one desktop that shipped the memory has spent the last two years quietly turning it back into a room.

So the room shipped and the memory did not. UMEA, TaskTracer, Giornata and the activity-based OS stayed papers. Mylyn stayed inside one IDE. The part of Rooms that a dumb window manager could implement went everywhere. The part that required the system to know something went nowhere.


Everything above is the record. What follows is argument.

why the memory did not ship

Three reasons, and the third is the one that matters for what I am building toward.

It asked you to declare. UMEA, TaskTracer, Giornata and Mylyn all need you to say I am now on X before they can do anything. TaskTracer’s machine-learning module exists because its authors knew nobody would. Declaring is the discipline of writing the state down before you leave, and people will not do it unless the surface pays them back immediately and visibly. A virtual desktop asks nothing, so it survived. It also remembers nothing, for the same reason.

It was an environment. I made this argument about terminals and it holds here. Environments stay small; the things that travel are the small, ignorable pieces a dumb system can safely discard. Virtual desktops are the escape sequence of this story. Activity-based computing was the environment. You were in it or you were not, and almost everyone was not.

It was never about the organization. This is the one nobody in the lineage says out loud. Every system above lives inside one machine, one user account, one employer’s install. The unit is the task or the activity or the project within an organization. The clinicians in Bardram’s hospital worked at one hospital. The Java programmers in Kersten’s study worked on one codebase. The diary study behind Microsoft’s task managers followed eleven Windows users for one week. Nobody in the lineage was a consultant with six clients on six tenants, six chat systems, six sets of credentials and six vocabularies, because that person was never the user in the room.

So even the systems that remembered what a room was for remembered the wrong-sized thing. They remembered a task. The thing that decays while you are gone, the thing that costs interest, is bigger than a task. It is a whole world, with people in it who kept moving.

Henderson and Card gave each task a room. Nobody has yet given each organization a building.