The Challenge Of Developing A Software Startup

I’ve been working on now for over a year, although there have been a few start-stop sessions, so it hasn’t been exactly all-steam ahead during that time.

Developing software is a lot of fun, when you have the people who can make your vision a reality. Thinking of how you want something to work in your head and then seeing it work in real life is very gratifying.

On the flipside though, it’s just as frustrating to realize how many features you are NOT including because you simply don’t have the funds or the manpower to complete them.

When I first began development of CrankyAds I figured a quick and dirty version could be done in a couple of months to offer the core features. The development company I hired seemed to agree, and quoted a timeframe that slightly exceeded my expectations (although I always add one or two extra months on top of my expectations because nothing goes according to plan).

As development continued, I realized that no, this was not going to be quick and just developing the basics was going to be challenging.

Last year I left the development company and partnered with a friend, Walter, who has been our lead developer and co-owner ever since.

Walter is a talented programmer – very talented – but he’s still only one man. Part of our development process has been prioritizing what needs to get done and in what order. The prioritizing part isn’t too hard, what is difficult is creating features and then making sure they work for most people in most environments (different browsers, operating systems, wordpress installations, plugin conflicts, etc).

We’re fairly confident that for the great majority of people we now have a stable set of core features that deliver the service much how I envisioned it would. Just saying that is satisfying, it’s taken a long time to get to this point.

Now I can say with comfort – go use CrankyAds, it works and provides value.

New Features We Just Made Available

Walter has been working hard at the start of 2012 to roll out a few new features, aspects we highlighted as important and worthy of focusing on first.

Here’s what we have been up to –

1. More Accurate Statistic Tracking

One of the most annoying things I experienced using other advertising management systems is inaccurate statistic tracking. The software I used would say that the ads on my site get X amount of impressions and Y clicks, yet the advertiser would tell me their stats, usually click tracking software or just Google Analytics, would report back something else.

Unfortunately my ad software stats were always more than what the sponsor recorded, sometimes as much as ten times as much, which didn’t make me look good.

The problem you see is that most ad management tools track non-human impressions and clicks. These are “bots” sent out from other services designed to collect information from your website. If the bots count as humans in your stats, you are artificially inflating your numbers.

Google Analytics is apparently quite good at eliminating bots from their data, which is why so many webmasters trust Google. I previously used webalizer or awstats, two server log analyser stats packages which usually come with most web servers. Unfortunately these stats packages also count bots. I remember comparing numbers and Google Analytics reported back as much as 30% less traffic than what I thought my site had with awstats. It was a shock, but it taught me how important it is to have accurate statistic tracking.

We had the same problem with CrankyAds until earlier this year. We were counting quite a few bots in our numbers, which I suspected we were because Google Analytics was reporting a certain number of impressions for EJ, yet CrankyAd campaigns on EJ were delivering as much as 50% more, according to the numbers.

Walter recently finished some updates to CrankyAds that we believe has eliminated this problem. We’ve taken out the bots to the best of our ability and now CrankyAds data is a more accurate reflection of what your true human visitor count is.

If you want to read more about how we did this, Walter writes about bots at the CrankyAds blog.

2. Alternative Pricing Options

Prior to using CrankyAds I used to have just plain old paypal links for payment because the ad management tool I previously used only handled ad rotation, not payment management. Although it was less automated this way, I had complete freedom over pricing options.

I try to minimize options so as not turn away potential advertisers with a “paradox of choice” (give people too many options and they end up making none), but I did like to offer alternatives – the option to pay in advance for campaigns and receive a discount the further ahead you pay.

Alternative Pricing Options in

Initially CrankyAds didn’t have this feature built it. You set one price for each ad zone. After initially showing our first BETA of the software to Pat Flynn, he mentioned things like offering discounts for longer term campaigns, and maybe having coupon codes too. We had these ideas on our to-do list, but thanks to Pat’s feedback and my own needs on EJ, we decided to expedite the alternative pricing options in CrankyAds.

A couple of weeks ago we rolled out the feature. You can now add as many additional pricing options per zone as you like. For example you could have a per month fee, another fee if they pay for three months in advance, and another option for six months in advance. My usual formula is to offer the equivalent of one month free out of every six months paid for in advance.

3. Internal Campaigns (Your Own Ads)

This is a feature we knew CrankyAds had to have. People need to rotate their own ads on their site, either to promote affiliate products or their own products. It’s also a good tactic to have some ads running on your site when you first start offering sponsorship so it doesn’t look too empty, which is a form of negative social proof to potential new sponsors.

You want to balance having an “advertise here” banner informing potential sponsors you accept ads, but you should also have some ads of your own running too (unless sell to enough sponsors of course). You need to get a good mix to keep your advertising interesting to users and to attract new sponsors.

CrankyAds is built to help you sell ads to sponsors, however if you want to use it just as an ad management tool to rotate ads, you don’t have to sell ads. You can just rotate your own.

When CrankyAds first launched the only way to upload your own ad into the system was to effectively buy an ad on your own site, skipping the payment part unless you want to give yourself money. You would then login to the manager and approve your ad. Not an ideal solution, but functional.

In one of our team meetings we discussed how to make uploading your own campaign easier and more intuitive. It took quite a bit of brainstorming to come up with the best way to integrate this into CrankyAds. We wanted a simple solution, but it was difficult to come up with something that didn’t clash with or make the ad buying process for paying sponsors more confusing.

It’s amazing how hard creating “simple” is. It required about two hours of tossing around ideas before we found what we ended up developing…

A simple tab inside the existing CrankyAds manager that says “upload campaign”, which then takes you to a page where you choose which ad zone you want to ad the campaign to. The campaign then appears inside the regular manager area, but instead of listing a price, which is what you see for sponsored campaigns, you see an “internal” notification. This tells you that the campaign is internal – added by you the publisher.

You can then manage the campaign as usual, canceling it or changing the media whenever you want to.

There’s probably an even simpler way to do it, but for now I like what we have created. It makes CrankyAds a simple to use ad rotator too.

What Feature Would You Like To See Next?

These three features are helping CrankyAds become a more robust and valuable tool. I personally know this as a blogger using CrankyAds here on EJ, not just as a founder.

We’re working hard to continue to develop the features we think people want, given what we also deem a priority.

In the spirit of user feedback and to help make CrankyAds better, I’d love to hear what your number one most wanted feature is?

Please leave your suggestion as a comment reply.

Since EJ is a chronicle of my own entrepreneurial endeavors, you will see more posts like this as we continue to develop CrankyAds. I hope you benefit from learning about our start-up process.

Yaro Starak

About Yaro Starak

Yaro Starak is the author of the Blog Profits Blueprint, a report you can download instantly to learn how to make $10,000 a month, from only blogging 2 hours per day. You can find Yaro on Facebook, Twitter and .

Follow Yaro

View Yaro Starak's profile on LinkedIn
Follow us on Instagram


  • Hi Yaro,

    Welcome to the world of software development, where finding a solid developer can make or break your odds of success. Crazy, yes, but so so true.

    But it looks like you found someone to really dig into the project with you, so I think you have increased your odds considerably.

    Reach out if you want to brainstorm on architecture. Would love to connect again.

    (I’ll kick the tires on cranky this week.)


  • Hi Yaro, haven’t had a chance to look at Cranky Ads as I said I would in your last blog post about it. I’ve just acquired a nice tech blog which I’ll put cranky ads on with these new features and let you know my feedback. Aaron

    • Thanks Aaron – you wouldn’t happen to be an MVC developer are you? Or maybe know a good one?

  • Hi Yaro,

    I spied CrankyAds on your blog last month and quickly added it to mine. I’m not really making the most of it yet (not advertisers) but I love the scalability of the features you’ve added. Do you think you’ll be adding a marketplace soon?

    • Hi Sharon,

      The Marketplace is the next major milestone on our to-do list for CrankyAds. We have hit a bit of a budget constraint unfortunately though, so I may need to spend some time looking for funding before it gets done.

      I know sometime this year it will happen though.

      • Just a thought Yaro, what about crowdsourcing right here on your blog?

        • We are considering a campaign, so yes, we are hoping some crowdsourcing might get us through this year so we can develop the features people want while we build up cashflow to keep the business going.

  • I wish Cranky Ads was around in this condition a couple of years ago when I got my hands on IOI Publisher, it would have saved me relying on a reletive to buy it for me (when I want a premium plugin I request it as a birthday/christmas present).

    Does Cranky Ads offer different payment methods? Like PayPal, Google Checkout, Invoice, etc? I think that would be a good addition.

    • Tomas Merrill

      I agree. I use Paypal to pay for most of my business expenses online.

    • At the moment we just support Paypal. It’s on our to-do list to add more, but we have some other priorities first.

  • Yaro, thanks for this post. Very useful information. I would love to use CrakyAds for my blog, but unfortunately it is not run by WordPress. I have read you intend to make CrankyAds a cross-platform tool, which would work not just for WordPress. Do you have an approximate time in mind when it might happen?

    • Hi Vidas, no I am sorry I don’t have a definite time frame for cross platform options at this stage. We actually need to get some funding to bring on development help at this stage to help speed up the creation of features like this. So for now it’s funding first, then hiring people, then creating new features.

  • So, WP owners will have to wait a bit. Oh, well, I hope that funding and hiring will finish up quickly and that new features will be with us soon enough.

    • If by WP you mean, then no, that is what CrankyAds was developed for and is ready to go.

  • Stacy


    I came across a book in the library the other day and found it very interesting. I looked up some websites and blogs and found your site thru an article you wrote on another blog. Long story short, I have read your blog and probably most of your articles and wanted to say I have learned so much that I’m going to start my own blog up to a select niche in the international travel area. Thanks for your hard work. Your blog by far is the most helpful I’ve found!

  • Thanks for these tips. I’m actually interested in learning programming to be the next facebook billionaire.

  • Hey Yaro, I’ve been following your Cranky Ads progress with interest as I’m also a founder of a small software startup. It’s been slow going as we’re all still working full time but I’m making inroads into that problem with my blog and a few personal sites. It’s great to see that you’re software startup is progressing well.

    Anyway, I see some comments about you needing another developer. I know of a couple of pretty good MVC .net guys in Brisbane who may be interested. Let me know if you’re still looking.

    Zac Sky

  • Ray

    I don’t know if you have any plans for other types of sites besides WordPress, but I think you would have a good chance at developing CrankyAds for other scripts too. I haven’t had an opportunity to try it on a live WordPress site only in a offline development site, but I certainly like what I see. You definitely have great idea with a lot of potential.

  • Thanks for the internal campaign instructions, that’s a great tool.

    Now I just have to wait to reach the 50.000 impressions to get into the plus service. 🙂

  • Thanks for this amazingly simple and complete software Yaro.

    My main WishList suggestion would be the ability to split test different ads. Even if this was only available for my personal ads it would be wonderfully profitable info to have.

    I’m also wondering how to best sell one-spot ads eg inside a post about Sydney Chiropractors, where I might want to ‘auction’ it off to all Sydney Chiropractors I can contact, rather than try and decide a price ahead of time.

    • Thanks Martin – and your split testing request is on our to-do list, however quite far down at this stage.

      For one spot ads you are probably best to just hard code the ad into the page, since you only want it to appear on that page I presume, and not the entire website.

      • Ah well – I’ll have to gauge results without the split-testing bit. If you called in graphics I could do it, but you upload the image.

        And with the one-spot I was actually interested in how to price it or auction it off. Might have to do a small eBay sale on it 🙂

Leave A Comment

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

Follow Yaro: Email | RSS | Facebook | Twitter | Google+ | LinkedIn | Instagram | YouTube