As the Internet becomes ubiquitous, a quiet revolution is taking place in the software industry. New enterprises are arising out of nowhere and rapidly gaining dominance in emerging market segments by freely distributing their products. The old players are rethinking and revising their assumptions, distributing software demos and updates online.

A major part of this revolution is shareware. Shareware also means demoware, trial software, crippleware and often, exactly the same in practice as commercial software. The basic principle is simple - allow the product to be distributed and used freely but make it incomplete in some way. The customer can then purchase the missing element, be it a registration code, extra piece of software, some documentation or simply a clear conscience.

This guide is aimed mainly at individuals who are considering becoming shareware developers. If you have an idea about how to improve the computing experience and either know or are willing to learn a programming language, I encourage you to develop and release your idea as shareware. It's not easy to get started, but if you are creative, intelligent and pay attention to detail, you might just find a way to earn a comfortable living while enjoying the lifestyle of your dreams.

As with any business, the most important element is the customer. So why do many computer users prefer to download and buy shareware instead of commercial software?

Value

A small commercial software utility can cost twice as much as a comparable piece of shareware. The extra money for commercial products goes into the manual, CD, box, mail-order advertising, delivery, wholesale and/or retail markup. None of these costs is involved with shareware. Furthermore, the user has the satisfaction of knowing that their money is going directly to the programmers who they trust to maintain and upgrade that software.

Timeliness

In a world where new technologies are emerging at an accelerating pace, software that is distributed and sold over the Internet is in an ideal position to keep up. While large commercial software firms spend months developing product specifications and business plans, a shareware author will often respond to a user's suggestion by releasing an upgrade within a few days.

Support

Getting technical support for commercial software often involves having to phone a technical support line, wait in a queue and sometimes even pay for the privilege. By contrast, most shareware authors offer unlimited email-based technical support. The customer can expect to receive an informative reply directly from the people who know how the software works.

Shareware developers lead fulfilling lives

So you have an idea for some software. Why should you develop it as shareware instead of telling your boss?

Empowerment

Shareware offers you a risk free way to unleash your product and see what happens. If people like it and pay for it, you'll improve it at your own pace, in your own time. If not, you've lost time but no money. Either way, you get the chance to be your own boss, totally in control of every aspect your product and, if you're lucky, make a million.

Income

Don't believe the naysayers - there is serious money to be made in the shareware business. You may not sell as many copies as you would through mail order catalogs but you will receive almost all of the income. The only commission you will pay is to a payment processing or online delivery company. Sig Software uses Kagi who take about 10%.

Freedom

Creating shareware usually involves working on your own or with a very small group of colleagues. So all the usual advantages of self employment apply - no one can fire you, you can take holidays when you want and the only deadlines are your own. Since all you need to run your business is a portable computer, you can do it from anywhere in the world - for example, I ran Sig Software entirely out of a backpack while traveling for 2 months in the Far East. But I wouldn't recommend quitting your day job until your shareware income is high enough and steady - in fact, it's best to get started while you're studying.

Piracy

It has becoming depressingly easy to copy commercial software by sending it through email or burning CDs. By contrast, shareware makes no attempt to restrict its distribution and copying is encouraged. You should provide people with registration codes which are personalized - so if they want to pass on their code, they have to pass on their name, address and email address too.

Step 1 - Writing a program

Naturally, the first thing you need to do is create a piece of software. Here's what you need:

An idea - great if you've got a completely original one, otherwise it should at least be a new way of approaching an old problem. Try and avoid competing head-on in a field which is already well catered for - you will spend all your time trying to keep up with the competition instead of innovating.

A computer - pick up an old Macintosh or PC for just a few hundred dollars, or buy something newer if you can afford it. Most of the time you will be editing text.

A development tool - I use MetroWerks CodeWarrior C/C++ for both Macintosh and Windows development. The Mac tools are superb and the Windows ones could use some refinement but they work fine. Apple's Xcode is a promising new C/C++ development environment for Mac OS X. There are many Windows C/C++ development tools, available from Borland, Symantec and Microsoft. If you're looking for shorter development times and don't mind the odd rough edge, you should also consider REALbasic for Mac, Visual Basic for Windows, or Revolution for Mac, Windows and Linux.

Documentation - once you know what you're doing, you will have many specific, detailed questions on particular APIs and system features. For Macintosh, check out Apple's Developer Connection site. For Windows, look up the Microsoft Developer Network. A lot of useful tidbits can also be picked up from mailing list archives or Google's Usenet archive.

Step 2 - Creating a product

Once you've created the program, you need to turn it into something that can sell.

Test - test every aspect of your software as you write it - don't wait until the end to see if it all hangs together. Once you can't find any more bugs, get some beta testers by advertising on newsgroups or mailing lists. Alternatively, you can release a beta of your product publicly, but those who download it are more likely to trash it when the first problem appears than tell you about it. Software should be tested under all platforms for which you claim compatibility, even if their market share is small. Many bugs only appear under particular versions of the operating system.

Documentation - you will need clear, comprehensive documentation, in the relevant formats for Mac or Windows. ToolTips are a great way to make your software easy to use for newcomers. You might also want to produce a tutorial, some sample documents or a FAQ (frequently asked questions) page.

Payment - how are you going to encourage people to pay for the software? What are they going to get when they do pay? The answer can range from pure shareware (where it's all based on trust), through crippleware (important features missing), demoware (save and print disabled), expireware (time limited version) and many other variations. Consider the decision carefully - it will largely determine your level of income.

Now your product is on the market, you need to ensure you maximize its earning potential.

Publicity - think about all the ways in which you heard about the software that you use. The most valuable publicity machine is word-of-mouth, so make sure your product is reliable and you treat your customers well. Other budget ways of gaining publicity include sending your program to magazines for reviews, sending press releases to relevant web sites (therearetonsofthesefortheMac) about your releases and advertising on Google AdWords.

Patience - don't expect to make much money immediately. It can take time for your program to get disseminated through the Internet, talked about, recommended and purchased. For example, it took 6 months for the first check for the first release of my first program (NameCleaner 1.0) to arrive and another year before it was selling in serious quantities.

Web site - every serious shareware operation needs a web site. You can begin with something free on GeoCities but when the time is right you should invest in a properly-hosted domain name. Sig Software gets excellent service from Pair Networks and their prices are rock-bottom.

Easy payments - more people will purchase your product if they can do so using a credit card rather than having to mail a check. So it is worth signing up with one of the many online payment processing firms. Sig Software uses Kagi to process payments - they are honest and good value.

Customer database - once things start moving, you are not going to want to process each sale by hand. You should obtain or build an order processing system, which scans the sale details, creates a record in a database and sends out the license code. You should also expect to have to resend license codes to customers who have lost or did not receive them. Sig Software's system runs using Claris Emailer, HyperCard and FileMaker Pro, linked together using AppleScript running on Mac OS 9.

Keep at it - if you stop upgrading your product, your income will eventually drop back down to zero. So you should listen carefully to user suggestions and implement the best ones in new versions. It is also important to diversify and write several different types of program. If something happens in the market to render one product useless (e.g. a new OS version including the functionality you were selling), you will want others to fall back on.

Other Resources

Many shareware authors have written personal testimonials which are full of encouragement and advice on how to achieve success in the shareware business. These include: