Article limit calculation fix

To keep update speeds fast and to avoid using too much space on your iPhone or iPad, the Instapaper app downloads only the most recent 250 articles. (The new 2.2.6 version allows you to raise this to 500 in the Settings pane, but the default setting is still 250.)

The limit is applied on the server side. The app tells the server how many articles it wants, but the server can send back as many as it thinks it should.

Prior to last week, the limit was improperly calculated: articles in folders weren’t being counted. I fixed the bug so that up to 250 articles were downloaded from the Read Later folder, and the other folders were downloaded in order, as long as there were any slots left, until it hit 250.

And then I got a deluge of email.

Some of them noticed that their updates were much faster, not knowing why, and were happy about this change. But most of them were different: “My folders aren’t syncing.” “All of my folders are empty!”

This was an example of well-intentioned engineering – I thought I was fixing a bug – that completely missed the reality of what customers expected. So I’ve changed the behavior to this:

  • Up to 250 articles, or whatever your chosen limit is, from the Read Later folder.
  • At least 10 items from each normal folder, up to the remaining article limit.
  • At most 10 items from each RSS or starred-item folder, as long as the limit has not yet been reached.
  • The 20 most recently Starred items, which do not count toward the limit.
  • The 10 most recently Archived items, which do not count toward the limit.

Therefore, it’s possible, and likely, that the app will download more articles than its limit specifies.

It’s technically incorrect, but it will now behave the way people actually expect and want it to behave. Sometimes, programmers – myself included – need to be reminded that technical correctness is rarely worth enforcing at the expense of user-expectation correctness. I apologize for the momentary lapse in this judgment.

Related Posts