THE WORDPRESS NEWS CORE
FEATURING WORDPRESS COMMUNITY EXPERTS AND THE WP DAILY ARCHIVES

Twenty Thirteen Not Backwards Compatible?

The other day I wrote an article about the upcoming release of WordPress 3.6 beta, which I’m pretty excited about. Among the various topics covered was the release of Twenty Thirteen.

Well today I’d like to dive deeper into that release and ask some questions about the philosophy of not allowing backwards compatibility.

On March 19th a Twenty Thirteen update was posted to the make.wordpress blog, saying:

Tracked in #23819 — since Twenty Thirteen is 3.6+ only, older installs could see errors. We’d like to come up with a graceful way to not allow older versions of WordPress to install and run Twenty Thirteen.

Maybe a nag function in the theme that puts up a warning? Forcing a change [to] the previously activated theme upon activation? What are your thoughts?

Here is what #23819 says concerning the backwards compatibility of Twenty Thirteen:

Twenty Thirteen is meant to be not backwards compatible. Since we incorporate a lot of new functions and rely on markup changes that are introduced in 3.6, it really doesn’t make sense to fail gracefully in a “slimmed down” version of the theme.

While we probably get some code in place on the .org side to prevent Twenty Thirteen from being downloaded through the WordPress admin, nothing prevents people from downloading it from the theme repository and upload it to their site through the zip installer.

We should be prepared to handle that in a better way than just failing with fatal errors.

With the number people working on getting Twenty Thirteen ready for release, I don’t see it failing, but I do wonder a bit about the thought process behind not making it backwards compatible.

I categorically disagree that offering a slimmed down version of Twenty Thirteen is “failing gracefully”. I see nothing wrong with making a slimmed down version for 3.5 or 3.4, if people choose to still use those versions.  The point of any upgrade to a product is that the new version should be undeniably better.

If 3.6 and/or Twenty Thirteen isn’t compelling enough to cause everyone to upgrade, that falls on WordPress, not the people who choose not to upgrade.  Why prevent the people access to the new theme simply because they choose not to upgrade?

And if 3.6 really is that big of a change, so as to cause a lack of backwards compatibility, why 3.6 and not 4.0?  Wouldn’t such a distinction more effectively communicate the nature of the changes made? I realize this may be an over-exaggeration, but hopefully you see my point:  such jumps in compatibility shouldn’t be made in the middle of a product run.  Why do this now?  Why not wait until 4.0 to make these compatibility changes?

I know the people that make WordPress as awesome as it is work unbelievably hard. But I would like to see them admit the truth, that it’s simply easier not to offer a slimmed down version of Twenty Thirteen, instead of saying that such an offering would be “failing gracefully”.

After saying all of this I feel like I need to restate that I am excited for 3.6 and I think Twenty Thirteen has potential to be a pretty cool theme.  I’m not down on either of them, I just think the backwards compatibility issue could and should be handeld better.

I think this and the lack of editorial flow in 3.6 are prime examples of time dictating a release and not content. I’d have no problem waiting longer for 3.6 if it included these two features. In fact I’d be happy to wait longer.

  • http://themeshaper.com/ Ian Stewart

    And if 3.6 really is that big of a change, so as to cause a lack of backwards compatibility, why 3.6 and not 4.0? Wouldn’t such a distinction more effectively communicate the nature of the changes made?

    Every release of WordPress is a major release, not just the dot oh releases. You can read more about the philosophy behind the schedule of releases on the … WordPress philosophy page!

    We aspire to release three major versions a year because through trial and error we’ve found that to be a good balance between getting cool stuff in each release and but not too much that we end up breaking more than we add.

  • matt

    I see no problem with it not being backwards compatible. It is being designed to take advantage of new features I suppose and won’t work without those. No big deal. If you don’t want to upgrade WP, there are certainly plenty of great themes that work with the older versions. I can’t imagine anyone “needing” twentythirteen who can’t upgrade wp.

  • David

    I appreciate the decision not to be backwards compatible. Not simply for the fact that the subset of users who want to use this theme without upgrading would be so small as to be a large output of time for little gains. These kinds of decisions also underscore the need to perform these upgrades for all of the improvements that they offer. Updated versions of WordPress not only give more features and security, but also offer improved methods for theme and plugin developers as well as all users to make use of this system. Choosing to run something as broken would seem like a disservice to the community.

  • http://churchthemes.com Steven Gliebe

    I don’t see any reason to encourage users to keep running WordPress installs that are two versions out of date. Nearly all of the hacked WordPress sites I see are running outdated versions of WordPress.

  • Cam McVey

    Would you make the same argument for a theme developed by a third party? Or a plugin?

    To me, the very purpose of the ‘default’ theme is to demonstrate best practice and to demonstrate new features. Stripping the new features out is a backwards move.

  • http://www.chipbennett.net Chip Bennett

    I categorically disagree that offering a slimmed down version of Twenty Thirteen is “failing gracefully”. I see nothing wrong with making a slimmed down version for 3.5 or 3.4, if people choose to still use those versions.

    The changes between WordPress 3.5 and 3.6 don’t generally involve much new front-end functionality; rather, the incompatibilities come largely from function deprecation and API changes made in earlier versions.

    Thus, the concept of making a “slimmed down” version of the Theme that would be backward-compatible is a misnomer – and in fact is quite opposite, since adding in backward-compatibility would add code bloat, rather than functional “slimming”.

    The point of any upgrade to a product is that the new version should be undeniably better.

    If 3.6 and/or Twenty Thirteen isn’t compelling enough to cause everyone to upgrade, that falls on WordPress, not the people who choose not to upgrade.

    Twenty Twelve is not an update to Twenty Twelve. Twenty Twelve is not an update to Twenty Eleven. Twenty Eleven is not an update to Twenty Ten. Each of these Themes is unique and distinct, and each one is maintained separately.

    One updates WordPress core to gain the improvements in WordPress core from one version to the next. Not updating WordPress core because one fails to see significant enough improvement from Twenty Twelve to Twenty Thirteen is incredibly foolish.

    Why prevent the people access to the new theme simply because they choose not to upgrade?

    Because any effort to facilitate users not to update WordPress core from version to version is foolish, dangerous, and counter-productive. Most of the FUD that exists regarding WordPress security exists solely because there are obsolete/non-updated versions of WordPress being used in the wild.

    WordPress core should do everything in its power to encourage and facilitate people to update early and often.

    And if 3.6 really is that big of a change, so as to cause a lack of backwards compatibility, why 3.6 and not 4.0? Wouldn’t such a distinction more effectively communicate the nature of the changes made?

    That’s not how the WordPress versioning schema works. In the WordPress project, major versions are X.Y, and bugfix releases are X.Y.Z. The concept of WordPress version X (X.0) versus version Y (Y.0) is meaningless.

    WordPress version 3.0 was no more or less major of an update than WordPress version 2.9 or WordPress version 3.1. WordPress 4.0 will be no more and no less-major of an update than 3.5, 3.6 ,3.7, 3.8, 3.9, or 4.1.

    I realize this may be an over-exaggeration, but hopefully you see my point: such jumps in compatibility shouldn’t be made in the middle of a product run. Why do this now? Why not wait until 4.0 to make these compatibility changes?

    Yes, I think it’s an over-exaggeration. This isn’t a “compatibility change”. Twenty Twelve, Twenty Eleven (still bundled with WordPress core) will continue to work with the versions they have always worked with.

    Twenty Thirteen is a new Theme, released with a new major version of WordPress.

    But I would like to see them admit the truth, that it’s simply easier not to offer a slimmed down version of Twenty Thirteen, instead of saying that such an offering would be “failing gracefully”.

    Yes: not adding (and maintaining) code bloat is easier. That’s rather axiomatic, and generally goes without saying.

    I think this and the lack of editorial flow in 3.6 are prime examples of time dictating a release and not content. I’d have no problem waiting longer for 3.6 if it included these two features. In fact I’d be happy to wait longer.

    Not making Twenty Thirteen backward-compatible is a design decision, and one that I’m fairly certain was made as a design decision, and not due to a time crunch.

  • http://www.cambrennan.com Cam Brennan

    Thanks to you all for the push back on this. It’s good to know that people can disagree respectfully. You have definitely given me some good thoughts to consider.

TOP