Escaping the Labyrinth
Toward Intention-Driven Interfaces
Computers as we know them are impossibly distracting. Whether a desktop operating system or a phone or tablet; to someone with ADHD they are an endless stream of rabbit holes and diversions.
The neurotypical advice is to switch off your notifications and maybe install a focus blocker. oh sweet summer child, I wish it was that easy! Over the past 15+ years I've tried every combination of focus blockers & time trackers; listened to therapists and podcast-guys; tried other people's methodologies and my own. And yet nothing quite works.
My current favorite tool—OneSec ↗(opens in new tab)—implements so many wonderful patterns for earnestly trying to keep me on track. It asks for my intentions when I open Instagram, politely nudges me to take a bath or yoga or FaceTime my Mom when I'm standing on the edge of an attention abyss, and straight-up blocks me from navigating to distracting apps & websites between 10pm & 11am. It tries—oh, how it tries…—and yet there's always other things a wandering mind will go to. Rearranging my desktop or home screen icons; idly browsing my Archive/_archive/2011/everythingbucket
folders on Dropbox; scrolling through the deepest recesses of Camera Roll.
It's not that the current generation of focus blockers are bad, it's just that they're kind of like having your hand caught in a moving table-saw blade and asking for a bandaid. We are seeking patches for a computing landscape that is inherently distracting without questioning whether computers truly need to be this way.
One solution is to move to a cottage in the woods, throw your computers in the nearest body of water, and commune exclusively with the birds & trees on your deck. I've tried that strategy (twice, actually), but going luddite-accelerationist in 2023 as a technology feels like abdicating your ability to shape how our technology evolves. Trees are good, but so is the platonic ideal of computation.
Computers are useful. Computers—as we know them—are distracting. Without giving credence to the first, we end up missing out on the creative, cognitive & social opportunities of the emerging paradigm. Without fully inquiring into the latter, we risk using super-powered new tools to make us ever-more distracted, scattered, disconnected, and unhappy: but I believe that these new tools can be the hypermodern solution to our problems.
My suggestion is that we go back to first principles, and rethink every single assumption we’ve had about interfaces since Xerox PARC.
Whether on desktop or mobile, webapp or native; software has worked in largely the same way since approximately the golden era of the Grateful Dead. A team of boffins combines business insight and user research to create one or more screens that are packaged up and distributed to users. No matter if the software is sold in a big cardboard box of 5.25” diskettes, or zapped across the internet; created by one coder in her bedroom or a team of 900 people in a Redwood City office park; distributed for free or $$$$; an app-ish app or a website; things are created and distributed, and then they live on (or “on”) your computing device, alongside other pre-mediated Pieces of Software.
This is the fundamental issue: as creators of software, we can never truly anticipate what a user might wish to do as well as they can. Software must grow to fit both our assumptions of user behavior, as well as user-hostile features & business goals tacked on in pursuit of hegemonic capitalist technology development. Our computers are afflicted by a tangled web of misaligned actors, from “the inherent futility of user research” and “venture capital is a primarily competitive worldview that rarely has human happiness as its focus” through to “people with low executive function get distracted by the most innocuous things in the world”.
Whatever the ratio of these ingredients in the poisoned cocktail of Using A Computer In 2023, the outcome is that no matter how disciplined we are, there is always a fundamental gap between our intentions and navigating interfaces to perform the action those tasks require. It doesn’t matter whether the state of our intentions are held in our heads, on sticky notes on the side of our monitors, or in expertly-worded Linear issues. It doesn’t matter whether our intentions are as humble as “find out the ratio of water to wild rice in an Instant Pot”, “text ‘omgggg look at the moon rn!!!!’ to the groupchat”, or as complex as “raise a happy & healthy child against a backdrop of looming societal collapse” or “reinvent the notion of computing”.
We have things that we want to do. In our modern world this often involves the use of computers. Our computers often get in the way of us doing them.
My outlandish goal is to reduce all of the computer stuff, to exist in consistent flow states, to use computers with intention and true harmony. To minimize the amount of computer-y stuff that we have to touch. As Brautigan said: ”a cybernetic meadow where mammals and computers live together in mutually programming harmony, like pure water touching clear sky”.
Sign. Me. Up.
This new paradigm could look like many things in practice, but the core is to take user intention and hallucinate interfaces, in realtime, to facilitate taking action.
Since writing most of this draft in July 2023 and coming back to edit it at the end of October 2023 (ADHD, y’all, I’m telling you…), work across the industry on the actual task of generating reasonable user interfaces has progressed so quickly that it feels like both an imminently-solved task, and also a party trick that will become a moat-less party trick as fast as you can say “ControlNet spirals”.
We’re about to see tooling for generating user interfaces become a commodity, and I think that that is a good thing: it will bring with it an era of experimentation in the most useful ways to use these tools, and who uses these.
The first-order use case is (of course) designers and software engineers using them to automate parts of their jobs, but I think this is a stepping stone to the inevitable goal: the abolition of product design & engineering as-we-know-them, and the integration of generated interfaces within user-facing tools. That diversity of meta-interface will be as rich as the user-specific interfaces that are generated with them.
As I am writing this, here are some of my intentions for the day: my todo list.
- send a DM to a friend
- write a tweet asking about recommendations for transcription models
- book a flight to New York
- find the exact wording of that Brautigan poem for the quote I just used
How much software-as-we-know-it is necessary to accomplish these tasks?
I’ve always had a soft-spot for working in a Daily Notes page. It’s like a bullet journal: an interwoven daily log of thoughts and notes and todos. It fits my brain because my executive function is limited and switching contexts to different tools is risky. Back in 2020 I used Roam Research heavily. I would draft everything in Roam: notes and essays, but DMs and Slack messages and Instagram captions and tweets too. And then I would inevitably tab over to Twitter to post the tweet, and get distracted, and lose my flow state.
Luckily around that time, someone made an extension that let you send tweets from inside a Roam block, but the natural language processing tooling to automatically infer interface from actions was nowhere near what we have in 2023.
Our AI technology is progressing, but my inquiry has remained the same. Do I need to traverse the windows of my operating system, through the tabs of my browser, and the entire feature-set of a social network UI to message a friend, or just a chat window? Do I need to see my whole Twitter feed to send a tweet, or is a compose box enough? Why must I even leave my todo list to search for flights? Why do I have to leave the text editor I’m writing this essay in to query our digital information repository for a fact check on a reference I’m making?
Do we take for granted that doing my todo list involves wearing a digital hazmat suit and navigating the infohazard of a modern computing environment, or can we just hallucinate the interfaces we need for the things we’re trying to achieve?
The computing environments of tomorrow demand a ground-up rethink of every assumption we have about software: how it is ideated, how it is distributed, and how it fits into our lives. Things are changing rapidly, but the opportunity that electrifies me is a once-in-several-generations opportunity to rethink not just the internals of our tools, but the entire nature of software as we eschew fixed for dynamic; distracting with flowful; frustrating with harmonious.