Brent‘s a guest on the latest Micro Monday podcast, and he talks about NetNewsWire, The Omni Show, and Micro.blog.
Check for updates, or download the latest build.
Multiple significant performance improvements that will be especially noticeable with high feed counts.
Sidebar: Delete command now in contextual menu and in gear menu.
Sidebar: scrolls to show feed or folder, when needed, when going to the next unread article.
Timeline: contextual menu command to select feed in sidebar.
Detail view: fixed — at least mostly — an issue where the detail view’s web view might flash white while in dark mode.
Detail view: give URL status bar a dark background color when in Dark Mode.
Sharing: sort articles by publication date on sharing.
Sharing: set email subject when sharing to Mail.
Window title now reflects sidebar selection. (Which will only be noticeable in the Window menu, but will be meaningful when we add support for tabs.)
Dock icon menu now includes Refresh command.
Subscriptions are now stored as an OPML file instead of a plist, which means you don’t even have to export to OPML to get an OPML version of your feeds. Feed metadata is now stored in Settings.odb.
Toolbar: Mark As Read toggles back and forth between states.
Feed Directory: Add to Feeds button now works, though we want to revisit the UI.
NetNewsWire 5 is being written on the exact same keyboard that wrote NetNewsWire’s 1 through 3. In the same room, at the same tables.
I’ve had this keyboard, an Apple Extended Keyboard II, since 1995, and I’ve had this room and these tables since 1999. It’s notable when things don’t change.
The computer I’m writing NetNewsWire 5 on is newer, of course. It’s the one I used for Vesper.
In the days of NetNewsWire Lite 1.0, in 2002, you had to roll your own preference-pane switcher. The look here was stolen from Xcode — or maybe it was still Project Builder? I’m not sure — but was my own code. (Pretty simple code, though.)
I don’t seem to have a screenshot of the General preferences, but I have Colors and Downloading.
I did a Colors pane because I knew that one way to have people love an app is to make it malleable — they can make it their own, they can spend some time with it, maybe feel a little bit of sense of ownership (at least over their own instance of it).
It’s not the only way for people to love an app! In fact, this kind of thing — too many preferences, too much fiddling — can really go against people falling in love with an app. But I think this was okay in 2002, when we had so many fewer apps and more time to play with each of them.
(A goal for NetNewsWire 5 is to have the least amount of preferences possible, and for people to love the app for other reasons.)
The Downloading preferences had a slider for how aggressively the app should download feeds. Broadband was still fairly rare, and this was important for some people. I didn’t make it up — NetNewsWire was certainly not the only app to have this kind of slider.
NetNewsWire 5 has no such slider. :)
Also note that it says “When downloading news…” — I was still avoiding the word “feed” for fear of scaring people.
I have no idea why I didn’t center the slider section. Probably just an oversight.
In NetNewsWire 1.x, I made sure the add-feed sheet was as simple as possible. My thinking at the time was that this was a moment of high anxiety, since subscribing to a URL was very much a brand-new thing. It looked like this — just one text field for the feed URL:
Note that it required the actual RSS URL — these days you can just use the home page URL and NetNewsWire will find the feed.
And, since this is no longer an unfamiliar thing to do, we can make the add-feed sheet a bit more useful. (Hopefully not too cluttered, though.)
So this is what it looks like in NetNewsWire 5:
The feed directory — known as the “Sites Drawer” — really was an old-fashioned NSDrawer.
It was an utterly appropriate use for drawers. (Most uses weren’t.)
I used the term “site” rather than “feed.” Remember that RSS was brand-new to people, and so I wanted to emphasize that these things are websites, that you’re really reading a site.
I also thought that “feed” would scare people off. (It was before Twitter and Facebook and Instagram. The word “feed” was not in common use for internet things yet.)
It may have been the right call at the time — but these days, in NetNewsWire 5, it’s just called the Feeds Directory. (And it’s not in a drawer! ’Cuz they’re gone.)
On Brent’s blog: Tech Diversity
On Brent’s blog: Oh God Not This Again
Here’s a big version of the app icon for NetNewsWire 1.x, made by Bryan Bell.
Many years ago — I think it was in NetNewsWire 1.x, but it could have been 2.x — I got an email from a writer (who I won’t name) letting me know he was writing a book about Mac apps, and he planned to write about NetNewsWire.
I thought this was great! I thanked him, of course, and let him know I’d be happy to answer any questions.
Some time later — memory suggests it was just a couple weeks — he wrote me about one of the entries in the “Sites Drawer,” the feed directory that appeared in the app. (Yes! In an NSDrawer.)
It was a feed that reported on and promoted LGBTQ civil rights, including marriage equality. (Which wasn’t the law of the land at the time, which must have been around 2004 or 2005.)
He objected: he would not write about the app as long as that feed was in there. He apologized and said his personal convictions would not allow it.
I was proud of the feed directory. There were about a thousand feeds, and we worked pretty hard on it, and we made sure there were conservative as well as liberal feeds in there. (We didn’t try to make it 50-50, but we did make sure blogs like Instapundit were in there.)
Anyway: I didn’t remove the feed. (I don’t think he asked directly: he just laid out the consequences — no write-up — of my not removing it.)
I don’t know, because I never went looking, to see if his book got published. He had published earlier books, including one that I had actually learned a lot from, years prior.
No kicker here. Just a story.
NetNewsWire looks forward to Mojave shipping September 24! We’re glad we already have Mojave dark mode support in the app.
Of course, NetNewsWire 5.0 itself won’t be shipping for a while. Maybe by the end of this year? Maybe not. It’s nice to not have deadlines. :)
NetNewsWire 1.x included an outliner — a single-document notepad for storing thoughts, links, RSS articles, and so on.
The idea was that you’re not just a casual reader, you’re a researcher or blogger or reporter and you need a notepad that understands the web.
The screenshot explains more:
You might think it was nuts to also include an outliner — but, in a way, it wasn’t.
The only other real competition was Radio UserLand, which included an outliner. (And a ton of other things.) I had just come from working at UserLand, and I wanted a notepad with my RSS reader, so I wrote one. :)
I was actually pretty proud of this work, but I dropped it for NetNewsWire 2.
It really needed to be a separate app. The plan was to separate the blog editor into a separate app — which became MarsEdit. The outliner was also supposed to be split out into an app called MoonLiner.
And the three app icons would be the Earth, the Moon, and Mars. Mars the farthest away, because that’s what you’re actually putting out there. The Moon for your notes and research and saved items. My idea for the icon was something like a passenger jet in space — a MoonLiner — with the moon as background.
But I had my hands full with just splitting out MarsEdit and all the new features in NetNewsWire 2, and informal polling told me that pretty much nobody used the outliner component, so I dropped it entirely.
Plus: I already loved OmniOutliner!
Back when I was at NewsGator, we wanted to know a bit about how people used the client RSS apps (Inbox, FeedDemon, and NetNewsWire). As I recall, we did almost nothing in the way of compiling data — possibly in part because I dragged my heels on it.
But we did learn one thing that I happen to remember: the average number of feeds for a NetNewsWire user (who also used syncing) was 26 feeds.
I had figured it would be around 75. Nope!
Small bug fix: you can now edit names of folders and feeds inline in the sidebar.
Bigger deal: Mojave dark mode support is in!
Latest version is always at https://ranchero.com/downloads/NetNewsWire-latest.zip
This is what the Combined View looked like in NetNewsWire 1.x.
This was before WebKit existed — HTML display was done by some NSAttributedString method which could handle basic HTML formatting.
On Brent’s blog: Why NetNewsWire Doesn’t Support Nested Folders.
Major bandwidth-use bug fixed — sometimes it would request the home page of a site multiple times all at once. Now it just does one request.
Sharing: lightboxed the share sheet.
Sharing: added subject to Mail message.
Latest version is always at https://ranchero.com/downloads/NetNewsWire-latest.zip
Here’s a screenshot of the blog editor in NetNewsWire 1.x, which was later split out into a separate app: MarsEdit.
History: Future Features List
When I turned NetNewsWire over to Black Pixel in 2011, I included a big list of features I was thinking about for future versions. Below is an unedited copy of that list.
LSM, in the list, refers to the Latent Semantic Mapping framework. Google Reader was still a thing in those days, and Twitter hadn’t gone completely developer-hostile yet.
* * *
Some features I was thinking about for future versions: Twitter/Facebook as types of accounts Multiple Google Reader accounts; treating Google Reader like IMAP Plugins API for developers - sharing - observers - preferences - feed parsers - anything else that could possibly be component-ized Modern version of Sites Drawer -- not a drawer, but an easy way for people to find cool feeds to read. Panic button -- mark things older than [some date] as read Extendible search engine feed definitions -- use same definitions as FeedDemon Expand shortened URLs automatically Inline video/audio/image-slide-show for enclosures Flickr (and similar) feeds displayed as grid of images Configurable keyboard shortcuts Hide feeds with 0 unread items Combined View: mark read when it scrolls into view, not on selection Local (non-synced) account for iOS versions Specify different themes/styles/views for different feeds Filters -- like smart lists, but more powerful. Can delete things. Can sort things into bins (pseudofeeds; collections). Delete article Tabbed browser for iPad version User tagging LSM -- auto-tag. LSM -- relevance. Not sure it's possible. The idea is using it as the opposite of a spam-catcher -- catch the stuff most likely to interest the user. (Might be that LSM isn't right for that.) Get recommended feeds from Google Reader Allow people to share on Google Reader Show items shared by other people from Google Reader Readability for web pages Search within tabs Sort tabs Gestures Lots more undo support Sync feed sort order from Google Reader Download images for offline viewing Download linked-to web pages for offline viewing Dates as smart list criteria Bookmarklet support Bookmarks for web pages *and* for articles Sync browser tabs Use Sudden Termination API Hotkey to bring nnw to front Colored labels for feeds LSM summarize text for articles and web pages More AppleScript support JSTalk support Second pane divider in Mac version would be one pixel -- Lion-like Better article themes Website gallery for article themes Website service for people to share their OPML -- so people can see what feeds other people are reading Website service for a "like" feature -- you can see what other people have most liked recently. You could maybe follow other people and see what they liked. ### iPhone/iPad only Mark as Unread Send to Read It Later Add/delete feeds Font/size settings All Unread folder Post to Facebook