Recently I reached a level of excessive frustration with NetNewsWire (Mac) and decided it was time to move on. Problems with NetNewsWire include:
- NetNewsWire has no way to sync its subscription list to match your Google Reader subscription list. There is a Merge button in the Preferences that sounds like it should do this, but it does not work correctly. Once your lists get out of sync, they generally stay that way.
- NetNewsWire won’t prefetch images referenced in feeds. Without this, it is not useful for the most obvious purpose of a desktop reader: reading without a network connection. That’s a reasonable thing to leave out in early development, but in a mature product? What could they have been thinking?
- NetNewsWire fails (silently) to subscribe to Google Alerts feeds, apparently because Google Reader already knows about those feeds… but see #1.
- As many other users have reports, NetNewsWire frequently shows a different number of unread items from Google Reader, and no amount of Refreshing makes it match. The sync doesn’t quite work.
But to get rid of NetNewsWire, I needed to verify that I had all my feeds in Google Reader. This was easy:
- Export OPML feed list from NNW
- Export OPML feed list from Reader
- Use a bit of perl regex and diff (below) to extract and compare just the list of feed URLs
- Look over the diff, and copy-paste-subscribe the missing ones in Reader
The commands are:
perl -ne '/xmlUrl="([^"]*)"/ && print "$1\n"' <google-reader-subscriptions.xml | sort >gr.urls perl -ne '/xmlUrl="([^"]*)"/ && print "$1\n"' <nn.opml | sort >nn.urls diff gr.urls nn.urls
… which took much less time and far fewer keypresses than writing this post.
Offline reading is still very useful; at the moment I’m trying a combination of Google Reader, Gruml, and Reeder (iPad). Those work very well – so well that the risk of time-wasting feeds must be managed agressively: drop all but the most important, and don’t look every day.