I'm currently working on dobrado's Reader module, which I use to follow feeds here on unicyclic.com. The module relies heavily on the SimplePie feed reading library, which is great at parsing feeds but not so great for displaying them. I've decided to use it for it's strengths, which is on the back end and run via cron.
Since the focus of this site is to display multiple feeds sorted reverse-chronologically, I'm optimising for this case by storing feed items in MySQL once they've been read. This removes the dependency on SimplePie when rendering the page, or when loading more items.
The problem with relying on SimplePie for this is that it doesn't really understand multiple feeds. It has to read them all, sort them, and then return the items in the resulting list between the requested indexes. Putting all feed items in MySQL makes them all equal, and allows for more flexible queries. I'm hoping it leads to a performance boost too.
This is the first in a list of improvements I plan to make before focusing on how to indiewebify all the things.
Reader improvements
Since the focus of this site is to display multiple feeds sorted reverse-chronologically, I'm optimising for this case by storing feed items in MySQL once they've been read. This removes the dependency on SimplePie when rendering the page, or when loading more items.
The problem with relying on SimplePie for this is that it doesn't really understand multiple feeds. It has to read them all, sort them, and then return the items in the resulting list between the requested indexes. Putting all feed items in MySQL makes them all equal, and allows for more flexible queries. I'm hoping it leads to a performance boost too.
This is the first in a list of improvements I plan to make before focusing on how to indiewebify all the things.