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?
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
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?