Over the weekend, an article appeared on Digital Trends entitled "Microsoft needs to stop starting over with Windows Phone". The commentary in question put forth the idea that Microsoft is rebooting Windows Phone a third time with Windows 10 in 2015 and that this is an issue. The odd reasons cited for this being a problem span from the OS being inconsistent to "driving app developers and users crazy".
The Digital Trends article is flawed in many ways, but I believe this is, once again, a perception issue that is probably not uncommon in tech media, especially ones that do not live and breathe Microsoft news. For that reason, I would like to articulate a more accurate position on the changes Microsoft has gone through in the last few years.
Windows Phone – Photon versus Windows Phone 7
Back in 2010, Microsoft did reboot Windows Phone 6.5 to Windows Phone 7. This shift remains one of the largest breaks in terms of overall OS design and app implementation in the history of Windows Mobile. Even the naming convention was in flux at this time, as Microsoft was using Windows Mobile and Windows Phone interchangeably during the 6 and 6.5 years.
The alternative for Microsoft was 'Photon', the next iteration of Windows Phone 6.5 that would have likely gone to the 7.x marker. Photon was a continuation of the design philosophy of Windows Mobile, with new improvements and a legacy of development issues (references for it go back to 2005). Not too much is known about Photon, although it was revealed in its early form under NDA to various people in the press.
This is the short of it. Microsoft faced two paths: Go the safe route with 'Photon' or ditch everything and go with Windows Phone 7. They daringly chose the latter, nuking all of their previous Windows Mobile efforts.
Windows Phone 7 as we now know it borrowed heavily from the Zune HD menu system, which itself grew out of Windows Media Center. This text-driven and minimalist design philosophy would eventually take over many of Microsoft's products, including Windows itself. At the time, it was referred to as Metro, though due to a trademark claim, most people just call it Modern.
The point being: If there were a time where you could point your finger at Microsoft for a radical change in the OS, it would be a shift from Windows Mobile 6.5.3 to Windows Phone 7. However, due to the success of the iPhone, the rise of Android, and the inability for Windows Mobile to hold market share, a fundamental departure was needed for Microsoft.
As far as I know, this decision is uncontroversial and in hindsight considered to be the right one given Microsoft's management at the time.
Windows Phone 7 to Windows Phone 8 – The rise of the NT kernel
Another shift came when Microsoft introduced Windows Phone 8 in June 2012. The change here though was more about the underlying bits of the OS, referred to as the kernel. Going all the way back to Pocket PC 2000 through Windows Mobile and Windows Phone 7, the kernel driving the OS was Windows CE (now known as Windows Embedded Compact). Windows CE was the foundation that Microsoft could build upon for Windows Mobile Classic, Windows Mobile Standard, and Windows Mobile Professional.
The reason Microsoft swapped the kernel from Windows CE to Windows NT is two-fold: Windows CE was old, limited, and made for another time. Much like how Skype was not built to be a mobile VOIP or messaging system, Windows CE has some severe limitations limiting its potential for Windows Phone.
The second reason Microsoft shifted from the CE to NT kernel for Windows Phone is more compelling than it just being archaic. Microsoft had already set in motion the "three screens and a cloud" vision back in 2011. In order to get Windows Phone on the same page as Windows desktop, they needed to share an underlying support structure, which is the NT kernel. In other words, this shift was purely strategic and preparatory for what we now know as Windows 10.
None of those reasons match with what Sherman claims in his Digital Trends article, specifically "Due to Windows Phone 7's limited success, Microsoft essentially started over for its app developers and users alike…" This claim is just false. It was purely strategic.
However, this chronology of events does raise the question: Why did Microsoft not switch to the NT kernel for Windows Phone 7 and instead wait two years? On the face of it, this does seem like shortsightedness but the reality is banaler: time. Working on OS kernels and replacing it in the OS is not something that one does overnight. From APIs to extensions, wiping out the foundation of the OS while keeping its façade is intricate work. Back when Windows Phone 7 was taking shape, the CE foundation was the quickest route to market. Presumably had Microsoft wanted to go right to NT, Windows Phone 7 would have been delayed by a year or two, ceding even more market and mindshare to Microsoft's competitors. Ship now fix later.
Interestingly, for users, the UI experience was nearly identical during this time, regardless of Sherman claiming in his Digital Trends article "Microsoft seems unable to decide what its mobile experience should be like." Any changes in the OS design was to continue evolving the experience, no different than how the iOS design has evolved. If there is one thing you can credit Microsoft with it is being extremely consistent with its Modern UI since 2010.
Apps on Windows Phone 8 were backwards compatible with Windows Phone 7 versions, though not the other way around. This limitation is perhaps the one sticking point: if you had a Windows Phone 7 or 7.5 phone, you are unable to get newer 8.0-only apps. The flipside to this is a bit cruel but accurate: Microsoft's market share was so small, that the ripple effect would be minimal.
In a perfect world, the transition from Windows Phone 7 to Windows Phone 8 would have been more continuous. However, the new developer tools, flexibility, and potential of Windows Phone OS made it worth it.
Going to Windows 10 for phone
Windows 10 is the next iteration of Microsoft's operating system, and it spans from PC to tablet to phones. The current upgrade path for Windows Phone 8 users is currently unknown, but modern devices should be upgradable. The only reason Windows Phone 7 devices could not be upgraded to Windows Phone 8 back in 2012 is that it is an entirely new OS that needed flashing to the phone (that kernel thing again). Although technically possible, the risks involved were greater than keeping the current OS and updating bits of it.
Windows 10 though is a tremendous accomplishment for Microsoft. It represents the first time their operating systems is unified across all devices. Everything from the app Store to the developer tools work across all of these systems, giving consumers one-shared experience.
Why this is not a problem
Assuming you agree with Microsoft's philosophy of uniting their operating systems, the path they took to get there was likely unavoidable. Much criticism can be hurled at Microsoft for their past mobile strategy but given the situation in 2009-2010, Windows Phone 7 was the best they could do.
Is this confusing to customers? I do not believe it is. Most of the technical gobbledygook outlined here is for those who follow OS development. For consumers, Windows Phone 7 looks a lot like Windows Phone 8.1 and even Windows 10. Sure, the UI has evolved based on how people use their phones but the core UI experience is the same as it was four years ago.
When it comes to apps and compatibility, the issue has been older devices cannot run newer apps. This limitation, however, stopped with the Windows Phone 7 to 8 transition. The latest estimates put Windows Phone 7 at just 15% of users left on the platform, with the remaining 85% on Windows Phone 8 or 8.1. The problem has never been the newer phones could not run older apps, which would be more devastating to the app catalog, users and developers.
What about developers? Many changes occurred over the years for developers on Windows Phone, especially with the 8.0 shift in 2012. Windows 10 also brings more deviations. However, change in and of itself is not automatically a bad thing. Windows 10 makes coding for developers easier with universal apps that can run anywhere.
In the Digital Trends article, Joshua Sherman laments "Unfortunately, Microsoft has done little in its Windows Store to prove it can effectively build apps across such a great scale." The problem here is that developers can already share upwards of 80 to 90 percent of their code for Windows Phone 8.1 and Windows 8.1 apps. Microsoft's goal is to get that to 100 percent with scaling for platforms done on their back end during app submissions. Microsoft has already built a platform to build apps across scale, and it is here today. Windows 10 just takes it further.
The worst condemnation by Sherman is near the end of the article where he notes:
"At worst, Windows smartphone owners will yet again be left behind as developers focus on the far more popular desktop version of the OS. Along the way Microsoft will certainly anger users and developers looking for a consistent OS experience."
This complaint is completely antithetical to the goals of Windows 10. There is no reason to believe that an app developer will make an app for PCs but skip over one for phone. The developer tools for Windows 10 make it an option to spit out an app for Windows Phone with barely any extra work to make it happen. The only reason a developer would not make an app for the phone would be out of spite at this point. I do not understand the last bit from Sherman about people looking for a consistent OS experience—this is exactly what Windows 10 does on all levels. Users of Android or iOS certainly do not have a consistent OS experience when jumping to desktop.
Finally, Sherman finishes with this doozy:
"This move from Windows Phone to Windows 10 may simply reverse its efforts to win over developers and users to its mobile OS. We'll have to wait and see what Microsoft announces in the coming weeks to see the true extent of this merger between Windows and Windows Phone. Whatever happens, Microsoft needs to decide once and for all the future of its mobile platform, or it may alienate the few loyal users it still has."
Microsoft decided years ago the future of their mobile platform with "three screens and a cloud". Windows 10 is the realization of that mantra. Switching to the NT kernel in 2012 laid out the groundwork for Windows 10 to happen on the phone. Everything Microsoft is doing is to make development ridiculously easy on Windows 10 for phone, PC, tablet, laptop, even Xbox One. This benefit already exists with Windows RT apps for Windows Phone 8.1 e.g. the Tweetium app for Twitter. It gets better with Windows 10.
I do concede that Microsoft's strategy needs to be proved in the real world. However, the path leading up to Windows 10 has been very deliberate starting with Windows Phone 8 in 2012 and its NT kernel base. Microsoft could have certainly been more aggressive in the early days of mobile, perhaps attenuating some of these changes, but it is not clear that these shifts could be completely avoided either. Should Google or Apple decided to go down this path of OS unification, they too will face many challenges but with greater risks due to larger market share.
Change is never easy, but Windows 10 represents the culmination of a fascinating philosophy for technology in which users share the same experience across all of their devices, regardless of the medium. How Microsoft executes this strategy in 2015 will be exciting to watch, but Windows 10 is not something to scold them over just yet.