inessential by Brent Simmons

Mark All as Read

One of my favorite podcasts is Edge Cases by Andrew Pontious and Wolf Rentzsch. (My superpower is that I can spell Wolf’s last name without looking it up.) You should listen.

In the recent episode they mentioned that at one point it seemed I was concerned about NetNewsWire’s effect on its users — whether or not it was healthy.

It’s true. I was concerned. Memory, which can be tricky, tells me that there was a tweet by Jacqui Cheng (the exact tweet was years ago, probably hard to find) where she was complaining about returning from a trip to thousands of unread items.

I suggested she mark all as read.

It felt good to say that — so good that I repeated that advice many times over the years.

There Was Nothing Like This

When I first designed NetNewsWire in 2002 there were no native Mac RSS readers. I don’t think there were any that had an unread count, and certainly no three-paned-aggregators.

(Though NetNewsWire was — I think — the first one, or at least the first one to ship, it’s likely that this was invented independently by a few different people.)

There was no Twitter or Facebook then. There was email, the web, chat, and Usenet. NetNewsWire was modeled after Usenet — NewsWatcher, specifically. (The name was an homage to NewsWatcher and to nn.)

I liked the idea of seeing articles from different sources, and knowing which I’d read and which I’d hadn’t, and I especially liked going quickly through unread items.

Adding an unread count seemed like a natural thing to do — Mail had one, after all.

It didn’t even occur to me that it might not be safe.

I’d never heard anyone complain about having too many Usenet articles to go through. Maybe I just hadn’t heard — but it really seems like it wasn’t a thing.

Yes, I’d heard people complain about email. But I figured that email was different: you have to read your email, and often you have to reply. RSS is different: you don’t have to reply, and it’s just stuff to read if you feel like. There are no have-tos about it.

So what I thought I was making was a lightweight little app that saved you a bunch of time. What we all used to do was just have a bunch of bookmarks, and we’d manually check our favorite news sites a bunch of times a day.

The point of NetNewsWire was to save you that time.

Works as Designed

So it did what it was supposed to do. But it also did things I didn’t expect. Instead of a dozen bookmarks, people had a hundred feeds. Or two hundred. Or two thousand.

And there was a tyranny behind keeping track of unread items and showing an unread count. People reacted in different ways, but many people felt like they always had to go through everything.

Including me. To this day.

I did not know this was going to happen. That was not the idea: it was a side effect of reasonable (at the time) choices.

My Advice

If you use an RSS reader, don’t feel like you have to read everything.

You get stuff via other means too — email, chat, Twitter, etc. — and it’s likely that anything super-important will find you.

Mark all as read when you need to and don’t stress about it. It’s going to be fine.

If you’re an app developer, please consider the effects of your work on other people. It may be hard to guess — but just try imagining what spiral someone who’s compulsive might fall into.

Does your design lead people to feel like they’re a slave to the app, rather than the other way around?

This is especially true if you’re badging and doing unread counts and notifications. I know it “drives engagement” and is something people ask for. After all, it’s nicer to be notified rather than having to check for new stuff.

But remember that this can be hard on real people.

Nick Bradbury, FeedDemon author, and I have talked many times over the years about how we’d design an RSS reader were we starting over. The first thing we always say: No unread counts! (And then we get distracted, because we’re probably in a bar after a long day.)

But it should be pointed out — contra Andrew and Wolf — that I loved my app every single day. Madly.