Why we can’t/won’t switch to SimplePie

This was originally to be a list of what was wrong with SimplePie, however the more I thought about it, the more I considered that it probably was a better solution. It’s under constant development, it’s got a few features we currently have our own code for and, best of all, it’s got an IRC chat room, which is always a help.

So, you may ask, what’s the big problem? Well, after having just looked at their blog (and realising they have released a new version), I noticed that they are moving to PHP5 only. This is a big setback in my opinion. My thoughts pretty much mirror those of Matt’s. However, we also need to consider users who can’t (or won’t) upgrade to PHP5, for various reasons. If SimplePie continues to release PHP4 compatible releases, we will most definitely use them in time.

My thoughts on SimplePie have changed somewhat and I’d now personally rather use SimplePie. Why?

  • Active development: I have access to Magpie’s Trac installation and no new updates have been released in a year. This is a major issue for me, as we want to keep this up-to-date so that we can parse everything possible. SimplePie is under active development so this would ensure that we are always up-to-date.
  • MySQL caching: Lilina is going to be using a purely MySQL backend from 2.0 upwards (we’ll start introducing support for it after 1.0), so this is a major one for us.
  • Friendly developers: The developers seem friendly and genuine (nothing against Kellan, but I don’t trust people who work for Yahoo! :P )
  • A bunch of other stuff I’m sure I’ve forgotten

So, the basic status on SimplePie is: we’d like to, but at the moment we can’t, due to it becoming PHP5 only.

This entry was posted in General and tagged , , , . Bookmark the permalink.

Discussion for “Why we can’t/won’t switch to SimplePie”

  1. Hey guys, this is Ryan from the SimplePie project. It’s always good to hear feedback from the community, learn about the problems faced, and then work to find a solution. You had first said “This was originally to be a list of what was wrong with SimplePie…”. I’d still be interested in learning about those problems to see if we can address them in some way. It’s the community that decides SimplePie’s direction, but it falls on the developers to determine the timeline.

    Geoffrey and I had a big discussion about moving to PHP5-only. Being the usability-oriented developer, I didn’t want to leave a bunch of people behind. Being the engineer-oriented developer, Geoffrey was tired of re-implementing PHP5 functions for PHP4, having a codebase more complex than necessary, and other issues. There were three things that made me acquiesce to such a shift. (a) PHP 4.x is being EOL’d anyways, and PHP 5.x has been out for a few years now. (b) There are several solid, reliable web hosts out there with support for PHP 5 that are reasonably priced, or otherwise inexpensive. (c) Parsing RSS is, quite frankly, a bitch. There’s a lot of hacking we’re currently doing to solve some problems in PHP 4 that could be simplified and more efficient under-the-hood if we were pure PHP 5.

    The PHP issue is, of course, something that you and your team need to weigh on your own. We’ve been talking about this move publicly for a year now, and we probably won’t begin to seriously PHP5-purify SimplePie for another 5-6 months or so. We’re reminding and warning people all along the way so that there aren’t any surprises.

    As for MySQL caching, we’ve currently got a stable branch with MySQL support that will become our next release, and will likely (but not definitely) support SQLite as well. Going PHP5 will also allow support for MySQLi and PDO caching mechanisms.

    We certainly try to be friendly… at least, I think we are. :) We’re passionate about this project, and the problems it solves for so many people. We want to continue to work with the community, listen to our users, and build something better than I could have ever imagined.

    Lastly, I too am doing some short-term work for the Y! Messenger team (Kellan works for Flickr). But I’m not an employee, so don’t hold that against me. ;) Anyway, we would love to be able to work with you whenever the circumstances are right, and we’re always listening for feedback — good and bad — so that we can build the best product possible, so please, shoot me a message with your issues and concerns and I’ll see what we can do to address them.

    Thanks! :)

  2. Hey Ryan (nice name BTW ;) ),
    I’ll go through each paragraph:

    Hey guys, this is Ryan from the SimplePie project. It’s always good to hear feedback from the community, learn about the problems faced, and then work to find a solution. You had first said “This was originally to be a list of what was wrong with SimplePie…”. I’d still be interested in learning about those problems to see if we can address them in some way. It’s the community that decides SimplePie’s direction, but it falls on the developers to determine the timeline.

    Yes, I did have that paragraph, but I removed it because it was a bit confusing and I’d actually written it months earlier. My general opinion at the time was that Magpie was good enough, Kellan was starting proper development and that if it ain’t broke, don’t fix it. About this time, I was only really starting web development properly and that was some of the worst code I’ve ever written. However, my opinion has changed somewhat since then. My general opinion at the moment is that, while Magpie ain’t broke, it is missing some crucial features that I’ve had to write kludgy code for. These include the favicons code (which we’re still using from 0.7) and autodiscovery (which is using some funky code I wrote in 5 minutes).

    Geoffrey and I had a big discussion about moving to PHP5-only. Being the usability-oriented developer, I didn’t want to leave a bunch of people behind. Being the engineer-oriented developer, Geoffrey was tired of re-implementing PHP5 functions for PHP4, having a codebase more complex than necessary, and other issues. There were three things that made me acquiesce to such a shift. (a) PHP 4.x is being EOL’d anyways, and PHP 5.x has been out for a few years now. (b) There are several solid, reliable web hosts out there with support for PHP 5 that are reasonably priced, or otherwise inexpensive. (c) Parsing RSS is, quite frankly, a bitch. There’s a lot of hacking we’re currently doing to solve some problems in PHP 4 that could be simplified and more efficient under-the-hood if we were pure PHP 5.

    I definitely have to agree with the last point. I’ve had a go at doing it myself quickly and I gave up trying to get it working on PHP 4. However, we do have quite a few users still using PHP 4 and I don’t want to desert them yet. I’d personally like to switch to PHP 5 only, however I will need to think about it even further. I would like to make 1.0 PHP 4 compatible at the very least, then switch to PHP 5 only at a later date.

    The PHP issue is, of course, something that you and your team need to weigh on your own. We’ve been talking about this move publicly for a year now, and we probably won’t begin to seriously PHP5-purify SimplePie for another 5-6 months or so. We’re reminding and warning people all along the way so that there aren’t any surprises.

    Unfortunately, my team currently consists of me only. I did have some other developers on board, but that never amounted to anything. Knowing that it will last another 5-6 months before PHP 4 is completely dropped on your end is good to know. My major concern was that it would be pretty soon when support for it was dropped. I personally develop everything on PHP 5 and check about once a month if it works with PHP 4. However, I don’t spend any major time checking or debugging it.

    As for MySQL caching, we’ve currently got a stable branch with MySQL support that will become our next release, and will likely (but not definitely) support SQLite as well. Going PHP5 will also allow support for MySQLi and PDO caching mechanisms.

    This is good to know. Just to clarify, do you expect that your next release will be 1.2 or 1.5?

    We certainly try to be friendly… at least, I think we are. :) We’re passionate about this project, and the problems it solves for so many people. We want to continue to work with the community, listen to our users, and build something better than I could have ever imagined.

    From what I’ve seen, you definitely do seem to be. Also, the fact that you responded so quickly is a surprise, seeing as most developers I’ve contacted about pretty much anything had a 1 month wait. :)

    Lastly, I too am doing some short-term work for the Y! Messenger team (Kellan works for Flickr). But I’m not an employee, so don’t hold that against me. ;) Anyway, we would love to be able to work with you whenever the circumstances are right, and we’re always listening for feedback — good and bad — so that we can build the best product possible, so please, shoot me a message with your issues and concerns and I’ll see what we can do to address them.

    Hehe, good to know. Thanks for your comments and I will definitely have a look into them more when I have time. However, I’d expect that I will get SimplePie into trunk and start moving things over slowly soon :)

    Thanks.

Leave a Reply

We support Gravatars and a limited set of (X)HTML tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>