9 Comments

  1. I couldn’t agree more. With the latest plugins I’ve been working on, I’ve made it a point to add filters and hooks, not options. If a developer wants to add additional features to my published plugins, the extensibility is built in. For end users, it they think a feature is missing or an option could be expanded, they can always submit a feature request via the plugin page. But if it doesn’t jive with the intention of the plugin, it probably won’t be added.

    Case in point, in researching my latest plugin, a widget, I noticed a lot of other similar widgets had a lot of (in my opinion) unnecessary features that ended up cluttering the UI. Additionally, that added functionality like shortcodes, and settings pages. A widget is a widget is a widget. They’re meant to be lightweight supplemental content blocks to your main site. If you need a separate settings page, you’re probably building it wrong. Or offering *way* too much.

    In any case, great post!

    1. Thanks Darin! I agree, widget settings should be in the widget itself. But I’ll give you one exception. Our own Google Places Widget requires an API key. It’s silly to have to put an API key directly in widget settings because you’d have to look it up each time, so our Google Places widget also has a settings page. But all the display preferences are built into the widget very similarly to your Advanced Posts Widget.

      Thanks for reading!

      1. I have an upcoming update that will rely on settings to be set for a widget, but it’s only one or two fields. I’m probably going to roll it into one of the pre-existing settings pages in the admin, instead of building its own separate page.

  2. I couldn’t agree more with you.

    Exactly the reason I cringe when I install a plugin with gazillions of settings to configure. So overwhelming and I often time just deleting the plugin.

    Great post Matt.

    1. Even plugins that NEED a gazillion settings (like WooCommerce) can still have a singular purpose. Having a singular purpose allows all of the gazillion of settings to have proper context so they are easy to navigate and make sense of. I’m not anti-settings, and at the same time I do believe in “Decisions not Options”. But it all makes sense when the singular purpose is clear and concise. Thanks for reading and chiming in Collins!

    1. Nice! The more we get the word out the better the whole WP ecosystem will be. Hope to catch that on wordpress.tv.

  3. “Its single purpose might require a lot more features than others.”
    You described the difference between single feature vs single purpose very well. The distinction can be confusing.

    1. I often hear people say “This has too many settings” — sometimes that’s necessary. Or “this plugin is so bloated” when really they just don’t use all the features because they are a lite user. Many features doesn’t automatically mean a plugin lost scope — do you know ALL the things you can do with Yoast SEO for example!? Still… I’ve seen very simple plugins exceed their scope with feature creep. It’s a tough balance, but keeping laser-focused on the core purpose is primary. Thanks for reading!

Leave a Reply

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