I am currently working for a start-up and our first product has been in development for several months. We have reached a fork in the road and I would like to ask the OnStartups community for some sage advice.
Some background information: Our first product is a personalized content application and we are currently developing for Mac OS X. We are currently testing our private beta with select users and should have a public beta available in the next several weeks. While our initial demos and concept tests have gone well, the sizes have been very small and we have still not unanimously reached the "acceptance of concept" stage. Regarding our strategic vision, we have always had the intent of being a cross-platform application and plan on aggressively expanding across platforms once our product has been tested and accepted by the market.
Now with the question: We are trying to decide our development strategy moving forward. We are split between two options:
Option 1: Focus solely on initial client until the market has accepted it. While we have not defined metrics yet, we assume this means steady growth and continual usage. Once we achieve these goals, it verifies that we are on the right path and we move full speed ahead developing as many clients as possible.
Option 2: Continue development and "fine-tuning" of initial client while beginning development of additional clients (web, Windows). This will allow us to attack more markets faster and thus gain more user data which will make our overall product better. By launching a light-weight web application in tandem with our Mac OSX client, we offer more options, can market test with more users, and get an overall head-start. While option 2 focuses on creating a web client, it also optionally includes beginning Windows development as soon as we can hire a Windows developer.
Option 2 Supplement: We are in a unique situation within our incubator because it provides several "shared services" between the start-ups. One of the services is a web developer who could temporarily join our team and develop our web client for us free of charge. I have included this to emphasize that money and talent are relative "non-issues" regarding this decision.
Any advice would be greatly appreciated. Thanks in advance for the help.
Your description matches all the key signs of a common mistake, so I'm willing to bet that your best option is option 1.
Option 2 sounds like a great way to continue failing. Since you fail on a given platform, you keep coding for another one, hoping... for what exactly?
If your current product is somehow not successful, coding more of the same will not fix it. But if you are a developer, it feels better to keep coding, than face the fact that maybe you need to make some more radical changes.
Option 1 is the best option for you because you need to make sure there is a demand for what you are making. You have spent hours coding for the version you currently have on a platform. If no one uses that, or even likes it. What makes you think people using other platform will?
You need to get as much clients as you can. I am not sure if this is a freeware or not. Have a goal of X number of downloads or purchases and once you reach that goal you should decide from there on. Most likely though, if people like your application they will bug you to develop it on their platform. I suggest you read Getting Real or Rework from 37Signals. Their philosophy will work wonders for you.
Along with client base you need to fine tune your current platform as much as you can. You need to listen to your community, step back and think what is necessary (don't put everything they ask you to as it will deviate you from your vision for the app) and implement it.
Again, I cant stress this enough but you should read Getting Real. Its a free read online on 37signals.com.
Best of Luck.