After retiring from SimplePie development in 2009, the project more or less went into maintenance mode. While I am thankful to the folks who have contributed to its development over the last 8 years, it’s time for a reboot.
SimplePie NG is a modern, next-generation PHP package for working with syndication feeds. It is being re-written from the ground-up to take advantage of the changes that have happened in the PHP community since the SimplePie project was started back in 2004.
I’ve spent several years thinking about how I would do things differently if I were to start the project over from scratch — including thinking about all the things we did that turned out to be a terrible idea in retrospect.
The things to avoid next time
Integration with the various social bookmarking services du jour.
Trying to do everything and build everything from scratch.
The things to do better this time around
Embrace the PSRs (logging, caching, HTTP messaging).
Leverage a middleware-based system for adding support for new formats. This will allow people to write custom middleware that is Composer-installable.
Take advantage of the modern features of PHP. Notably, we are focusing on targeting professional-grade software engineers, and building great software.
Focusing on performance, memory usage, specification compliance, feed compatibility, and testing from the very beginning.
Supporting RSS, Atom, and the new JSON Feed out of the box.
Where can I get it?
I’m still in the “big bang” (e.g., iteration zero, proof-of-concept) phase. I’m implementing support for Atom 1.0 first (since it is the best-specified) and leveraging XPath expressions to radically improve parsing performance. As such, I must say…
Highly experimental. Don’t use this.
I’m working on this project outside of work hours, so it will probably be a few months before I tag an alpha release. I want to add the core Atom, RSS, and JSON Feed support before I tag an alpha release.
However, if there are features you want to see, or want to dabble with the code a bit, I encourage you to come check things out in GitHub.