Archive for the 'article' Category



How to remove software cracks and keygens from file hosting sites

Software piracy is a real issue for every software company, large and small, and it isn’t going away any time soon. So when I heard that fellow microISV owner Nikos Bozinis had created a tool to help software vendors fight  piracy, I asked him to write a guest post. He kindly agreed to write this post about software piracy, the Digital Millennium Copyright Act and his CrackTracker product.

Why buy something when you can download it ‘for free’? Billions of dollars are lost every year from illegal downloads of music, movies and software. People around the world seem to have very lax morals when it comes to abusing digital content. Downloading the latest movie or windows software from rapidshare.com somehow doesn’t strike them as theft — it’s not like stealing a loaf of bread! The traditional music industry is already down on its knees as a result, and software may be the next to follow.

Software authors and music enterprises are fighting back by tightening the DRM (Digital Rights Management) of their products in a futile effort to stop online piracy. But usually crackers have no problem circumventing any protection system that we can dream up. To add insult to injury legitimate customers are usually hurt by such reinforced software protection and activation systems. A little bit like the war on terror, isn’t it?

A different line of defense for ailing copyright owners is the Digital Millennium Copyright Act (DMCA), a US law with global reach for copyright protection (the european EUCD equivalent is not as broadly known). This law is very broad, and not without controversy, but it works – closing down websites that distribute illegal content and removing copyright infringing downloads from file-hosting websites with summary procedures, among other things. So if you discover your software illegally distributed in some warez website, you can send a so called “DMCA section 512 takedown notice” to the website host and they are expected to remove that particular file from circulation — or risk the wrath of the law.

Software Piracy

I have been a microISV for over 10 years so lets forget about the entertainment industry and concentrate on my field, software. There are over 200,000 programs listed on download.com and that’s just for Windows. Many are created by very small to medium sized companies — many even run by a single programmer/webmaster/marketer/entrepreneur. I bet that all these programs are cracked in one way or another — at least those popular enough for crackers to care about them. If you search for warez or torrents you will find the software you want for free, either the latest or an older working version.

Piracy statistics from Business Software Alliance report 2009 (click image to enlarge).

I sell a file manager called xplorer². I track how many people install the program every day and also I have a good guesstimate for the number of people using cracked versions of xplorer². I estimate over 70% of the regular users use one of the known keygens. Imagine if this 70% didn’t exist or it was converted to regular paying customers!

How is it done?

Downloadable software falls into 2 categories: those that run in trial mode until you buy a key to unlock the full functionality; and those that are special downloads for customers that pay the registration fee. In all cases some sort of unlocking takes place using a plain key, or a license file, or online activation, or some combination thereof. Many ISVs write their own licensing code, while others rely on off-the-shelf protection and licensing products (Armadillo, WinLicense etc).

Imagine you shipped your source code along with your program, then it would be trivial for even amateur crackers to bypass your protection and run the program without paying. Very few vendors supply source code, but people in the know can read off your licensing logic like an open book using specialized reverse engineering tools (softICE, IDA and other debuggers and disassemblers). Then they can create a ‘patch’ or modification to your executable that bypasses the protection.

An even worse type of compromise is a keygen. When the cracker uncovers the logic of your unlock keys, he can create a program to generate such keys which look and behave exactly like the legitimate ones you sell to your customers. Then he doesn’t need to patch your program, he just supplies this keygen to the warez community and everyone can help themselves to your program. You can guard yourself against such attacks using asymmetric encryption algorithms for your keys.

Is there a perfect protection system?

In short, no. If you consider that your program is presenting its logic to anyone with moderate experience in machine language, then sooner or later any protection can be circumvented. Professional protection schemes utilize encryption to protect sensitive parts of your code, but even they won’t withstand the cracker test. And remember the harder your DRM the more likely your program will be mistaken for malware (!) as many viruses and trojans use encryption tricks.

Even if there was a perfect system, your sales would still be at risk. All that’s required is some of your customers to post their unlock key in a warez site, and the game is lost. You would then blacklist that serial, until another one was leaked and so on.

The warez scene

There are people who don’t spend any time in Facebook or YouTube. They surf the internet for free stuff. Cracked versions of commercial software (aka warez) circulate in some shady forums that bring together the crackers with the downloaders e.g. www.warez-bb.org.  Browse a warez site and you will find any software, movie or music you fancy, with an assortment of popups and dodgy advertisements of the usual internet 3P products (Pills, Poker and Girls [sic]). For your convenience there are even specialized search engines that search a number of such forums simultaneously, e.g. www.warez.com.

These forums do not host the actual files. They refer the traffic to specialized file hosting services like rapidshare.com. To make the most of warez you need to buy a subscription to access such file hosting sites (e.g. unlimited downloads from $9/month). Incurable cheapskates could get away without paying anything though, as you can download for free after a forced (nag) waiting of a minute or two.

A bit more up-market are download sites where to gain access you need to purchase a subscription, e.g. www.nowdownloadall.com. I have never paid to enter such a site, but they promise access to any download you can imagine. So you pay a monthly fee to download as much as you like. Note that this is different from paid-for hosting mentioned above. I suppose that you need a file hosting subscription on top to get the actual files downloaded. With so much stuff available for free I don’t know if this approach makes economic sense.

Finally there are traditional peer-to-peer file sharing networks, where people share their software music and video through torrents. After the demise of Napster torrents are still strong, with completely decentralized databases immune to legal intervention. The downside of torrents is their inherent unreliability, so people in a hurry will prefer the immediate gratification of a full download from rapidshare.com and the like.

Why do they do it?

It is easy to understand why someone will prefer ‘free’ software instead of paying up. But what about the crackers, the people who circumvent the DRM and distribute these warez. Why do they do it? Here are a few plausible motives:

  • For kicks. The traditional hacker stereotype is a geeky person whose pastime is breaking into computer networks. Cracking into a software’s protection and stripping it clean must be a pleasure in itself, a ritual destruction of the evil Death Star.
  • For glory. Marxist theory claims that private property is theft. This concept has struggled with real tangible property, but digital property is the ideal trophy. Many groups feel that software and music should be free (!) so taking down the big media and software corporations is a noble cause for them. But many small ISVs fall victims too, and the real motives are far less revolutionary…
  • For profit. Marx is dead; long live Das Kapital. Warez downloads are big business in a number of ways:
    • Direct subscriptions charges to access the downloads
    • Selling password unlockers (e.g. you download something in a ZIP archive which is locked and you need to buy some software to unlock it)
    • Distributing malware. Many downloads are packed with malware (sample report for a keygen), from straightforward scams and ransomware to trojans that turn your computer to a zombie, waiting for instructions to launch a DDoS attack or send spam.

You *can* remove illegal downloads

If your software is available to download from warez sites, either compromised (patched or keygened) or simply accompanied by a simple serial number to unlock it, you will definitely lose sales. The good news is that, using DMCA provisions, you can have these unauthorized downloads removed. Without these downloads prospective users will have no choice but to buy your software — or move on to your competitor’s cracked software.

Here is how to remove illegal downloads:

  1. Find your download links. All illegal downloads end up in a host like rapidshare.com or megaupload.com (I know of more than 100, but there are 10-20 big player websites). A standard Google search for your software name plus ‘crack’, ‘keygen’ or ‘rapidshare’ will find some hits, especially if you search in groups or blogs. Even better use specialized warez search engines like www.filestube.com with just your software name as a keyword — the results will be just downloads.
  2. Validate download URLs. Some of the download links you discover may be dead (e.g. very old). Click on each one to see if they are valid or 404.
  3. Send DCMA notices. Group the download links by provider (rapidshare, hotfile, etc), and send a DMCA notice to the abuse email address of each website. Usually this is abuse@website.com (e.g. abuse@rapidshare.com). Each website lists the steps for filing DMCA notices for file removal.

This sounds like a lot of hard work, and it can be, but it works. File sharing websites like rapidshare.com run a legitimate business — they are not responsible for cracks — so if you send them a polite DMCA takedown notice they will remove the copyright infringing downloads.

The DCMA takedown notice

Strictly speaking when you send a DMCA notice you are making allegations of copyright infringement, which is a serious crime. You would imagine that a formal complaint should be launched under the guidance of a solicitor/lawyer. Given the amount of copyright infringement that goes on, the red tape would bring everything to a standstill. The beauty of the DMCA law is that it simplifies the procedure. Sometimes a plain English email explaining the situation to the download site, along with a list of your download locations is all that’s required to have the links removed.

A few websites require a more formal DMCA email including details such as your company address, contact telephone numbers, and some boilerplate statements like “I swear, under penalty of perjury, that the information in the notification is accurate…”. You can find many sample DMCA notices online so I won’t repeat them here. The general idea is that you present yourself as the copyright owner and declare the download URLs as unauthorized, and therefore infringing your copyright.

Torrents slip by

DMCA is very good for removing illegal downloads hosted in popular file sharing websites, but it is powerless against torrents. There is no single source for the download, as the files are kept in many computers. You would have to contact each and every person who shares illegal copies of your software in the peer-to-peer network. This would be hopeless and a waste of effort. Thankfully for the ISV, torrent use is on the decline. People prefer direct downloads of the full package instead of slower peer-to-peer downloads.

The sales pitch

Anyone can search and remove illegal downloads manually. I was doing it the hard way for quite some time, each time I released a new version of my software tool (there’s a lot of cracker activity for each release as they need to update their patches and keygens). However this is very tedious, as you must:

  • enter shady warez forums to search for your keyword, facing annoying popups and adverts you wouldn’t want your wife to see
  • search many locations to ensure you get as many download URLs as possible
  • validate each download URL to see if it is still alive or dead
  • organize download URLs and write DMCA takedown emails for each file hosting website

Even if one wipes all the illegal downloads, new ones will appear over time. So the locate-report-remove cycle must be repeated regularly. This was the motivation for writing Crack Tracker, a tool that simplifies the removal of illegal downloads.

Crack Tracker is a desktop tool, with a meta search engine that securely scans warez databases for your downloads. You supply the search keyword (e.g. your software title or company name) then crack tracker will do an exhaustive search, collect a list of suspect download locations and verify the links with robotic efficiency. After you examine the results you just hit a button and the relevant DMCA emails are sent automatically. It doesn’t get any easier than that.

Crack Tracker doesn’t have a fancy user interface but it is very easy to use. It knows of more than 120 file hosting websites and works with 6 major warez search engines (the list is expanding). It is free to try as a search engine; to send the actual DMCA emails you need a registration, but I believe the price is very reasonable, especially if you consider the money you lose in pirated versions of your software.

Why don’t you try it for free and see how many cracks of your software it finds?

Download CrackTracker for Windows (318KB)

Nikos Bozinis ditched his Process Systems Engineering PhD to run his own microISV ZABKAT since 1999. He also writes a weekly blog focusing on file management and occasionally on programming, debugging and running a software business.

Speccing my dream development PC

My main development machine is a 4 year old Dell desktop, PC running 32 bit Windows Vista. Time for a new PC. I have been doing a bit of research, mostly by looking through back copies of PC Pro magazine (which I recommend,  by the way). I am speccing it out here on my blog in the hope that I, and anyone else thinking about a new PC, can benefit from my research and (more importantly, given my limited knowledge of hardware) the assembled wisdom and experience of readers of this blog.

A system failure could lose me several days work and a lot of mental energy to sort out, so reliability is my number one requirement. After that I am interested in performance, particularly speeding up compilation and linking, as this has a significant effect on my productivity (my table planner software is now well over 100k lines of C++ code). Getting a fast machine also means it will last longer before it becomes obselete.

Form factor

Tower desktop. I don’t like using laptops for extended periods and there is plenty of space under the desk for a tower case. Having a bigger chassis means more options for upgrading and hopefully less chance of overheating. I like to have my PC physically locked to a ground anchor to reduce the possibility of theft. So the case needs to have a Kensington-compatible security slot I can attach a security cable to. Some LED bling wouldn’t hurt.

OS

Windows 7 64 bit Professional (or Ultimate is if I decide to use bitlocker drive encryption). Windows 7 is increasingly what my customers are using. 64 bit will allow me to address >4GB RAM.

As I develop for both Windows and Mac, I could use a Mac for my main development machine. But I am more familiar with Windows and its associated apps, you get more bang for your buck with a PC and I’m not keen on Apple’s authoritarian attitude to developers. So I prefer to use Windows for my main development machine and use a Mac Mini for porting.

RAM

8GB of DDR3 RAM. Maybe more, depending on cost. But I am not sure whether having more than 8GB of RAM will make much of a difference to real world performance. DDR3 memory seems to be fairly standard on high end PCs. I can’t imagine the clock speed of the memory (e.g. 1,333 MHz vs 1,600 MHz) affects development related performance much. I haven’t seen any data on this.

Storage

Possibly a 128GB Crucial RealSSD C300 SSD for storing \Windows and \Program files and a 600 GB 10,000 RPM WD Velociraptor HDD for storing everything else. SSDs seem to be increasingly the way to go for storage that is predominantly read-only and the prices are coming down. 128 GB should be ample for Windows and lots of applications. But there have been issues over the reliability and performance of some SSDs, notably those with Indilinx controllers. anandtech.com, Jeff Atwood and PC Pro all rate Crucial SSDs well. The WD Velociraptor is one of the fastest HDDs around and 600 GB is currently the biggest one you can buy. It is pricey though at around £0.30 per GB, with 7,200 RPM drives around £0.05 per GB. Especially if I buy an extra one to keep as a hot spare.

I am still making up my mind on this though. Having two separate drives means an extra possible point of failure. Also some people say that, while benchmark results are impressive, the difference in performance between SSD and fast HDDs isn’t that great in real world scenarios. I also wonder whether a 10,000 RPM HDD is going to be as reliable as a 7,200 RPM HDD, such as the Samsung Spinpoint F3. I don’t know of any independent data on HDD reliability between different makes and models. In the absense of such data I guess the next best bet is to look at how long the manufacturer warranties are. You need to be fairly confident on reliability to give a 5 year warrantly.

I am also considering encrypting the drives for extra security. This will keep my data secure in case of theft and it also means I can return a defective drive under warranty without worrying about the security of the data on it. The main alternatives are Truecrypt and Windows 7 Bitlocker. Tests show Truecrypt AES encryption adding a 5-12% performance penalty. Anecdotal reports seem to show that the difference is hardly noticeable in real world use, especially with a fast CPU. A comparison of Truecrypt and Bitlocker from April gives Bitlocker a small advantage for speed, but favours Truecrypt for its flexibility. Also Truecrypt is free, whereas Bitlocker is only available if you buy Windows 7 Ultimate.

My current PC has 2 disk HDDs in RAID1 (mirrored) configuration. This was intended to decrease the chance of data loss, but it has been a huge headache. I have had to replace one or other of the RAID1 HDDs 4 or 5 times while I have had this PC. I can only assume that RAID was responsible for this catastrophic failure rate, so I certainly won’t be going for RAID again.

Media

Any reputable make of DVD drive that can write dual layer DVDs should be fine. The 8.5 GB capacity of dual layer DVDs is useful for backups. I don’t see any need to pay a premium to get Bluray.

Motherboard

A Gigabyte or Asus motherboard with support for USB 3.0 and SATA/600. I have just bought a USB 3.0 external HDD for backup so I would like to make the most of the additional USB 3.0 performance and a fast SATA connection is necessary to get the most from a fast HDD. Gigabtye and Asus motherboards seem to do well in the PC Pro magazine tests.

Power supply

Any respectable make should be fine. If a power supply fails the power surge can wreck the whole machine, so it definitely isn’t worth risking a cheap and nasty power supply to save a few pounds.

USB ports

Lots, including some USB 3.0 ports.

Graphics card

AMD Radeon 6850. I don’t play a lot of computer games, but I want a graphics card fast enough to give me the option. I would also like to have the option of multiple monitors, so it needs to have at least 2 DVI outputs. PC Pro magazine are recommending the AMD Radeon 6850 as exellent value if you don’t need the fastest possible card.

CPU

Intel Core i5-750 (4 cores). Raw processor speed is obviously important, but you pay quite a premium to get the very fastest chip. The i5-750 seems like a good balance between price and performance. Multiple cores are useful for running VMs and compiling (apparently Visual Studio 2005 requires a tweak to use multiple cores for compilation). Quiet fans would be nice. I’m not interested in overclocking as I worry about the effect this could have on reliability.

Networking

Gigabit Ethernet.

VDU, keyboard and mouse

I will re-use my existing monitor, keyboard and mouse.

Software

The less crapware pre-installed with the OS the better.

Warranty

The longer and more comprehensive the better.

Manufacturer

I have neither the time, the inclination nor the aptitude to build a PC myself. So I will be looking for a UK company that can build a PC close to the above spec. I had a terrible experience trying to buy a media PC from gamingpc-guys.co.uk earlier this year (I had to do a chargeback to get my money back when neither PC or refund had appeared after a month), so I certainly won’t be approaching them. Thankfully they seem to have gone out of business anyway. Given the problems I have had with the current Dell and the ludicrous cost of Dell replacement parts, I won’t be going for Dell again either. UK PC manufacturers that regularly do well in PC Pro tests include:

So I will be investigating how close a system they can provide me to the above spec and for what price. Interestingly all these custom PC companies seem to have products aimed very much at gamers, not developers. Given that there are a lot of developers in the UK that seems surprising. I guess most developers get their PC bought for them by IT departments and don’t have the luxury of a custom built PC. I think these companies are missing a trick by not having a PC aimed at developers amongst their base specs.

If you had roughly £1000/$1700 to spend on a development machine, what would you choose differently from the above and why?

Problem exists between keyboard and chair

I like my customers. As well paying my salary, many of them have been incredibly helpful in tracking down bugs, suggesting improvements, giving me testimonials and recommending my event seating planner to other people. But every so often somebody buys my software and I really wish they hadn’t. They just don’t have the skills or attitude that is going to result in a happy relationship between me, my product and them.

It isn’t just me. Everyone who does software support has a few ‘war stories’ about crazy things their customers have said or done. I have collected a few of them here for your enjoyment. I hope they will also be educational to those considering selling software or (horror of horrors) working full-time in support. If nothing else, they might make you feel a bit more sympathetic to the person at the other end of the phone next time you have to email or phone someone in support. They come from the ASP forums and various microISVs of my acquaintance and are reprinted with permission. For obvious reasons the authors are anonymous.

Of course, we shouldn’t  feel too superior. Many (if not most) user errors could be avoid by better design and we’ve probably all done stupid things in areas outside our fields of expertise. But sometime the problem really does exist between keyboard and chair.

The litigious

A couple of weeks ago, we had one guy who threatened to sue us because he received a “second hand” CD from us. Turned out he installed our software from the CD and assumed that our included demo database was data from a previous customer.

The quart in a pint pot

Many years ago, back in the days before Hard Drives I spent some time on the phone with a chap who couldn’t get our software loaded. Eventually he issued the words “I had problems getting the disk into the machine in the first place, could that have something to do with it?” I tried to expand on this a little. He eventually said “The disk was too big, so I had to fold it in half”. He’d bought the 5.25″ floppy version and tried to fit it in a 3.5″ slot!!!

The dabbler

My favourite was the user who emailed me saying he’d tried every setting in the options dialog and the software wouldn’t work. I gave him instructions on how to set the options back to the defaults at which he mailed back saying it was now working.

The literalist

I told a customer to right-click on the desktop. I hear scribbling, then he says “I wrote it. Now what?”.

The shiftless

I spent time trying to figure out why someone couldn’t load our software. It was a CP/M based machine. I can’t remember the exact command now, but the instructions showed that to start the software you had to put the disk in the machine and type run “appname” then press enter. The customer on the phone kept getting some error saying file not found or something similar. I couldn’t figure out what was wrong. I’d got her to do a dir and the file was listed as on the disk. We’d scanned the disk for errors, no errors. Finally I had her read back to me what was on the screen. She said “run 2 appname 2″. Finally it clicked that she had no idea that she needed to press the shift key to get the quote character and she was just pressing the “2″ key (UK keyboard). To be fair the application she was trying to run was a typing tutor.

The vague

Your program doesn’t work. Where do I have to click?

The misdirected

Someone calls for tech support. They tell me what they are tying to do. I tell them how to do it. They tell me either the steps I give them don’t exist or don’t work. Turns out, they arent using my software, they bought a different product.

The hasty

A customer told me that he had spent 8 hours on a task. What he had done was pretty bizarre, completely missing the entire point of the software. I gently point out that he could have done it in 10 minutes if he had spent 10 minutes reading the tutorial. He told me “I didn’t have the time to read the tutorial”.

The beyond help

My favorite of all time is a user who insisted that my app’s Options screen didn’t work.  He said he kept clicking on check-boxes and buttons but that nothing happened.  I had him reboot just to make sure there wasn’t a problem with Windows at the moment and he did so with the same complaint. Finally, while on the phone, I discovered he was clicking on the screen shot in the help file.  When I explained that images in help files aren’t the same as the application screens themselves he insisted that this was confusing and that I needed to put a large, bold notice below the picture in the help file explaining that the picture above was just a picture.

The blonde

I know im BLONDE trust me!! How the hell do I “DOWNLOAD & INSTALL XXXX”??? All I would truely would is my statement, Is that to hard to ask HELP? Im not the computer buffin. Got any suggestions to help blondie? I would be grateful.
XXXX

The irrelevant

Subject:
for father mobil problam
Message:
sir my father name is XXXX XXXX XXXX  live in india State is Rajasthan my Distt. is bharatpur and address is XXXX XXXX XXXX my father Mobil numbir is not work please help me.

The paranoid

tHIS IS THE  R EAL XXXX. WE HAVE REAL PROBLEMS…. iHAVE IDENITY THEIF GOIN ON AND YOUR FREE DOWNLOAD IS GETTIN SOMEONE INTO MY FILES AND COMPUTER AND THEY ARE SEEING ALL MY INFORMATION… tHIS HAS TO STOP. tHANKS XXXX LET ME KNOW I HAVE PEOPLE WORKING ON THIS ALREADY.

The clueless

There was this lady who had bought a license but could not enter it in the program. I politely responded and tried to guide her to the dialog where to enter it. Btw. this was all in the early days, I didn’t have canned responses yet, I didn’t have ready made screenshots yet, I think there wasn’t even a help file yet. Every day, for 10 days, she responded that she could not find it. I tried everything possible to politely explain it to her, also with screenshots. Her tone was getting nastier with the day, pointing out writing mistakes (UK “s” vs “USA “z”) etc. and claiming she “knew” computers as she had entered data for 40 years. Every day I digged deeper trying to figure this one out. The 10th day she explained that she had entered it in Windows Word, NotePad, Windows Run, and whatever else she could type the code in … yet *nothing had happened* that would rescue her CD data.

Turned out that she had not even installed the software yet. She fell from the sky when I told her to download and install the software first, THEN try to enter the code in the program.

The super signature

Subject:
the software did not work

Body:
Eschew cruelty. It is not only unkind, but unwise to start the spiraling decent that will lead to all parties falling to a lower level!.

Pray, for Obama, Psalm 109:8  “LET HIS DAYS BE FEW; AND LET ANOTHER TAKE HIS PLACE OF LEADERSHIP.”

What does the Lord require of you? To act justly, to love mercy, And to walk humbly with your God. (Micah 6:8)
[URL removed]
or e-smoke supplies at  [URL removed]
Never be arrogant.

[URL removed]

Whiskey makes you think you’re smarter than you are.

Always, always make sure you know who has the power.

Don’t mess with old men, they didn’t get old by being stupid.

The rambling

yes i’ve got to question the true & honest nature which encompasses your company as well as your free downloadeable software. it’s always been my personal experience when something “seems to good to be true”, more often than not it generally is. being a victim of a scam or two on & offline i’d be a complete idiot,  more honestly in laymans terms, that’s just “stupid”. i question everything, good, bad, or indifferent. point!, blank!, period!. so my bottom line question for whomever receives this msg. & responds is this; how do i know this isn’t another one of the 1,000s of  con/scam artists online waiting to take advantage of ignorant, naive people with the mind set of ” sure, why not? as long as it’s free,” type attitude to come along & with one click of a button fall prey just like i did years ago?  i learned real fast if i was going to continue surfing the net as such, i had alot of work/learning to do. as a result, i  became a vessel for stockpiling any/all information. i still look for the catch behind all FREE DOWNLOAD”, “JUST CLICK HERE & IT WILL TAKE CARE OF ANYTHING ELSE”, due to my lack of knowledge surrounding the internet & all the evil, dishonest, “i’m too lazy to get a real job & make an honest living”, “why work for someone else when i can be my own boss & constantly take advantage of all these stupid people?”. damn this is the life. inflate the truth a bit here & there;& wait,wait,& wait. hell, this is just like fishing. i’ve got my bait, my line,pole,&all the time it takes for someone to take hold of my hook, i so easily cast out there,. hell the hard parts over”_ now the easy part, slowly yet carefully reel them in,hence mission accomplished. ironically, they never added illegal activity & a jail /prison sentence into their day of fishing., but i digress &please respond as soon as possible. if nothing else, you’ve definitly sparked my curiousty. be advised in the event your response is filled with big $.50 words dressed in a blanket of bullshit you will be eventually facing several fraudulent type charges, a long time behind bars, not to mention a victiim of your own circumstance.

never again,

XXXX

If that isn’t enough check out Nico Westerdale growing increasingly exasperated by people confusing his magnifying glass application with the built in one on Windows (I’m not sure how many of the comments are other developers having a bit fun at Nico’s expense).

Thank you to everyone that contributed. Please feel free to add your own stories in the comments. If you are worried about the comments not being anonymous enough you can email them to me and I will post them for you.

10 things non-technical users don’t understand about your software

If you are writing consumer software you have to understand that you and your average user have a very different level of understanding of computers. When you first start doing support it can be a shock to realize just how vast this gulf is. It doesn’t mean that your users are stupid, just that they haven’t spent the thousands of hours in front of a computer that you have. Below I have summarized a few of the things I have come to understand about non-techies through answering thousands of support requests relating to my own table planning software.

1. Copy and paste

It is very clear from many support emails I have received that users will often re-type a licence key emailed to them because they don’t know how to (or even that they can) copy and paste text. Yes, really. You can mitigate this to some extent by including instructions on how to copy and paste where relevant and making licence keys easy to type (short and without ambiguous characters, e.g. ’0′ and ‘o’).

2. The difference between web and native applications

Many users are used to web applications and don’t understand that they need to download and install new versions of desktop software to get access to the features in a new version. You can avoid this by automating the update process, but this can be pretty catastrophic if you get it wrong.

3. Data storage

Many users don’t understand how or where data is stored or even that it is separate from the application. They don’t understand that some data is stored on their local harddisk and some is stored ‘in the cloud’. And they don’t understand the difference between storage in a file, a database or the Windows registry. Consequently, when they install a desktop app on a new machine they are often surprised that it can’t automatically access the documents they created on a previous machine. So it is worth having something in your FAQ about moving from one machine to another.

Given that users don’t understand the basics of data storage it should come as no surprise that they also don’t understand the concept of file formats either. For example when told to ‘save a .xlsx file as a .csv file’ some users will simply change the file extension from .xlsx to .csv and be surprised when the resultant .csv file is gibberish when they open it in Excel. You can try to avoid this by providing clear step-by-step instructions on how to save a .xlsx file as a .csv file.

4. The jargon you use

Using terms that your users don’t understand can be very off-putting. For example, non-techies have no idea what a “dialog” is, let alone a “modal dialog”. Just call it a “window”.

5. Right click

Some users have not discovered (or will not think to try) clicking the right mouse button. You should therefore never put something only in a right click menu or anywhere else that it can’t easily be discovered.

6. Concurrency

Some applications can handle concurrent access (e.g. client-server and web-based apps) others can’t (e.g. most desktop apps). But many users assume that all software can be safely used by multiple concurrent users. If your software can’t it might be worth spelling this out in your marketing so as not to raise false expectations.

7. What changes can be reversed

Techies are happy to play with software to see what it does. They aren’t usually too worried about trying things because they can rely on some combination to undo, version control and backups to reverse most changes and they can usually judge when a change won’t be reversible. Non-technical users aren’t so confident and won’t try things in the same way. In fact some of them seem to think that a wrong move could cause the computer to burst into flames. So try to stick to conventions they will understand (e.g. on Windows those used by MS Office and Outlook) and offer step-by-step guidance for complex tasks.

8. The need for backups

Every few days I get an email from someone who has lost all their data because they had a major hardware problem and no backups on a separate device. Sometimes this is because they don’t even realize the data is stored on their computer. You can mention the need for back-ups in your documentation and/or in the software, but it is unlikely to make much difference. History shows that this is a lesson most people have to learn the hard way (techies included). Mentioning it doesn’t hurt though and it might help to defuse an angry users if you point it out to them after the event.

9. That they should read the documentation

People are using your software because they have things to do. Like it or not, your beloved software is just a means to that end. Although some users will read documentation, most consider it a waste of their precious time. In fact, support emails I receive provide incontrovertible evidence that some users won’t even read a single sentence of text in an error message explaining what the problem is. This means you need to write clear and concise documentation, but you also should develop your software under the assumption that most users won’t read it. That is where usability testing comes in.

10. Problem exists between keyboard and chair

Unskilled users often don’t realize how unskilled they are. Consequently they may blame your software for problems that are of their own making. One just has to be as polite as possible in such cases. Making your customer feel stupid is never great for business. If it is clear that the customer doesn’t have a sufficient level of skill to use your software, you should politely suggest that it “obviously isn’t ideal for their requirements” and offer to refund them. However, if several people have the same problem then you need to change your product to be a better fit for your users (changing your users to be a better fit to your software unfortunately not being an option for most of us).

Have you been caught out by assuming technical knowlege that your users don’t have? If so, please leave a comment below.

Selling your software in China

how to sell software in chinaI think a lot of people in the software business are wondering whether China will soon become a significant market for software and/or a source of competition in existing markets. So I was very interested to read a forum post about the realities of selling software in China from Felipe Albertao, an ex-Silicon Valley software engineer currently living in China. He kindly agreed to expand his forum post into an article for this blog.

Disclaimer: Although I live in China, I absolutely do not claim to be a China expert. I accepted Andy’s kind invitation because I have not seen anything at all written about the business of software in China for microISVs, and I humbly hope it will positively contribute to the discussion. This article is mainly based on my observations, and not on proven techniques. Use them at your own risk, and please report back your own findings!

Getting Paid

The first thing I need to say, right off the bat: Chinese users will not buy your software. Period. That does not mean that there is no money to be made, it simply means that they will not pay for your software license. The reasons are many, but for the sake of conciseness let’s suspend our “piracy is bad” mindset, and simply accept this fact as a reality. Think of the positive side: no payment processors or merchant accounts to worry about!

Chinese users will not buy your software, but Chinese companies might. Actually, let me clarify that: They will not buy the software license alone, but they are willing to pay for the license if it is part of a package that includes services (customization, installation, support, training, etc…). So, to get paid in China, you must offer services connected to your software. Of course, it would be very hard for westerners who do not speak the language nor have contacts in China to provide such services, but there are opportunities to partner with local independent professionals or small businesses in your target industry. More on that later.

Education is a huge business in China, especially for skills that give them a professional lead, like English language or IT. So, if you can somehow “plug-in” your software to an education-related service, that would also be another way to make money. For example, if you offer a component for ASP.NET, why not offer training on ASP.NET itself using your software? I am sure they will not pay for a self-paced course, but there is a good chance they will pay if you offer a hands-on remote live course. That is, a service rendered by a human, as there is no value perceived in the standalone immaterial software itself. Of course there is huge local competition, but one thing we have going for us is the fact that westerners enjoy a high degree of trust among Chinese people.

I suspect SAAS may be another way that Chinese users will pay for software (with a big question mark here). For example, today they do pay for services like site hosting, advertising and e-commerce presence, so we can assume there is at least a perceived value in subscription-based intangible products, though only the ones provided by well-known established companies, and not independent vendors. However, as the marketplace gets more fragmented and niche-oriented, I believe there will be opportunities for small players as well.

Web Site and Software Translation

Young Chinese people normally have a good grasp of written English, so I don’t think translation of the software itself is essential, although it always helps. IT professionals tend to be more English-proficient, as well as undergrad-level students. However, I do believe that the documentation must be translated, especially with IT-related software. Differently than western users, Chinese people actually have enough attention-span to thoroughly read a manual, and I have seen English-proficient programmers choosing frameworks and components based not only on the quality of the software itself, but whether the manual is in Mandarin Chinese or not (it’s always easier for them to read Chinese). So, translation here is not really a necessity, but a promotional strategy.

The “larger attention-span” assessment is also valid for the web site. We are used to the Web-2.0-ish recipe of a catchy one-liner plus 3 benefits and the big “Buy” orange button, and in China that probably works too, but users expect much more than that. I have observed that paid services almost always include some kind of workflow with arrows and circles and boxes explaining how the service works. Long explanations (not just a FAQ) are also quite common, and people actually read them! The fact is that here in China there is no such thing as “money back guarantee”, so people and companies normally think a lot before putting their hard-earned money into something. And forget the big “Buy” orange button: Instead, the call-to-action should be “Free Download” or “Free Sign Up”.

Sales

You are now probably asking yourself “Then where does the big ‘Buy’ orange button go?”, and the answer is: nowhere on your site! One fact you should be aware of is that here in China nothing happens without an established relationship (Google the keyword “guanxi” for more information). It is very unlikely that you will get any paid conversions originating from an ad or email. The goal of your conversion funnel should not be “sales” but instead “relationships”. Then, from the established relationship, the user can recommend your software to their boss, or whoever is the actual buyer. Of course the sales cycle is longer and it requires much more effort, but the rewards may be bigger too as you will be selling a package, and not only the license. Also, since guanxi is such an important part of making business, Chinese people are quite receptive when approached with a business proposition, differently than in the west where sales are normally met with resistance.

However, note that I have not suggested that you should be the one personally cultivating those relationships. Maybe it is possible to do it remotely and in English, but it would be more effective if you partner with locals and funnel the leads to them. They do not need to be sales professionals per se, but they need to know your software and be able to help prospects. They could be software students for example. Of course, at some point you must get involved, but your partner can help you to filter the good leads as they cultivate the relationship. The reward for them could be payment per hour or a percentage of the sale. Students might also be eager to help a foreign company, so they can add that experience to their resumes.

A word about consumer-oriented microISVs: I am extremely skeptical about independent microISV B2C sales in China, because I honestly cannot imagine an individual paying for independent software. That does not mean that microISV B2C cannot succeed in China. My point is that B2C sales are in fact B2B, because businesses who deal with consumers are more likely to pay. And B2B requires guanxi.

Approaching bloggers

As in the west, approaching bloggers is probably the most effective way to let users know about your product. You can use Google Translate to find sites and bloggers that you would like to contact: Google Translate does a good job in translating keywords (that you can use on searches on Baidu) as well as entire pages (so you can read the blog posts). For IT-related blogs, cnblogs.com (Microsoft-focused) and javaeye.com (you guessed correctly) are the most popular ones.

You can contact the bloggers directly in English, as most young Chinese people have a good grasp of written English. Foreigners in China are well-respected, especially in the IT industry, so this is a point in our favor.

Dealing with piracy

Actually “Dealing with piracy” is a misleading title, because in reality there is no way to deal with piracy. People will crack, copy and use your software as they wish, and they will not even feel guilty about it. Again, let’s not judge, but accept the fact that piracy is simply part of the culture (for some it is piracy, for others it is just sharing)

Instead of talking about code scramblers and licensing keys, let me offer here a contrarian (perhaps even controversial) point of view, in the wisdom of “if you can’t fight them, join them”. You should consider yourself lucky if your software gets pirated, because that means that it got traction. For every pirated software there is always a happy user behind it (after all, they chose to pirate your software, and not your competitor’s), and if this user convinces their employer to use your software, then there is a good chance that these companies will be your future clients.

SEM / SEO

By no means am I an SEO expert, let alone a China SEO expert. However, I can tell a little about the users’ search behaviors: Non-technical users very rarely use Google. In fact, my observation is that while Google is a somewhat known brand, people first turn to Baidu hands-down. Baidu has the best search results in Mandarin Chinese, and they have a service similar to AdWords (though you might need help to set-up an account, as the interface has not been translated to English)

Technical users have a different behavior: These are IT professionals and students, and because English is so pervasive in IT, they normally do have a good grasp of the language. So, for technical searches they might use both Mandarin and English keywords, but still Baidu is their first choice. However, interestingly enough, Gmail is also quite popular among Chinese techies. So, if you are selling IT-related software, your SEM/SEO strategy should include keywords in both Mandarin and English, and include both Baidu and Google (or more specifically, AdWords targeting Gmail).

Face

I cannot finish this article without mentioning such important part of the culture: Face. There is not enough space here to explain the concept (Google “mianzi” for more information), but it’s suffice to say that it’s basically the same as in the west (face as in reputation), except that in China face is much more important.

When it comes to software, always keep in mind that most (if not all) decisions are made based on face: Users will use your software to be more efficient in a certain job, and thus look better to the boss; or to show that they have knowledge that other colleagues don’t have; or to show to their clients what cool software they have, and not their competitor. The contrary (that is avoiding face lost) is also true: To finish a job quickly so they can deliver the project on time, and thus avoid getting the boss mad; or to learn a new skill that their colleagues already have; or to show their clients that they also have the same cool software their competitors use. In the west we also make decisions based on face, but in China it is so much more prevalent. Keep that in mind when creating your promotional material.

Conclusion

I have no doubts that China will become a major technology consumer in the very near future, not only because of the sheer size of its Internet user base (which today surpasses the size of the entire US population), but also due to the number of high-quality IT professionals graduating at their universities.

The key message I want to communicate is that your China strategy should be a long-term one. It takes time and effort, but the rewards are worthwhile. Even if you conclude that there are no opportunities to be pursued, at the very least you should have a strategy to protect your marketshare against competitors that decide to go to China.

You don’t necessarily need to be so enthusiastic like me and move to China (although I guarantee you would have an experience of a lifetime!), but at the same time you cannot simply ignore it. Chinese users will certainly knock on your door, and you can even ignore them, but your competitors won’t.

Felipe Albertao is a software engineer with more than 15 years of experience, and has been living in China since June 2009. He is a native from São Paulo, Brazil, and lived in Silicon Valley, USA for 8 years. Felipe blogs about software and China at shanzhaier.com.

Lessons learned from 13 failed software products

“No physician is really good before he has killed one or two patients.” – Proverb

Software entrepreneur culture is full of stories of the products that succeeded. But what about the products that failed? We rarely hear much about them. This can lead to a very skewed perspective on what works and what doesn’t (survivor bias). But I believe that failure can teach us as much as success. So I asked other software entrepreneurs to share their stories of failure in the hope that we might save others from making the same mistakes. To my surprise I got 12 excellent responses, which I include below along with one of my own. It is a small sample and biased by self selection, but I think it contains a lot of useful insights. It is an unashamedly a long post, as I didn’t want to lose any of these insights by editing it down.

Case #1: DRAMA

Contributor

Andy Brice.

The product

DRAMA (Design RAtionale MAnagement) was a commercialization of a University prototype for recording the decision-making process during the design of complex and long-lived artefacts, for example nuclear reactors and chemical plants. By recording it in a structured database this information would still be available long after the original engineers had forgotten it, retired or been run over by buses. This information was believed to be incredibly valuable to later maintainers of the system, engineers creating similar designs and industry regulators. The development was part funded by 4 big process engineering companies.

Why it was judged a commercial failure

Everyone told us what a great idea it was, but no-one bought it. despite some early funding from some big process engineering companies, none of them put it into use properly and we never sold any licences to anyone else.

What went wrong

  • Lack of support from the people who would actually have to use it. There are lots of social factors that work against engineers wanting to record their design rationale, including:
    • The person taking the time to record the rationale probably isn’t the person getting the benefit from it.
    • Extra work for people who are already under a lot of time pressure.
    • It might make it easier for others to question decisions and hold companies and engineers accountable for mistakes.
    • Engineers may see giving away this knowledge as undermining their job security.
  • Problems integrating with the other software tools that engineers spend most of their time in (e.g. CAD packages). This would probably be easier with modern web-based technology.
  • It is difficult to capture the subtleties of the design process in a structured form.
  • A bad hire. If you hire the wrong person, you should face up to it and get rid of them. Rather than keep moving them around in a vain attempt to find something they are good at.
  • We took a phased approach, starting with a single-user proof of concept and then creating a client-server version. In hindsight it should have been obvious that not enough people were actively using the single-user system and we should have killed it then.

Time/money invested

At least 3 man years of work went into this product, with me doing most of it. Thankfully I was a salaried employee. But the lack of success of this product contributed to the demise of the part of the company I was in.

Current product status

The product is long dead.

Any regrets?

It was a fairly painful experience. I would rather have spent all that money, time and energy on something that someone actually used. But at least I learnt some expensive lessons without using my own money.

Lessons learned

  • Creating a new market is difficult and risky.
  • Changing people’s working habits is hard.
  • Social factors can make or break a product. The end-users didn’t see anything in it for them.
  • If the end-users don’t like a product, they will find a way not to use it, even if their bosses appear to be enthusiastic about it.
  • Talk is cheap. Lots of people telling you how great your product is doesn’t mean much. You only really find out if your product is commercially viable when you start asking people to buy it.

Case #2: CleanChief

Contributor

Sam Howley.

The product

CleanChief was to be ‘The easy management solution for cleaning organisations’. Managing assets, employee schedules, ordering supplies, you name it CleanChief handled it. Essentially it was light weight accounting software for cleaning companies.

Why it was judged a commercial failure

A small number of copies were sold. No one is actively using it at present. Once I realised that it wasn’t a complete product and that additional development was required I moved on to other product ideas. I had basically run out of enthusiasm for the product.

What went wrong

  • I am not an accountant.
  • I have never run a cleaning company.
  • I developed it for more than two years without getting feedback from real cleaning companies. I was arrogant enough to think that I knew what they wanted (or could work it out on my own). Or maybe it was that I was just where I was most happy and comfortable – writing software. Talking to real users was new and to be honest a bit scary for me.
  • A successful cleaning company operator, a friend of a friend, offered to become involved for a 30% share. This was a gift from the heavens, exactly what I needed. I refused.
  • In a way, even though I spent so long on the product, I gave in too soon, I was just getting feedback from real users, just getting my first batch of sales when I decided to move on.
  • I developed the application in VB6 even though I knew it was outdated technology when I started the project.This meant there was no ‘cool factor’ when discussing it with other developers, I told myself it didn’t bother me, but it probably did.

Time/money invested

I worked on it at night and weekends for about 2 1/2 years. I paid for graphic design work, purchased stock icons and images. I probably spent a couple of thousand Australian dollars in total and an awful lot of time.

Current product status

I moved on to other products that have gone much better. My newer products were released in months rather than years and I looked for real feedback from real users from day one. they are:

I do occasionally ponder returning to CleanChief and trying to raise it from the ashes.

Any regrets?

No. Looking back I learned a few lessons from a huge amount of time and work, it was a very inefficient way to learn those lessons. But when you are new to something like starting a business or creating useful software being inefficient at learning lessons is the best you can do, it’s a thousand times better than not learning lessons at all.

I learned so much more in my two and a half years of trying to develop CleanChief than I did in the two and a half years prior to that, during which time I really wanted to start a software business but didn’t take any action.

Lessons learned

Hearing or reading some piece of advice is totally different to living it. Here are some of the ideas that I always agreed were true but didn’t fully understand the implications of until I had lived them out:

  • Force yourself to get out and talk to people. Ask their advice. Almost everyone will help if you ask them for feedback.
  • Force yourself to cold call a few businesses in your target market.
  • Create a plan of how to market your product.
  • Try and use your product as much as possible as you build it.
  • Get out of your comfort zone from day one
  • Do not have the mind set that the day you release version 1.0 is the finish line, it’s the starting line, so hurry up and get there.

Case #3: Chimsoft

Contributor

Phil Anderson.

The product

ChimSoft – Software for Chimney Sweeps.

Why it was judged a commercial failure

I believe this failed for two reasons:

  • Focusing on too small of a niche
  • Me not being able to work full time on it.

I don’t consider it a complete failure because I sold two copies when it retailed for $2k, and maybe 10-15 more copies when I lowered the price to $200. Those sales proved that I wasn’t completely off base in thinking there was a market for the software, but the cost of customer acquisition and the size of the market were too small. Customers wanted to have a bunch of phone calls, face-to-face etc… the type of stuff you only see with much more expensive software. The problem was that for a niche this small we had to charge a lot of money to make it worthwhile for us, but the customers were small businesses where this is a major investment, so the fit was never right. The other issue was the people that did buy it were not super tech savvy, so there was a high cost of support that made even a $200 product not worth it.

What went wrong

  • Having all partners who were not full-time, and had equal equity.  I ended up doing most of the work and this is the main reason I didn’t force success is I felt I was in it alone.
  • Focusing on too narrow of a niche.  The plan all along was to expand for all service industries, but it was much harder to make that move than we expected.
  • Not researching pricing more, we knew small businesses made major purchases for things that really helped their business, but I think it would have been better to have a cheaper product with wider appeal than an expensive product with narrow appeal.

Time/money invested

I invested maybe a year of time and $3k into the company. I did not take any huge risks on it, so there were no big negative outcomes.

Current product status

The company folded in 2007, I refocused my efforts on my existing companies (AUsedCar.com and BudgetSimple.com) and both have been doing well enough that I quit my day job.

Any regrets?

I don’t regret it entirely, I think I learned several valuable lessons about working with other people, small business sales, trade-shows and software development.

Lessons learned

  • Pick partners wisely. Don’t try to be even-steven with equity. Use restricted stock to ensure everyone does their part.
  • Know what your customers expect (24/7 phone support?) to determine if you can do this while working a day job.

Case #4: PC Desktop Cleaner

Contributor

Javier Rojas Goñi.

The product

PC Desktop Cleaner. Simple software that cleans your desktop and archives your files.

Why it was judged a commercial failure

My goal was to sell 10 units per month. I’ve sold less than 1 unit per month.

What went wrong

  • I think that the product concept is not useful enough. It’s not a thing that people would pay for.
  • The market exists (some people buy) but it’s too little or difficult to reach.
  • I didn’t do any market research. I just got in love with the idea and did it. Later, I’ve learnt to use “lazy instantiation marketing” and have trashed a lot of embryo projects. :-)

Time/money invested

I think I wasted near $500 in development tools and some freelancers. Not too much.

Current product status

I’m still selling it. I’ve thought about others products, but not really decided yet.

Any regrets?

No, it was a lot of fun and I learnt lot of things. In my “day job” I own a small firm that sells software for production scheduling. I’ve learn a lot of SEO and AdWords in the DesktopCleaner project that now I’m using with great results.

Lessons learned

Go for it, maybe you win, maybe you fail, but you will grow and get tons of useful knowledge on the way.

Case #5: Smart Diary Suite

Contributor

Dennis Volodomanov.

The product

Smart Diary Suite.

Why it was judged a commercial failure

It sells and the profits cover current investments in the product, but there is little left over on top of that.

What went wrong

If I had a chance to do anything differently:

  • Take it seriously from day one.
  • Never stop developing and supporting.
  • Invest as much as possible in marketing early on.
  • Don’t stop believing in your creation.

Time/money invested

Up to this point, I have spent 13 years on Smart Diary Suite and a lot of money went into buying hardware, software, hosting, marketing, etc… All of that money came from my day job, but at this point SDS has recovered all of that back and is now making a small profit. The actual amount is hard to calculate (over the 13 year span), but we would be talking in tens of thousands of US dollars.

Current product status

For a while it may have seemed like SDS is not going to be successful, but that’s probably my fault – I stopped believing for a little while. Now I am back, starting again and this time I’ll make sure it doesn’t fail.

Any regrets?

I do not regret doing it. I regret allowing myself to stop working on it, basically bailing out on it for a while – that is my biggest mistake.

Lessons learned

If you want a successful product – believe in it and let others know that you believe in it.

Case #6: Highlighter

Contributor

Mike Sutton.

The product

Highlighter. A utility to print neatly formatted, syntax highlighted source code listings.

Why it was judged a commercial failure

I earnt a grand total of £442.52 (about $700 in todays money) in just over two years, so I guess it paid for itself if you exclude my time.

What went wrong

Since it was my first product and I was very green about both marketing and product development. I would suggest the following would have made things better:

  • Get feedback from potential users about the product (eg from the ASP forums). Some parts of the program where probably too option heavy and geeky.
  • Diversify. If people didn’t want to print fancy listings, maybe they would have wanted them formatted in HTML.
  • Better marketing. I’m not sure this would have saved it, but all I knew in those days was uploading to shareware sites. I never even sent a press release.

I figure it failed simply because it was a product nobody wanted. Actually, more importantly than that,, it was a product *I* didn’t want to use, but it developed from a larger product I was working on, on the assumption I could earn some money on the side from part of the code.  Since then I’ve stuck to products which I’ve actually wanted to use myself. There’s a lot to be said for dogfooding, not just for debugging, but for knowing where the pain points are and what extra features could be added.

Time/money invested

I would guess a couple of months of evening/weekend development time. Financially there was little spent, except that I offered the option of a printed manual and CD for an extra charge. One customer took me up on the offer, so I had to get 100 manuals printed and 99 of them went in the bin.

Current product status

I moved on to another product which has sold over £50,000 and a third which has earnt even more than that. Not enough to retire on but considering I only do this part time it must work out at a great hourly rate. There’s a lot to be said for not giving up…

Any regrets?

Nope. I figure every failure in life teaches you valuable lessons. Of course if I’d made a large financial investment I may feel differently, but that’s one of the big advantages of software over physical product sales.

Lessons learned

Just to reiterate – develop something which you find useful, instead of second guessing others.

Case #7: R10Clean

Contributor

Steve Cholerton.

The product

R10Clean. A data cleaning and manipulation tool.

Why it was judged a commercial failure

In the 18 months or so it’s been on the market I have sold 6. It has been £199, £99 and £19 – with no effect on sales !

What went wrong

Not sure what I did wrong ?  The product is maybe too techie ?

Time/money invested

No effect financially as at the time I was in a strong financial position.

Current product status

I still have it for sale but do not market it at all. I have other products.

Any regrets?

I don’t regret it as it saved me a ton of time when I was working with legacy databases a lot, as a commercial product it has been raved about (once!) and received a good review from the Kleper report, but has failed totally.

Lessons learned

Advice to others ?  Just because you need it personally, don’t assume the rest of the world does too. :-)

Case #8: nBinder

Contributor

Boghiu Andrei.

The product

nBinder, packs multiple files into a stand alone executable with over 50 advanced output and file unpack options, conditional run and commands.

Why it was judged a commercial failure

It was the first product I began selling. It sold to 300+ customers in 4 years. But for about a year the sales began to go down and have finally stopped completely.

What went wrong

  • The biggest problem was that because it was a packer intended for people that wanted to pack their products (software or games) into a single package (compressed and encrypted) many have used it for creating malware by binding malware files to legit files and then distributing the output so it isn’t detected by antivrus software (although it would be detected at runtime). Because of this I had lots of problems with antivirus companies that flagged files create with nBinder as malware. This was of course affecting legit users as their files would be falsely marked as malware. I used virustotal.com to see which antivirus detected it and contacted the antivirus manufacturer as soon as I detected the problem. In most cases they would remove it from their definitions. But it was an uphill battle because it would appear again in a matter of weeks. Some small AV companies didn’t event bother to reply to my emails to fix the problem. Others were using heuristics to flag files create with my applications and AV developers were reluctant to whitelist files created with nBinder. You can imagine it that it was enough for an AV such as Kaspersky or Norton to pick my files as malware for a day and customers would be affected and not use my product any more, especially that it took about 3 days for AVs to remove the false positive.
  • Infrequent updates. Due to lack of time I only updated the product once or twice a year and this affected the product a lot.
  • No marketing. I decided that I didn’t want to invest money in marketing so, except for a short AdWords campaign, I invested no money in marketing.
  • My decision to develop 3 products instead of concentrating on one or two affected development time and quality. I have worked on 3 products simultaneously instead of concentrating on making a single good one. The reason I worked on 3 is because I enjoyed developing different software in different categories. I didn’t start this for money but for the fun of development.

Time/money invested

I invested almost no money (except for hosting costs). Time invested I can’t really say exactly, but not too much as I only worked on nBinder in short bursts like 6 hours a day for a week or so before releases.

Current product status

Still for sale. My other products are:

Any regrets?

It’s not a total failure as I did make some money out of it with no investment, so I don’t regret starting it, but it could have been much better.

Lessons learned

Words of advice for others trying to make money from software development:

  • Study the market and the current trends very well.
  • Before deciding to take on large competition make sure you have something better (at least from one point of view) than the competition ( for example you might not have the same features but you have a better GUI and general presentation).
  • Do not get scared of an overly populated market segment. For example with nBinder I picked a segment with very little competition but also few possible users and the results were not so great (I didn’t have many users). With nCleaner I went head-to-head with lots of already established products but also the market is very big. Although nCleaner is free it has had the most success because there are so many potential users (anyone with a PC actually), so it had over 2 millions downloads and I still receive lots of mails regarding it, even if the last update was in 2007. So it is possible to have success in a market with lots of competition with no investment but it’s hard to reach the level of more established products.

Case #9: Net-Herald

Contributor

Torsten Uhlmann.

The product

Net-Herald – a monitoring application for water supply companies. It was a complex client server application that would receive monitoring data from specialized hardware and store that data inside a SQL database.  The client displays that data in different graphs, provides printable reports or sends alarm messages via SMS if a monitored value is not within its specified limits.

I developed Net-Herald as a perfect fit for that specialized hardware that is provided by a local manufacturer. That way, so I hoped, I could profit from their sales leads and would find a smoother way into these water supply companies. The downside of course, was that my software would only work with their hardware.

Why it was judged a commercial failure

I sold a first license fairly soon after I had a sellable product, although it took the customer nearly a year until they finally bought. But since then I sold only one more license within the last 4 years or so.

What went wrong

  • I didn’t do my own marketing and the hardware guys weren’t really concerned with selling my software.
  • Water management companies have a terribly long sales cycle. Other vendors monitoring applications usually cost tens of thousands and are geared toward large suppliers. Whenever a supplier buys into such a product he is unlikely to change within the next decade or more. I tried to position my software towards small suppliers but even then most of them were already locked into another vendor’s solution.
  • My software only worked with a specific hardware. That narrowed the marked down substantially.
  • In the end the software became too complex for one poor mortal to maintain. Because the software didn’t produce any substantial income I had to stop adding new features which would make it attractive for more prospective clients.
  • This kind of software is not sold over the Internet. Rather it needs very active sales people that nurture clients over a rather long period of time.
  • All these facts indicate that software like this should not be developed by a one man show.

Time/money invested

The development time for the first sellable version was maybe about 9 months. I didn’t have a job income at that time, but got funding due to government support for small start-up businesses. So I didn’t drain our family’s personal finances. But I did of course invest a great deal of time and sweat.

Current product status

Now, I have drawn a line and stopped active development of Net-Herald. I still do some custom extensions for my first clients. But I no longer market the software. I have instead focused on my consulting services. I also try to learn developing and selling software with my cross-platform drag and drop product Simidude.

Any regrets?

I didn’t succeed yet selling my own software (which is still my goal) but I do not regret doing it. I developed Net-Herald using (Java) technologies that now give me leverage at my consulting gigs. All in all it was a heavy ride. But it was fun and I would do it again.

Lessons learned

  • My biggest mistake was the lack of market analysis. I trusted the word of the hardware manufacturer without verification.
  • I have written more about the above and some other failures on my blog.

Case #10: HabitShaper

Contributor

Adriano Ferrari.

The product

HabitShaper – set and track daily targets for your goals (weight loss, quit smoking, jogging, writing, etc…).

Why it was judged a commercial failure

I sold a few copies, but not enough to make back the time I invested in it and my conversion numbers and traffic are below average.

What went wrong

  • Did not do enough pre-production research (talking to customers, etc).
  • Did not do a large enough beta to make up for lack of initial research.
  • Ignored gut-feeling that my product is better suited to being web-based and multi-platform (incl. mobile).
  • Did EVERYTHING myself (logo, web design, video, software, AdWords, etc).

Time/money invested

I worked on it two years, part-time, while doing Masters/PhD in Physics. It had no impact on my finances (very little money invested) or circumstances.

Current product status

I am relaunching as a web-based product this summer.

Any regrets?

Not in the least! I learned about as much from making HabitShaper as I have from my MSc thesis and PhD work.

Lessons learned

  • Most important: PAPER prototypes, minimum viable product, and iterate.
  • Don’t be afraid to launch early.
  • Launch a little bigger than you’d expect (it’s harder to find those initial customers than you think).
  • Don’t be afraid to change directions, especially early on.
  • Doing things yourself is a great learning experience, but if you want to get your product out to customers as fast as possible, don’t be afraid to invest money and outsource your weaknesses.

Case #11: BPL

Contributor

Jim Lawless.

The product

BPL – Batch Programming Language Interpreter.

Why it was judged a commercial failure

I sold about 10 copies.

What went wrong

  • I didn’t really do enough research to find out if the target market was in existence. I was hoping that network admins and support staff members would find it easier to use than batch files and less complicated than any of the free scripting language options available. So, I just rushed to get the MVP (Minimum Viable Product) out the door.
  • I never did provide a compiler that would build a stand-alone EXE. I think that might have met with more success.
  • I didn’t do much as far as advertising the existence of the product.

Time/money invested

I only spent a few weeks coding and documenting it in my spare time. Support issues sometimes took a whole evening, but nothing major. It did not have any impact on my finances as I had invested nothing but my time.

Current product status

I will still address support issues with this product for registered users, but I don’t actively sell it. I’ve open-sourced the program and it still really isn’t seeing heavy use.

I was more successful with other products. I have a few retired products that saw some good bulk-purchase deals ( command-line DUN HangUp, command-line scheduler ) and I still sell the following (for Windows):

All of the above still bring in a modest passive income.

Any regrets?

Not at all. “Nothing ventured,…”.

Lessons learned

Had I not attempted to bring the BPL product to life, I might still be sitting here wondering “what if?” I think it was very beneficial for me to invest the time to try out this idea.

Case #12: Anonymous

Contributor

Anonymous.

The product

A time tracker.

Why it was judged a commercial failure

Because it is not my primary income. I have about 150 customers in one year.

What went wrong

  • No marketing.
  • No real thought into features.
  • I don’t spend any time on it.

In my defense, the reason I do not spend much time on it is that the market became saturated with ‘me toos’ right after I released, which was quite expected. In fact, as I was looking for users, I got an email from a competitor suggesting that I don’t enter the market because they are working on the same thing! I don’t know what I would do differently. Maybe spend more time on it? I think the law of diminishing returns applies quite early in this space so I am not sure.

Time/money invested

Since inception (Nov 2008), I’ve spent close to 250 hours total. Total cash outlay was something like $500.

Current product status

I never tried to make it succeed, to be honest. It was only a learning experience for me. What I probably need now is to go all in. Quite frankly, if I double the sales for this product, I can quit all consulting work. But I really do not think it is a good idea to work on this app full time as it is too simple.

Any regrets?

Definitely not.

Lessons learned

  • Do it!
  • Solve a problem people know they have.
  • Don’t invest too much time and money at the beginning.
  • Don’t be wedded to a particular idea.
  • Don’t only listen to your customers. Listen to yourself. After all, you created the idea which attracted the customers.
  • Never promise a feature for a sale. I’ve never done it but the pressure is really great. My stock response is always: “While such a feature may be available in the future, I recommend that you only use current features when deciding on your purchase.”
  • Do use Google to your advantage.

Case #13: ScreenRest

Contributor

Derek Pollard.

The product

ScreenRest - a consumer software product that reminds users to take regular rest breaks while using their computer.

Why it was judged a commercial failure

ScreenRest failed commercially because we built a product without having a clearly defined market.  This was compounded by it offering prevention, not a solution. ScreenRest continues to regularly sell a small number of licences but not in sufficient quantity to justify further enhancements.  The conversion rates are good, but there are simply not enough visitors to the website.

What went wrong

  • Not doing market research first.
  • Creating a prevention rather than solution product – people generally wait until they have a problem and then look for a solution.
  • Creating a product with medical associations – the SEO and PPC competition for related keywords is prohibitive for a product with a low purchase price.

Time/money invested

At least £2000 was spent on the project, including software licences and additional hardware.  The product and website were created over roughly 12 months by myself and my wife Lindsay, some during spare time, then part-time and finally full-time so it is difficult to determine the total number of hours.  Working part-time and then full-time on ScreenRest caused a significant impact on our finances.  Although right from the beginning we saw this as in investment for building a business.

Current product status

Once the product was complete and we started learning SEO it became all too apparent that organic search traffic for related keywords was going to be insufficient.  Research into PPC then revealed that the price point was too low to support purchasing medical terms. Planned features for ScreenRest have been put on hold and no further marketing is planned.  We continue to support new and existing ScreenRest customers and plan to do so for the foreseeable future. Rather than create another software product we chose to use what we had learned about marketing, copywriting and SEO to create a series of websites targeting a range of topics (often known as niche sites).  The most successful of these sites we are expanding in value and functionality to fill gaps not serviced by the competition.

Any regrets?

No.  ScreenRest succeeded in every way intended, other than commercially.  Creating it was a rewarding learning exercise that started us down a path to finding the intersection of our skills, experience and market opportunities.

Lessons learned

  • Start with market research – creating a high-quality product you believe in is not enough on its own.
  • Make sure you can identify a specific target market, that you can reach that market and that it is large enough to support your financial goals.

Conclusion

Analysing the above (admittedly small and self-selected sample) it is clear that by far the commonest cause of failure were:

  • lack of market research
  • lack of marketing

With the benefitof 20/20 hindsight it seems blindingly obvious that we should:

  • spend a few days researching if a product is commercially viable before we spend months or years creating it
  • put considerable effort into letting people know about the products we create

Yet, by my count, a whopping 6 out of 13 of us admitted to failing to do each of these adequately. Probably we were too busy obsessing over the features and technical issues so beloved of developers, which actually contributed to far fewer failures.

It is also noticeable that, despite the failure of these products, there are few regrets. Important lessons were learned and no-one lost their house. Many of us have gone on to develop successful products and the others will be in a much stronger position if they do decide to try again.

A big thank you to everyone who ate a large slice of humble pie and submitted the above. I hope we can prevent other budding software entrepreneurs making the same mistakes. Even if you don’t succeed, you will learn a lot.

Feel free to add your own hard-won lessons from failure in the comments below.

“No physician is really good before he has killed one or two patients.” – Hindu proverb

Social factors can make or break a product.

Unskilled and unaware of it

Unskilled and unaware of itHave you ever noticed that you rarely (if ever) meet someone who admits to having below average driving skills? My Grandfather started driving a car before UK driving tests became compulsory in 1935. So he never had to take a driving test. This was lucky for him, because he was a terrible driver. He would get distracted and cross the line into oncoming traffic, veering back at the last second when his passenger started shouting. He claimed he had never been in accident, but I expect he would have seen quite a few if he had ever thought to look in his mirrors. Few people would accept a lift from him a second time. Even as a young boy, I realised that I was in mortal danger getting into his car. I would make an excuse and make my own way by bicycle. And yet, he considered himself a good driver. After having read the excellent book Bad science by Doctor, journalist and blogger Ben Goldacre, I think I know why.

The book contains this startling graph from the paper ‘Unskilled and Unaware of It: How Difficulties in Recognizing One’s Own Incompetence Lead to Inflated Self-Assessments’ by Kruger and Dunning :

Dunning-KrugerGraphics courtesy of explorativeapproach.com (click to enlarge)

The graph shows how good subjects were at logical reasoning as measured by a test (blue), how good they thought they were  (green) and how well they thought they did at the test (red). Apart from the top quartile, there was actually an inverse relationship between how skilled people thought they were and how skilled they actually were. The study also showed that the least competent individuals were also the least capable at recognizing the skill levels of others. This is the abstract from the paper:

People tend to hold overly favorable views of their abilities in many social and intellectual domains. The authors suggest that this overestimation occurs, in part, because people who are unskilled in these domains suffer a dual burden: Not only do these people reach erroneous conclusions and make unfortunate choices, but their incompetence robs them of the metacognitive ability to realize it. Across 4 studies, the authors found that participants scoring in the bottom quartile on tests of humor, grammar, and logic grossly overestimated their test performance and ability. Although their test scores put them in the 12th percentile, they estimated themselves to be in the 62nd. Several analyses linked this miscalibration to deficits in metacognitive skill, or the capacity to distinguish accuracy from error. Paradoxically, improving the skills of participants, and thus increasing their metacognitive competence, helped them recognize the limitations of their abilities.

Or, more succinctly:

Ignorance more frequently begets confidence than does knowledge. Charles Darwin

The findings fit in with the concept of ‘unconsciously incompetent’ in Maslow’s four stages of learning:

  1. Unconscious Incompetence:  The individual neither understands nor knows how to do something, nor recognizes the deficit, nor has a desire to address it.
  2. Conscious Incompetence:  Though the individual does not understand or know how to do something, he or she does recognize the deficit, without yet addressing it.
  3. Conscious Competence: The individual understands or knows how to do something. However, demonstrating the skill or knowledge requires a great deal of consciousness or concentration.
  4. Unconscious Competence: The individual has had so much practice with a skill that it becomes “second nature” and can be performed easily (often without concentrating too deeply). He or she may or may not be able to teach it to others, depending upon how and when it was learned.

The Dunning-Kruger effect might explain why every crank and barstool scientist appears to think they understand global warming better than the world’s top climate scientists. I am also reminded of my own experiences learning ju-jitsu. After a year or two of training, having reached the exalted rank of green belt, I thought I was pretty good. It was only some years later, as a black belt, that I realised how much I still had to learn.

What has this got to do with software? Well, it might explain some of the very poor website design, GUI design, graphics and copywriting I see from time to time. The perpetrators may be sufficiently unskilled, that they don’t even realise how unskilled they really are. It is a thorny problem. Firstly you don’t realise you have the problem. Secondly, even if someone convinces you to delegate or outsource that type of work, you are unable to accurately assess the work of others. It is particularly worrying for one man software companies (such as myself) who have to perform or oversee a very wide range of  skills including: website design, user interface design, programming, testing, copyrighting, marketing, PR, documentation, support and systems admin.

By the same token,  many customers with poor IT skills might not have any insight into the extent of their deficit. Below are the results of a survey I did with some of my own customers a couple of years ago:

skill survey

Note how skewed the results are and bear in mind that relatively few of my customers are IT professionals. Similarly skewed results were reported recently by Patrick McKenzie in his blog:

Surprisingly many of my customers self-evaluate as comfortable with computers.  50% were “very comfortable”, and 30% were “mostly comfortable”.  These numbers are, candidly speaking, not what I would have assigned on the basis of reading support requests for three years.

I don’t have any easy solutions for this problem. All you can do is:

  • accept that you might not be the best judge of your own competence in all areas
  • actively solicit feedback from your customers and your peers and listen carefully
  • be a bit more tolerant of newb@aol.com when they blame your software for problems arising from their lack of basic IT knowledge
  • console yourself that, whatever your IT shortcomings, at least you are a good driver

5 great ways to waste money in Google Adwords

google adwordsI have looked at quite a few Google Adwords accounts as part of a  1-day consulting package I do for other microISVs and small software vendors. I have also talked to a lot of people at conferences and on forums about Adwords. It clear that a lot of people are wasting a lot of money on Google Adwords, sometimes with really basic mistakes.

For example:

  • paying $1.50 per click to advertise a $20 utility
  • paying $1 per click for an expensive, English language only development tool in some of the poorest, non-English speaking countries in the world.

Ouch.

Below I list 5 great ways to waste money in Adwords. I have seen them far too often. I have considerable admiration for what Google has achieved. But I think Larry and Sergey are probably rich enough already. I would like to see a lot less people throwing money at them and getting nothing useful in return.

1. Don’t use conversion tracking

conversion tracking adwords

With conversion tracking you decide a goal to track (typically a customer buys your software) and put a small script provided by Google on the appropriate page (e.g. the ‘thank you for buying’ page). Google will then use cookie tracking to calculate the cost per conversion for your ads and keywords. It is that simple and you can set it up in a few minutes. I can’t understand why anyone wouldn’t use conversion tracking. With conversion tracking you will soon notice that some ads and keywords convert consistently better than others, often much better. Armed with this information you can optimise Adwords by changing bid prices and deleting under performing ads. Without conversion tracking it is pure guess work.

Conversion tracking isn’t perfect:

  • Adwords cookies time out after 30 days. If someone buys 31 days after they click your ad it won’t be tracked. And the cookie may be pushed out of the cache before 30 days.
  • If someone clicks your ad on one computer and then buys it on another computer (or even using a different browser on the same computer) the conversion won’t be tracked.
  • Some customers may have cookies disabled.

But imperfect data has to be better than no data. Obviously the 30 day limit on cookies is problematic if you are selling software with a sales cycle that is typically 30 days or longer (e.g. software with a 30 day trial). In that case you are probably better off tracking downloads, rather than sales. The fact that someone takes time to download your software, rather than bouncing straight out of your site, at least shows some interest. If you have stats which show your typical download to sale ratio (and you should) you can use this to work out what a download is worth, and set your bid price accordingly.

2. Don’t use negative keywords

adwords negative keywords

My own experiences with Adwords quickly showed me that people will click an ad, even if it isn’t at all relevant to what they are searching for. For example people searching for “747 seating plan” will click on an ad with the title “wedding seating plan”. It is the nature of the web that people are surfing rather than reading, and clicking on an irrelevant ad doesn’t cost them anything. You can avoid a lot of wasted clicks with carefully set-up negative keywords. For example, you can be sure that I have “747″ set up as a negative keyword.

Ways to find negative keywords include:

  • Generating ‘Search Query Performance’ reports from Google Adwords reporting
  • looking through your web logs/analytics for the sort of terms people are typing into search engines to find your site
  • using Google’s keyword suggestion tool
  • using Google suggest

There is also a useful list of negative keyword suggestions on Alwin Hoogerdijk’s blog.

3. Advertise in developing countries

adwords country selection
Over a billion people have access to the Internet. Many of them are in developing countries and aren’t realistically going to buy your software due to a combination of: cost (even $20 is a lot of money to people in many developing countries), payment issues (they may not have access to credit cards), language issues (your software isn’t localised for them) and cultural issues (there just isn’t much respect for intellectual property and copyright in many parts of the developing world). But that certainly won’t stop them clicking on your ads and you still have to pay for the clicks.

Start with wealthy countries where plenty of people speak a language your software has been localised into. If you really think you might be able to make a return in developing countries, then test it by creating a separate campaign that only runs in these countries and set your bids much lower (it is very easy to duplicate a campaign with Adwords Editor).

4. Bid too much

adwords bids

Lets use an example:

  • Your software sells for $30, of which you get $20 after subtracting ecommerce fees and average support costs.
  • Your typical visit to sale conversion ratio is about 1%.

That means you will only break even if you pay $0.20 per click through Adwords. Personally I find it hard to justify paying more than 50% of my profit to Google. So I wouldn’t bid more than $0.10 per click. If I couldn”t get any impressions at $0.10 per click I would try to either improve my quality score (e.g. improve my ads or delete keywords with low clickthrough rates) or find cheaper ‘long tail’ keywords to bid on. Paying $0.20 or more just to ‘get on the first page’ of Google is crazy (unless perhaps, it is a loss leader for market research purposes). You can’t make up on volume what you lose on each sale!

5. Don’t monitor your results

adwords reporting

Leaving your adwords campaign running for months on ‘auto pilot’ is ill-advised. Adwords is a constantly changing landscape. Google is continually changing the system and your competitors are coming and going and changing their Adwords campaigns and their products. So you need to continuously monitor how you are doing.  Google makes this very easy. For example, you can just set up Adwords reporting to email you a weekly summary of the number of conversions and the cost per conversion for each adgroup. A quick glance through this will let you know if things are going awry.

Conclusion

Adwords can be a very responsive, cost effective and well targeted form of advertising, if you take the time to learn the ropes and experiment. Below is a graph of my return on investment from Adwords for my table planning software over 5 years (almost certainly an underestimate due to the short-comings of conversion tracking, as discussed above). You can see that, after a few months finding my way, I was able to get a consistent ROI of around 4 or 5 to 1 and maintain this in the face of increasing competition.

adwords ROI graph

ROI = number of dollars in sales for each dollar spent on Adwords (1=break even).

Adwords is a complex system and the defaults are weighted in the house’s favour. In this article I have only touched on a few of the biggest mistakes I see. Google will give you plenty of rope to hang yourself and there are lots of other, less obvious ways to lose money. You really need to take the time to learn the system and experiment if you are going to have any chance of getting a decent return.

When I started with Adwords 5 years ago I read the Perry Marshall e-book on Adwords (beware – long copy!). I found it quite helpful. I assume they have kept it up to date. If nothing else, you will learn what it is like to be relentlessly marketed and upsold to. Google also has lots of free Adwords documentation and videos. If you go to conferences such as SIC or ESWC it well worth listening to Adwords specialists such as Dave Collins of softwarepromotions.com (formerly sharewarepromotions.com) talk about Adwords. There is also lots of useful information in the blogosphere. Start with a small daily budget and gradually increase it as you learn what works for you.

If you haven’t got the time or inclination to learn the system and experiment, pay someone who knows what they are doing to do it for you or stay well away from Adwords. Also bear in mind that Adwords works better for some products than others. If I was selling a $20 Mac-only product in a market with lots of more expensive competitors, I probably wouldn’t even bother trying Adwords.

** Update **

I used a deliberately provocative headline for this post, because I wanted to emphasize the fact that a lot of people are wasting a lot of money on Adwords. It seems to have worked in terms of traffic. But, judging by comments here and on Hacker News it has also confused some people. Sorry about that. To clarify, the sections heading are telling you how to waste money. To maximize your ROI you should do the opposite:

  • use conversion tracking
  • use negative keywords
  • only advertise in richer countries
  • not bid too much
  • monitor your results

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to TwitterAdd to TechnoratiAdd to Yahoo BuzzAdd to Newsvine

Should you offer a money back guarantee?

money back guaranteeA few weeks ago I was going to buy a digitizer tablet for my PC. Then I noticed in the vendor’s terms and conditions that they wouldn’t accept a return once I had opened the packaging. But I couldn’t know if the tablet works until I open the packaging. Duh. I didn’t buy it. Similarly I look for a sensible money-back guarantee whenever I buy software. I don’t remember ever invoking such a guarantee for software, but it is nice to know that I could if I wanted to. Also, I see the lack of such a guarantee as a warning signal that the vendor isn’t confident about the quality of their product.

I offer a 14-day money back guarantee on my own Perfect Table Plan software. The only provisos are:

  • They have to tell me what they didn’t like about my software. This is very useful feedback for me.
  • They have to email me that they have uninstalled the software and won’t use it again. I have no way of checking this, but I want them to be clear in their own mind that they are a liar and a cheat if they carry on using it (if you have read Ariely’s excellent ‘Predictably irrational’ you will know that many people are prepared to be a little dishonest, but few will lie and cheat outright).
  • They have to return the CD, if they purchased one.
  • The guarantee is only valid for 14 days.

But I am fairly relaxed about about all of these. If it is clear that someone thinks they haven’t got their money’s worth out of my software, I will pretty much always give them their money back.

Note that is isn’t a ‘no questions asked’ money back guarantee. I haven’t been quite brave enough to try that yet and really want feedback on why they didn’t like my software. Also the 14 day guarantee is shorter than most. The reason is that a lot of people buy my software for a single use (e.g. their wedding reception) and I don’t want to make it too easy for them to use the software and claim a refund after they have finished with it. However I have heard vendors say that their refund rate actually dropped when they extended the length of their money back guarantee (due to increased procrastination, perhaps). I may test switching to a ‘no questions asked’ and/or longer guarantee period at some point.

The advantages of a money back guarantee to the vendor are:

  • More sales. If they customer is confident they can get their money back they are more likely to buy. I don’t have any numbers to back this up, as I have always had a money back guarantee. But I know I am considerably more likely to buy if there is a money back guarantee. Aren’t you?
  • Less chargebacks. If a customer buys with a credit card they can get their money back anyway. They just have to ring their credit card company and do a chargeback. Your payment processor will then take the payment back and, to add insult to injury, slap a chargeback fee on top. Too many chargebacks and they might even close your account. Better to refund and avoid the chargeback fee.
  • Less bad vibes. No matter how great your software is, some people aren’t going to like it. Maybe your software isn’t a good fit for what they want to do. Maybe they are just having a bad day. Better to give them their money back than to have them bad mouth your product on every forum they can find.
  • Less bad customers. Some customers (thankfully very few, in my experience) cost more in time and mental energy than their licence fee is worth. It is better for you to cheerfully refund them and focus your efforts on more financially and psychologically rewarding customers.
  • Staying legal. You may be legally obliged to give a refund in some circumstances.
  • Good karma. If you aren’t happy, I really don’t want your money.

Generally it costs you nothing to refund a software purchase, apart from a few seconds of your time (depending on your payment processor, some may not refund the processing fee). The only disadvantage of a money back guarantee is that it makes it easier for a customer to cheat you. A lot of vendors worry about this, but in my experience (and of others I have spoken to) this isn’t much of an issue in reality. My refund rate has been consistently around 0.5% (I am not including cases where I refunded because people bought the wrong type of licence, bought 2 licences instead of one etc.). I would be very surprised if dropping my prominent money back guarantee didn’t also drop my sales by a lot more than 0.5%. So, even if all the refunds are fraudulent (which I very much doubt) I am confident that the refund policy increases my profits overall. Sufficiently confident that I don’t intend to run an A/B test any time soon.

Interestingly, my refund rate is 10 times lower amongst customers who have purchased a CD. This could be because these customers are less price sensitive and so don’t see the refund as worth their precious time. Or it could be because of the extra hassle of having to send the CD back (I know a wily B2B vendor who includes a CD with every purchase for exactly this reason). Probably it is a combination of both.

Some vendors think that they don’t need a refund policy if they have a free trial. I don’t agree. When I buy software I want a free trial AND a money back guarantee in case I only discover a problem after purchasing. Also I know (from a survey) that some 25% of my customers don’t even try the free trial of my software before they buy. I expect I would lose a lot of these sales without a money back guarantee.

I think the case for a money back guarantee is even stronger for B2B software. Customers buying B2B software typically aren’t spending their own money, so they are probably less likely to ask for a refund. Especially as this would mean admitting to their boss and peers that they made a mistake buying your software in the first place. Certainly I have a lower refund rate to businesses than to consumers.

From a business point of view, I think the only case where you can justify a no refund policy is when you have a high cost of sale, e.g. enterprise software that requires a lot of configuration. In that case you could include a non-refundable set-up fee that covers your costs, but still have a money back guarantee on the remainder of the purchase.

No doubt refund rates vary according to product type, price range, customer demographics, geographic market and a range of other factors. But , reading forums and talking to other vendors, the typical refund rate seems to be in the range 0.1% to 1%. If your rate is much above 1%, perhaps there is a problem with your product you need to address? If your rate is much less than 0.1%, perhaps you aren’t marketing your product aggressively enough?

In the early days I found it hard not to see refund requests as an insult to my product. But now it really doesn’t bother me and I cheerfully make the refund. I just add the key to a ‘blacklist’ in the software so it won’t work in any future releases.  I don’t attempt to disable it in the current release. I don’t see implementing a ‘phone home’ strategy to make this work as being a profitable use of my time.

In summary, by not giving a money back guarantee you might avoid a small number of customers cheating you. But I think you are very likely to be losing a lot more in chargebacks, missed sales, ill will and missed feedback than you save in fraudulent refunds. Try it. You can always revert back in the unlikely event that your refunds go up significantly more than your sales. And if you have a money back guarantee you should shout about it on your website. Having a money back guarantee and not advertising it prominently seems like the worst of all worlds to me.

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to TwitterAdd to TechnoratiAdd to Yahoo BuzzAdd to Newsvine

Outsourcing software testing

Every time I write a post for this blog I carefully check it for typos. I then get my wife to proof-read it. She always finds at least one typo. Often there will be whole words missing that my brain must have interpolated when I checked it. I read what I thought I had written. She is unencumbered by such preconceptions.

Similarly, it isn’t sufficient to do all your own testing on software you wrote, no matter how hard you try. You will tend to see what you intended to program, not what you actually programmed. Furthermore your users have different experiences, assumptions, and patterns of usage to you. Even in the unlikely event that you manage 100% code coverage in your testing, those pesky users won’t execute those lines of code in the same order you did. I have spent hours testing a program without finding a bug, only to see someone else break it within minutes or even seconds.

So it is essential to involve people other than the original programmer in testing, in addition to (but not instead of) the testing programmers do on their own code. This poses something of a challenge to one-man-bands such as my own. I don’t have other programmers, let alone QA staff, to call on. I can, and do, use volunteer customers for beta testing. But, in my experience, beta testing is not an effective substitute for professional testing:

  • It is haphazard. I never hear from ~90% of my beta testers.
  • You can’t control beta testers sufficiently, for example you can’t set them tight deadlines, make them concentrate on a particular feature or do their testing on a particular operating system
  • The quality of bug reports from customers is often poor. Customers often don’t understand (or don’t have the patience) to describe a bug in enough detail for you to reproduce it.
  • Professional testers know how to break software.
  • The new release should be as polished as possible before any customers see it. Your beta testers will be some of your most enthusiastic customers. You don’t want to use up that goodwill by sending them buggy software.

Consequently I like to pay third party testers to test my own PerfectTablePlan product after I have finished my own testing and before I do any beta testing. Previously I have used softwareexaminer.com, but they are no longer in business. So I decided to try a couple of other offshore testing companies I had heard about:

testlab2.com
qsgsoft.com

The problem with paying a testing company is that it is hard to assess the quality of their work until it is too late. If they report few bugs it could because there are few bugs or because they didn’t do a very good job of testing. By using 2 companies to test the same software release I was also testing the testers (I didn’t tell them this).

I paid each company to do approximately 3 days testing on the Windows and Mac versions of PerfectTablePlan. I was very pleased with the results. Both companies found a useful number of bugs in the software. They were also able to test on platforms that I didn’t have access to at the time (64 bit Windows 7 and Mac OS X 10.6). I didn’t keep an exact score, but I would say that QSG found more bugs, while TestLab2 was more responsive.

QSG found some quite obscure bugs. They were even able to tell me how to reproduce a very rare and obscure bug that I had been trying to track down for months without success. Communications were sometimes a little slow (at least partly due to us being in different time zones) but it wasn’t a huge issue. My only real grumble is their billing. Despite several reminder emails from me I am still waiting to be invoiced for the work several months later. I like to pay my bills promptly and then forget about them.

TestLab2 didn’t find quite as many bugs, but I was impressed with their responsiveness. They installed Mac OS X 10.6 within a few days of it being released, so they could test PerfectTablePlan on it. When I emailed them on  a Saturday about a last minute bug fix for Mac OS X 10.6 they tested the fix the same day. That is great service.

TestLab2 and QSG are based in Ukraine and India, respectively. At around $15/hour they are about a third the price of equivalent US/European companies I contacted (who might also outsource the work to Eastern Europe and India, for all I know). Some people believe outsourcing work to countries with lower costs of living is evil. I’m not one of them. I sell my software worldwide and I am also happy to buy my services worldwide, especially if I can get significantly better value for money by doing so. While there are rational arguments to be made about problems caused by differences in culture, language and time zone caused by outsourcing to other countries, I didn’t find any of these to be a major issue in this case. Most of the other arguments I have heard boil down to the simple ugly fact that some westerners feel they are entitled to a disproportionate share of the global pie. But I don’t see any reason why someone in Europe or North America is any more deserving of a job than someone in Ukraine or India.

With the help of these two companies I was able to put out a really solid PerfectTablePlan v4.1.0 release, despite the large number of new features. In fact, I am only just putting out a v4.1.1 with some bugs fixes several months later. I plan to use both companies again. I hope readers of this blog will give them some additional work to ensure they stay in business. But not so much that they don’t have time to do my next round of testing!

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to TwitterAdd to TechnoratiAdd to Yahoo BuzzAdd to Newsvine

« Previous PageNext Page »


Enter your email address to follow this blog and receive notifications of new posts by email.

Join 503 other followers

Blog Stats

  • 1,441,463 hits
When you are developing a software product it can be hard to
"see the forest for the trees"
see the forest for the trees
Do you need some affordable, independent advice on where to go next with your product?

Categories

Creative Commons License
This work is licenced under a Creative Commons Licence.

Follow

Get every new post delivered to your Inbox.

Join 503 other followers