Windows 8 is just around the corner. The Windows Store is now open to anyone without going through a special token process. Microsoft is giving away free Windows Store developer access for a year to anyone with MSDN. You can develop Windows 8 apps with a free version of Visual Studio. You can use your favorite technology to create apps, including C# and XAML, HTML and JS, C++ and DirectX, C++ and XAML, VB.NET, and probably more that I forgot, or a combination of two or more of these. So why do we have news coming out about a shortage of apps and Microsoft being worried about it? I mean after all, Microsoft gave away thousands of tablets at BUILD last year and we don’t even have as many apps as the number of tablets given away.
I was at the BUILD conference last year and even with the free tablet I haven’t yet published an app to the store. I have 2 in the works and plan on having at least one ready for launch, hopefully both. So what’s standing in the way? I have my own guesses as to why this is happening, please feel free to argue with me in the comments and tell me why I’m an idiot, I’d love to hear your points of view.
Issue 1: Building apps for Windows 8 is a lot harder than for Windows Phone
On the surface (no pun intended) developing an app using C# and XAML for Windows 8 is very similar to developing for Windows Phone. There are however a few things that make it significantly more challenging and time consuming. The first is that you need to support various different resolutions and aspect ratios along with a “snapped” view. So far in Windows Phone, although it’s changing with Windows Phone 8, you can code to one resolution and know it will look the same everywhere.
Adding features such as a settings pane and popup dialogs is also more difficult because you have very limited help out of the box for these common scenarios. I find myself spending a lot of time working on things that should be easier, and this takes time away from working on the core functionality of my app.
Issue 2: Developers are disillusioned after making very little money on Windows Phone
Sure there have been some success stories, but for the vast majority of Windows Phone developers they don’t make enough to pay for their Starbucks every morning. Frankly, the Windows Phone Marketplace was a mess. I hope it improves with its new branding of “Windows Phone Store” and I like some of what I’ve seen so far from the Windows 8 store. You had no way to differentiate your paid app with trial mode from other paid apps unless someone clicked through to the details, Xbox Live games receive a ridiculous advantage over independent games, ad revenues are in the toilet, and even if you had a very highly rated app it’s hard for people to find it unless you’re one of the lucky ones to get featured. The featured apps skew heavily towards Xbox Live and other apps created directly by Microsoft or in partnership with them.
This may have lead to a wait and see attitude after developers spent hundreds of hours on their Widows Phone apps and games and received pennies in return.
Issue 3: Metro – I mean Windows 8 App Style – can be time consuming and expensive
Sure, if you want to use the basic templates and just put some data on the screen you can do that really quickly. The issue comes when you want to take your app to the “showcase” level. There are a lot of nooks and crannies when trying to build a really polished Windows 8 app, and Microsoft has been diligently telling everyone that their apps better look good and follow the guidelines. So a developer has to spend a lot of time tweaking their app until it shines, researching other apps that are out there, and/or hire a designer. Now of course we all want there to be high quality apps out there so I’m not suggesting this is a bad thing, but it does make things harder.
Issue 4: Killing off XNA
There could be thousands of games ready to go on the Windows 8 platform if Microsoft officially supported XNA game development. There are some really great independent games on Xbox Live Independent Games and on Windows Phone developed in XNA, and much of that would just move over and work on Windows 8. The MonoGame guys have done a fantastic job on MonoGame for Windows 8, and over time those games will come, but it will take time. If XNA was available last October you would see a lot more games available now.
Issue 5: Developers may not even know the store is open
The opening of the store to all developers happened a couple of weeks ago, and if you weren’t paying attention you easily could have missed it. Up until then, you needed to meet with a Microsoft PFE and they needed to approve your app and bless it with a token for you to even publish to the store. And even if you now know the store is open for business, there was no word ahead of time when this was going to happen, it just happened one day, and so it probably caught a lot of developers off guard and it will take them some time to catch up.
Issue 6: Microsoft has contributed to developer apathy
Oh where to start with this one… One of the things, probably the main thing, that has kept me loyal to the Microsoft platform is that it’s always felt like a team effort between the third party developers and Microsoft. Developers, Developers, Developers. Last year, before BUILD, the word was wait until BUILD and all will be revealed. Microsoft Developer Evangelists and everyone else at Microsoft had to stay quiet until BUILD, but the assumption was that things would be back to normal after BUILD. Well the conference came and went, and the gag order continued.
Add to this that Microsoft seems to be systematically killing off technologies like Silverlight without any clear replacement and pushing people towards HTML5 and JS. Personally if I’m doing HTML and JS I would start to question using ASP.NET and wondering if Node.js or some other server technology is a better choice, and soon I’m totally off the Microsoft stack.
The holding back of the Windows Phone 8 SDK has been another issue. Loyal Windows Phone developers (who are very likely to be working on Windows 8 apps) are not happy with the limited access to the SDK. Unless Microsoft announces some incredible new secret feature for Windows Phone which warranted all of this secrecy there’s likely to be an all out revolt.
Personally I believe that Apple has succeeded in spite of their secrecy and draconian developer policies not because of it, and I think Microsoft may be picking the wrong things to copy from the Apple way of doing things.
So where do we go from here?
There are some things Microsoft could do immediately to turn things around. First of all, run some promotions in the form of contests or other giveaways to get developers excited about writing apps for Windows 8. The promise of the huge opportunity isn’t going to get people going as much as “hey, submit an app and we’ll give you cool stuff”. Second, Microsoft needs to provide a clear and consistent message about what technologies they will be supporting going forward and not change their mind every couple of years. Third, make an announcement that every new Windows RT device sold will come with a $20 (or $10 or whatever) credit for buying apps. Developers will be encouraged to create quality apps to get a piece of that pie.
Above all, open up the communications and make it feel like we’re all in this together again and can work together to make the platform a success.