Click here to show or hide the menubar.
  • When Blogger came out, we all got on Blogger. When Flickr came out, we all got on Flickr. Later there was Twitter and Facebook, and we all got on.

    (Okay. Not every single person, but you get my drift.)

    In those days, for a thing to be important, for it to be a success, it had to get the attention of much of the internet.

    It was a lot like TV used to be. There were just a few networks, and for a show to be a hit it had to have some significant percentage of viewers watching it.

    Times have changed, and the internet is more mature and diverse. As my friend Kelly Guimont says, the internet is "sort of like TV" these days, and "you can have a successful show and not have half of America watching."

    Like Game of Thrones. It doesn't have half of America watching it, but it's still a success.

    I argue that the same is true of apps and app categories: we've (finally!) entered a period of tech diversity, and Mastodon and and RSS readers and blogging systems and so on do not have to capture the attention of the entire internet to be successful and important.

    In fact, those days are gone. TV changed, and so did the internet.

  • Gus in 2009:

    Learn to be your best critic, and you'll learn to ship software that's worth paying for.

  • My friend Geoffrey — the one with the big beard in the pictures in the linked-to page — is opening Fair Isle Brewing in Seattle, in Ballard (my neighborhood), next year. They're doing farmhouse and wild beer.

    You can invest as little as $100 if this interests you. More about farmhouse beer:

    Farmhouse beer is one of the most exciting and fastest growing segments in the beer industry. These special beers are fermented with a mixed culture that includes local, wild yeasts and bacteria; instead of the laboratory-isolated and tightly controlled commercial yeasts that are more typically used today. Farmhouse brewing techniques embrace the local environment. Like fine wines, Fair Isle's beers are all about a specific place and a specific time.

    I think it's going to be a success — but that's because I know Geoffrey. We're talking about investing money here, so please make up your own mind!

  • There are just 15 seats left for Swift by Northwest. I'll be there!

    It's in Portland this October, and it's going to be fun and educational and you will make new friends. :)

  • The latest episode of The Omni Show is ostensibly about launch day — but mostly it's a discussion of the new design in OmniFocus 3 for Mac. How it started, how it evolved, how it ended up.

    It's of obvious interest to OmniFocus users, but I think the discussion is also interesting to anybody who cares about app design.

    (I think it's one of the best episodes, by far.)

  • Over the weekend I renamed my in-progress app from Frontier to Rainier.

    As you may recall, the app was to be a modernized, rewritten-in-Swift version of UserLand Frontier, the classic Mac scripting app.

    But then this weekend I started down a slightly different path, and renamed the app to Rainier.

    And here's why: if it's called Frontier, that implies compatibility with older versions of Frontier. There are two problems with that:

    • Achieving compatibility with Frontier is actually an extremely difficult job. So much has changed over the years.
    • Achieving compatibility also means having to live with decisions made years ago — but there are some cases where I'd rather have the freedom to make other decisions. (New mistakes, maybe!)

    The app remains inspired by Frontier. It wouldn't exist without it. The core concepts remain the same — the hierarchical database with integrated scripting language, for starters.

    * * *

    I don't, at this point, have any intention of making a Linux version, though technically that would be possible, given that Swift is available for Linux. I'm sure I'll never make a Windows version.

    It's possible that it could end up running on iOS some day. But my focus is on the Mac app, and my focus is really on Evergreen right now, which is way closer to shipping than Rainier is. (There is some overlapping code between the two apps, though. Sometimes I'm working on both apps at the same time.)

    * * *

    Mount Rainier is one of the tallest mountains in the continental United States. You can see it every day from Seattle except when clouds get in the way. It is a stratovolcano.

  • Icro, the client for iOS (which I use), is now open source. Cool.

  • Dave Winer wants to get Frontier running on Linux. Any port is a big job, but this is probably much easier than porting Frontier as-is to current macOS.

  • Seattle Xcoders started in 2004, I think. I was invited as a guest speaker in 2005, and I attended — and I never stopped going.

    Well, I don't always make it to the actual meeting the last few years, but I do attend the after-thing at the Cyclops.

    And here's why: it goes back to that very first meeting I attended 13 years ago, when I realized that seeing people regularly in real life is a fine and healthy idea.

    Even for a solid introvert like me. Especially for introverts like me.

    And now that we're all replacing Twitter with other things for our social needs — with Mastodon for some people, for some (including me), Slack, Snapchat, plus falling back to the usual things like blogs and texting and email — we should remember that regular hanging-out-with-folks is massively important.

    The Xcoders meetings are good and sometimes great. But the fact that it's a social club also is not to be minimized or glossed-over — it's super-important.

    * * *

    There's an unofficial Seattle Xcoders (no meeting) this Thursday at 7 pm at the Cyclops. You don't have to be a coder to attend — designers, testers, writers, and lovers of Mac and iOS apps are all welcome and encouraged.

    I won't actually be at this Thursday's thing this time (though I'm usually there) — but a week from Thursday (Aug. 30) is our special fifth Thursday unofficial at the Waterwheel in Ballard, and I'll be there. It's doubly unofficial — and a whole bunch of fun.

    * * *

    Just for fun, I thought I'd estimate how many times I've hung out with some of the original Xcoders such as Gus Mueller. Let's call it an average 24 events a year, and let's say we're both at 12 of them. Over 13 years that's 156 times.

    I've probably said to him "Gus was the name of my cat" at least 100 of those times.

  • On my latest The Omni Show — the podcast I do at work — we (me, Dave Messent, Ken Case) talk about upcoming features in OmniFocus 3 for Mac.

    I consider myself amazingly fortunate to be able to do podcasting and blogging for a living. :)

  • Social media is part of my job. And, frankly, it always has been (especially if you include blogging as social media).

    I've joined Mastodon, and I find myself constantly confused. It's not the idea of the federation — I get that. Not a problem. It's just that the apps I've tried (including the web app) are difficult to use and/or don't do the things I want them to do, or do them confusingly.

    Some notes, in no particular order...

    Please steal the best solutions from Tweetbot and Twitterrific!

    I don't ever care about the firehose timelines. Ever. If it were me writing the app, I wouldn't even include these. Just hide them away somewhere if you have to have them. Most people are never going to care — they want to see toots from the people they follow and they want to see mentions/replies.

    Support for multiple accounts is a must. I have two so far, and it's entirely likely I'll have more.

    Goddamn social media pros like me sit in front of a Mac all day, because it's the best way to be super-efficient. I need a good Mac app. Native. I can't run yet another Electron app. (Two — Slack and this thing we use at work — is about all my computer can take.)

    On the Mac, support for multiple accounts also means multiple windows so I can have different windows for my various accounts. (This is how I use Twitterrific on my Mac.)

    The most important thing is to be able to participate in conversations. It should be easy to read a thread and reply. (See Twitterrific and Tweetbot.)

    I want a tab for my mentions. I also want mentions in the main timeline.

    I don't need notifications about new followers. I'll check my follower count once a week or so to make sure it's going up.

    I need to be able to check my follower count easily.

    I don't need notifications about likes and boosts to be in my face — these can be tucked away for when I want to look.

    I don't care about trends. At all. Ever. The thing I care about is people talking about my things or things that interest me. Trends could (and should, really) just go away.

    Searching, on the other hand, is critical, and I need to set up persistent searches for my things and things that interest me.

    iOS apps should support Dynamic Type or at least provide a way to change the font size. Pulling out my readers from my bag — while I'm on a crowded bus — is not going to happen. Mac apps should also provide a way to set the font size.

    I need to be able to disable boosts on a per-user basis — some people are interesting but their boosts are not so much.


  • The Mac Observer reports that Reeder 3 is free for Mac and iOS.

    A tweet from @reederapp says:

    Reeder is free until version 4 is released later this year as a paid upgrade. No subscription.

    This is great news — go get it!

    * * *

    For one second I had that sinking feeling in my stomach about a competitor doing something that might hurt sales of my own app...

    ...but then I remembered that I'm not selling an RSS reader. I'm writing Evergreen, and making it free and open source, out of love, and because I want to ensure that RSS remains uncontrolled and widely used.

    And people using Reeder absolutely fits with that goal. There should be multiple RSS readers, since that will help make sure more people find an app they like.

    So, really — go get it! It's a great app. And be sure to take a look at Reeder 4 when it comes out later this year.

  • Back in 2009 (I think; I don't feel like checking) a whole bunch of people on Twitter turned on me all at once. It felt like a mob. The mob wasn't in any way self-aware or coordinated — but it still felt like a single driven thing.

    This wasn't over culture or politics or social issues — it was over my own software and a mistake (actually two simultaneous mistakes) I had made. (The details are unimportant.)

    Twitter was much younger then, with fewer people, and it was still a mostly-fun place.

    But I went into a serious funk and for a year considered leaving the tech industry altogether. Shuttering this blog. Just quitting. Which is a consequence completely out-of-proportion to my actual mistakes, which were forgotten pretty soon as people moved on to other topics.

    But I didn't forget my experience. I never really recovered all the way — something left me, something about how I think about people, something I can't quite name or describe, but it was a good thing and it left.

    I'm lucky, of course — if anyone can come back from something like this, it's someone as all-around fortunate as I am.

    * * *

    The mob never apologized. Mobs never do.

    Imagine: a bad thing happens to you, which you perceive as wildly disproportionate, and, later on, the actors never say they're sorry.

    But who would an apology come from? A mob can't apologize.

    I started to wonder if I really deserved it after all. Maybe the mob discovered the truth about me, that I'm a bad person. I thought about what penance I should pay. (Eventually I did decide on a penance, and I did pay it, and that was wrong.) I wondered if I shouldn't quit so much as accept a shunning.

    For a long time after everyone forgot.

    Anyway: that's what that's like.

    * * *

    And maybe this is why I'm extra-sensitive to social media mobs. What I went through is tiny compared to what other people have been through. Not worth remembering by anybody, not even me (though I can't help it).

    Then there was this thing with Wil Wheaton getting booted from a Mastodon instance. I don't know much about Wil (I did watch Star Trek, of course) or what mistakes he may have made.

    And I don't care. The power of mobs in Mastodon reminds me of the power of mobs in baby Twitter of 2009. Which is to say: it's entirely possible it will get worse and worse — as it did on Twitter — to the point where lives can be ruined and even threatened.

    So I'm thinking about whether or not to stay.

  • After some years spent traveling the world, NetNewsWire is now back where it started! It's my app again.

    We've kept its room ready for all these years. And I am thrilled to welcome it home.

    Thanks to Black Pixel

    First thing: I want to thank Black Pixel for their stewardship. They released NetNewsWire 4 for Mac and iOS, and they even brought it to Apple TV. They wrote and deployed a syncing system — which is a massive challenge. (I happen to know, from several first-hand experiences, just how difficult syncing is.)

    They kept it moving forward — the app is now 16 years old — and that's huge.

    And I want to thank them for a second thing: their incredible generosity in bringing it back to me. When I asked them about it, they told me they'd already been discussing it. There was never a need to convince them: they thought it was the right thing to do before I even said a word.

    You might reasonably wonder if nevertheless they asked for some large amount of money. There was no charge. That's what I mean by "incredible generosity."

    As a friend of mine said on this subject, "Sometimes life is poetic." Thanks to Black Pixel for making that true.

    If you haven't already, you should read Black Pixel's announcement.

    What This All Means

    Here's the scoop:

    You probably know that I've been working on a free and open source reader named Evergreen. Evergreen 1.0 will be renamed NetNewsWire 5.0 — in other words, I've been working on NetNewsWire 5.0 all this time without knowing it!

    It will remain free and open source, and it will remain my side project. (By day I'm a Marketing Human at The Omni Group, and I love my job.)

    Black Pixel will stop selling their versions of the app, and will turn off the syncing system and end customer support — all of which is detailed in their announcement. (Important note: I will not get any customer data from them, nor will I be doing support for Black Pixel's NetNewsWire.)

    My Goal

    I want one thing: to make the very best versions of NetNewsWire ever made.

    And, along the way, I'd love to have your help.

    Nothing to Download Yet

    I don't actually have an app bearing the name NetNewsWire ready to download yet. I will have test versions ready soon, though. It's still going to be a while before the final version of 5.0 ships.

    The repository is on GitHub.

    I'll also be creating a website for it, of course. And I'll have news about a Slack group you can join.

    PS For Reference

    I should outline NetNewsWire's history:

    • 2002: NetNewsWire Lite 1.0
    • 2003: NetNewsWire 1.0
    • 2005: Bought by NewsGator. I continued working on NetNewsWire as a NewsGator employee.
    • 2011: Bought by Black Pixel. I remained at NewsGator, and stopped working on NetNewsWire.
    • 2015: Started work on Evergreen
    • 2018: NetNewsWire comes home; Evergreen renamed to NetNewsWire

    It was acquired twice before now. I worked on it for nine years before it went to Black Pixel, and it was there for seven years. And now it's back home.

    For good!

    PS Pardon the dust — there's a bunch of renaming to do and ducks to line up. Things may be confusing at first. But where you see the name Evergreen, think NetNewsWire.

  • NetNewsWire Lite 4.0 was the last version I shipped before the sale to Black Pixel, back in 2011. It was a free app on the Mac App Store.

    I put the source up on GitHub.

    I'm not publishing it as some kind of example app — some code is good, some is bad, and most is middlin', and it's all old. It's published for historical reasons only.

    However — if we can get it building, and I bet we can — I'll end up making it available as a download.

    I don't know what to do about NetNewsWire 3.3.2, which was the last release of the non-Lite full version. That code is really, really old and I don't even really want to publish it. But I might. Or I might get it building and release a 3.4 version of it.

    We'll see! No need to rush, of course.

  • If you'd like to run it, go to the NetNewsWire site and download the latest build.

    Things to know:

    • A whole bunch of important features haven't even been started yet
    • There are features not finished yet
    • There are bugs
    • It's not even beta. Not even alpha!
    • It still has the Evergreen app icon

    If you're upgrading from Evergreen, you can either:

    • Start fresh, or
    • Rename the folder ~/Library/Application Support/Evergreen to ~/Library/Application Support/NetNewsWire, or
    • If you already have a NetNewsWire folder there, copy the contents of the above-mentioned Evergreen folder into that NetNewsWire folder.

    Note: I've started a Slack group, but I don't have a public signup form for it yet. You can email me to ask for an invitation. Just let me know if I should use an email address other than the one you used to email me. (You can find my email address at the bottom of the NetNewsWire site.)

    You don't have to be on the Slack to help. You can always contact me by whatever means, and you can post to the Issues tracker on GitHub.

  • So much has changed since I last worked on NetNewsWire, and my thinking about it has changed too.

    The big things remain the same — NetNewsWire is at the intersection of my passions: reading and writing, the open web, and Mac apps. I want to make NetNewsWire a great app with lots of users. No change there.

    But so much else has changed.

    In 2002, when I started NetNewsWire, there was no Facebook and no Twitter, no iPhones, and most people hadn't heard of RSS. People got their news by visiting a few sites a few times a day. People subscribed to email newsletters. That was about it.

    Since those days a whole bunch of RSS readers — most notably Google Reader — have come and gone. But, interestingly, there are probably more web-based readers these days than ever before.

    But most people, it seems, get much of their news from Twitter and Facebook these days, and I believe this is unhealthy for society and for individuals. None of that existed in the early days of NetNewsWire.

    Another change: the energy in app-making has moved from Mac to iOS. But I still love Mac apps, and I still believe in them as works of art that people use to get their work done.

    Another change is a personal change: I don't need to make money from NetNewsWire. While I always wanted to make NetNewsWire the best app it could be, I used to have to consider money as I made decisions. I no longer have to.

    * * *

    My goal used to be to make NetNewsWire a great Mac app with lots of paying users. Secondary goals were to promote reading and writing on the web, the blogosphere, and RSS and open web standards.

    My goal now is to make NetNewsWire a great Mac app with lots of users. Other, no-less-important, goals are to:

    • Promote healthier news-reading via the open web and RSS
    • Promote native Mac app development by providing a good example and by making the code open source

    (Yes, I'm strongly considering an iOS version, but I'm concentrating on the Mac app first.)

    * * *

    Let's go back to how people get their news these days.

    NetNewsWire will never be the sole news-gatherer for anybody. People use social networks. They still visit sites manually and subscribe to email newsletters. They use apps like Apple's News app. They get news from Slack and other group and personal chat apps.

    And they use other RSS readers too.

    This means that NetNewsWire does not have to be designed as if it's anybody's only source of news. And it doesn't have to be designed to please the maximum number of people.

    My thinking, instead, is to make it fit into an ecosystem: it's just one of a number of sources, and not even the only RSS reader.

    This allows me to design more carefully. NetNewsWire used to be quite over-featured, and now I have the luxury of being able to make a leaner NetNewsWire.

    I can say no to things that I would have said yes to — I can make it the app I want it to be, an app that hopefully lots of people love using, but that isn't trying overly hard to be everybody's friend.

    It's okay, in other words, to remember that there are other RSS readers, and it's totally a-okay when somebody likes another one more.

    In other words, NetNewsWire of the future will be more me than any previous versions were.

    PS Here's a secret: my favorite version of NetNewsWire was always NetNewsWire Lite, which was the pared-down, free version. I keep thinking that I'm designing in the spirit of NetNewsWire Lite.

  • In NetNewsWire 5, you can add your feed of people you follow, so you can read their posts in NetNewsWire.

    Here's how:

    Figure out the URL. It's something like this, where my username is replaced with your username:

    In NetNewsWire, hit cmd-N. (Or click the + button in the toolbar.) Put that URL in the URL field in the sheet that appears. Give it a name if you want, and choose a folder if you want. Then click the Add button.

    That's it!

    Posting to

    If you have the app on your Mac, you can select an article in NetNewsWire, then pull down the share menu in the toolbar, and choose

    It will send that article to the app, where you can edit and comment before posting.

    The same thing works for MarsEdit, so you can post to any blog.

  • I like Swift's recent addition of automatic hashing support — in many cases you can declare conformance to Hashable and let the compiler do the rest.

    This let me delete a bunch of code, and I love deleting code.

    * * *

    I noticed a regression the other day: for some reason, fetching articles from the database and populating the timeline view got noticeably slower when the results are fairly large.

    I worried that this is because my articles database is over a year old, and as it grows the fetch times get longer.

    So I used the Time Profiler instrument to see what was going on during a fetch — and I found that most of the time was being spent in hash(into:) in two of my structs: Article and DatabaseArticle.

    And of course fetching articles means creating a whole bunch of these structs. Hundreds or thousands, even, depending.

    Those were two cases where I had adopted automatic hashing. The hash(into:) method was generated by the compiler.

    So I thought about what to do. I wanted a hash that's unique, or close enough, and I want it to be fast.

    The solution, in both of these cases, was obvious — each has an articleID property that is unique per database, which is close enough. That means just hashing one property rather than (presumably) all of them.

    So I made hashValue a computed property in each of those structs, as in:

    var hashValue: Int {
        return articleID.hashValue

    I built and ran the app — and the performance issue was fixed.

    I put some (temporary) timing code around the code that fetches all unread articles, and it went from 0.37 with automatic hashing to 0.07 with my computed hashValue.

    That's huge!

    I realize I could have written a hash(into:) function instead. Maybe I should? I'm not sure that it matters one way or the other. Possibly by the time you read this I will have switched the implementation.

    The point still stands, though, that automatic hashing in the case of objects with lots of properties might be a performance hit. As always — use the profiler.

    PS Hashing is important in NetNewsWire because I use sets frequently. In general I make arrays at the UI level, when populating a timeline (for instance), and use sets when fetching from the database, etc.

  • Medium is deprecating custom domains. Owning your own content means the ability to use your own domain, so you're not locked in to a specific service.

  • The last build of the full version of NetNewsWire, before the sale to Black Pixel, was 3.3.2. I've learned that lots of people still use it!

    I was considering publishing the source on GitHub and/or making a 3.4 build that strips out the Esellerate and Google Reader syncing parts.

    So I sent the code to Daniel Jalkut, who quickly hacked at it and got it running and sent it back to me.

    And then I ran it too — and quickly realized a few things:

    1. It has lots of bugs. Bugs that would be difficult to fix without rearchitecting critical parts.
    2. It uses WebView a ton, which is deprecated, and replacing use of WebView with the new WKWebView would not get us the results we want. (The Combined View wouldn't survive, for one thing.)
    3. It would be an attractive nuisance — some people would focus on this while I'd rather the focus be on NetNewsWire 5. I care about history, but not at the expense of the future.

    I might still make a build of NetNewsWire Lite 4.0 available. That code base is not just newer than 3.3.2, it's just plain way better.

    (It was the start of my never-completed NetNewsWire 4 rewrite. NetNewsWire Lite 4, when it shipped, had zero known bugs, and just one known bug within a couple weeks. It was a good app. With modern tools I bet I could find more bugs pretty easily, though.)

    But it's still not nearly as good as the code I'm working on now. (Which should be no surprise — it's years later, and I'm a better developer.)

  • Daniel Jalkut, Saying Goodbye to NetNewsWire 3:

    Since I'm not the only stalwart NetNewsWire 3 user, one of the things Brent was curious about was whether he could give that version "one last hurrah," so to speak. Fix a few of the most glaring bugs, build against a modern SDK, and not only create an artifact for history to more accurately judge the app's virtues, but to give long-standing users something to tide them over while development continues on NetNewsWire 5.

  • On the NetNewsWire blog I've been publishing bits of NetNewsWire history. It's a look at the history of our industry through the eyes of one single 16-year-old app.

    Though I have my own blogging software, for the NetNewsWire blog I decided to go with and my own domain ( It's easier to use than my own software — especially when it comes to adding pictures, and I definitely want to use a lot of screenshots on this blog.

    I set it up to automatically cross-post to @NetNewsWire on Twitter. I don't love Twitter, obviously, but I feel it's important, when you have a product, even a free one, to be accessible wherever the users are.

  • I was asked on the NetNewsWire Slack group about supporting nested folders — folders inside other folders — and I realized the answer deserves a blog post, because it brings up some larger issues.

    But first, some technical stuff.

    RSS readers have moved over the years toward tagging as opposed to folders.

    A structure where feeds can have multiple tags is the same thing as a structure where you have multiple folders but not nested folders, and a feed can appear in more than one folder.

    So that's what NetNewsWire does, because this looks like a de facto standard to me.

    That's part of the reason, but there's more...


    In earlier versions of NetNewsWire there were too many features that added to the fiddliness of the app.

    Those features were invitations to the user to comb and revise their system. They could customize colors and fonts, create deep folder structures, archive articles on disk, and so on.

    Over the years I've learned that these kinds of things often detract from an app. Every decision is a moment of anxiety for the user. The user wonders: is this the right call? Did I consider all the issues? Can I change it later?

    And the user may be motivated to come back and re-do those decisions.

    I don't want my software to do that to you.

    Furthermore: simplicity is itself appealing. Delight comes in getting the most power from the smallest effort.

    Adding features may make the app more appealing to people who want those specific features — but it chips away at simplicity as a feature, and some people will go look for something less complicated.

    To be clear, though, this approach isn't right for every app. It depends on what you want the app to be. I like Acorn for its relative simplicity over Photoshop, for instance — but Photoshop absolutely needs to be what it is for people like Brad Ellis to get their work done.

    I have the luxury of not needing to make money from this, and I also have the luxury of knowing there are other really good RSS readers. I'm not required to make this particular app the RSS reader for every single person.


    Our industry has not only been poor ethically, it's also been substandard at just plain old quality. Sure, the economics of it are partly to blame. It motivates people to sell out their users and to ship broken software.

    "Move fast and break things" is a motto that seems to apply to the industry at large. I think it's wrong, because there's a human cost to this.

    Again — because I have the luxury, because I don't have deadlines or commercial concerns — I can do something different: I can ship software with no bugs. Zero.

    I'll be more precise: if a bug is any ticket in the issue tracker, then of course there are always bugs. I'm talking about known, reproducible defects.

    My plan is to never release a shipping version that has any such defects. I believe that's a feature in itself.

    But that's much more easily done with a simpler app. Every added feature adds to the combinatorial complexity of the app, and the app becomes harder to test and harder to get right.

    My commitment to zero defects outweighs my commitment to adding features.


    And I do want to add features. There are some features I haven't seen in other RSS readers — even earlier versions of NetNewsWire — that I want to do.

    I think (I hope) they'll be fun and useful and that you'll like them. (We'll see, of course!)

    But when I spend time adding some features from an older version of NetNewsWire, I'm not doing the new features that this new world NetNewsWire wants.

    My Pitch

    You might end up disappointed, when NetNewsWire 5.0 ships, that some feature you used in an earlier version of NetNewsWire isn't there. I totally understand that.

    But my pitch is this — or will be (it's not shipping yet): try an app with zero known defects, where performance is critical, where careful, considered design and simplicity are valued, where there is room for future innovation, where development happens in the open, and see if you like it despite the missing things you wish it had.

    You might find you do! And you might not, which is okay — as I mentioned earlier, there are other really good RSS readers, which is a great thing.

    PS You can join the Slack group too — just send me email.

    PPS I could change my mind in the future about nested folders. Very few decisions are set in stone. But the above is all the things on my mind as I make decisions about things like this.

  • NetNewsWire 5.0d6 adds Mojave dark mode support.

  • Dana Blankenhorn, No More Mr. Nice Liberal:

    It only ends when anyone associated with Trump or Trumpism, down to city councilmen, can be disqualified by the simple fact of having been Trumpists. Trumpism, and that brand of conservativism, must become as anathema as Nazism became for Germans after World War II.

  • Every now and again there's a thing about the tragedy of RSS. Ugh.

    I want to make a few points.

    One is that, as Greg Reinacker once said, RSS is plumbing.

    Another is that millions of mainstream users rely on it — for podcasting, especially, but also because it powers other things that they use. They don't know that there's RSS under the hood, and that's totally fine.

    Another is that it's not necessary for RSS readers to become mass-market, mainstream apps. I'm sure I never said they would be, and I don't remember anyone else from the early days of RSS saying they would be, either.

    It's totally fine if RSS readers are just used by journalists, bloggers, researchers, and people who like to read. Yes! It's a-okay.

    But note that everyone who uses Twitter and whatever else, and who follows those people, are benefiting indirectly from RSS. RSS is, often, where the links come from in the first place before they show up on social networks.

    (Sometimes it's even automated. For instance, posts to my @NetNewsWire account on Twitter come from the blog's feed. In other words: Twitter itself is an RSS reader.)

    In a nutshell: judging RSS itself because RSS readers are not mainstream is to miss everything that RSS does. And judging RSS readers for not being mainstream is to judge them against expectations set by some hype artists more than a decade ago — but not by me or anybody else actually doing the work.

    I don't expect to see RSS readers running on every Mac and iOS device. This does not make it a failure.

    It's 2018, and I think by now we're allowed to have things that some people like, but that not everybody uses.

    * * *

    From 2011: What we talk about when we talk about RSS

    From 2013: Why I love RSS and You Do Too

    From 2018: Some Hope

Stats & Atts.

When in doubt, blog.