There are a number of approaches to finding good testers. Some shareware authors will release expiring beta versions of their software to the public. Some shareware authors will rely on friends and family.
Whatever you do, try to test every possible execution path through your code on as many system configurations as possible.
DO test every facet of your software on as many system configurations as possible.
DO be sure your software exits gracefully if the minimum system requirements are not available.
DON'T forget to spell check your user interface elements.
As a shareware author, you're not working in a vacuum. The best testers for any piece of software are the users themselves. A lot of users are really savvy. Some users know how to use low-level debuggers, and some know how to interpret log files. These are the testers who need to be rewarded the most. Offer to add the tester's names to a product's box, or give the testers a free copy of the software.
There are also third party companies that test software and charge by the hour. If you're having quality control issues, the folks at MacTester can help. MacTester has lots of system configurations available, and their rates are very reasonable. The reports they generate are very thorough, too.
This will be on the checklist at the end of this series, but it can't hurt to mention it twice: if your development or beta versions have expiration code in them, remember to remove the expiration code before you ship the final version.
And one other item: please remember to spell check your user interface elements.
Assembling the Package
DO choose a package format that's compatible with users' systems to keep your support expenses to a bare minimum.
DO write an installer to keep your users happy.
DON'T forget that money is not the only expense. Your time is an expense, too.
So you came up with an idea, wrote the software, and tested the software as thoroughly as possible. Now you must assemble the package that your users will eventually download.
What format do you want people to use to download your software? There are a number of options, all of which have their pros and cons. There's no perfect distribution mechanism. Three popular formats are discussed below.
Disk Images. These are really cool, especially on MacOS X. But new users to Mac OS don't really know what they are, or how to use them. If you do distribute disk images, be sure your Web server knows how to deliver them correctly. Also keep in mind that not all disk images work on all versions of MacOS. Testing is very important here.
Installers. Delivering an installer is a really great idea. They are easy to use, easy to create, and they make users really happy. Users will be even happier if your installer does not require them to restart their computers after installation and also comes with an uninstaller. The incredible folks at Mindvision, Aladdin, and Zero G all offer free installer licenses to small shareware developers.
Stuffit Archives. Over the last decade, Stuffit archives have become the defacto standard for distributing Macintosh software on the Internet. So much of a standard has Stuffit become that Apple includes Stuffit Expander with MacOS X. Most users have encountered Stuffit archives and are familiar with what they are. Many developers distribute Stuffit archives that contain installers. This combination is probably the most common and the one that creates the fewest headaches for users and, therefore, the fewest headaches for the developer.
An important note about Stuffit: There was a time when every available Internet-capable program installed Stuffit Expander on the user's computer. Some of these versions are completely incompatible with archives created by the latest release of Stuffit. And here's the worst part: the operating system doesn't always launch the latest version when the user double-clicks the archive. Be sure to keep this in mind when providing support to your users. (But even with this problem, Stuffit is still a very popular and easy to support format.) There are more notes about Stuffit and server MIME types below.
The distribution archive should also include a ReadMe file. (See next section.)