I am a WordPress developer.
There, I said it. That is about the most controversial statement I can make among some of my developer friends and followers. It is the truth though. I spend 90% of my workday working specifically on WordPress with the rest dedicated to answering questions on Skype. So there it is. Love it, hate it, or feel a little of both toward it when something just won’t f$%*ing work. It doesn’t matter. I am a WordPress developer.
The first step is admittance. Based on the last few WordCamp Conferences I’ve attended that makes the second step contributing. So here I am writing an article on writing my first WordPress plugin for the WordPress.org Plugin Directory*.
Coming up with an Idea
There’s a couple things I considered when deciding what to make for my first plugin. There were 3 key components I wanted to go for:
- Ease of creation – I wanted to create something I could build fast. Something that wasn’t going to be overly complicated so I could get it out the door and onto WordPress.org as quick as possible. I should note during this I was reading Dan Norris’s The 7 Day Startup.
- Useful to others – I didn’t want to create something that was useless to end users. I wanted to create something that people could actually use to easily enhance their users’ experience on their WordPress site.
- Room for growth – I wanted to create something that I could expand on in the future. Something that allowed me to learn new techniques for plugin development and expand my skill-set in general.
What I came up with was a plugin to easily insert an estimated reading time into your WordPress posts. This plugin easily fit my 3 criteria.
Ease of Creation
I had already implemented this feature on my blog. This one you’re reading right now**. I already had done the research into a reading time, going with the average adult speed from this Forbes article. I had already created a function to run the math. I decided on the name Reading Time WP. Now all I had left to do was turn this thing into a plugin.
Useful to others
I still needed this to be useful to other people to give them some reason to download it. While it worked on my site, that may not be how someone else wants to use the information. I know a bit more about development than most. So I want to be able to insert my reading time within my theme, but also create a way for someone to insert the reading time without editing code. Which is why I created both a shortcode and the option to automatically insert it before “the_content”.
The problem then becomes that I could go on all day adding features. In order to avoid this I decided to focus on my Minimum Viable Product. Another concept I gathered from The 7 Day Startup***. The idea behind the MVP concept is to create a product quick that has enough features to be useful to your user. Using this idea I came up with the base features I wanted my plugin to have, which turned the project from a daunting task into a doable one.
Room for growth
The best thing about the MVP method is I already have a list of features I can use to expand on my plugin, and the plugin is out there in the wild with real users. Users that will hopefully provide me with feedback I can use to increase the usability of my plugin. Had I not gone with the MVP method I probably would still be working on tweaking and adjusting new features, pushing off the release longer and longer. But instead it is out there. Go download it and let me know what you think of Reading Time WP, and most of all, how I can improve it.
In the coming weeks I’ll detail my development process on the plugin all the way into my recent first update of the plugin where I switched to an OOP based development method.
*I’ve written some plugins for past projects, but nothing to release to the public.
**Unless some jerk stole my content. So if it doesn’t have a reading time up there, quit giving that jerk traffic.