Skip to content

WordPress Theme Framework: Less Is More – Or Is It?

I have a conundrum. I want to improve Elemental – my WordPress theme framework. I want to make it lean and fast; but this will involve removing functionality. This in turn means that when people upgrade their themes things may break.

And I don’t know what to do?

Examples

I want to remove options and features and make better use of WordPress built-in functionality. For example:

  • HTML5: I want to move to HTML 5 for the theme. I’m in the process of making it responsive, and HTML5 is the next logical step – however this will break child themes. Obviously I will update my own themes, but for users customisations they will need to at the minimum update their css
  • Custom Navigation: I want to remove my legacy navigation code and replace it with the WordPress menu code. The current theme let’s you chose between pages, categories, or a custom menu – however the user interface is a little confusing and going more standard will make better use of the way WordPress works
  • Custom Header: Currently there are a series of options for custom header settings. I plan to continue using the same system, but with reduced options, again for simplicity. It will make the settings easier to understand for all users.
  • SEO: I plan to remove the SEO settings. There are plugins out there that do a better job at SEO than I can, so I would rather people use them instead

The problem

Simplifying things in this way will reduce the code in Elemental considerably and will simplify the admin interface making the theme easier to setup. The problem I have is that it will change existing users websites – so how far should I go in terms of making sure sites continue to work? For new users it will be better – but I am concerned about breaking things for existing users and so would love to hear from other WordPress theme developers about how they would approach this?

At the moment I am tending to think I should bite the bullet and just make the changes. In the long-term it would definitely be for the better – but I don’t like the idea of having users update their sites and then seeing things stop working the way they used to.

Do you use Elemental or another theme framework? Are you a framework developer? How would you approach this or what would you like to see a developer do in this situation?

Share

13 Comments »

  1. I don’t know if your framework prompts for automatic updates, but I would probably consider disabling that in this case. That way users of the older version would only update if they had a particual reason to or if they knew none of these issues would affect their site.

  2. You should do it the Apple way and forget about backward compatibility. Continue supporting and releasing bug fixes for v1 for a limited time, but make it clear that if users want the latest and greatest they have to switch to v2. Just my 2 cents :)

    • Hi David – thanks for the feedback. That’s something I have been thinking about as well – but I need to make it clear that if people upgrade, then things will change. Perhaps moving to a version 2 is the way forward – I was considering this an incremental update and hadn’t thought about making it a full blown new release.

  3. I’d go with David’s suggestion too: while it may inconvenience a few users, it’s better to start over and get people to upgrade to a full new version.

    Once people see how awesome your v2 is, they won’t mind the trouble :-)

    • Thanks for the feedback Matt – I think that’s what I have decided to do, I even made a start this weekend and it’s looking so much better already!

      BTW – I like your personal site. Some really good ideas there and it all gels together really nicely.

  4. If this release did break backwards compatibility in any way, it would make more sense to treat it as a major release (v2.0 in this case). And I say go for that! It sounds like it’s what you want to do anyway, and it does offer the most benefit.

    • I was originally imagining this would be a standard point release, but the more I think about it, the more doing a proper upgrade makes sense. Thanks for the thoughts!

  5. Hey, I’m a Genesis Framework user and I love it very much.
    In genesis, the SEO options will be automatically disable when user install a SEO plugin, so that gives them to some options on SEO. Maybe you should do the same thing on Elemental Framework. Instead on remove it entirely, give the user some option should be a good idea.

    • Hi Affan – I agree entirely. I have been thinking similar things and will be including all the essential SEO features – without taking over from plugins like WP SEO (which I plan to recommend instead).

  6. Hi Ben, though I’m not a developer but a long time Elemental user, I’d go for a “Elemental 2″. You may support Elemental in its current version over a defined (shorter) period of time, but bringing the framework to a different level is indeed understandable.
    I think having a framework that combine all aspects of WordPress is great thinking, however there are plugins out there to deliver many of the options required by a user.
    I’d prefer a good flexible, well coded and easy to use framework with second to none child themes. A theme that lets me personalise layout and content, while the framework does the rest for me.

    Elemental 2 or not, I shall revert to your great themes in due course.

  7. I like the idea that you will include automatic updates.

    My own concern is that an Elemental update be compatible with The Local and that the automatic updates smoothly integrate with The Local.

    • Hey Tony – thanks for the feedback. Unfortunately the theme won’t be backwards compatable. There may be an updated version of The Local at some stage but for the time being the current version of elemental will be fine.

      Because of this I won’t stop working on Elemental Classic, and will continue to support and update it with new features and improvements in the future.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

I seem to find myself working with Youtubes thumbnail images quite a lot (for instance on Miniclips videos section) – and I am always having to go searching for the parameters to use to generate those thumbnail images. So I […]