Unlearning email

The Why & How Of My Numptitude

For years I visited my inbox in search of diversion despite underwhelming—and often counterproductive—returns. ‘Variable reward’ shenanigans made me their bitch.

I tried to break the habit a few times with steadily more ridiculous rules and temporary doses of willpower.

More recently I full-arsed a solution by trying a different approach: fiddle with the problem at source and ensure my silly habits are either impossible or guaranteed to achieve nothing whatsoever.

Email How I did & How I do

Past behaviour / frequency

I’d check my inbox oh-god-so-many times a day. New messages would occupy me, uselessly, and become burdens until I gathered the time or will to act.

To the best of my knowledge I never received an email requiring immediate attention.

Ideal behaviour

Be hit with things when I have the time and inclination for a meaningful reaction.

Necessary technical asides

  1. I have multiple Gmail accounts with which I interact through IMAP applications, either Mail (computers) or Inbox (phone). I’ve never used the actual online Gmail inboxes.

  2. Google allows users to write scripts that programmatically affect emails as they arrive (see: Google Apps Script).


All emails entering my inbox are archived and given an IMAP-unsynchronized ‘Snooze’ label (meaning they never appear in the places I check email).

At 5am every Sunday all emails are automagically unarchived, de-labeled, and synchronized to the relevant places. My inbox is filled all at once on my yay-email day and the rest of the week I don’t give it a second thought.

A simple solutions to a tiny, self-inflicted fragment of idiocy. Details below.

Day-delay, Part 1 Google Apps Script Shenanigans

  1. Log in to Google Drive

  2. Hit the ‘New’ button ->More->+ Connect More Apps

  3. Search for and connect ‘Google Apps Script

  4. New->More->Google Apps Script

  5. Add—and save as whatever your heart desires—the following:

    function setup() {
    function moveSnoozes() {
      var snoozedLabel = GmailApp.getUserLabelByName( 'Snooze' );
      var page = snoozedLabel.getThreads();
      if( page.length > 0 ) {
        GmailApp.moveThreadsToInbox( page );
        snoozedLabel.removeFromThreads( page );
  6. Run-> setup, then give all the permissions. This will create a ‘Snooze’ label in your inbox.

  7. Edit->Current Project Triggers->No triggers set up. Click here to add one now.

  8. Settings { ‘Run’ | moveSnoozes; ‘Events’ | ‘Time Driven’, ‘Week timer’, ‘Every Sunday’, ‘5am to 6am’. }

  9. Save.

NB // For a more flexible snooze function have a gander at https://gmail.googleblog.com/2011/07/gmail-snooze-with-apps-script.html.

Day-delay, Part 2 Google Filters

  1. Gear Icon ->Settings->Filters and Blocked Addresses->Create a new filter.’

  2. Filter { ‘To’ | [email protected] } This affects *all* incoming mail (but won’t accidentally grab outgoing mail).

  3. Create filter with this search.’

  4. Tick: ‘Skip the Inbox (Archive It)’ and ‘Apply the label [SNOOZE].’

  5. Create filter.’

  6. Gear Icon ->Settings->Labels

  7. For ‘All Mail’ [in ‘System Labels’] and ‘Snooze’ [in ‘Labels’] untick the ‘Show in IMAP’ box and set all their options to ‘Hide