Doing Things Wrong

Feature Creep

From Wikipedia:

"Feature creep is the excessive ongoing expansion or addition of new features in a product, especially in computer software, video games and consumer and business electronics. These extra features go beyond the basic function of the product and can result in software bloat and over-complication, rather than simple design."

That's exactly what has happened to my WordPress theme. What started out so simple that I named it "Simple" is now anything but simple. In the year since I started on it, it has grown into a monster. The main reason for that is that I dislike WordPress plugins. Rather than use or write a plugin for some feature, I prefer to bake it into the theme. ( A WordPress theme is really just a special type of plugin anyway. )

There are several advantages to doing this:

  • All features can be controlled from a single Dashboard
  • You don't have to worry about dependencies between features
  • You can't accidentally turn off a feature by accidentally disabling a plugin
  • You'll know right away if two features conflict with each other
  • Your back-end code can be much more efficient

For example, I store all the options for the site in a single entry, rather multiple entries, or (gasp!) each one in its own entry. This eliminates many database calls - a single query at the start, and I have everything I need.

However, it is still simple to use. Once the code is written, everything happens automatically. The automatic tree-structured page navigation menus are the centerpiece - they allow WordPress to scale from a blogging system where pages and menus are an afterthought, to a full Content Management System. I don't think there is anything else like it in the WordPress world.

There are so many other features that I could hardly even list them all.


I cut these five blanks on my fretboard jig a long time ago. Now I finally want one, so I pulled one out at random, and it turned out to be the worst of the batch. By worst, I mean it was thin in the middle and thick at the ends, probably because it is not perfectly flat and and sat on the jig with a slight bow that I didn't notice.

Printed from luthierylabs.com