The Mindful Desktop - How to Increase Your Productivity in the Attention Economy

Posted on Mon 11 March 2024 in general

If you just want the VirtualBox VM for this article without the philosophising, skip to the appendix.

We live in a world full of distractions. In the modern "attention economy" it's more of a challenge to avoid content and advertising than it is to find it.

Nowhere is this more obvious than when we sit down at our computers to work. I look at my browser - with tabs open from last night - and see that I have 10 new videos from my favorite channels. I open my emails to see if I have anything from clients and am notified that I have 50 new messages in 5 inboxes.I go to my messaging app to ask if my partner wants anything for breakfast, and get sucked into a conversation on a group chat, from which I surface 45 minutes later to find myself hungry and undercaffeinated.

For Jenny Odell in How to Do Nothing, the attention economy isn't taken seriously enough as a threat to our self-determination:

We experience the externalities of the attention economy in little drips, so we tend to describe them with words of mild bemusement like “annoying” or “distracting.” But this is a grave misreading of their nature. In the short term, distractions can keep us from doing the things we want to do. In the longer term, however, they can accumulate and keep us from living the lives we want to live, or, even worse, undermine our capacities for reflection and self-regulation, making it harder, in the words of Harry Frankfurt, to “want what we want to want.” Thus there are deep ethical implications lurking here for freedom, wellbeing, and even the integrity of the self.

My resolution this year was to simplify my life. That implies to orient myself away from the vociferous maw of the internet and towards more mindful ways of engaging with technology.

And yet, while my experience is partly a result of my tendencies - I was a fiend for bulletin boards even as a teen - the reason why you have had similar experiences is because a lot of people profit from the attention economy. A lot of money is dumped into marketing and user experience hacks to keep you coming back to the same sites, viewing more advertisements, buying more products.

This extends to the design of the technology we use. It's no mistake that the default for notifications is 'on', nor that you always see ads before useful content, nor that most sites require email sign-ups to use services that have absolutely no purpose for your email other than advertising.

One way we can resist the attention economy's theft of our time, then, is to resist its entry onto our screen. With a bit of care, we can push unwanted interruptions away from us and reclaim agency over our time and our use of technology. We can use engineering to build technology that benefits us, not companies that want to use our engagement to sell ads.

In this article I'm going to describe a way to set up a desktop environment that's free of, and actively discourages, getting sucked into the many distractions of the attention economy. This is based on my own experience with trying to build a desktop environment that serves me while still being practical to work with. It also includes a virtual machine which you can use as a basis for your own setup or as a focused work environment.

Step 1: Start with Linux

Linux provides a strong base for any attempt to rid ourselves of distractions. Unlike commercial operating systems, it's built for the needs of users - specifically for nerdy power users - and doesn't feature ads or other attention-getters like notifications unless we ask for them.

In my setup I went with Debian netinstall as the basis for my system. This is because Debian works on a wide variety of hardware out of the box and requires little configuration to get working, while being lightweight and stable. The netinstall version also lets you start from a minimal base and choose your own desktop. I daily drove Debian until last year for these reasons.

While I've recently switched to NixOS and considered using it in this setup, I feel like the advantages of that distro don't line up perfectly with promoting mindfulness, because of the amount of time you spend in /configuration.nix. Debian is a much stronger candidate for never worrying about your system.

Step 2: Manage your windows

This section was almost titled "Use a Window Manager". Why isn't it? Because regardless of which software you use, there's always the ability to get distracted. What's more important than your choice of technology is your approach to window management. Note that these are principles and not strict rules.

Use one screen. Multiple monitors are helpful for some tasks, but it's all too tempting to put Discord or emails on one monitor while working on another one, which invites distraction. Keep the extra 3 screens disabled until you need them.

One window per screen. This means that you have little ability to get distracted by action in your peripheral vision. Keep other windows out of sight unless you need them for your current task, and hide them when they're not needed.

Know where your windows live. The easiest way to achieve this is to use workspaces, which are a feature of most Linux desktop environments. Two features which should be avoided: stacking windows and minimising them. If a window exists in your current space, you should know about it.

There are several ways to achieve these goals:

  • Use a tiling window manager like i3 or sway
  • Use a conventional desktop or stacking window manager with workspaces, and make sure all windows are visible on each workspace
  • Use an exotic window manager like PaperWM or Material Shell which force the above principles.
  • Don't use workspaces or tiling, and close programs when you stop using them (the old-skool method).

For my minimal demo setup I decided on openbox. This is a very simple stacking window manager which I feel encourages using the old-skool method by default, while also following the next principle I outline below.

Step 3: Economise on software

One of the main distractions when using a computer is having too many apps you need to switch between a lot. Let me give an example from programming. This is exaggerated but realistic:

  • You are briefed about a feature by a product team via email.
  • The engineers discussed that feature on Slack.
  • There's also a Markdown file floating around with someone's meeting notes, which is essential because the CTO made some requirement changes in that meeting.
  • The card for that feature was found on Notion with a few extra comments.
  • The codebase where we'd implement that feature was in a gitlab repository.
  • The API documentation was automatically generated and hosted on an internal network.

In order to have a full picture of the feature and not disappoint any stakeholders, an engineer would need to navigate six different software systems and somehow retain all that information while coding.

Scenarios like this happen constantly in the professional world, and we often don't have any control over them. They represent a tremendous waste of time, money and human potential. At least in our own setup we can mitigate them. How?

Let's take some advice from Guido van Rossum in PEP 20, "The Zen of Python":

There should be one-- and preferably only one --obvious way to do it.

This applies both in writing code and in designing workflows. We should have one tool for writing documentation, one tool for browsing the web, and one tool for discussion. Where possible there should be no overlap between these systems, to reduce the mind-numbing redundancy of copy-pasting meeting notes into emails, Slack, and your project management system.

In my personal setups, I achieve this by using two apps for the vast majority of my daily work: Helix and Google Chrome. My notes live in a git repository. My files are managed by Ranger, a CLI file manager I can leave running in 1/4 of my console. My site is written in plain text, with Markdown.

If you are not an engineer, then your workflow will look slightly different. What's important is that the apps you use are curated and suit the work you do. If you find you're not using an app, perhaps it's best to uninstall it.

In the virtual machine, I've included the bare minimum set of apps needed for working on a computer. I broke the rules slightly by including both GUI and console based versions of the same apps, but I felt like this was a reasonable compromise to make the VM more accessible to a wider range of users.

Conclusion

While the attention economy is massive and ever-expanding, we can take steps to resist it and reclaim our time. Willpower is not enough: we also need to change the technologies that we use in our day-to-day life to promote more mindful use of technology.

In the context of designing our desktop computing experience, this means following three steps:

  1. Start with Linux
  2. Manage your windows
  3. Economise on software

There's also a lot of scope for other engineering efforts to reduce distractions and help people stay focused and in control of their digital lives. Since the book Digital Minimalism was released in 2019, some of these have been widely adopted - such as monitoring screen time.

However, recent innovations like TikTok and short video formats, which are designed to maximise engagement even more than other media formats, show that the attention economy is unlikely to slow down, barring legislation or paradigm shift.

Time is the one resource we can't create. To make the most of it, we need to guard ourselves against distractions by any means necessary.

Appendix: A Mindful Desktop

Click here to get the demo virtual machine. It's set up to be light and minimal while being accessible to both power users and beginners with some technical skills. It runs on Oracle Virtualbox, which is widely available on most operating systems.

Basics

  • Base: Debian 12 Netinstall
  • Desktop environment: Openbox
  • RAM Usage (idle): ~220MB

Login Details

These should be changed if you want to use the VM regularly.

User: root
Password: mini

User: mini
Password: mini

Installed packages

You can remove and replace most of these, but be aware that removing utilities from the system utilities section might break the setup - make sure you know what you're doing if you want to modify this section.

Because this is a VM, there are no bluetooth or wireless utilities installed as these are assumed to be handled by the host PC. If you want to replicate the setup on bare metal, you'll need to account for these and other hardware requirements.

Instructions on how to configure the key components (X11, LightDM, Openbox) can be found on the Debian Wiki and in those projects' documentation.

System Utilities

  • X11
  • LightDM
  • OpenBox
  • git
  • wget
  • sudo
  • feh

Apps

  • ARandR
  • PCManFM
  • ranger
  • sakura
  • Falkon
  • neovim
  • FeatherPad
  • neofetch