Recently I’ve been working on my next book – working title The Software Startup Success Guide – and I noticed that easily one of the most important decisions you can make as a startup gets practically no attention: What platform are you going to build on?
Back in the age of Bill and Steve, startups could pick any platform they wanted so long as it was either Microsoft’s or Apple’s. Nowadays, you as a developer who’s going to go down the Startup Road have a huge and sometimes confusing range of platforms to build on.
Just going with the default – whatever platform you happen to know best – makes about as much sense as walking up to the next girl (or guy) you see and saying let’s jump in bed. Maybe it will work out, maybe some magic chemistry will occur, maybe you’ll be scarred for life.
Picking a platform is the startup equivalent of marriage: some sense it’s the right match is more that a good thing, it’s a must-have. In this post, I’d like to enumerate quickly what as of 2009 those platform options are and offer a few ideas about how to evaluate your platform options. Two caveats:
- This is not from a programming point of view, but more along the lines of the opportunities and tradeoffs in my opinion each platform provides.
- Secondly, I’m totally ignoring gamer platforms, mostly out of abject ignorance. I’d welcome any comments as to what the prospects are for game startups of the various game console platforms.
First, let me introduce our cast of characters:
- SaaS. This is Software as a Service, such as an app written in ASP.NET, Rails, php etc. that you run from your web site and either charge customers to use or monetize via advertising or some other means. Think Web 2.0 and you’re thinking SaaS.
- PaaS. Platform as a Service is the apartment building variant of SaaS: you write a web app, but it plays in someone else’s sandbox/online ecology. Force.com from SalesForce, the Apple iPhone, Google AppEngine, Bungee Connect come to mind. So does enterprise-level PaaS like NetSuite, Oracle OPN and others. And so too does Amazon’s almost a PaaS weave of Web Services, Google’s not quite an operating system of tools and services and Microsoft’s we finally have cloud operating system Azure.
- Social. Social networks like Facebook, Twitter, MySpace, Bebo, Hi5, Orkut and SecondLife are platforms, but their values, usages, structure, economics and opportunities set them apart from SaaS and PaaS.
- Mobile. This gets its own category for the simple reason that it has exploded as a platform: Apple iPhone, Google’s Android Platform (gPhones), RIM Blackberry and Windows Smartphones, to name the major and minor players.
- Hybrid. It’s not a web app because you can launch it from your desktop, it’s not a desktop app because it uses the Net, runs on PCs, Mac and Linux boxes; it’s something different. Adobe Flex/AIR and Microsoft Silverlight are the two major platforms battling for the hearts, minds and codebases of startups here.
- Open Source/CMS. Open Source doesn’t necessarily mean leave your credit card behind, as major Open Source projects like WordPress, Joomla and Drupal and their ecologies of templates, add-ins and consultants demonstrate.
- Desktop. They may not get the respect, press and funding they once did, but desktop apps created by startups for Windows and Macs are still very much a part of the platform mix, and the lion’s share of money spent on software.
Now each of these platforms deserve a couple of long posts (or sections in a forthcoming book with good interviews to boot:)) to cover all their ins and outs; let me, totally in my opinion, give you what I think the gist is that startups need to know about each.
- SaaS. Easiest to get to launch; making money with a startup sized app is another question. First off, the days that you could create an SaaS over the weekend and live off the Google AdWords revenue forevermore are long gone – between the iron law of click throughs and declining overall ad revenue thanks to a wee worldwide recession, building a nice but not essential advertising-centric SaaS today is not a good bet.
The challenge for SaaS startups is building a really compelling product for a market that absolutely lusts for your product, or finding a way for someone else other than the user to pay the freight, or both. For example, mint.com is signing up something like 30,000 new users per day because they’ve got a great robust product and they make their revenue from someone else than their users.
- PaaS. Outside of force.com, PaaS as a platform have not been an easy sell. Part of the problem is an understandable reluctance of SaaS startups to put all of their eggs into someone else’s basket. The recent demise of Coghead did not help this platform.
- Social. Before they were replaced with “iPhone millionaire startups” as the darling of the mainstream press, “Facebook millionaire startups” made the news. The two biggest things to know here is first, the numbers. As of early 2009, MySpace had 76 million users, Hi5 60 million, Xing 6.5 million, Twitter with a mere 4.5 million and Facebook with a staggering 150 million active users. Second, if you can create software that enables these people to do something new/different/fun/useful within their social network, there’s funding and opportunity.
- Mobile. With something north of 25,000 apps now at the Apple App Store and Google Android starting down that same road, there is a lot of opportunity for mobile app startups. If your startup’s solution can be shall we say, mobilized, you have a platform with few established players, huge customer interest and demand. You also have software price points way, way under any other platform, something you will need to build into your plans from the get-go.
- Hybrid. I think this is a platform that is about to explode. While the number of Flex/Silverlight commercial apps out there in the marketplace is tiny, the platform itself has a lot going for it and with Flex Builder 4 and Silverlight 4 and other Hybrid vendors waiting in the wings, I’ll go out on a limb here and predict there will be hundreds of startups bringing their apps to market via one or the other of these development platforms this year.
- Open Source/CMS. While it’s easy to go from developer to microISV selling add-ins to one or another CMS markets, there’s two big problems: for proprietary CMS systems such as SharePoint, you will always be under the shadow of that vendor who can with their next release squash you like a bug. This scenario played out over and over during Microsoft Excel’s adolescence. Secondly, for startups building commercial products that touch on open source projects, there’s two additional issues – the sometime murky depths of the open source license(s) involved and absolutely clear open source community rage and anger aimed at commercial software. These minefields can be negotiated, but it definitely takes thinking upon.
- Desktop. For all the attention web based apps deserve and get, if you go strictly by ROI, desktop software was and still is where the bulk of software money is being made. The desktop isn’t dead and is doing quite nicely in fact, at least according to the best non-proprietary data out there. But there’s a catch here for startups – established competition. No founder or VC in their right mind is going to go challenge a market segment leader like Microsoft Excel, Adobe Photoshop or Intuit Quicken on their home platform.
Okay – after all this is said and done, what should you do? There’s no one answer or set of answers to this, but here’s some useful questions you should at least think about before jumping on any particular platform.
- How appropriate is the platform for the market you are targeting? Each of these platforms presume your prospective customers are doing whatever they’re doing in a given role or setting. Does your software idea play to that, or is it a mismatch?
- Your – and your startup team if you are part of one – skill set. But there’s three factors at work here: most experienced programmers work with several languages, there are more and more ways of transferring your skills from one platform to another and new skills can be learned or bought if it comes down to it.
- Is the platform evolving, mature or declining? For example, you could write a VB6 app today – and Microsoft has promised it will run on Windows 7 when it’s released. But for all sorts of other reasons this would be a poor decision.
- Is your platform consistent with your post-startup strategy? You don’t tug on Superman’s cape, and you don’t sell Ruby on Rails startups to Microsoft. Hoping for a major player in your industry to buy you out? Better not develop a .NET app if your three potential suitors all are Open Source to the core.
- You’d better love that platform. The flip side of economic/business considerations is that you as a developer are going to be working day and night in your platform of choice – if you don’t love it, how are you going to muster the enthusiasm and passion you’re going to need?
Finally, you as startup founder need to put some hard thought into what platform(s) makes sense for what you want to bring to market, not just which programming language and therefore platform you’re most comfortable with. Neither I or any other pundit can tell you what’s the right, best platform in general – you and only you need to think this through. Just be sure you do!
This post was written for Avangate by special arrangement. But I’d say the same thing anywhere anyway.