Why Reruns Happen
Sometimes you might see a new article in a feed that you’d swear you’ve already read. And maybe you can even see, in NetNewsWire, what looks like another copy of that same exact article, with no changes.
Here’s the thing to know: if the article really was the exact same in every respect, NetNewsWire would see that. It’s super-easy for a computer to tell that some data is the exact same as some other data.
When it’s not really the exact same, that’s where the problem comes in.
Here are some reasons this situation can happen:
A blog changes its blog engine
If someone switches from (for instance) Ghost to WordPress, then the code that creates that feeds will be different. And that code will make a different choice for the unique ID for each article in the feed.
Those unique IDs are critical: they’re how NetNewsWire identifies an article. If an article appears with a new unique ID, then NetNewsWire treats it like a new article.
In this situation, you’ll often see that you get a bunch of reruns for a given feed all at once. You’ll get 10 or 20 or whatever.
This is by far the most common cause of reruns.
A feed that lacks unique IDs does something weird
This is quite a bit less common. There are some feeds that don’t have unique IDs, which means NetNewsWire has to use some combination of other article metadata to identify articles.
That metadata could change just enough to throw NetNewsWire off. This is rare, but it can happen.
A feed just has terrible bugs
We’ve seen feeds that create a different unique ID for each article every time you fetch the feed, which results in reruns every single time. We’ve seen feeds that use the same unique ID for every article in the feed, even — which goes against the very idea of unique IDs!
Some feeds just have bugs, and weird, unpredictable things happen.
NetNewsWire is designed to be resistant to that, and it does a good job — but we haven’t anticipated every odd case.
However, this is the most rare cause of reruns. The most common cause is, by far, the first one: the feed is now being generated by different software.