You are here: Documentation » Frequently Asked Questions » What is SimplePie?
This is an old revision of the document!
What is SimplePie?
SimplePie is a code library, written in PHP, intended to make it ridiculously easy for people to manage RSS and Atom feeds.
SimplePie's Goals
Be as fast as possible
Speed is a big focus for us. The longer something takes, the less likely people are to use it – whether it's the developers using the library, or the end-users using the developer's product. The faster it all runs, the better it is for everybody.
We don't claim to be the fastest (although we certainly strive to be), but rather as fast as possible while balancing the needs of the other three goals.
Be as easy to use as possible
Just like with speed, the harder something is to use, the less likely people are to use it. For us this extends not only to the programming API, but also to our website, our documentation, our code samples, our support forums, and every other aspect of this project. We strive to be as user-friendly as possible in every aspect of working with us.
Specifically in terms of the programming API, we've spent a lot of time thinking about the most useful ways to handle blogs, news sites, and podcasts. We've chosen our function and method names very carefully, the order of the parameters very carefully, and made it a point to choose the most intelligent and/or useful defaults so that SimplePie will be “just right” out-of-the-box for 80% of our developers. For the other 20%, we have numerous configuration options available designed to allow you to fine-tune and hack away to your heart's content.
Be as compatible as possible
Just like HTML, the world of RSS and Atom is an imperfect one. If we only handled perfect feeds, we would be completely worthless because we wouldn't be able to handle most of the world's feeds. At the same time, we saw how bad the HTML world got when Microsoft Internet Explorer began accepting anything that even remotely resembled HTML – no matter how horrible or incorrect it was. We don't want to repeat Microsoft's mistake, but at the same time, we can't expect perfection from feeds.
There's also a common misunderstanding among those who build tools for RSS: If a feed is imperfect and we throw an error without even trying, we're not punishing the feed publisher (like we want to)… we're punishing the person who just wants to read their favorite blog posts or news items. Why do we insist on punishing these people?
So what do we do? SimplePie makes a reasonable effort to correct imperfections in the feed while processing it. If it's too broken, we have no choice but to fail it. But if we can put forth reasonable effort and have it work, then why wouldn't we? The only time when this is an issue is when it's a matter of compatibility vs. standards compliance. Read on.
Be as standards compliant as possible
Much time has been spent on reading specification documents and writing unit tests to ensure that we live up to the goals that the standards bodies have set for us. Whether it's any of the 8 or so versions of RSS, or the two major versions of Atom, RFC 822, ISO 8601, RFC 3023, , we're focused on delivering the most standards-compliant feed-related software available.
See Also
faq/what_is_simplepie.1199390331.txt.gz · Last modified: 2011/03/06 03:56 (external edit)