Now here’s a book that appeals to the microISV. This Little Program Went to Market, by by Annette Godtland, takes on the rather large task, for an encyclopedia, of teaching the reader everything they need to know about creating software and selling it on the internet. For one book, it’s a somewhat ambitious goal.
Here’s the subtitle: Create, Deploy, distribute, Sell, and Market Software and More on the Internet at Little or No Cost to You. That’s a strength and a weakness–that subtitle would take several thousand pages to cover properly, and at 546 pages, the book is nowhere near that heavy–this is a good introduction, but hardly all that’s needed. There are five parts:
Part I: Create a Program. Godtland chose Java as a sample language to create a classic ‘Hello, World’ program or Java applet. There are details on where to get tools, source code examples (also downloadable from the book’s website link), and all the steps needed to write a program, but this section is not a programming manual; it’s enough to get started, before looking for more elsewhere. Most programmers looking to sell software online are already programmers, and will just skim these four chapters.
Part II: Deploy a Program. That’s creating a help file, a program icon, wrappers for Java applets, piracy protection (but see below), trial versions, an installer, and testing. That’s 10 chapters, and a lot of information. The Install chapter is a better tutorial on Inno Setup than is easily found online.
Part III: Create a Web Site, Distribute a Program. Covers web site creation, hosting, HTML standards. Four chapters, and again, basically an introduction.
Part IV: Sell a Product. Covers taking check orders, credit cards, PayPal, creating keys, filling orders, adding a shopping cart in Paypal, but doesn’t cover using ecommerce partners other than Paypal.
Part V: Market a Product. Search engines, shareware versus freeware, marketing, and web statistics and logs. The definition of shareware is interesting, taken from an online dictionary, but it’s something out of the 1980’s.
This is a good book for new software publishers. It’s like the notes that a first-time attendee to the Software Industry Conference (ISVcon.org) would make–pages and pages of information that’s hard to find all in one place, and information overload is possible. There’s lots of information, and good coverage on the technical topics. The writing is clear, the code samples are formatted nicely, and opinions are generally labeled as opinions, not as absolutes.
However, there are gaps here. The ‘Piracy Prevention’ section recommends code obfuscation, with no methods for encryption or self-checking a distributed executable file for alteration. Code-signing is mentioned, but dismissed as too expensive. And the legal issues of copyright are just plain wrong–there’s a statement that “Nothing need be registered anywhere” and no mention of how to go about registering a program at www.copyright.gov. The marketing section matches the typical microISV pattern–it’s weak.
All that said, this is a very large topic for a book of any size. The gaps are best filled-in by a membership in the Association of Software Professionals and a trip to the ASP newsgroups and archives, and the book will provide a very good starting point on dozens of topics important for launching a software product online.