How To Create A WordPress Plugin: My Journey So Far (Part One)
The email started something like this:
"Hi Richard. What's your thoughts on creating and developing a WordPress plugin? I've seen a great course on plugin and software development, and I'm thinking of taking it".
That initial email came from my blogging buddy David, at Byte Of Data.
First thought: I don't know how to create a WordPress Plugin.
Second thought: This sounds risky.
Third thought: This sounds complicated.
That was back in March. Here we are in August, and David and I are on the verge of releasing our very first plugin, complete with marketing sales page, members area, support and also fully integrated with an affiliate platform.
HOW TO CREATE A WORDPRESS PLUGIN
David and I are bloggers and marketers. We didn't know how to create a WordPress Plugin! We have no prior experience of plugin development. Neither of us are coders, neither of us know any PHP, HTML or CSS beyond the very basics.
Neither of us knew how to approach plugin development. Neither of us knew the costs associated with it. Neither of us knew what to expect and neither of us knew the best course of action to follow to get an idea from paper to a fully functional zip file that a WordPress user could upload to their site.
But hell, that didn't stop us one bit.
Because David and I went ahead and took massive action.
Even though our journey so far has been littered with obstacles (more about those later), I'm immensely proud of that fact. We took massive action and committed ourselves to trying our hand at plugin development. How many people can say that?
STAGE ONE - LEARNING
David and I invested in a course by someone who had actual experience of developing software. This was a crucial stage, because it gave us a good heads up on what to expect and how the development cycle would pan out.
And the real key with the course we took: the instructor had real experience of creating something from scratch. In fact, David actually owned the product that this person had created and released, so it was comforting to know that this was the real deal and that it was someone talking with real experience.
It's fair to say that this course did make our decision on whether or not to go down the route of plugin development easier.
STAGE TWO - TIMELINE & GOALS
The next stage was drafting out a timeline of events.
Again, this was a really valuable exercise and David was instrumental in planning everything out on a timeline, and then assigning each of us different tasks based on our individual strengths.
The timeline has proved crucial because using deadlines - no matter how fluid those deadlines became over the development period - gave us a huge amount of clarity, direction, purpose and focus.
I've been guilty of not setting targets myself when creating online courses. I can tell you from experience that it's no fun whatsoever when a project goes into month 6 and you're no clearer on where you are and what you need to do to complete the project.
STAGE THREE - IDEA GENERATION
After we had a timeframe established, we now had our most important time ahead of us. Generating ideas for a brand new plugin.
Myself and David came up with a small handful of general ideas in the first instance. Some were good, and some not so good.
Once we decided on an idea, we then had to create a small document with outlines the features and benefits of the product. Simple mock ups were designed to show how the plugin may look to the front end user.
STAGE FOUR - FEEDBACK ON IDEAS/OTHER PERSPECTIVES
This was a crucial stage for us. And one that shouldn't be rushed or skipped.
Our initial idea for a plugin was presented to a number of different people, including people we knew really well, and people we didn't know so well.
The simple 2 page document was sent to these people, and they were asked to take a look at the general idea for the plugin and give us feedback.
The feedback we received was extremely valuable. And gave us a lot of insight and the perspective of an 'outsider'.
What you will find when doing something online is that blinkers can be put on and your project becomes your 'baby'. What I mean by that is that you come up with what you think is an awesome idea, and go all in on it. When people then come back and say things you weren't expecting, then your natural defences will kick in.
When we had the feedback, our natural defences did kick in, and we didn't believe or want to believe the feedback.
But after giving it some thought, they were right. Our initial idea, for want of a better word, was total pants!
STAGE FIVE - OVERCOMING THE NEGATIVITY
When people find out you are doing something out of the ordinary, and taking a risk, some of them will try and warn you off. Myself and David had a few people come back who basically said we could not succeed with plugin creation.
Whether it was a little jealousy that we were doing something they were not, or whether they were genuinely worried about the risks involved for us, we don't know. All we do know is that we stuck our fingers in our ears, Jim Carey style, and decided to go ahead with taking massive action.
Time will tell if it was a dumb & dumber decision to let the warnings ride over us, but what I do know is that business and life in general is full of these types of people. When I first wrote and released my very first eBook, people said to me that you will never make money from an eBook and that I was wasting my time.
1,100 customers and $20k+ banked later, and I can tell them that they were wrong.
Sometimes, you just have to take a risk in life and go for it. Period.
STAGE SIX - BACK TO THE DRAWING BOARD
With our first idea in ruins, it was back to the drawing board.
From the feedback we received, we actually modified the first idea and molded it into something we think is far more practical and useful.
Again we sought feedback (although the same group was not used as they had already given us enough of their precious time), and overall the feedback was far more positive.
STAGE SEVEN - CONTRACTOR BRIEF AND MOCKUPS
After getting feedback and going through the pros and cons of the idea, we eventually decided that we would run with what we now know as CTA Skin.
But there was some important steps before moving on. We were never going to learn how to create a WordPress Plugin for ourselves, we were always going to outsource it to an experienced contractor whose expertise came in plugin creation.
So the next step then was to map out the plugin. And I mean map out the whole plugin, so when we chose a contractor on Elance, they would know exactly what the plugin did and how it performed in WordPress admin.
Below is a mockup we sent to the developer.
This was an extremely time consuming task, but had to be done to give the contractor a clear idea of how the plugin should look, feel and function.
Although the mock up screens are different to the screens you may see in CTA Skin if you decide to purchase, it was still a worthwhile task because it gave clarity to the contractor and cut down on the amount of times the contractor had to come back to us with a question.
For your info, we used Balsamiq, which is a wire frame software especially good for mapping out software and plugins.
STAGE EIGHT - CHOOSING A CONTRACTOR
This was perhaps the most difficult aspect of the project. Choosing the right contractor/freelancer is vitally important and your success hinges on it, make no mistake about it.
We needed a contractor who knew how to create a WordPress plugin - a contractor who had tonnes of experience and a contractor who had great feedback on their Elance profile.
Of course, myself and David followed the advice in the course we initially took, and I also had prior experience of hiring on sites like Elance. In fact, I had previously written a post called 6 Steps You Must Take Before Hiring A Freelancer a while back, so also took my own advice.
A few days after posting our job on Elance (which is soon to be taken over by UpWork), we selected a contractor, and the project was finally starting to move.
STAGE NINE - WORKING BEHIND THE SCENES
We had a number of weeks to wait before our contractor got back and delivered us the final working version of the plugin (which you can see at the bottom of your screen).
And we were pretty glad about that because there is literally 101 things you will need to put in place before your plugin can be released to the public. Things like:
- Deciding on a name for your plugin.
- Deciding on a domain for your plugin.
- Creating sales pages, pre-launch pages, opt ins, member pages.
- Configuring a support system.
- Integrating with payment processors and affiliate platforms.
- Deciding on licensing software for your plugin.
- Starting an outreach campaign to recruit new affiliates.
- And much, much more.
By no means is that list exhaustive, but it does give you a small idea into the work that must be done behind the scenes to ensure everything comes together nicely.
STAGE 10 - BETA TESTING AND PRE LAUNCH
Over the last few days, we have been busy working with our beta testers to ensure that the plugin runs smoothly. Sure enough, no major problems were reported, and overall the feedback has been excellent.
Again, this is an important step, because as a plugin creator, you may miss something that others will pick up on immediately. Having beta testers (who also get the plugin free and are the first ones to get their reviews out on their blogs and lists) is just another safety blanket, ensuring the plugin works in different environments with different setups.
Our current position as of today, is at pre-launch phase. We are literally crossing the t's and dotting the i's before CTA Skin is released on Friday 14th August to the general public.
I'll have more on CTA Skin next week when I do a review on it (more like an overview), to show you exactly what CTA Skin is, what it does and how it can help you and your website earn more income.
In the meantime, your special invite is at the bottom of the screen which shows a glimpse of what CTA Skin is about, and any of you who wish to promote CTA Skin can do so by visiting our special affiliates page with all the tools you need to start earning some commissions.
By no means is this post meant to be comprehensive, it was just an overview of the process we have been through so far. Although I plan to write another couple of parts on our journey (and David has written from his perspective, too), I doubt I could ever do it justice. I could probably write a book on what I have learnt throughout this process and that still wouldn't cover everything.
I opened the post up saying that I didn't know how to create a WordPress Plugin. I also thought creating a plugin would be complicated and risky. And I'm ending saying that I still don't know how to create a WordPress Plugin (though I now know of people who do!) and I'm ending by still saying plugin development is complicated and risky. But don't let that put you off.
Myself and David are now at the end of the process, and can actually call ourselves plugin/product owners. It's a fantastic feeling.
Don't let anyone put you off, and remember, the only way to succeed is to take massive action.
P.S - If you are viewing from a mobile, our plugin will not display. That is because we have programmed it to only display on larger screens (tablet, laptop, desktop).
To get more info, please visit the plugin site.