I was just reading through this article ( link ) regarding Android, Google and Microsoft – keeping in mind that Microsoft, through their Nokia subsidiary, sell an Android smartphone called the Nokia X. One thing to bear in mind is the new CEO has come from a cloud computing background and the impression I get, through the push of Office onto Android and iOS is that he doesn’t have the sentimental attachment to Windows that previous CEO’s (Bill Gates and Steve Ballmer) have displayed in the past – the willingness to pretty much sacrifice growth of all their other divisions by making them subservient to the propping up of the Windows monopoly in the PC (non-Apple) space.
With the announcement by Google that ART (Android Run Time) will replace Dalvik (the current JIT VM) along with OpenGL ES 3.1 plus lots of other goodies, the gap has closed in terms of performance along with ‘fast and fluid’ so keep that in mind when one thinks about Windows Phone 8 given the backdrop of the changes that have come with Android L. So with that being said Windows Phone is still having problems gaining ground but this comes back to the fallacy Microsoft had regarding their assumption that because they had a large mindshare in the PC space that they could pick up the developer ecosystem and drop a new framework on them (WinRT and Silverlight) then expect everyone to suddenly start writing applications for the platform like busy little beavers. The reality is that Microsoft is a new player to the market – they might have been able to throw around their weight in the PC market but they’re now an underdog – and underdog that is incompatible with the reason of the known universe and thus a royal pain in the ass to support in term of their dependency on Direct X, WinRT, their half-assed implementation of the latest C++ standard where as Apple completed C++ 2014 in 6 November 2013 where as Microsoft is still debating over which of the C++ 2011 they’re even going to bother trying to implement after having realised that their compiler looks like a sad joke when compared to GCC and Clang/LLVM (that doesn’t even go into their crappy output when compared to the super optimised compilers from Intel and Oracle for the x86-64 platform).
So they’ve got this massive application gap – and all work so far has pretty much lead to one big giant fat zero in terms of developer mind share, lots of promises by OEM’s and when the hardware arrives it is always 2-3 steps behind what is available with Android on it. Then compound things further Microsoft is dragging its feet to get even the most rudimentary features that iOS and Android have had for ages for example gapless playback for those of us who like listening to classical music on the way to work and that doesn’t even touch the lack of support for more than just a few models of Qualcomm ARM CPU’s and the lack of a regular upgrade schedule when it comes to their own Nokia division – Nokia Lumia 1020 is the flagship product for the Nokia Lumia line in NZ and it is still dragging along a 2 year old CPU not to mention the lack of expandability (the Nokia Lumia 1520 isn’t a pretty picture either). Then there is the growth – all occurring at the low end of town such as the 6xx and 5xx product line – developers aren’t going to put their neck on the line to support a platform whose users are of the grouping that advertisers are not going to pay anyone to market their products to let alone the viability of a ‘pay for the software’ model where even at $1.99 for a piece of software you hear people whining about ‘cost’ and ‘expense’. Then there is unified application goal – nice idea in theory but you’re going to have a whole heap of pissed off developers that rather than being able to make money off a tablet/smartphone version and a desktop version they’re now going to do half the number of sales at a lower price point – I can’t imagine too many developers jumping for joy. The end user is happy but the developers are pissed off – congratulations.
What is the solution to this problem? first of all Microsoft has to accept the fact that they gave it the college try but everything didn’t go according to plan – that they have to accept they’re new to the market and going to have to accept that they can’t just barge in with incompatible technology then demand everyone to change the way they do things simply to accommodate the new comer – if the market is already using OpenGL ES 3.0 then what you do is to implement the best damn OpenGL ES 3.0 stack with developer tools so good that they make your hair go curly. Microsoft should admit they made a mistake, head over to Google, give Eric a big hug and a kiss then ask how can they jump aboard the Android gravy train. Then after doing that they then work on Android L with their customised metro like interface (like they’ve done with the Nokia X) along with developing Office (Word, Excel, PowerPoint and Outlook) to be bundled with it along with linking into their own online services whilst setting up an arrangement where they either leverage the Google Play store or they just take their existing Nokia Android application store and move things forward – then provide ‘Microsoft Android L’ to all Nokia Lumia customers so that people can migrate off Windows Phone 8 in favour of ‘Microsoft Android L’. As for the Windows on the desktop/laptop/tablet front – that is the tricky part because eventually Android will scale up beyond the tablet into the laptop and hybrid devices as well – maybe at this point Microsoft should be looking at some sort of strategy for post-Windows at Microsoft. In an ideal world where I could wave a wand and make things happen the the ideal situation would be to have a BSD core, OpenGL/OpenCL with WinRT (user interface based upon the WinRT framework but still retaining the classic Windows menu etc.) sitting on top along with embracing Clang/LLVMthen scale it from servers down to smartphones but that ship sailed a long time ago so the only real option for Microsoft is damage control – how much of Microsoft can be rescued whilst keeping their crown jewels such as Microsoft Office, their server operating system and middleware still relevant? Maybe even expand Android further and optimise it for Xbox One and embracing OpenGL 4.4/OpenCL to allow a common game engine to be shared between the different platforms. What ever the case maybe Microsoft is pushing the old proverbial up the hill and I don’t think things will improve. Oh, and as for Blackberry, if I was CEO I’d kill Blackberry off in favour of focusing on QNX which is profitable and widely used in the embedded systems world along with MDM software and BBM network which is still popular.