This is another one of those -cut the crap and use your common sense- posts. Earlier today I had a twitter conversation with one of my friends that lives in the Microsoft Fanclub. I am not being disrespectful here, just setting the pace for the story 🙂 It’s one about choices and expectations. We are back at the best-of-breed versus one-size-fits-all discussion. Last time I talked about best-of-breed was about the VMware partner ecosystem where startups choose to take a feature and where the stack provider choses to take the entire stack of features. This time I want to talk about those choices in development.
Public Services for everyone?
The Flemish Government – yes, we have 9 governments in Belgium – announced this week it will have e-book services in public libraries as of next year. In the beginning there will be around 300 titles available and after that they will look at which books that have been read first; younger or older books and extend the choices. There are 2 parts of the services foreseen:
- you can go to the library and read these books for free on e-readers or computers
- you can download an app for both iOS and Android
You guessed it right; my MS-fanboy friend didn’t like that choice. He wants to have the app as well on his Windows Phone. Where I claimed that I think the government is throwing away my tax money if it would use resources to develop apps for platforms that don’t even have a 5% market share, he asked me why 5% of the population should be denied a public service.
Developing software, hardware or anything else for that matter always has a big checklist of feature requests. And on the other end there is this thing called “available resources”. Say whatever you want but unless you are Larry Ellison you don’t have the option to either throw another 100 developers against it instead of buying a new boat/island/airline. So in comes the red marker. And now you have 3 options;
- goes to top of the list – must have, whatever the consequences
- in the next release if possible, otherwise goes to next release
- off the table – either permanent or long term
Platform support is always a big feature request. But to support yet another platform you’ll have to put more than one smaller feature to the second on third option. So the question dev teams always have to aks themselves is: do we choose dozens of more or better features for our current customers or yet another platform. I’ll tell you what helps that decision: market share! Either you develop for the majority of the market or you develop for a niche market. Look at the picture below and tell me for who the Windows Phone developers work.
This discussion is exactly the same when we talk about virtualization; either you develop for VMware or Microsoft or both. Everything else is developing for the niche market. Now this does not have to be bad. There are 2 reason for developping for a niche market:
- You can be market leader in that niche market
- You are convinced that niche market will gain market share
Sometimes that second option is very viable. Especially if you enter a new market and there is only one major player. That is what happened to Microsoft in the Virtualization space and to Android in the mobile OS market. But once there are 2 major players you’ll have to be very disruptive as there already is choice! In the virtualization this could be OpenStack for example. But in the phone market? Sorry, WP is not going to be that disruptive player.
Now we get to customer expectations. On this side of the equation there is also a lot of choices to make; cost / quality / usability. I am not religious about operating systems so I will buy an expensive iOS or Android device just because of the fact that it would have quality AND with a shared market share of 90% I can pretty much be sure of having almost every app I want to use available for me. Why? Because that’s what developers wil design for.
Now if you choose to buy the the x-th platform this means you know upfront you are living in a niche market and you will have to be satisfied by the apps made available for you by developers that choose to work in a niche market (same goes for XEN/KVM in virtualization). Can you expect all other developers to do the same? NO. If you choose to live in the woods, you cannot expect to have a train station in walking distance or even cell phone coverage for that matter.
There is one point to make here towards the background story of public libraries. Where a private company can decide to ignore parts of the market, public services cannot be denied to parts of the population. In here there is another choice on the board when feature requests come up; alternative services. And in my opinion having the e-books available for free on tablets in the library pretty much covers the public services part. It is a far better options that will support everyone rather than trying to support every platform.