An OS for Thinking

4 minute read

Still thinking about thinking tools

When it comes to taking notes during meetings and reviews I reach for pencil and paper. Not the keyboard (though others seem comfortable doing so). Is it just that other folk are more fluent at the keyboard than I? More comfortable with the more-mediated interface a computer presents? (I doubt that. I’ve been at it longer than most of them have been alive!) I think it has to do with the more freeform nature of pencil & paper. I can scribble, write, draw lines between things, put boxes around stuff, all without having to mode-switch or reach for “another” tool. And not just that, I can navigate the 2D space much more fluently than you can with even a pointing device on a screen.

I don’t think the problem is inherent to computers, just inherent to the way we’ve implemented user interfaces. Makes me think back to Doug Engelbart’s demo of the stylus/chord/mouse interface and how that was so much more fluid to use than a mouse by itself…


Another thought:

What if the OS/2 UI was a groping in the right direction with its object-oriented desktop? Every note, folder, email, checklist, code snippet, song, picture, web-page (they didn’t exist back then, but if they had they’d also be) just an object on the screen. The focus was content-centric, not application centred. You dealt directly with your stuff, not with worrying about which service (application) created/edited the stuff. That was baked in. There were aspects to it that confused the average user – the whole inheritance chain and how it impacted attributes you might set on objects – but it was an interesting exploration. Much, much more interesting than the shitty desktop/folder/document metaphor that won and has dominated the past 30 years or so.

The whole MIME architecture embedded in most modern OSs is a half-arsed nod in the right direction, but lacking any real energy, any real intent to maximise usefulness, and implementations and uses of it generally suck.


So, some ideas for a computing interface designed for ideation, designed as a thinking-assistant:

  • dispense with file names
  • dispense with folders for sorting/filing/organising — use tags instead
  • search is primary
  • anything can be linked with anything; links, link attributes and link navigation are the primary means of structure
  • the interface keeps a complete interaction history (searchable, of course) that’s available at a touch, in reverse chrono order for flipping between contexts
  • it’s programmable (but that’s not in your face) preferably via multiple languages and paradigms
  • collaboration (linking) between information-nodes on different machines in different places should be on an equal footing and equally as easy as local links, with appropriate permissioning for viewing, editing, link-forwarding (capabilities model?)
  • it’s a transparently persistent environment — there are no “save”/“open” buttons/actions — everything is versioned, history is accessible and searchable (though on a permissioned basis)
  • identities are built-in and are essentially keypairs. People and processes have multiple identities as a matter of course, and identities federate with others in a directed graph

Not easy to see how to implement such a thing, though I think that all the necessary technical pieces are lying about, underexploited.

I suspect the right layer to work at might be the Window Manager. I’ve no desire to wander into the weeds of OS-level resource management. Others might want to work in the browser, but I think that’s just another Window Manager within the context of currently widespread UI paradigms. And besides, you’d have to work in Javascript, and that’s just basically deficient to the task in more ways than it’s worth enumerating. Smalltalk is much closer to the idea as a starting point, so why make more work for an already substantial task than is absolutely necessary?

Among the “things” we’d want to represent/keep accessible via the workspace are “Thing I Want To Do” actions: I want to find some music/movie/book, I want to chat to my friend, or write them a message (email, whatever), I want to goof off looking at Twitter or naked people or read the news or the comics or a blog I follow that has a new post. I want to search the web for some topic, then highlight/select snippets from that result and fling them onto a note/folder/list where I might refer to them later. Or delete them. Or annotate them. Or link them to some existing ideas I’ve collected. I want to set and alarm/reminder for a meeting I have later today/next week and when the time comes, just plonk me into the online meeting. Do I want to record it?

I’d call all of these things “Notions” as a generic collective term, but that name’s already taken by a fairly-crappy, dumbed-down-while-overcomplex, enterprisified wiki-wannabe. Guess I’ll have to think of another name.