oreilly.comSafari Books Online.Conferences.


AddThis Social Bookmark Button

Developing for Mac OS X The Do's and Don'ts of Shareware, Part 1

by Sanford Selznick

Editor's note: As we continue with our Developing for Mac OS X series, Sanford Selznick tackles the do's and don'ts of building a shareware business. This first installment provides you with some excellent background material and helps you determine the feasibility of moving from the idea stage to creating the foundation for your new enterprise.

All programmers at one time or another become fed up with middle management, the quality of available software, or just needing something more, and dream of being the next Bill Gates (or better yet, Tim O'Reilly). "Work for yourself," a programmer might think, "and you'll be in charge of your own destiny. Create the software that you know people want and make the world a better place."

Well, the ratio of the number of Bill Gateses out there compared to the number of programmers is pretty low. But maybe there's a happy medium. Maybe there's a place where you can still do what you love to do, earn enough money to eat, and maybe even pay the mortgage. For many software developers, the place to bring this dream to fruition is the world of selling shareware. Described herein will be, in intimate detail, the elements necessary to turn your dream of calling your own shots into a reality.

When I say intimate detail, I mean it. I'll be facilitating open and frank discussions about sales percentages, servers, coding styles, tools, Web sites, mirrors, sales engines, installers, registrations, support, press releases, marketing, database back-ends, localization. I'll even come up with a checklist for your first release. Just about everything you'll need to consider before shipping your product will be discussed right here. So whether you're a programmer or just a curious user, have a seat, sit back, and enjoy the ride.

What Is Shareware?

The simplest way to define shareware is to go with what American Heritage Dictionary tells us: "Copyrighted software that is available free of charge on a trial basis, usually with the condition that users pay a fee for continued use and support." Fair enough, but this definition makes no claims about end user expectations. And herein lies the fundamental element of successful software worthy of discussion: end user expectations.

DO remember that you're responsible for all successes and failures.

DO remember that women buy software too. :-)

DON'T drive your users crazy, it's bad for business.

One of the great benefits of writing an article like this is I get to step up on a soap box and espouse my opinion of what software really is. (If you're not interested, please skip to the end of this section.) When a programmer writes a piece of software that is executed by a user, that programmer is communicating with the user. A piece of software is a medium just like a piece of paper, an email, or a canvas. Software conveys ideas through user interfaces, through quality and through correctness. Imagine what users think when they download software, click a button, and the software crashes. With shareware, more than any other type of software venue, programmer responsibility is paramount to the success or failure of the software product.

Software can drive people crazy or change their lives. How many times have you seen someone sitting in front of a computer, pounding their fists on the table screaming things we dare not repeat here? The goal of the software developer should not be to raise the blood pressure of users. Instead, through the communication medium of software, the developer should convey ideas, paradigms, and functionality to users that makes their lives better. The ultimate responsibility for the developer also becomes the ultimate reward.

There are a number of thresholds that users must cross before they purchase a piece of shareware. At any point a user may decide to abort the process and ditch the software all together. This is what shareware authors

Related Articles:

The Do's and Don'ts of Shareware, Part 3
In the final installment in this series, Sanford Selznick describes how to handle payment processing, distribution, and marketing of your new application. Solid information helpful to beginning and experienced developers alike.

The Do's and Don'ts of Shareware, Part 2
In part two, Sanford Selznick discusses writing and testing maintainable code, assembling a deliverable package, and marketing and distributing your software.

need to avoid, especially since the definition tells us that shareware fees are collected for continued use and support. Conversely, fees will not be paid by users who ditch the software. The basic thresholds the user must pass through are listed below.

  1. The user needs to learn that the software exists.
  2. The user needs to understand what the software does.
  3. The user has to download the software and install it on his or her computer.
  4. The user has to execute the software successfully.
  5. The user needs to see immediately how to use the software and understand why he or she should want it.
  6. The user needs to continue to use the software up until the trial period ends.
  7. The user needs to figure out how to purchase the software.
  8. The user needs to "register" the software on his or her computer to extend the trial period indefinitely.

Start-up Costs

Most shareware authors only work on their shareware business part-time, usually spending nights and weekends performing all of the required duties. Expenses like mortgage, utilities, and insurance are already taken care of by another full time job. Shareware also creates expenses that authors should be prepared to pay even before they collect their first sale.

DO hire an attorney.

DO hire an accountant.

DO leverage any automation technology you can to perform slow, boring, and error prone tasks.

DON'T forget that your greatest expense will be time, not money.

DON'T be afraid. Ask lots of questions and get all estimates up front.

Prospective shareware authors should sit down with an attorney before they distribute their software. This attorney, hopefully versed in the ways of the software industry, will teach you how to protect yourself and your family. Although there's no substitute for the real thing, Attorney Stephen Fishman's "Web & Software Development: A Legal Guide" is an excellent resource for an overview of necessary legalese. A visit to an attorney should not be ignored, however. Your attorney may want to help you set up a Limited Liability Company. For setup of such a company, expect to pay between $250 and $750 for your attorney's time and various state and federal filing fees. Always be sure to inquire about all fees during your initial consultation.

Attorneys aren't the only professionals to whom shareware authors should pay a visit. Be sure to find yourself a good accountant. There are a lot of expenses associated with creating, marketing, and selling shareware. And the best part is the government has mechanisms in place to help you with them. The United States is, after all, a capitalist society. And the U.S. government wants to help you to succeed in business. (So they can collect your taxes later!) There are lots of laws to help you do this, and accountants know what they are. An accountant's advice can cost up to $200. Work with both your accountant and attorney while you prepare to sell shareware. Accountants cost less at set-up time than attorneys, but their fees around tax time will more than make up for it. :-)

If you're not living in the States, clearly these issues are just as important. I'm most familiar with the laws in the U.S., and they will be basis for many of my examples. But the concepts associated with protecting yourself are important in all countries. So regardless of your location, be sure to get good advice in these matters.

Moving along with expenses, here's an obvious one: you should own a computer. Yup, you heard it here first. If you want to write software and sell software you'll need a computer that will enable you to perform the dozens of tasks described later in this series. But here's the catch: you'll also want a computer that will closely mimic the capabilities of those owned by your potential customers. (There's fantastic variability here, even with Apple-only products. Many potential customers are still running MacOS 8.1.) What a shareware author focuses on depends on the market for the software and the author's personal needs. If you plan on working on your shareware from the road, a good portable computer that can double as a home computer is a great way to go. Another plus about portables is you can take your work to a library or office for a little peace and quiet. A decent computer will cost you less than $2,500.

Shareware authors will also want a fast Internet connection. Again, this seems obvious, but it's really worth mentioning. Uploading software, providing support, updating your Web site: they all take time. And dial-ups don't quite cut it anymore. A fast Internet connection like DSL or similar venue will cost between $40 and $80/month in the U.S.

Don't forget about your storefront. Almost all shareware authors sell their software through Internet Web pages. So you'll need a place for your Web site. This may or may not be included with your Dial Up ISP. A reliable ISP to host your Internet domain name will run you about $40 a month. Be sure you read later for details on features you'll want from your ISP.

No doubt about it: software costs money to write. Totaling the amounts described above, starting up a shareware business can cost you around $3,000 in the U.S. (depending if you need a developer computer). But let's face it, if you're reading this, you're already technologically savvy enough to write software, and you've probably taken care of the basics, such as a developer computer and a fast Internet connection. So you're really only looking at a few hundred dollars in professional fees to get started, all of which is a direct investment in your future business.

Out-of-pocket expenses to set up a shareware company are relatively minimal. The real expense is time. But don't fret yet. Discussions later on will help you reduce the amount of time required to manage your own private shareware empire using some easy-to-implement automation technologies.

Sometimes you need to spend time to save time. If there's a task you find yourself performing often, like sending out a registration number to a user, write a script to do it quickly. A FileMaker Pro database with some AppleScripts linking it to your email client can save you oodles of time.

How Do I Come Up With an Idea?

A friend of mine once asked "Where do you come up with your ideas?" I thought: "Huh?" But it's a good question and one that's worthy of discussion. How does someone come up with a one line concept as the seed from which to grow a piece of software? Here are some examples of seeds: a program to help users write and edit letters, software that would help users pay their bills, something to put the moon in a menubar, or perhaps something to store passwords securely. Some seeds can be discovered from personal experience, but most seeds of invention are born from necessity.

DO experience the world.

DO listen to your users!

Great. So where does one find necessity? Necessity can be found by hanging around people who need things. Where do people need things? Everywhere. University campuses are hotbeds of people who need solutions to problems. Businesses too. Even the Internet. Once you hang around people who need things, you may find that you'll be able to fulfill their needs with software, and thus the seeds are born. It really doesn't get any simpler than that. But there's a downside too. If you don't hang around people who need things, you probably won't be exposed to the problems that need solving. So get out there and experience the world. Get involved with your local user groups, teach a class, investigate a science, consult for companies in your neighborhood. There are galaxies of ideas for the taking. Have a ball.

Once you have an idea, it's easy to find out if it's a good one: run it by someone who is not a programmer. This person's input will be very important through all stages of your software's development. If you can't explain your idea in one sentence, or you need to provide a lot of background, it's probably not a good idea. You will also have a wonderful resource when it comes to making changes to existing products: your users. An important theme that will be repeated throughout this article and one that all shareware developers need to understand is: listen to your users to get ideas and feedback. They're the ones who will make the ultimate decision to buy your product.

Sales Strategy Overview: The Shareware Life-cycle

There's a cycle of selling shareware. The cycle is controlled by one simple fact: users like to read news of products being updated and like to read about new products. Enter the public news venue. Public news venues receive press releases from shareware authors, summarize them, and offer them as news to their readership. In turn, public news venues charge for advertising on their Web sites. This perfect symbiotic relationship works. Venues like Macintouch, VersionTracker, MacFixIt, and MacNN have survived without having to charge reader subscriptions for years. (So if you like reading their sites, be sure to support their advertisers!)

DO recognize the importance of the shareware life cycle.

The cycle of selling shareware is set by sending press releases to news venues (mostly by email) to inform them about your new or updated product. When the press venues post news of your release, readers will hopefully visit your shareware Web site, download your software, and maybe even pay your shareware fee. Each time a shareware title is released, there is a peak in sales. Depending on the software and trial period, the peak will last between one and four weeks. Shareware authors collect the fees that allow them to create more new or updated software, and thus send out more press releases.

A wildly successful shareware product released by a small company will sell between 100 and 200 copies per day within the first week of its release. This will usually drop to between 10 and 20 copies per day until the next release. This is why releases are so key to the shareware life cycle.

A good release is one that generates between 20 and 40 sales per day within the first week or two of its release and continues with 5 to 10 sales per day. Ten copies per day for an entire year at $10 each (don't forget that users buy every day of the year, including weekends and holidays) adds up to over $30,000 per year. Not so bad for a part time job!

When we say release, we mean release, not upgrades. Releases fix bugs and add features. Upgrades add so much functionality that you charge your users more money. Users may lose patience for software that requires an upgrade fee very often. Charging for an upgrade every two years is reasonable.

And that's how the cycle continues. Later on we'll be detailing the structure, formatting, and timing of press releases.

Wrap Up

As a shareware author you do it all. You're everything from the CEO to the garbage collector. You're responsible for every facet of your shareware. In essence, a company that sells shareware is a mini software company, just scaled down a bit. It may sound like a lot, but it's really not that bad. I'll be providing you with checklists and insights that will allow you to start small and grow the company over time. There's no rule that says your first product has to be a hit. There's no rule that says your introductory Web site needs to be 50 pages with professional graphics. A shareware company is something that grows in response to user feedback. Remember this as we push forward.

Now that the overview is completed, let's get down to the details of creating and selling shareware. See you in a week.

Sanford Selznick is the owner of Selznick Scientific Software, LLC, a programming, consulting, and shareware company based in Tucson, Arizona.

Read more Developing for Mac OS X columns.

Return to the Mac DevCenter.