% Contents of listings-setup.tex \usepackage{xcolor} \usepackage{fontspec} \lstset { basicstyle=\ttfamily, numbers=left, keywordstyle=\color[rgb]{0.13,0.29,0.53}\bfseries, stringstyle=\color[rgb]{0.31,0.60,0.02}, commentstyle=\color[rgb]{0.56,0.35,0.01}\itshape, numberstyle=\footnotesize, stepnumber=1, numbersep=5pt, backgroundcolor=\color[RGB]{248,248,248}, showspaces=false, showstringspaces=false, showtabs=false, tabsize=2, captionpos=b, breaklines=true, breakatwhitespace=true, breakautoindent=true, escapeinside={\%*}{*)}, linewidth=\textwidth, basewidth=0.5em, }

Pull vs push: intentional notifications

2023-03-20T12:15:00-04:00

% Contents of listings-setup.tex \usepackage{xcolor} \usepackage{fontspec} \lstset { basicstyle=\ttfamily, numbers=left, keywordstyle=\color[rgb]{0.13,0.29,0.53}\bfseries, stringstyle=\color[rgb]{0.31,0.60,0.02}, commentstyle=\color[rgb]{0.56,0.35,0.01}\itshape, numberstyle=\footnotesize, stepnumber=1, numbersep=5pt, backgroundcolor=\color[RGB]{248,248,248}, showspaces=false, showstringspaces=false, showtabs=false, tabsize=2, captionpos=b, breaklines=true, breakatwhitespace=true, breakautoindent=true, escapeinside={\%*}{*)}, linewidth=\textwidth, basewidth=0.5em, }

Pull vs push: intentional notifications

I’ve recently noticed that many of my peers are sometimes overwhelmed by the internet; they feel as if they’re stretched too thin and that their attention is constantly shifting between too many different platforms. I think a portion of that feeling comes from systems that bombard them with push notifications. In games, this introduces a sense of urgency because you want make the most of your time and use your “lives” or “energy” or whatever efficiently. With social media, these reminders tend to incite a fear of missing out (FOMO), making you feel like you need to open the app to connect with friends and avoid missing out. With news apps, the notifications are usually click-bait headlines specifically selected to make you open the app so you can see what’s going on.

But most of that isn’t really necessary. If something on social media is genuinely that urgent, it should be a call or an instant message. Social media can be checked at the end of the day. The same goes for news; if a headline is really that important, it’ll still be there in a couple hours. If a game needs to remind its players that it exists, it’s probably not particularly fun or memorable.

On Android, when users first open an app, they’re often asked to give that app permission to send notifications. They hit Allow without thinking because they just want to use the app, exactly like what happens when asked to agree to a privacy policy and terms of service. Most of these apps would be able to fill their purpose just as well without sending notifications, but we’re more concerned with using the app so we just don’t think about it.

On their phones, my peers usually have a list of notifications a mile long, full of new emails and YouTube videos and Slack messages and “your lives are restored!” messages from mobile games and so much more. I think reducing that barrage — on all systems, not just phones — is a great way to start building a healthier relationship with technology.

Pushed-based

Modern internet services heavily rely on push-based systems. YouTubers used to say “smash like and subscribe!” at the end of videos because they wanted you to get a push notification when they publish a new video. When YouTube stopped sending notifications for subscriptions and added the bell, YouTubers started saying “smash like, subscribe, and hit that bell!” instead. Free Android games often ask for permission to send notifications because they want to periodically remind you that “hey!! you downloaded me! don’t forget about me! come play me, run out of energy, get annoyed, then buy some extra energy with your hard-earned money! also, pay a bit more and remove the ads while you’re at it! 😃”

E-commerce platforms often ask you to subscribe to their newsletter in exchange for a small discount on your next purchase because they want to push their marketing to your inbox. Some news websites serve massive popups asking you to subscribe to their newsletters so they can, again, push their new content in front of your face. In some cases, this tactic may be perfectly benign; there are some individuals and companies with newsletters that might be genuinely interesting and they just want to let you know that the newsletter exists in case you want to subscribe. But they still result in content being pushed in front of their subscriber’s faces.

Similarly, instant messaging is all about push notifications. It’s in the name: instant. When someone sends you a message, you usually want to know immediately; maybe it’s a family emergency, maybe your food delivery person just arrived, maybe the sky is falling, etc. Those are all situations where you genuinely do want notifications pushed in front of your face. But think about while you’re at work. Do you really need to know that there’s no more coffee in the lounge when you’re waist-deep in a big code refactor and having to mentally juggle variables and signatures and business logic and overarching structu— look at this funny meme!

Ah shit. Where was x set again? Does this function duplicate the logic of that other function 83 lines above? You’ve lost your train of thought and it’s going to take you about 30 minutes to get it back.1

Maybe you’re spending time with your family, but that new hire keeps asking for help with this snippet of code they can’t figure out. You genuinely want to help them, but time with family is incredibly valuable. It can wait until tomorrow.

There’s a time and place for push notifications. Intentionally setting boundaries and being thoughtful with your time is important.

Pull-based

With a push-based system, you receive notifications on others’ schedules, which might not line up well with your own. In a pull-based system, you receive “notifications” on your schedule. You see what happened on social media when you log in, you receive emails when you explicitly fetch them, you see chat messages when you open the app, and so on. This allows you to decide when you’re ready to interact with that system, whether “ready” is every ten minutes, once you’re in the office, or during breakfast.

Some suggestions

Make heavy and extensive use of Do Not Disturb rules on as many platforms as possible. On mobile devices, it’s often possible to automatically enable DND during calendar events as well as enable it while you sleep. Mark yourself as unavailable in Slack (or Teams or XMPP or ____) outside of work hours. On Android, you can sometimes long-press notifications you don’t want to see and completely disable that category; this allows you to continue receiving push notifications from other categories but silences the one(s) you don’t need. Disable push notifications for YouTube, Twitter, Reddit, etc. Maybe consider using alternative clients for those services that are more user-respecting in general.

Religiously unsubscribe from everything that clutters your inbox. If you don’t actively want to see it, unsubscribe from it or write a rule that marks it as read and immediately shoves it in, for example, a Marketing folder. Inboxes are for pertinent, important information; the latest shoe sale at your preferred big-box store is neither.

Get a feed reader! Please!

They allow you to subscribe to multiple sources of information — like news websites, YouTube channels, blogs, etc. — and aggregate that content into one place. You can read what you want when you want without having anything thrust in your face. Depending on which feed reader you select, you can also sort sources into categories or folders that allow you to focus on one thing at a time, rather than being treated to a firehose of the internet.

If you’re looking for a service, check out Feedbin, NewsBlur, Feeder, Feedly, and Inoreader. Changelog, a developer-focused podcast, interviewed the creator of Feedbin and I quite enjoyed the episode. Be thoughtful when enabling push notifications in readers that support it.

vore is another one to look at, but it may be rather off-putting for some. It has a questionable name, but it’s cute, extremely simple, minimal, and, in my opinion, quite pleasant.

If you’re into self-hosting, I highly recommend yarr. At the time of writing, I’ve been using yarr for 6 months and don’t see myself switching any time soon. I only wish it had a maximum content width so reading was more pleasant on wide screens and that the theme would switch based on your system theme. Also worth a look are miniflux and Tiny Tiny RSS.

There are also desktop feed readers. These do come with a disadvantage though; some extremely active feeds, such as Slashdot, only retain the most recent entries. If you open your desktop feed reader once a day, you might end up missing some entries. Most blogs preserve entries for a lot longer, though. It depends on what feeds you’re interested in. If you want to go with a desktop reader, consider GNOME Feeds (Linux, GNOME), Akregator (Linux, KDE), Newsboat (Linux, TUI), and possibly RSS Guard (All). I’ve only named a few options; there are many more across all platforms.

If you do adopt a feed reader, whichever it is, I strongly recommend migrating your important newsletter subscriptions to Kill the Newsletter! This free service generates an email address, you subscribe to the newsletter with that email address, and it appends each email to a unique feed generated just for you. At the time of writing, I receive 7 newsletters as feeds and it’s a wonderful experience.

In a nutshell

Be thoughtful and intentional with your time and attention; they’re incredibly valuable, both to you, to other people, and to companies.

I’ve seen and heard 30 minutes cited many times from sources I remember trusting, but I can’t remember exactly which sources they were. After a quick search, The Muse says It Takes Nearly 30 Minutes to Refocus After You Get Distracted.↩︎