Pre-Natem
After a long time, and a LOT of work, my days as a professional independent Mac developer are just about coming to a start. MercuryMover (Move and resize virtually any window on your Mac with the keyboard) has been quietly on sale since Friday and my PR goes into full swing tomorrow. Since i'm at the beginning and have some high hopes for this enterprise, i wanted to shy away from the "post-mortem" in favor of a pre-natem. Here at the birth of my company is the perspective of a newcomer to the independent Mac scene.
Get Started
I thought about starting a company for two or three years before i even got semi-serious about it. I kicked around a few ideas, and dabbled in cocoa but i didn't make any progress until i committed myself to building the first version of MercuryMover. I had a useable version in a few weeks, but was not able to parlay my prototype into a functioning business. At the time, my second child had just been born, and i was not able to carve out any time to work on MercuryMover, much less the company that would stand behind it. Of course a working prototype is better than no working prototype so at least i was somewhere.
Making Time and Getting Things Done
So i had an app that i used every day, but it was getting no closer to the general public. I had been familiar with the "Getting Things Done" methodology from it's many mentions on the internets and also from the rave review that Bob Walsh gave it in his book "Micro isv : From Vision to Reality". I had always figured myself to be too smart for a crutch like this; but by February of this year, i really hadn't made any progress beyond a very slow and dull evolution of MercuryMover. I swallowed my pride, and bought The Book (Getting Things Done: The Art of Stress-Free Productivity by David Allen). While not the most riveting read, i took the methodology to heart and applied it to my life. And you know what? I wasn't that smart after all! Getting Things Done (or gtd for those in the know) change my life. It's not rocket science, but the methodology is sound and it really works. After about two months, i had doubled my personal productivity. Now there were very few tasks or ideas that were "slipping through the cracks". At this point, i had the tools, i just didn't seem to have the time. I recommitted myself to getting this company started by carving out one night per week where i would work exclusively on Helium Foot and MercuryMover. Of course the "one night" of work begins after making dinner and along with my wife shepherding our children through dinner, bath time, bed time as well as the i-need-a-drink-of-waters, i'm-scareds and i-need-to-go-the-bathrooms. this really only left me with about two hours per week that were reserved for this project, but it made a huge difference. I was finally seeing the type of steady progress that had eluded me, literally, for years.
Pick and Choose Your Battles
In starting Helium Foot, my most precious resource has definitely been my time. As such, i've tried to be careful about where i spend it. This means cutting cool features and compromising on others. This means that sometimes you take the hit and invest a lot of time to build something you could buy and sometimes the reverse. The biggest example for me is my licensing code. I rolled my own licensing using openssl based largely on this excellent post by Allan Odgaard the developer of TextMate . Using my limited resources, i literally spent months on my licensing code. However, it's something that i own and works exactly the way that i want it to. I'm not beholden to a third party (i'm lookin' at you Kagi and E-Sellerate) for this critical piece of my business. On the flip side, i could easily have written my own defect tracking system or paypal processing code. I outsourced these to FogBugz and E-junkie respectively. In these cases the costs (financial and otherwise) were so low and the alternative were so expensive.
Build Something That You'll Use
Conventional wisdom is to build a program that you want to use. In my case, i've been working on the same relatively simple program for almost two years. In addition to the software, you need some documentation, a website, marketing etc. You're going to stare at this thing for a loooong time, so you'd better like it! Of course, by eating your own dogfood, you're more likely to deliver something that actual users will, you know, use.
Market, Market, Market
I don't have too much to say about marketing other than that i recognize how critically important it is. My marketing skillz are nascent right now, but i hope to build them into a core competency. Here's what i've got going so far:
- I paid prMac to write my first press release and also to distribute it to their media partners
- i manually sent my press release to a few outlets not on prMac's list
- i emailed a few local technology writers
- i blog
- i'll post to the very helpful MacSB yahoo group with a link to this post (this list includes some of the best and brightest indie Mac developers)
- email a few other sites that i've identified that might be interested in posting something about MercuryMover.
In the near future i also plan to start using google adwords on both the search site and through the content network. Watch this blog for the story.
Follow the Leaders (and other followers)
The talent of the Mac developer community is surpassed only by its generosity. Every established and not so established developer that i have reached out to for advice or assistance has been nothing but magnanimous. There are a number of small shops that have already accomplished what i hope to accomplish and even more that have accomplished more than i have. I follow them at every turn.
So here I am. Hopefully, the next time you hear from me, i'll be a real bona fide professional (as in have been paid) Mac developer. I'll try to do a launch post mortem (i'll be happy to get the launch behind me if not the whole company) in a week or two and let my loyal reader know how it went.