Pippins Plugins
  • Email
  • Facebook
  • Feedburner
  • Github
  • Google
  • Twitter
  • Vimeo
  • Youtube
  • Rss
  • About
  • News
  • Join the Site
    • Member Benefits
    • Member Plugins
    • Email Notifications
  • Plugin Store
    • Affiliate Area
    • Checkout
  • Plugins
    • Plugin Portfolio
      • Plugin Portfolio – List View
    • Free
    • Premium
    • Member Plugins
    • Coding Standards
    • Get Plugin Support
  • Tutorials
    • Series
      • Plugin Development 101
      • Creating a User Follow System Plugin
      • Customizing Restrict Content Pro
      • Displaying Content with Easy Content Types
      • Writing Your First WordPress Plugins, Basic to Advanced
      • Working with Widgets
      • User Submitted Image Galleries
      • Plugin Thoughts
      • Integrating Stripe.com with WordPress
      • WordPress Rewrite API
    • Member Exclusive
      • Free Members
      • Subscriber Only
    • Difficulty
      • Beginner
      • Intermediate
      • Advanced
    • Action and Filter Hooks
    • Ajax
    • Custom Post Types
    • External APIs
    • Short Codes
    • Taxonomies
    • Video Tutorials
    • Widget Tutorials
    • WordPress Admin / Dashboard
    • Working with jQuery
    • WordPress Database
    • Writing Plugins
    • Tag Index
  • Reviews
  • Support Forum
  • Contact
    • Support the Site
    • Request Code Review
    • Plugin Support

Why I Love Plugins

Posted on November 15, 2012 by Pippin in Thoughts 29 Comments
Home» Thoughts » Why I Love Plugins
Tweet
Love It - 0

If you hadn’t guessed it already, I really, really love WordPress plugins. I love writing them, using them, reviewing them, and everything else involved with plugins. There is just something about them that really excites me; I always love writing new plugins. I’d like to explore a few of the reasons why I have so much passion for plugins.

The very first time I wrote a plugin, which was the first iteration of Font Uploader, I felt as though I was high on some really powerful drug. When I activated my first plugin and realized it worked, it was practically euphoria. I remember almost literally jumping out of my chair in excitement. It was amazing!

My development skills and understanding of how the plugin system works has grown tremendously since my first plugin, but I still get a deep sense of satisfaction every time I activate a new plugin, even the simple ones.

Over the last three years—the time frame that I’ve been building plugins—I’ve come to a realization: there is no limit to the kinds of plugins that can be built or the types of tasks you can achieve with plugins.

Some people will disagree with me, but in my mind there is a definite limit to the variations you can use to build themes. Every theme (or nearly) starts with the essentials:

  • blog page
  • archives
  • single post / page views
  • comments
  • menus
  • header
  • footer

The exact layout and appearance of these elements can change of course, but these elements will always be used in much the same way (with a few exceptions), which means that nearly every theme shares a large percentage of what makes it up with all other themes. This isn’t to say that the designs of the themes aren’t unique, but what the theme accomplishes in terms of functionality is not unique at all. Due to this, there is a defined limit to the different themes you can build, at least until you start repeating yourself.

Note: I’m purposely leaving app themes out of this discussion.

Plugins do not have this limitation, not even remotely. There is no limit whatsoever on the kinds of plugins that one can build (except for limits imposed by the WordPress platform). A plugin can do anything, anything at all.

I believe the fact that there are over 30,000 plugins in the WordPress.org repository is testament to this nature that plugins possess.

Why do I bring up this limitation of themes and this lack of limitation with plugins? It’s because of passion.

Creative people (and all others) get tired of repetition. If you are in the theme industry, I highly suspect that you have noticed a sense of repetition. It could be in your own work or in the work of your peers.

I see repetition in the plugin world every day: ever noticed how many social plugins there are?

Both industries have repetition, but it is much easier to avoid when writing plugins, simply because there isn’t an inherent limit on plugins.

Not only can plugins be built for just about every task under the sun, plugins can be written for other plugins that already do something. Today, for example, I wrote a plugin to extend the bbPress plugin. Plugins within plugins!

I’ve written a lot of plugins. Several of the plugins are very large and require nearly constant maintenance; when you (at least for me) work on the same plugin for a long time, you eventually get really tired of it, no matter how much you love the code or idea behind it.

By writing small one-off plugins every week or so, I keep myself from getting burned out by working on the same project for days, weeks, even years. I don’t quit the large plugins, I just take short breaks from them.

Jason Schuller put this really well in his recent article:

Maintain what you’ve created while it makes sense, but create things you are passionate about in order to grow and be happy.

Having an infinite number of possibilities for small one-off plugins makes me really, really happy. I was on the train to Chicago today (still am at the time of writing this), and I was able to whip up a quick add-on plugin for bbPress that lets users mark their replies as private so that only themselves and admins can see the reply content.

I love plugins because there are no restraints on what a plugin must do. A plugin could be 3 lines of code or 300,000 lines of code. The only requirement (and yes, I mean the only requirement) for a plugin is that it have the header comments that makes WordPress recognize it as a plugin.

After having written 100+ plugins, I still don’t feel as though I’m even close to running out of possible plugins to write. Even with 30,000+ free plugins available, there are always more options.

It’s awesome.

Tweet Follow @pippinsplugins

29 comments on “Why I Love Plugins”

  1. Jerry says:
    November 15, 2012 at 1:35 pm

    Awesome post. Where did you learn your development skills? Any specific websites or tutorials?

    How often are you coding to strengthen your skills?

    Reply
    • Pippin says:
      November 15, 2012 at 3:46 pm

      I taught myself mostly but learned by example many, many times. Follow other developers, look at their work, figure out how what they’ve done works, and spend as much time on it as possible :)

      I spend 5-6 hours per day in code.

    • Jerry says:
      November 15, 2012 at 4:00 pm

      Awesome, thanks for the response.

      Looks like you’ll have a new member tonight. I can’t wait to dive in to your tutorials.

      Thanks,

      Jerry

    • Pippin says:
      November 15, 2012 at 7:20 pm

      Glad to have you!

    • jerry says:
      November 17, 2012 at 6:45 pm

      Is your member pricing per month?

  2. Maor Chasen says:
    November 15, 2012 at 2:16 pm

    A brilliant write up, Pippin! Cannot agree more!

    Reply
  3. Bob Huber says:
    November 15, 2012 at 5:36 pm

    I have been wanting to learn about plugin development for some time. As a programmer and wordpress user, it seems like a no-brainer, but I’ve just never taken the time to learn the ropes. I think you have just convinced me to stop procrastinating and get in on the fun. Thank you for this post.

    Reply
    • Pippin says:
      November 15, 2012 at 7:29 pm

      Great! Glad to help :)

  4. Shahzad Saeed says:
    November 16, 2012 at 1:20 am

    100+ plugins! That’s really great.
    Best wishes!!

    Reply
  5. Tom McFarlin says:
    November 16, 2012 at 6:41 am

    I’m personally partial to plugins myself. My team at 8BIT and I used to maintain five themes and we sold off all but one – now, we focus exclusively on it and we’re not interested in doing anything more than that in the short term.

    It’s allowed to to narrowly focus our efforts on a single product. I’m not knocking theme shops, but that’s the route we’ve opted not to take, and we’ve still had success. We’ve partnered with Automattic and continue to sale Standard each month.

    Personally, I’m a fan of building plugins. I don’t have a single theme to my [individual] name, but I have a handful of plugins some of which I’ve even retired. In fact, a portion of the contracts that I accept are for building plugins rather than themes.

    All that to say that the theme market is lively and there are different ways to have success with it, but plugins are one of those things that the larger market are just beginning to understand and it’s pretty exciting.

    Reply
    • Pippin says:
      November 16, 2012 at 9:38 am

      You make a good point about focus. I’m discovering that after releasing a lot of plugins, with many of them being commercial, my focus has really spread out. That’s why I’m trying to narrow my focus back in by just working on Easy Digital Downloads (and small one-off plugins).

    • Tom McFarlin says:
      November 16, 2012 at 9:56 am

      It’s tough, though, right?

      It’s a challenge because there are so many opportunities to create small one-offs or even slightly larger projects that solve a problem well (or better than a competitor is doing), but it comes at the cost of focus which, in turn, is a factor time and other work.

      I have to constantly remind myself to question the things I’m working on to make sure they’re contributing to the bottom line of some sort and that I’m not simply making something for the sake of making it.

      Not that there’s nothing wrong with that, but that’s a whole other conversation.

    • Pippin says:
      November 16, 2012 at 10:10 am

      It really is tough.

      Determining whether to make something just to make it or to make it because it solves a problem (even a minor) one can be really hard. I mentioned in the post that I wrote a Private Replies plugin for bbPress while on the train yesterday. In one way I wrote it just to write it, but I also wrote it because I personally needed it on my support forums.

      FInding the balance is really important.

  6. corsonr says:
    November 16, 2012 at 9:11 am

    I fully agree.

    Writing plugins, as you write, can be really excited. I’m always impressed when i see that i can add a functionality to WordPress.

    For example, one day, in my city, there was a fire in a house, in town. 4 people were dead, 3 children. As the children were in the same school my daughter goes, i wanted to “give a hand” to the mother stayed alone with her latest baby, because she had lost everything. This day i created a donation plugin to help raise money for her and created a small website.

    And this day i really realized how WordPress could be used in many different ways, sometimes just to make really simple things, and sometimes to make part of life.

    Reply
    • Pippin says:
      November 16, 2012 at 9:40 am

      That’s a great example (and horribly sad story) of small plugins can be created in a short period of time yet still help to fill a feature gap.

  7. Terry Sutton says:
    November 16, 2012 at 10:36 am

    First, great post. I’d never really thought about the ‘infiniteness’ of plugins.
    Second, you’re really great at this. It’s really cool that you’re willing and able to share what you know
    Third, I, for one, would pay to have you go through a Plugins 101 course — similar to what Chris Coyier is up to over here: http://css-tricks.com/lodge/

    Keep up the fantastic work. It’s really helpful and useful.

    Terry

    Reply
    • Pippin says:
      November 16, 2012 at 11:05 am

      Thanks for the kind words!

      I’ve done one series on your first plugin, but I would love to do another.

    • rhuber says:
      November 16, 2012 at 11:31 am

      I agree with Terry Sutton. There are a lot of resources out there, but it all feels so fragmented when attempting to pull it all together. With your expertise, ability to teach, and tremendous enthusiasm for what you do… I would pay just about any premium for an in-depth class from you.

    • Pippin says:
      November 16, 2012 at 12:56 pm

      Great, I will try and put a course together :)

  8. Damian says:
    November 16, 2012 at 11:24 am

    As always, great post Pippin. I’m glad I came here after seeing your tweet.
    Keep sharing your thoughts. :)

    Damo

    Reply
  9. Adrien says:
    November 17, 2012 at 5:38 pm

    Pippin,

    My goodness!! You are VERY PASSIONATE about plugins…and that’s awesome! You have inspired me to take a deeper look into the world of plugins…i’ve been procrastinating because it seems very intimidating to say the least. But the best way to eat an elephant is “one bite at a time!”

    Thanks again…keep up the good work!

    Adrien

    Reply
  10. AJ Clarke says:
    November 19, 2012 at 3:03 am

    Next step…write a plugin that can write plugins ;)

    Reply
    • Pippin says:
      November 19, 2012 at 7:35 am

      Like Pluginception you mean :D

  11. Adrien Nash says:
    November 19, 2012 at 7:41 am

    Pippin,

    How do you handle the updating of each plugin? Do you ever get tired of having to update the plugins after you sell them? How do you deal with that aspect? Is it a ‘Love Hate Relationship?’

    Reply
    • Pippin says:
      November 20, 2012 at 8:37 pm

      I definitely get tired of plugins after they have been out for a while. Usually what happens is I stop updating the plugins with new features and just do security / bug fixes as they are needed.

    • JeffM says:
      November 22, 2012 at 2:06 pm

      What I’ve learned is that the trick to mitigate plugin update pain is to implement the extensible architecture of WordPress in your own plugin. Make your plugin pluggable.
      In short, use apply_filters() calls at key points in your plugin’s flow (you’ll know where they are). In your readme.txt file, properly document the hooks you expose.
      It’s not perfect, but it can buy you some serious time…

    • Pippin says:
      November 22, 2012 at 7:03 pm

      That is very, very true. By providing actions and filters, you make it much easier for other plugins / themes to modify the behavior. This is especially useful when there is a conflict.

  12. Dawson says:
    November 21, 2012 at 12:51 am

    I’m using a couple of plugins you wrote and I totally like them. Thanks Pippin for contributing to the mighty WordPress community!

    Reply
    • Pippin says:
      November 22, 2012 at 7:03 pm

      Glad to hear you’re happy with them :)

Leave a Reply Cancel reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  • Login

Lost your password?

Please enter your username or e-mail address. You will receive a new password via e-mail.

  • Facebook Become a Fan Like

  • Twitter Subscribe on Twitter Follow

  • YouTube Follow my Videos Subscribe

  • RSS Feed Subscribe with RSS Subscribe

Easy Digital Downloads

Most Loved

  • Love It Pro for WordPress
  • Write a “Love It” Plugin with Ajax to Let Users Love Their Favorite Posts / Pages
  • Simple Notices Pro Plugin for WordPress
  • User Bookmarks for WordPress
  • Front End Registration and Login Forms Plugin

Similar Plugins and Posts

Latest Premium Content

  • Plugin Development 101 – Introduction to Adding Dashboard Menus
  • Plugin Development 101 – Intro to Loading Scripts and Styles
  • User Follow System – Part 5
  • Plugin Development 101 – Intro to Short Codes

Latest Tutorials

  • Storing Session Data in WordPress without $_SESSION (19)

    The term Session in web development refers to...

  • Test Your Plugins with RTL (1)

    Right-To-Left languages are those that...

  • Submitting Your First Pull Request to a WordPress Plugin on Github (5)

    Github is an extremely popular tool for managing WordPress plugins, and one...

Enter your email to receive automated updates when new posts are published

WP Core Contributions

  • [24316]

View the ticket on Trac.

WP Codex Contributions

  • Function: shortcode exists
  • Function: has shortcode
  • Function: shortcode exists
  • Function: shortcode exists
  • Function: has shortcode

View all 41 changes in the Codex.

Latest Tweets

  • Could not fetch Twitter RSS feed.

Topics

contextual help featured Tom McFarlin shortcodes meta box get_user_meta register_setting add_options_page attachments campaign monitor hook Sugar Event Calendar wp_enqueue_script forms short codes plugin Related posts login do_action authors mail chimp attachment image recent posts post types apply_filters comments short code bbpress taxonomies custom post type Ajax images gallery Stripe taxonomy jquery widgets users add_filter easy content types add_action widget restrict content pro easy digital downloads

Weekly Newsletter

Useful Links

  • Join the Site
  • Plugin Store
  • Affiliate Area
  • Tag Index
  • Support the Site
  • Suggest a Tutorial
  • Random Post
  • Contact

Monthly Archives

(c) 2013 Pippin's Plugins