Back in the day, 25 or so years ago, most operating systems were reckoned to comprise more than a million lines of source code. A million lines. With tens of thousands of different paths through the code and thousands of real time interactions that should, in theory be tested thoroughly before shipping a new version.
By 2001, the likes of Windows XP was up to 40 million lines of code. Windows 10, in the modern era, and despite advances in software engineering and better modularity, is estimated to be around 65 million lines of source code. Moreover, as more of our software lives is integrated with communications and the Internet, the extra complexities of real time injections of data and notifications, of genuine requests and possible attacks, mean that those 65 million lines of code are under increasing pressure.
Using Windows 10 (on desktop and phone), Mac OS (High Sierra), Android (6.x, 7.x and 8.x) and iOS 11, all on a daily basis, on different devices, I'm well aware that no OS is perfect in terms of stability. Something with 65 million lines of code can never be a perfect artifice. Being 100% stable and 100% bug-free is only possible for systems of vastly lower complexity, say thousands of lines of source code, not millions. So what we settle for in the modern age is an OS that's mostly stable, mostly bug-free and mostly lets us get on with what we want to do without crashing or needing to be restarted.
It's fair to say that 'mostly' can be quantified differently for each OS and implementation. For example, Mac OS is incredibly stable for me and a reboot is only needed every few weeks in terms of something actually going wrong badly enough to halt work. Windows 10 Fall Creators Update too is pretty stable, though not quite in the same league. I'd guess at a reboot needed every week, though in reality something always needs updating and requires a restart at some point, so my Windows device (a Surface Pro) rarely get a chance to show that it's more stable than this!
Mobile is a different matter, arguably because of the constraints of having to deal with power issues, constant cellular communications and interruptions, plus a much bigger variety of applications from far more developers. On a Windows desktop, the average use has less than ten third party applications installed. On a smartphone, most have at least 50 and many have 500. These all help introduce further instabilities and complications.
On mobile then, I'd put Apple's iOS as 99% stable/complete, Android as anything between 80% and 98% stable/complete, depending on the device, manufacturer and skin, and Windows 10 Mobile as around 90%. Yes, I said 90% - as I pointed out here and here, there are daily frustrations using Windows 10 Mobile, even on the very latest bug-fixed FCU Insider builds. Various syncs stop working, live tiles get frozen, calendar entries get lost, the lock screen freezes up, I could go on...
None of these percentages should surprise us. I mentioned TLC (Tender Loving Care) above, and this is vital. Apple is a good example of a company that gets this right, albeit by throwing billions of dollars and millions of man hours into each OS update to make sure their iPhone users get as stable an OS as possible. Google tries to do the same for its Nexus and Pixel phones, but the reality is that an awful lot of Android users across the world see a varied experience in terms of bugs and stability because of how fragmented and diverse the Android ecosystem is. (See my look at the various platforms.)
Now to Microsoft. I'd estimate that 99% of its focus for Windows 10 is on developing and testing features and tweaks for desktop, Xbox and even Hololens (plus future form factors), and only 1% on thinking about Windows 10 Mobile. That we've even got as far as Autumn 2017 with updates has been a pleasant surprise, but I suspect that pickings will be slim from here on in (though certain devices will get a 'rs4_' update and we are still expecting new Insiders builds).
So, with TLC for Windows 10 Mobile at an all-time low from Microsoft, we have the expected outcome - increasing instability and incompatibility with new APIs and service changes. A complex OS needs constant attention from its creators and it's simply not getting it.
It's not all doom and gloom, of course, in that Windows 10 Mobile mostly works and is mostly complete. But I'm not tempted to put the figure above over 90% and I'd dearly love Microsoft to allocate more resources to keeping it going, even as part of the preparatory work for project 'Andromeda' and future cellular form factors.
Am I being too harsh? Or too kind?(!)
PS. Having estimated percentages for the other mobile OS above, a natural followup would be to look at the advisability of jumping. I've already done this, so the next feature will look at specific models/hardware that might make sense for you.