May 3, 2010
Before I even begin saying anything this article is not about encouraging developers to sell their scripts on sites like CodeCanyon (not that there is anything wrong with that). Rather I am going to take you through the process of things I did when creating the Nivo Slider, other than simply creating the script, with the hope that other developers might be more successful when creating their own scripts.
The first thing you need to do when you create an awesome script is have a goal for your script. When I started creating the Nivo Slider I knew exactly what I wanted to create and I also knew that I did not want to sell it. Why? Because I already generate revenue through sites like MakeSomeTime.com and through other scripts I sell on CodeCanyon. This time I wanted to give something away with the aim to generate a reputation for myself and develop my brand. I knew that if the script became popular that these things are more valuable in the long run.
So my motivation and goal was to generate a reputation for myself and develop my brand by releasing an awesome script for free.
This is something that really bothers me about most scripts I see on the net. I’m not going to get into the whole debate about developers and designers responsibilities, however I will say that when trying to promote your script, it helps a lot if you have a good design to go with it.
With the Nivo Slider I decided to take some very obvious design inspiration from the Sublime Video page by Jilion. To be fair I maybe took too much inspiration from that page so all credit goes to Jilion for being a great designer. However his page layout did a great job of presenting a script in a way that looked composed and professional. All the required information was there but presented in a way which looked professional, clean and simple.
Have a look at most other scripts you see around the web. Some are very popular without any kind of valuable design and I’m not saying a good design is essential for presenting a script. However I would love to see more developers present their scripts like they were selling a product rather than simply throwing code up on a page.
This is something which most developers probably suck at. Maybe you don’t think so but I know I do. I would much rather write a script than try and sell it. However if you ever want your script to be popular and used anywhere you will need to spread the word. Thanks to social media this can seem like a fairly easy process. However throwing your script up on sites like digg, delicious and stumbleupon isn’t some magic trick that gets you all the traffic in the world.
I found that the best way to market your script is to have genuine conversations with people. Use word of mouth on twitter and facebook to tell your followers and friends about your script. Blog about it. Let authors of blogs like WebAppers know about your script and suggest they check it out. Don’t be forceful or spammy. Just be polite and unobtrusive. If your script is good enough (yes I’m afraid your script needs to be good) hopefully people will spread the word. Then you might be surprised to find where your script ends up, like on the front page of Reddit which brought the Nivo Slider 80,000 visits in one day.
Again this is something which is very important but often overlooked by developers. After you have released a script, and especially if it becomes popular, you are going to get support requests. In the world of varied browser compatibilities and other such annoyances people are going to find something wrong with your script no matter how much you’ve tested it. Add to that requests for new features and it can become a full time job just supporting a script that you have released.
So first of all make sure that you are contactable. Put an email address and your twitter account on the script page so people can talk to you. Don’t hide from this just because you can’t be bothered. Be organised instead. Have an email just for your script (so filtering your inbox is easier), use services like GitHub to store your code and have place to keep track of all of your bugs and feature requests, have a FAQ section on your scripts site with answers to commonly asked questions. All of these things will help you avoid becoming overwhelmed if your script ever makes it big.
I did all of these things with the Nivo Slider and still get at least 5–10 emails per day (it was about 40/day at one point) about the Slider. I try to answer all of them and sometimes it can be a real drag. However I made a script and I want people to be able to use it so it comes with the package. In the end you get some satisfaction when you know you’ve helped people out and they are happy. Which leads me nicely to my final point.
On the Nivo Slider page I put a PayPal “donate” button with the text “If you enjoy this stuff and want more you can help me out by sharing this page or donating me some money. Why not buy me a beer?”. Again not greedy or obtrusive. What a shock I’ve had.
I must have had well into three figures of donations since the launch on the Nivo Slider. I have been amazed at peoples attitude and generosity. Most people have the attitude that “if I use the slider on a clients site (and make money from it) then I will share a portion of that with the guy who made the slider”. Now don’t get me wrong you won’t become a millionaire from donations, but I have been amazed at how willing people are to share a small amount of money. It’s especially nice when you’re not expecting it after creating a script for free. So take care of your customers and they might even take care of you.
So developers, next time you release a script remember to have a motivation and goal in mind, do some design work and marketing and remember to take care of your customers. And you never know, you might end up having a super successful script that becomes internet famous.