CocoaDev

Edit AllPages

This page is for insightful comments, mistakes and other goodies that can assist people writing shareware.

Shareware Authoring Part I (misc.) � http://www.peter.com.au/programming/sharewareauthor.html *Shareware Authoring Part II (shipping) � http://www.peter.com.au/programming/sharewareauthor2.html *Describe � http://www.semicolon.com/ShareSuccess/Shareware1.html *Pricing � http://software.ericsink.com/bos/Business_of_Software.html *Marketing � http://software.ericsink.com/Marketing_for_Geeks.html *Serial numbers � http://macromates.com/sigpipe/archives/2004/09/05/using-openssl-for-license-keys/ *The Do’s and Don’ts of Shareware � http://www.macdevcenter.com/pub/a/mac/2002/09/30/dev_osx.html *Articles for Independent Game Developers � http://www.dexterity.com/articles/ *Does crippling work? (apparently) � http://www.scrawlsoft.com/products/common/hardnose.html – *Broken link


On the line of shareware, here are some tips that I have picked up along the way:

*The customer is always right. It doesn’t matter if you think the user is stupid or their machine is broken, you should always try to fix an issue. If you do, they will heap praise on you to no end. *The time taken to inspect serial sites like MSJ or Serial Box is worth it if the issue found is easy to fix. If someone changes your binary or creates an input manager, the time spent fixing it is probably not worth ‘lost’ sales. *Do not over market. Websites don’t like to see your marketing material in their inbox every single day. Once a week or more is fine, just not too often. *Raves and Reviews sell applications. If you have received them, get permission to post them on your website and do. Many customers commented on other people’s issues that they had been fixed via our applications and that was their incentive to buy it. *Keep a donate button on your site. If you price your software cheaply and the users recognize this, they more often than not will donate. *Most of all, sleep and eat. The most common and frightful mistakes happen when you are tired.


If you use a registration code scheme in your shareware app, be prepared to spend alot of time sending out reg. codes to people who have ‘lost’ their code, have bought a new mac and never saved their code, don’t read the email you send them with their code in it, don’t know how to enter the code, don’t know how to type, and so on.

Sadly this type of basic support takes around an hour a day for us and its growing. Automation of registrations is a godsend, and perhaps going through eSellerate or someone similar would help more in that regard…but yes, users lose them all the time.


Here are my tips (well, opinions) as a commercial / freeware author, and shareware purchaser.

I support people’s right to charge money for their software. But the best shareware is software that gives something small-but-meaningful to people for free, basically as a gift to the community at large. A cripped app that $20 is probably going in the trashcan. A useful app will remain on a users system, giving you an opportunity for “upsell”. For positive examples, consider Stuffit Expander / Dropstuff. Or Ambrosia games. Or Spiderweb sofware games. Or screen savers like Time Ballz and Cemetary.

Also, avoid whineware; instead treat your users with dignity (A corollary to “the user is always right”). For example, a popular drag & drop bluetooth app (Drag’n’tooth) will introduce pauses before starting file transfers; after 5 uses you’ll need to wait 5 seconds for the next one, after 10 seconds you need to wait 10 seconds, etc. Basically, the message is: “Let’s see if I can annoy you into registering”. I find this particularly demeaning. Treat your customers with dignity: say a 5-30 unlimited use period, and after that, nothing. Same with a popular “control your mac w/ your cell phone” app – part way through exploring the product it shutdown saying I exceeded the number of free clicks. And so into the trashcan it went. Sure I guess I could have restarted the clicker to get more free clicks, but I felt as if the author was more interested in receiving my money than encouraging me to try his app. Oh yes, both these examples could have benefitted from the “small-but-meaningful” approach. Though useful, I found they just weren’t worth the money; “Upsell” opportunity lost.

I also believe it’s better to charge a little less than charge a little more. You’d rather have people coasting on your free trial / free featureset than using your competitor’s app. Insert your favorite Guy Kawasaki quote here. Commercial software has also demonstrated you can go back to your customers for more money (i.e., upgrades) as long as the featureset is there and the price is right.

– MikeTrent


I have written a shareware program that has been moderately successful over the years. I get about $ 10000-15000 a year from my shareware.

First tip: Reduce your living expenses, pay off credit cards, don’t buy a house or car. My point? I can’t make enough from my shareware to live on. My day jobs are so stressful and mentally exhausting that I never have time to work on my shareware. I am still working on my first tip. I plan to pay off my credit cards this year and free myself from the corporate rat race. I will never be rich, but I don’t care. I will be happy and free.

Second tip: Deliver a fully functional, fully usable product. Don’t cripple it in any way trying to get registration fees. If the user hasn’t paid the registration fee yet, just pop up a splash screen and try to make them feel guilty for 10 seconds or so. Get people to rely on your program. The smart and honest users will pay for it. Those are the users you want anyway. This will discourage crackers too. What is the point of cracking it you you don’t get any additional functionality?

More on tip 2: Make your program as easy to use as possible. Fancy registration schemes don’t help with this. Make the registration code as easy as possible to enter. Remember, you a programmer. You are smart. Users are neither. If I had to spend an hour a day on registration code problems, I would be a happy man. That means people are buying your software. My biggest problem is users who pay for the software before downloading it or trying it out.

Tip 3: Be generous with refunds. I will provide literally endless e-mail tech support to just about anyone - paid or not. But if they get abusive or demeaning - Refund! Presto! No longer a customer. Also, if it becomes clear that you have a user who simply isn’t smart enought to use your software (or even a computer), just refund their money and put them out of your misery. It isn’t worth it.

Tip 4: Charge a fair price for your software. If you are a programmer you probably use lots of open source tools. Regular computer users are used to spending money for software. They really don’t mind it. Good shareware is worth $20 - $99. Don’t charge anything less. They will pay it. If you don’t think your program is worth that, it probably isn’t. Make it better. If you charge any less then it really isn’t worth your time. Don’t punish yourself.


Regarding the second tip - this is more a matter of opinion. I’m making roughly twice what you are for one of my apps and it is restricted for non-registered users (that is, they can use it but they can’t get ‘finish’ until they register). My sales are doing just fine.

Regarding the third tip, specifically “if it becomes clear that you have a user who simply isn’t smart enought to use your software” … this is just plain bad advice. The user, smart or not, will quickly become insulted (computer illiterate is not the same as generally stupid) and spread the word that you aren’t supportive, you insult your users’ intelligence, and you have poor customer relation skills. Take it from a successful small shareware developer: Do not do this to a customer. You made your bed (by writing and distributing your software), now lay in it. You have two choices: Improve your product and its associated manual or close your doors, take your ball, and go home.


Actually, tip 3 is “be generous with refunds,” and it is good advice. I have to keep my customers happy. If they aren’t, they will get refunds from their credit cards and that will put me out of business in a hurry. Chargebacks are a net loss.

In fact, my customers would completely disagree with you regarding my quality of support. I am guessing we have a different customers:) If someone has paid the shareware fee but still hasn’t managed to figure out how to download the software after three days and six e-mails, they are going to get a refund.

What I am saying is this. If you are a part time shareware developer, you can’t afford chargebacks and you can’t afford to teach people basic computer operation.


Well, I’m simply quoting what was said in #3. The portion I quoted is what I disagree with (which I believe I clearly indicated). If you simply refund someone’s money rather than bothering to help them solve their problems, you will have insulted customers. I made the mistake of suggesting a refund after spending time trying to troubleshoot a problem with my app. Though I was attempting to placate the person by offering them a refund for a problem that was my app’s fault, it was met with immediate anger; the gentleman was insulted because he perceived the offer as a complete dismissal, as if he was too stupid to use my application. It happens. It’s real. If they’re asking for a refund, that’s an entirely different situation. Just don’t go offering a refund to people because you can’t get their purchase to work right. Some take offense and write nasty reviews …


Tip 4 is misleading. While all my current shareware is $20 or more, I would be more than willing to make an app for under $20. A program I am working on now is only going to cost $12.95 – but I have no doubt that it will at least be moderately succesful. The app is, by nature, smaller than the others. Small one trick ponies that are made well can sell as well as a large powerful program that does a lot. Remember, you’re targetting MAC USERS – they’ll appreciate style and attention to detail…regardless of the size of the app.


Agreed - I have a US $9.99 application that is very focused for a very specific but usually repetitive task (and is utterly useless for anything else). It’s free for ‘small jobs’ but larger ones will require you to part with a small pittance for my time (since I’m still obligated to support the app). Despite its narrow focus and very open ‘free’ state, it still sells several copies a month (I never thought it would sell more than one a month - who knew) … probably because it’s so cheap (and works so well). Fortunately, this is only a very minor product in my product line (:-D) but for a “quick buck” it performs quite well sales-wise. Hell, it pays for my hosting fees! As any shareware developer knows, every little bit helps …


** Here we go with delete-happy people again. If you don’t like a conversation you don’t have to read it. There is nothing wrong with this one (ie, it’s not a flamewar but a discussion and is quite relevant to the page’s topic). Please stop arbitrarily deleting people’s conversations. It’s quite rude. Just because people disagree doesn’t mean they’re arguing. Thanks. **


I just released my app and am currently in the “Announcement” phase (after putting it on my website).

*Download sites *News sites *Blogs *Ads

As to step three there, I have a few questions which maybe some personal experiences could answer:

*Is it rude for me to send my app to all the blogs I read or should I wait for them to stumble upon it themselves? *How long does it usually take for Apple to put things in the their DL section? I submitted 2 days ago and it’s still not up. Is becoming a “Featured download” purely a result of Chance (ie: Apple employees decide) *With version 1 of a new app with no buzz, what can I do to get some exposure?

Of course, I’m kind of opposed to #4 (not for cost but because I’d like to think word-of-mouth works if you can just get it into enough mouths) but if sales are dim…

Anyway, I’ll end with an observation: On the DL sites, hits are directly proportioned to your distance from the top of the list, which is sorted by time. Therefore, “update often” becomes a valid strategy. ugh

Stephen


Staggering when you announce your app to the different sites (news site 1 on Tuesday, news site 2 on Thursday, etc.) might help to keep your app “on the radar” a little longer, though I’ve noticed that download sites often copy each other’s updates/listings, so for those it might not work as well. -Seb


Just thought I’d recommend using Potion Store (in place of esellerate or rolling your own). It’s a rails application that has pretty much everything you might need (and it’s free). You can find it here: http://www.potionfactory.com/potionstore/ – JohnDevor