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.


... consistency is the hobgoblin of little minds ...

-- Ralph Waldo Emerson

I re-worked the default WordPress TwentySixteen theme into something far better. Not only is the display much more streamlined and compact, but the code behind it as well. The people who design these things overkill them into an unmanageable mess. Most of what I did was simply deleting miles and miles of repetitive unnecessary css spaghetti code and replacing it with just a few new lines. Most developers seem to think that more code is better. That is so wrong.

Printed from luthierylabs.com