I guess these days it's probably not as amazing to others as it seems to me. That I can be sitting in my home office in New Jersey and discuss making Velocity, a Windows version of Dash, with the developer who created it in Romania. I've had some doubts about it that's for sure and at times it feels like such a long shot to succeed, but here I am really enjoying myself and now I get to see where this takes me.
How Did I Get Here?
I've been an independent developer since 1997. That's a long time to be on your own. I've had good years and bad, but I've felt for quite a while now that I was doing it wrong.
I build products, but a lot of my work has really been bespoke development. I'm proud of the work I've done and my products have been successful for my customers. My form design software has been used to design the industry standard insurance forms since 1998.
The problem with my business is that it was never really a sustainable business. My products are licensed to a single or handful of customers at best. Many times I was lucky enough to secure a contract just when I needed it, but I've spent a lot of time wondering if I would be able to pay my bills and I can't even imagine what it would be like to go on vacation anymore.
Near the end of 2013, I finished a four year fixed-cost project that left me realizing I needed a change.
Keep Moving Forward
"Around here, however, we don’t look backwards for very long. We keep moving forward, opening up new doors and doing new things, because we're curious… and curiosity keeps leading us down new paths" – Walt Disney (as displayed at the end of Meet the Robinsons, a lesser known but endearing Disney movie.)
I've had that posted on my desk for quite some time with the words "keep moving forward" underlined. I feel like I'm someone prone to getting stuck and this serves as a reminder to just keep taking that next step.
I started to look over contract and job opportunities and soon realized how beneficial it would be to have a public reputation. But it was more than than that too, because for many years I watched others write blogs, participate in open source, and grow businesses from nothing (like StackOverflow or Balsamiq). I wanted to be doing these things. I've been watching this community of people like me do awesome stuff and I wanted to join in. It quickly seemed like a no-brainer; do some things you want to do and maybe help your future in the process.
I wanted to be doing these things. I've been watching this community of people like me do awesome stuff and I wanted to join in.
So the first thing a did was dust off a project I had started and stopped a few times over the years and decided it was interesting enough to turn into an open source project. Thus ProxyFoo was born. It's a library I had wanted much earlier for my large project, but unfortunately couldn't spend the time on it then. I hope it's useful for others and I get excited every time I see my download number go up on Nuget (a paltry but "cool to me" 127 as of writing this).
I also started this blog. As I mention in my first post, this was something I wanted to do for a long time. I know me, I know I'll never be a writer on a consistent schedule, but I do enjoy it. For me, this has always been one of those "do something that scares you" activities. I get very uncomfortable very quickly when sharing things about myself. This post is huge for me.
And now, at the very least, someone can take a look at my work, can take a look at my writing, and get some idea of who I am, but I still need to make a better living.
One project I think I've managed to spend a week on over the last few years is a little football pool app I use on the iPad for a family SuperBowl party. In the course of working on it I discovered Dash. Now, I tend to spend far too long researching products, so even before I downloaded it I had a pretty good idea of its reputation. I used it for a day or so and went back to work on Windows.
I was lucky enough to find the post on Bogdan's blog. He was looking for developers to bring Dash to other platforms.
I am actively looking for developers of other platforms (iOS, Android, Windows or Linux) that would like to work on a Dash-like app, as their own project and for their own profit. – Bogdan Popescu Dash for iOS, Android, Windows or Linux
The bottom line was that in return for linking back to Dash he would allow access to the docsets on his servers.
I printed the page and let it sit for a couple of weeks. On February 12th 2014, I filled out the form on his website and let him know I was interested.
His permission to work on the Windows platform was not exclusive which I knew made this risky. I had thought about developing some product ideas of my own, but I felt the thought of starting something from scratch was even more risky. I needed to do something and at worst I felt Velocity would be a great product to add to my resume.
The first month I split a lot of my time between Velocity, ProxyFoo, and existing support work. It was a slow start. I emailed Bogdan again, and found that I was not the only developer making progress.
Shortly after, around April 2014, I began to focus on Velocity exclusively. I ran into some interesting problems but managed to work through them all. I'm sure there is good material for a blog post or two. Eventually I was the only developer updating Bogdan, and after three long months, on June 23rd, I released the first Beta of Velocity. Bogdan was great to work with and very helpful.
Over the past month, a funny thing happened. I've realized just how right this decision was. I wanted to have my own business making software since I was a kid and this is bringing back that feeling.
Every download, every page view, brings me excitement. When Bogdan (@kapeli) re-tweeted my Beta announcement I got more traffic to the Velocity website in an afternoon then I see in weeks on my company website. I was literally running around the house screaming new country names at my family. I got hits from all over the world and over the next few weeks I saw error messages reported to me in Swedish, French, and Chinese. This is Awesome! In the grand scheme of things my page view numbers were still very small, but even if this never gets bigger I have absolutely loved the ride.
I also found that it's a pretty cool experience to have a person you don't already know appreciate your work. I got a positive email from one user who ended up as my first customer for Velocity, and it felt pretty darn good.
I'm about to release v1.0 in the next day or two and I'm quite nervous. I don't think it was as clearly defined when I started my business, but it seems obvious to me now that what I really want is to be an "indie" developer. A guy that makes small products people enjoy using and makes a living do so. Time isn't exactly on my side (which is why I'm still looking for contract work - see my careers page) and I don't know what the future holds for this, but here I am - all in.