Last night my conceptual model of how my favourite RSS reader, FeedDemon, works when synchronizing with NewsGator online changed.
In Donald A. Norman’s book The Design of Everyday Things he writes about the importance of conceptual models:
A good conceptual model allows us to predict the effects of our actions. Without a good model we operate by rote, blindly; we do operations as we were told to do them; we can’t fully appreciate why, what effects to expect, or what to do it things go wrong.
As long as things work properly, we can manage. When things go wrong, however, or when we come upon a novel situation, then we need a deeper understanding, a good model.
(Donald A. Norman, The Design of Everyday Things, pp.13-14)
So a conceptual model is just the picture we have in our heads about how we think something works.
FeedDemon RSS reader
My RSS reader of choice for the last few years has been FeedDemon, now at version 2.5.
One of the newest features that FeedDemon offers is the ability to synchronize feeds with NewsGator, an online RSS application. This is really useful if you frequently work from more than one PC (e.g. home, work and laptop) as you can add/edit/delete your feeds in one place, and see the changes reflected in your other locations.
The problem I had
So last night I wrote a long blog post about Aunt Mary’s funeral. I published it to my server, and then checked it in FeedDemon. (I do that sometimes just to make sure that my RSS feed is behaving.)
Nothing. No new posts since Friday. Hmm … so I did a refresh. No new posts. So I went online and checked it on NewsGator itself. Again, nothing.
My good friend Solo Bass Steve was online, so he checked his RSS reader … it was fine: the latest post had published out. The problem I reckoned was then with my copy of FeedDemon.
So I tried the following (this is like a blog montage to save time!):
- Installed RSS Bandit and checked the feed there — it was fine
- Booted up my laptop and tried FeedDemon there — same problem: only old posts
- Deleted the RSS cache in FeedDemon, rebooted, resynchronized — didn’t fix things
- Uninstalled FeedDemon, resynchronized — no joy!
- Removed my blogs folder from synchronizing with NewsGator – refreshed the feeds: BINGO!
- At the same time I checked it on my laptop (which was still synchronized) and the new posts suddenly appeared. I checked the clock and it had just passed the hour.
Things were becoming a little clearer.
What I thought happened
My conceptual model of how FeedDemon works in synchronize-with-NewsGator mode was this: I thought that FeedDemon simply sent NewsGator a list of all the feeds that I’m subscribed to and then downloaded the various posts itself.
I regarded the online version as essentially a master list of all my subscribed RSS feeds, which I could access from the three PCs I regularly work from.
I thought that when I started FeedDemon it check its own list of feeds against those on the master list, update the list as appropriate and then allow FeedDemon to visit each of my 100+ subscribed-to websites and download the latest posts.
That’s what FeedDemon does in standalone mode: it downloads the feeds as-and-when, either on a predetermined schedule or manually when prompted.
As a diagram it might look something like this:
My PC is in the middle, synchronizing the list of feeds with NewsGator on the left, and then on the right pulling in the feeds from my subscribed sites.
What I now think what happens
But based on my tinkerings last night it would appear that not only does FeedDemon simply synchronize the list with NewsGator it also pulls in the latest feeds from there too.
It would appear that NewsGator only updates its feeds at a predetermined interval (e.g. once each hour) — which is fair enough for a shared, online service — and it is based on that last automated check which posts FeedDemon actually pulls in, using NewsGator as a proxy.
So, for example, if NewsGator checks for new posts at 10:00 pm, and someone publishes a new blog post at 10:05 pm NewsGator will not pull that in until after 11:00 pm.
In diagram form it might look like this:
My PC on the left connects to NewsGator’s server and pulls in the posts that it has already downloaded on its last scheduled check.
That would explain why updating the feed to my blog didn’t pull in the latest posts: all I was asking FeedDemon to do was to reconnect with NewsGator’s servers and check whether it had pulled in anything new. I wasn’t actually checking that feed itself.
For the most part, unless it’s a frequently-changing website (such as BBC News) I guess most folks won’t need an RSS feed reader that checks any more often than once every hour. So in that sense I can understand why the synchronization-mode has been setup like that
It also saves the NewsGator server having to work unnecessarily hard pulling in data that is only going to be accessed intermittently. That’s the compromise that has to be made, I guess, in offering an online synchronized service like this: you can have synchronized feeds but at the cost of them being at most 59 minutes out of date.
However, there seems to be no way to either manually update NewsGator’s list (by logging into your account and requesting a manual update) or change how often it checks for new posts.
I just wish that this had all been made clear: when you change from the standalone mode to synchronized mode you’re now accessing your feeds via the NewsGator proxy rather than the live feeds themselves.
(Diagrams produced in Microsoft Visio 2003.)