September 11, 2020
Feature Creep
September 11, 2020
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.