It's a good to be an independent developer. The number and variety of development platforms on which to build has exploded over the past several years. From the iPhone to Salesforce to Facebook, opportunity knocks at every turn.
But if you're an independent developer, choosing which platform to develop for can be a difficult task. Many developers today decide to develop for the platforms that seem to offer the quickest path to riches.
Most of the time, that's not the wisest decision since finding the right platform is based on more than a cursory response to "Where's the money at?". To increase the odds of finding success, here are seven areas you should consider when evaluating development platforms.
Domain knowledge, experience and skill. What do you know? It's a good question to ask before you build. If you've never built for the consumer internet, for instance, your knowledge and skills may be suited for a platform other than, say, Twitter. By choosing a platform that meshes with your knowledge, experience and skill in a particular domain, you'll increase your chances of building something viable.
Support. When you're developing on someone else's platform, the level of support that's available to you is almost always of great importance. Support can generally be broken down into two categories: that provided by the platform operator and that provided by the ecosystem. While the vibrant ecosystems that exist around some of the most popular platforms can be of great help when you need it, nothing quite compares to being able to get support from the platform owner. This is especially true when you're trying to do something novel or are building something mission-critical.
Monetization. Does the platform operator offer a built-in means to monetization like Apple does with the App Store or does the platform operator leave monetization in your hands like Facebook currently does with its platform? Depending on what you're building and your optimal business model, this can be a major factor.
Performance, reliability, security and scalability. Your application is only as good as the platform. If you can't be sure that the platform you're developing for can offer performs commercially, reliably, securely and can scale, watch out. When your business is dependent upon a third party platform, your ability to grow is dependent upon the platform's ability to grow.
Stability. You spent a lot of time building an application for a third party platform. And then one day it stops working. It happens and often the reason is that the platform owner decides functionality needs to change. And Murphy's Law dictates that the functionality relates to your application. Twitter, for instance, has frustrated developers more than once by changing its API without giving developers a head's up. While sometimes there are legitimate reasons for this, it's far more pleasurable to develop for a platform that isn't constantly being changed in ways that break functionality and cause migraine headaches so be sure to look at how 'stable' a platform is and how the platform owner has dealt with developers vis-a-vis changes in the past.
Competition. If you're building applications that will compete in a marketplace, it should go without saying that the amount of competition you have with other platform developers is an important consideration. While much is made about iPhone apps, for instance, the reality is that most developers don't hit the jackpot. This doesn't necessarily mean you should develop for a platform for which there is less competition but you should never blind yourself to the existence of competition.
The relationship. What's your relationship with the platform owner? Do you have to sign an agreement and pay for play or is the platform open to all comers without any warranties? Depending on what you're building, this could be a significant consideration. After all, if you make a significant investment in developing an entire business around a platform offered by a company you have no contractual relationship with and it gets cut off one day, you're pretty much out of luck.
There are plenty of great opportunities for independent developers today and many of them are hidden in plain sight. With a broad view, thoughtful consideration and strategic planning, you can seize them.
Photo credit: Phillie Casablanca via Flickr.