Software Craftsman, SourceGear
Summary: Eric examines the world of micro-ISVs, which are software companies that are comprised of only one person. (8 printed pages)
In most of my writings I am talking about a particular type of software company, which I refer to as a "small ISV". I daresay most of my readers know what I mean by this term, but I'd like to take a moment to define it.
The word "ISV" is an acronym that stands for Independent Software Vendor. An ISV is a software company that creates and sells software products.
- Consulting shops are not ISVs, although an ISV may do consulting work.
- Value-added resellers are not ISVs, although an ISV may certainly resell stuff from somebody else.
- In an ISV, you have to envision the product you want to build and take a risk that somebody will still want to buy it by the time you get it built.
- If you don't have a software product, you are not an ISV.
The adjective "small" carries some specific connotations. I'm thinking of a company with less than 50 employees. The company is funded by its own revenues and has not accepted investment from a venture capitalist. The company was founded by a geek who tends to have his or her hands in lots of different job functions.
But just how "small" can a small ISV be? It turns out that lots of software products are created by companies made up of exactly one person. Those tiny companies are the focus of this article. Some might call them "indie" software developers. For now, I'm calling them "micro-ISVs".
A Force of One
I am fascinated by the notion of a software product company with just one person in it. In part, this is because many small ISVs start out with just one person and grow organically from there.
But lots of software endeavors never grow beyond their founder. We might not think of these companies as successful, but in many cases we should. I can name several examples of micro-ISVs whose accomplishments I admire.
Nick Bradbury is well-known to many as the author of Homesite, which he sold to Allaire. Today he sells TopStyle, a CSS (cascading style sheet) editor for Web geeks, and FeedDemon, an RSS (really simple syndication) aggregator. I've heard lots of people express their respect for Nick. I had the pleasure of meeting him at Gnomedex last year.
Bill Ritcher sells Guiffy, a diff/merge tool for software developers. Since Bill does business in the same general area as SourceGear, I've enjoyed the opportunity to talk with him on several occasions. I've seen plenty of indications that his product is quite successful.
Steve Pavlina sells a variety of different games. I've never met him, but he seems to be one of the more highly respected "indie" developers. His Web site contains a number of excellent articles he has written on topics relevant to small ISVs.
Thomas Warfield sells Pretty Good Solitaire, a game that supports over 600 different variants of single-person card games. As far as I can tell, his product is the most successful of all the solitaire games out there. In a presentation from a recent conference, Warfield hints that his efforts have made him a millionaire. Strangely enough, I have never met Thomas, even though he lives not far from me. Thomas, if you read this article, I am hereby offering to come over to Springfield and buy you lunch.
As far as I can tell, all of these guys are making a nice living for themselves by selling software products in a company with (essentially) one person. Many of us would not find it intuitive to aspire to be a single-person software company. Still, companies like these are fascinating to me. Some founders of micro-ISVs are making big bucks, even as they maintain a lifestyle that allows them to lead a very balanced life.
In my study of single-person software companies, I keep bumping into the word "shareware". I observe that there is a strong community of people who use the word "shareware" to describe their products. This community is alive and thriving. CNN even did an article on shareware a few months ago. Nonetheless, I'm not sure everybody inside the community agrees on a clear definition of the word "shareware", much less those outside the community.
I first heard the word shareware perhaps fifteen years ago. Based on those experiences, if you were to ask me to define what shareware means, I would have said that shareware is freely distributable software for which payment is voluntary.
I would also have said that nobody makes a living doing shareware full-time. One person I remember from that era is Rich Siegel, the author of BBEdit, who made the following remarks in a USENET posting in May 1992:
It's possible to achieve fame by releasing shareware or freeware, but never fortune. Anything that shareware brings in is strictly pocket change to me.
One of the shareware apps I recall from that era is a Macintosh text editor called Alpha. I'm not sure if Pete Keleher would remember me, but I do remember him. It is great to see that Alpha is still available and is still shareware. However, as far as I can tell, Alpha has never been a full-time job for Pete. Even if his pile of "pocket change" is quite tall, Alpha is something he does on the side, in addition to his primary vocation.
The world of shareware seems very different now. The shareware community has a trade organization called the Association of Shareware Professionals. They also have an annual gathering called the Shareware Industry Conference.
As I said, I'm not sure there is a truly clear definition of the word shareware, but it does seem that the meaning of the word has evolved over the years. For example, some products are described as shareware even though payment is not voluntary. "Demo" versions with certain limitations have replaced the past practices of relying solely on guilt and shame to elicit revenue.
The Association of Shareware Professionals seems to define shareware as "try-before-you-buy software". Given that virtually all software companies now offer a downloadable demo, this definition would seem to mean that all software is shareware. In essence, it appears that the shareware community has chosen to define its boundaries very broadly, allowing the community to welcome any software vendor that wants to join it.
Nonetheless, not all software vendors want to describe their products using that word. Like it or not, for many people the word shareware carries connotations of something that is "amateurish" or "unprofessional". Even as some companies wear this word as a badge of pride, others avoid it for fear that it will scare away corporate customers.
I find it terribly ironic that while I was in the process of writing this article, the postman showed up at SourceGear and delivered a trophy. It turns out that on July 17th at the Shareware Industry Conference, the 2004 Shareware Industry Award winners were announced. Although we didn't even realize that our product was nominated, SourceGear Vault (our source control system) won the award for "Best Application Using .NET".
I'll confess that we had mixed reactions over this award. About seventy percent of our reaction was very positive. We are grateful and flattered. It is always nice to win. The people who voted for us obviously appreciate the work we have done.
The other thirty percent of our reaction involves concern and confusion. We don't consider Vault to be shareware. Like I said, some people have negative impressions of what this word means. Will people who are afraid of shareware be scared away from Vault simply because of this award?
A rose by any other name...
In the end, I have concluded that I don't care what the term "shareware" means or what connotations it may have. Here at SourceGear, we will continue to choose not to use the term to describe our products, but I maintain my respect for the accomplishments of those who do. The fact is that the shareware community contains a lot of micro-ISVs that are doing some very impressive things.
For more information about the shareware community, I recommend the following links:
The Association of Shareware Professionals has several interesting pages, including a history of shareware.
Among the excellent articles on Steve Pavlina's site, I really enjoyed this one on the difference between amateurs and professionals.
I learned a lot of interesting information about the shareware community from an eBook entitled, Shareware Business Blunders by Adam Stiles.
Getting back to the subject at hand, whether or not a company describes its products as "shareware", I remain intrigued by the concept of single-person software product companies.
However, the more I examine micro-ISVs, the more I realize that I just don't understand them. I want to write about how to start and run a micro-ISV, but I don't really have any experience from which I can speak. I've never worked in a one-person software product company.
I have come to the conclusion that I will not really understand this world until I spend some time in it.
Besides, I feel somewhat excluded from the party when my column is compared to the others here on MSDN. All the other columns on MSDN are technical, so naturally they have sample code. My column is on the business of software, so what I need is not sample code, but rather, a sample product. :-)
Introducing: Winnable Solitaire
Call me crazy, but I have decided to enter the market for desktop solitaire games. I like to play the solitaire game that ships with Windows, but I wish it would tell me whether or not each deal is winnable. In fact, I don't think I've ever seen a solitaire game that has this feature. I want to play traditional solitaire, but I want the luck removed from the equation.
So I created a solitaire game that has the one feature I have always wanted. Winnable Solitaire is very simple. It allows the user to play traditional solitaire, often called Klondike, just like the sol.exe that comes with Windows. My version has just one feature that makes it different: Every deal is winnable. My app changes solitaire from a game of luck to a game of skill.
I am primarily doing this product as an experiment, but the product is still very real. I'm selling it to real people and I'm charging real money for it. You can check out my product Web site.
Like I said, this is an experiment. I want to gather some data. I'm trying to learn about the kind of software products that can happen in a micro-ISV.
Not only is this an experiment, it is an open one. I plan to disclose all of my findings. In future postings on my weblog, I will share my sales figures, my costs, and my stories.
As I write this, I really don't know how much money I will make on this product. There are approximately 500 million computers on the planet. My product could be a success if I sold it to a minuscule fraction of that market. I am expecting the sales to start slow and grow slow.
The following sections contain guidelines for getting started with a one-person company. These are things I believe to be true about micro-ISV product development. If I were writing from experience, I would refer to these items as advice. Instead, these are hypotheses that I hope to verify.
Don't start too big
I like to dream up product ideas. Unfortunately, most of them seem like things that would require 12-24 months of development before I see my first dollar of revenue. That kind of plan is a lousy way to get started. The risks of a new venture can be dramatically reduced if that problem can be avoided.
In any software company, it's important to find a way to keep your 1.0 cycle as short as possible while still building a product which will generate revenue. This is a delicate balancing act, I admit. If your 1.0 release is light on features, fewer people will buy it. If you build the product that will appeal to the bulk of your market, it will take too long. Where's the happy medium?
Most companies err on the side of putting too much into the 1.0 release. We just can't resist fighting a feature war with our competitor. We convince ourselves that we have to beat the other guy on features or nobody will buy our product.
Thomas Warfield's solitaire game has 600 different variants. If I believed in feature wars I would be unable to ship my 1.0 release until I had 601 variants. That's crazy. The purpose of 1.0 is to help pay for the development of 2.0, and so on.
I started the development of Winnable Solitaire on June 16th. One month later, on July 16th, the app was complete and of sufficient quality to be shipped. The point here is not to brag about how fast I am as a coder, although I'll confess I was feeling rather smug on the 16th of July. The real point here is that I chose a 1.0 product with an extremely tight focus.
Don't quit your day job yet
I wrote Winnable Solitaire during my spare time. I sometimes like to write code late at night after my kids are in bed and the house is quiet.
During the day, I continued my usual responsibilities at SourceGear. In fact, for the sake of reassuring the SourceGear customers who might be reading this note, please understand that I am committed to my day job. Winnable Solitaire is purely a side project. I wrote this app specifically so that I could write articles like this one, to encourage software entrepreneurs. This is neither a job change for me nor is it a strategy change for SourceGear.
My point here is that it is possible to get a micro-ISV started while keeping your day job. Here again, the key is keeping a very tight focus for your 1.0 release.
By the way, you may want to be sure you don't accidentally find yourself in a legal tussle with your employer. If you have an employment agreement, read it carefully. Some employers hold the opinion that any software you create while you are an employee is their property, even if you do it off-hours and off-premises. Whether the employer is right or not, you don't want to find yourself in a disagreement after the fact.
As it happens, this situation applies to me. My deal with SourceGear says that the company owns any software I create while I am employed here, regardless of the circumstances. So although Winnable Solitaire is certainly not a SourceGear product, any revenues I receive will end up getting turned over to SourceGear. Obviously that's okay with me, since I am one of the owners of SourceGear anyway. However, I recommend you check your situation and make sure you know what you are getting into.
Don't fake the plural
I don't think micro-ISVs should try to hide the fact that there is only one person in the building. Conventional wisdom says that even a one-person company should use the word "we", but I think it often ends up looking silly.
This seems particularly true today in a world where weblogs have become so popular. More than ever before, companies like to see a glimpse of the person behind the product. The result is that a lot of one-person companies are speaking in the first-person plural while a lot of larger companies are speaking in the first-person singular. Doesn't this seem kind of weird?
Don't forget the Law of Focus
Being careful to remind my readers that I do admire Thomas Warfield and his accomplishments with Pretty Good Solitaire, I must disagree with him when he says, "Marketing is the process of communicating with other people to get them to give you their money in exchange for your product."
I admit that lots of people do define marketing that way. Unfortunately, that definition is only half of what marketing really is.
Marketing has two parts: strategy and communications. We pay more attention to marketing communications (aka "marcomm") because it's more visible. It is also more expensive. But it is not more effective.
Readers of my weblog know that I really like The 22 Immutable Laws of Marketing, by Al Ries and Jack Trout. One of the more challenging chapters of that book, Law#5: The Law of Focus, says that "the most powerful concept in marketing is owning a word in the prospect's mind". The concept seems intuitive until you try to narrow things down to just one word. When asked to tell someone how great our product is, most of us want to say several things, not just one.
With Winnable Solitaire, I want to own the word "winnable" in the mind of the market. That's the only attribute I'm seeking to own.
Don't underestimate the power of the Law of Focus. Your target market has a very short attention span. You probably have time to say only one thing. Choose that one thing very carefully.
Don't spend much on advertising
I have often claimed that small ISVs don't need to do much advertising. For Winnable Solitaire, I'm going to stay true to my philosophy. My advertising budget will be quite minimal, but not zero. I have placed an AdWords ad on Google. For now, that is basically my entire advertising strategy for this product.
If Winnable Solitaire ends up being a success, it will be due to the power of differentiation. Obviously, my solitaire game is not "better" than its competitors. I have only one differentiating feature. My only customers will be those people who are willing to pay a few bucks for that feature.
Don't hassle your users
For this one, I'm going out on a limb. I believe that customers today are so tired of being annoyed by spam and sales guys that they will appreciate a no-hassle purchase.
My registration form allows customers to remain anonymous. I obviously do need their credit card information, but I discard it immediately after the sale is complete. I also ask for buyers to tell me the countries and states in which they live, so that I can keep some simple statistics about where my sales are happening.
I don't ask for an e-mail address, so my customers don't need to worry about spam. I don't ask for any contact information at all, so my customers don't need to worry about me trying to sell them more stuff. I literally have no idea who is buying my product.
I am making a tradeoff here, and I am honestly not sure it is the right one. Conventional wisdom says I should grab customer contact information so that I can specifically target my customers with new products and upgrades and newsletters and books and T-shirts and socks.
As part of my experiment, I've decided to trade that away. Customers don't like being targeted. I want to see how much goodwill I can earn by letting my customers be in charge.
I reserve the right to tweak my strategy and tactics over time. I plan for this to be an ongoing, long-term experiment. Whether the product succeeds or fails, I hope to learn something, and I hope the stories about this journey are interesting enough to read.
Starting out, my micro-ISV is facing ridiculous odds:
- My product competes with something that is freely included with every copy of Windows.
- I make no secret of the fact my company is just me, and I only work on this during my spare time.
- My marcomm budget is minimal.
- I have consciously chosen not to build a customer list.
- The competing products in this market are well-known, mature, and have far more features.
Common sense would say that my product is doomed. Stay tuned and we'll find out.
The Business of Software