Your code is sub-optimal!

source gear evil mastermind characterWhen I saw the new Source Gear ‘evil mastermind’ t-shirts, I had to have one for my nerd warddrobe. So I struck a Faustian bargain with Source Gear mastermind Eric Sink. The photo below is part of the bargain. Sorry about that.

Given that version control isn’t the most wildly exciting of topics (no offense intended) I think their comic book campaign is a very imaginative piece of marketing. I wish them every success with it. While I am plugging Source Gear I should mention that they offer a free one-developer licence for Vault. This could be very useful for microISVs out there looking for a source control tool. So far I am pretty happy with Subversion, apart from the ‘don’t come crying to me for help’ approach to merging branches.

I also recommend Eric’s blog and the resulting book as an excellent source of marketing information for techies. It helped me a lot.

Have I earnt my t-shirt yet Eric? This blog has also earned me one sale of PerfectTablePlan and a couple of dollars in referral fees from e-junkie. At this rate I will soon be able to retire from programming to blog full time. Watch out Scoble.

source gear evil mastermind

If you aren’t embarrassed by v1.0 you didn’t release it early enough

releasing v1.0I cringe every time I hear about someone who has spent years writing their ‘killer app’, but still hasn’t released it. My preferred approach is to get a solid, but minimally featured, v1.0 out there and then iterate like crazy based on real customer feedback. There are a number of arguments for and against releasing early:

Against: Feature poverty

A common reason for holding back on a release is “my competitor has features A and B, so I have to have A and B”. BZZZZT. Wrong. If you are trying to compete feature for feature with a competitor who is already in the market, you are at big disadvantage. By the time you have added A your competitor will have added B. Anyway, maybe some of your potential customers don’t want A or B. Perhaps they actually want something simpler. Or they really want C, which you can do in half the time of doing A and B. Microsoft has released a number of products that were derided at v1.0, but went on to dominate the market (Windows, for one).

Against: Reputation

If you release early, won’t you get a bad reputation? Only if you produce shoddy software that crashes all over the place. There is no excuse for that, even at version 1.0. The key is to pare down the features without sacrificing quality. Pick the smallest sub-set of features that will be useful. Then add more features at each subsequent release, based on user feedback.

The truth is, unless you are a big company with a lot of marketing muscle or you have picked a tiny niche, very few of your potential customers will ever hear about version 1.0 of your software anyway.

Against: Support overheads

As soon as you have customers you will have to spend considerable amounts of effort supporting them. The sooner you release the software the sooner you get this overhead.

Against: Release overheads

Creating a stable release is a lot of work, even if you manage to automate some of it. If you do more releases in a given period of time than your competitor you will inevitably spend a higher percentage of your time testing, proof reading and updating your website.

For: Feedback

Every product launch is a huge guess. If you have lots of competitors, you don’t know if you will be able to take customers from them. If you don’t have many competitors, you don’t know if there is a real market for your product. It is also tough to know what features people really want and how much they are prepared to pay. What people say and what they do are often quite different. Even if you manage to figure all that out, every market is constantly changing.

The only reliable way to find out if people will buy your product is to release it. As soon as you have paying customers they will let you know what you need to improve. Even emails from prospective buyers asking “does it do X?” can be very valuable. Many (perhaps most) successful products have ended up quite different to what the developers originally intended.

For: Motivation

Having customers is great for motivation. If you are working for a year or two on a project without customers to push you on, it is very easy to lose focus or run out of steam.

For: Failing faster

Despite the best efforts of all concerned many products fail. In fact I would guess that the majority of commercial products fail to recoup the initial investment. Yours could be one of them. If you are going to fail, you should fail as fast as you can so you can start over on something more profitable. The sooner you release and start asking people for money the sooner you will know if your product is a dog.

For: Cash-flow

The sooner you start selling, the quicker you start to recoup your investment. As a simple (contrived) illustration:

Company1 release v1.0 after 6 months. As they improve the product and website and word-of-mouth kicks in sales increase linearly for the next 18 months: 10 sales in month 1, 20 sales in month2, 30 sales in month 3 etc.

Company2 release v1.0 after 12 months. They have the same sales: 10 sales in month 1, 20 sales in month2, 30 sales in month 3 etc.

In 18 months Company1 will sell 1900 licence, whereas Company2 will sell only 910 licences. But surely Company2 will have a better product when the release it? Even if Company2 sales grow twice as fast (20 sales in month 1, 40 sales in month2, 60 sales in month 3 etc) they will still sell 80 less licences than Company1. Also I believe Company1 will probably have a better product than Company2 12 months or 24 months in because they have 6 months more feedback on what customers really want and will pay for.

Conclusion

It is well known that the sooner you catch a mistake in development, the cheaper it is to fix. I believe this is just as true in marketing. A sure way to find these marketing mistakes is to release. You wouldn’t write a thousand lines of code before you tried to compile it. Why would you spend a year or more on development before testing it in the market? Creating software should be an incremental process.

The best time to release is a trade-off between the various factors above. Obviously your software has to be able to solve a real problem, or no-one is going to buy it. This is going to take longer for an air traffic control system than a back-up utility. But I would always try to release v1.0 in less than 6 months of elapsed time if it is my money paying for the development (I don’t write air traffic control systems). Spending a year or more writing something with no real customer feedback is more risk than I am prepared to accept. If you think it isn’t possible to produce something useful in that time, then maybe you aren’t being creative or brutal enough with the feature set. As a rule of thumb, I would say that if you aren’t embarrassed by the lack of features in v1.0, then you didn’t release it early enough.

Freecycling old IT equipment

freecycle.orgMy grandfather was a hoarder. He had an entire barn full of rusty old tools. I think I might have inherited some of his hoarding instinct, because I hate throwing stuff away. ‘You never know when you might need it’. Worst of all is throwing away stuff that I think other people could use. But, as I run my business out of my house, space is limited and something has to give.

I recently took a perfectly good 21″ ‘fat-screen’ monitor to the rubbish tip because I didn’t have room for it and I couldn’t find a home for it. Previously I have had major problems finding homes for desks and other equipment that were surplus to requirements. But I have now found a way to avoid consigning serviceable stuff to landfill: www.freecycle.org .

Like most great ideas Freecycle is beautiful in its simplicity.

  • You subscribe to your local Freecycle mailing list.
  • If you have something you want to give away you post an “offered” email.
  • If you see something offered that you are interested in you contact the offerer.
  • You can also post “wanted” emails.
  • Your first email to the list must be an “offered” email.

That is pretty much it.

High Wycombe, my local town, has a group with over 3000 members and the mailing list averages over 40 posts a day. Items offered this week include mattresses, TVs, desks, a 6′ tall plant, a complete set of the encyclopedia Britannica, surplus cat food, ‘Sex and the city’ videos, Beano and Dandy annuals, and various IT equipment including a cordless mouse, a laptop, a USB hub, a monitor, and a modem. So far I have given away a set of roller blades and 2 huge Java programming tomes I am never going to read.

Freecycle started in the US in 2003 but has quickly spread around the world. According to the freecycle.org website there are currently 4,076 communities with 3,673,413 members. You can find your local group here. If there isn’t one near you then maybe you should start one? Get full details from the freecycle.org website.

Cost effective software registration with ejunkie

ejunkieMost small software vendors don’t want all the hassle of taking payments direct from customers, so they use a third party registration service. Registration services provide payment processing plus additional services, including handling of:

  • licence key emails
  • coupon codes
  • affiliate payments
  • taxes
  • invoice sales

But these services don’t come cheap. According to this calculator some registration services charge as much as 15% commission on every £20/$40 sale. 15%! I find that quite staggering. 10% is more typical, but personally I don’t intend to give 10+% of my hard earned income to anyone, except my wife and the government. To add insult to injury some of these services also try to upsell questionable ‘offers’ to your customers. For example KAGI upsell a licence look-up service for which the software vendor gets a, frankly insulting, $1. I understand from reading the macsb forum that the upsell will be added automatically to the shopping carts of all software vendors selling downloads and will be checked by default. You then have to opt out if you don’t want it. Personally I think every software vendor should offer licence retrieval for free. And don’t even get me started on Digital River/SWREG and their Reservation Rewards ‘offer’.

PayPal and GoogleCheckout are much cheaper, with rates of approximately 3.4%[1] and 2.25%[2] respectively on a £20/$40 sale. But PayPal and GoogleCheckout are just payment processors and don’t provide all the additional services most software vendors need. They provide extensive APIs so you can ‘roll your own’ service, but this sounds like a lot of work reinventing the same old wheels.

Alternatively you can use a third party to provide additional services on top of PayPal and/or GoogleCheckout. I use ejunkie which provides most of the services you would expect from a fully-fledged registration service from just $5 per month[3]. The savings can be considerable, for example (all figures approximate):

number of $40 licences sold per year

yearly costs
10% commission registration service PayPal +e-junkie[4] GoogleCheckout +e-junkie[5]
1,000 $4,000 $1,420 $1,060
5,000 $20,000 $6,820 $5,060
10,000 $40,000 $13,660 $10,060

If you can offset your GoogleCheckout processing fees against your Google adwords spend your monthly costs could be as little as just the $5 ejunkie fee.

On the whole I have been very happy with the service I have received from e-junkie, once I got it all working. It has been very reliable and the support has been very responsive. ejunkie does seem to be more geared to selling downloads (e.g. e-books and MP3s) than licence keys and the documentation is thin in places. Consequently I had a few issues trying to bend it to my particular requirements. I will try to find time to cover these issues in another article.

You can find out more about ejunkie and try their 1 week free trial here.

Other possible third party integration solutions are PayLoadz and Linklok. For those of you who prefer a more traditional registration services, I have heard some good reports about Plimus and Avangate on various forums. Neither of these companies has been bought out by SWREG owner Digital River (yet). I haven’t used any of these services myself.

It remains to be seen whether pressure from PayPal and Google forces registration companies to reduce their fees, add more services or just puts them out of business.

Thanks to Patrick for first alerting me to ejunkie.

Full disclosure: The above ejunkie links are affiliates links. If you follow these links and sign up with ejunkie I will get a commission. It is not a lot, but I won’t need many people to sign up to cover my ejunkie fees completely.

[1] PayPal rates vary according to volume. Currency conversions cost an extra 2.5%.

[2] Google have sweetened the deal by offsetting processing fees against adwords fees until the end of 2007. This means the rate is effectively 0% if you have a moderate spend on Google adwords each month.

[3] The monthly fee depends on number of products. $5 per month covers 10 products and 50MB of storage.

[4] Based on 3.4% PayPal fee + $5 per month ejunkie fee.

[5] Based on 2.25% GoogleCheckout fee + $5 per month ejunkie fee.

Business of Software wiki

fogbugzJoel Spolsky has announced a Business of Software wiki based on FogBugz 6. You can view/edit the wiki here.

“The point of this wiki is to bring under one roof as much high quality, useful information as possible about the business of software, whether it’s microISVs selling desktop software, Web 2.0 sites or even the big enterprise kind of outfits.”

This will become a useful resource for software entrepreneurs if enough people contribute. I have added an article from this blog to do my little bit.

47 hats

47hatsBob Walsh (microISV owner, Business of Software forum regular/moderator, blogger and author[1]) has just launched his new microISV consultancy 47 hats. I don’t know how he finds time to sleep!

I have thought about branching out into providing consulting to other software companies myself (micro and macro). It is part of the motivation for starting this blog. But I am really too busy with PerfectTablePlan at present. Anyway I am sure there is plenty of work to go round and I wish Bob the best of luck with his new venture.

[1] Bob’s affiliate link.

I will be talking on usability at ESWC 2007

eswcThe schedule for the European SoftWare Conference 2007 has just been announced. This is a 2 day conference in Köln, Germany in November aimed at microISVs, shareware authors and other small software companies.

I really enjoyed ESWC 2006 and I am looking forward to it. It will be nice to get away from the computer[1], talk to people I met last year and meet some new people. I will be giving a talk titled “Increasing conversions through better usability”.

[1]Except that I will be taking my laptop to check support emails, of course.

Interview

adriana iordan.jpgI was flattered to be asked to do an interview by Adriana Iordan of Avangate (pictured left). How could I refuse given that the previous 3 interviewees were Bob Walsh (author of “Micro-ISV: From Vision To Reality” [1]), David Boventer (founder of ESWC) and Eric Sink (top software blogger and almost legendary founder of SourceGear)? Adriana, if you could interview Joel Spolsky, Bill Gates and Steve Jobs next, that would be perfect. ;0)

The interview is here.

[1] This is Bob’s affiliate link. If you follow the link amazon.com are currently offering Bob’s book together with “Eric Sink on the Business of Software” for $36.28. They are both well worth a read for any budding software entrepreneur. The price is nearly double (pounds for dollars) if you buy them from amazon.co.uk. How can Amazon justify that sort of price difference?

SWREG customers beware

swreg upsellIf you are a customer of the ecommerce provider SWREG you should beware that they may be upselling highly questionable ‘discount’ schemes to your customers. From a post on the Business of Software forum:

This unannounced change was placed at the point of order completion where and leads to a $10/mo discount coupon scheme unrelated to the sold shareware. The way the offer is presented is deceptive – after the order is complete, they show a button with the word “Continue” on it. It looks like you are supposed to press the button to complete your order. Instead, you end up paying for something you probably didn’t want – and it’s a recurring charge.

Another posting suggested this only happens if your customer is in the USA.

I am not based in the USA and haven’t bought anything from SWREG recently myself, so I can’t personally verify the above. But these comments are backed up by posts I have seen on other forums from unhappy vendors and their unhappy customers. If you are using SWREG I suggest you buy a copy of your own software and see for yourself (you can always refund the payment later).

Assuming the above is true – what are they thinking? Either they don’t see anything wrong with it (which is very worrying) or they know its completely unethical, but are doing it anyway (which is even more worrying). It reeks of desparation to me. I thought their upselling of a registration backup service was highly questionable (I think vendors should provide this service for free), but at least it was clear what you were getting.

Vendors looking to move from SWREG to a different ecommerce provider might like to consider companies not owned by SWREG’s parent company Digital River. I use e-junkie.com with PayPal and GoogleCheckout. Other people have recommended Plimus and Avangate. You can compare processing fees here.

Google Adwords ‘placement performance’ report

Google Adwords placement reportYou can now find out what sites your Google content ads are appearing on, using the new ‘placement performance’ report. This will alllow you to spot under-performing sites in a content campaign. To exclude a site from your campaign click the ‘excluded site(s)’ link at the top of the appropriate campaign page.

My placement report for June shows that PerfectTablePlan has had 25,309 impressions and 0 clickthroughs from myspace.com. Does that make it officially the least cool software ever? ;0)