As I mentioned in my last post, my free time when coding, is taken up with getting my first Windows Phone application completed and published.
So whilst doing this and getting to grips with WP7 development, I started hearing about how Windows Phone will be changing (Mary Jo-Foley’s blog, Windows Phone dev blog) and that for Apollo, the next Windows phone OS release, Microsoft will make Windows Phone use the Windows 8 kernel.
My first reaction is why? Why change it? Microsoft as a company needs to get as many companies/people developing apps on the platform to make it successful. You may hear the line “it's not about the apps” but it really is, with a lot of bigger companies (like Starbucks) having and promoting apps on iOS & Android but nothing on Windows Phone, the platform looks weak and that is the last thing Microsoft and Nokia need now. It seems that Nokia need Windows Phone to be a success or they may be in trouble so you would think they wouldn’t be happy with any major change that could effect the adoption of the phone.
I read the blogs and can see and understand that Microsoft wants to have a unified environment across phone, tablet and desktop/laptop but why, when you need to get people developing on a platform, do you change how they develop on it after it being out such a short length of time? Developers have invested time and effort into learning about the phone and its foibles only to now need to look to learn new technology if they wish to continue developing on the platform in the future. Microsoft have said that existing apps, legacy apps, will continue to run on the new platform but no details are forthcoming on this at the moment.
Let's be clear that this isn’t a OS tweak, this is a major change. Silverlight gone, you can use XAML but you have to learn WinRT, the apparent good news is you should be able to develop native apps in C++, yeah great so excited about that given I last used it in any anger about 10 years ago and was happy to see the back of it, yes I know for low level performance it rocks, but for most phone apps is it really needed?
Update: I need to point out that Microsoft has said that any Windows Phone 7/7.5 apps will run on Apollo, as devs, I think we have to assume that we won't have to do anything since the need to republish apps would not be a good story for Microsoft.
If anybody knows me, you’ll know I’m not adverse to new technology, but for the life of me I cannot understand why Microsoft would do this, at this time, when they are trying to gain traction in a market dominated by iOS & Android devices.
This now leaves me wondering if I should bother to continue to invest my time in developing apps for Windows Phone 7 or should I now just focus on learning WinRT and preparing for Apollo instead?
My feeling is that a lot of developers who may have thought about doing some Windows Phone development in their spare time will now hold off until Apollo is released and anybody doing development already probably won’t plan on creating lots of new apps either. If this does happen, then you could see the number of applications in the marketplace stall which isn’t a good thing for Microsoft, Nokia or any other handset maker that needs Windows Phone to be successful.
Whilst Microsoft wants a unified platform, and as I said I understand why, would it not be better to wait and be happy that Win 8 and WinRT are successful with bugs ironed out before rolling it out across all form factors?