I’ll start off with good news (for those who want to see old crap removed from Windows), Microsoft has released a list of deprecated/removed features from Windows 10 Autumn Update ( link ) which has some interesting removals such a the TCP Offloading Engine which is surprising given that it was only just recently that it was ‘all the rage’ for operating system vendors to embrace such as Solaris with its ‘Project Fire Engine’ (it was merged around 7 years ago into the Solaris tree). There are also moves to harmonise the backend technologies which they provide to consumers and enterprise customer such as in regards to Synchronisation of Settings, just as they standardised on the Exchange Protocol as they moved all their consumer facing services over to a Exchange backend. It appears that Windows 10 is taking a gradual step forward with the move to rolling release cycle so lets hope that as time progresses and more legacy gunk is removed from the system that maintenance and improvements are easier for Microsoft to do.
It may sound counter intuitive to say “we’re critical of Windows because we care, not because we’re haters” but we truly do care be it for the most of selfish reasons, a Windows that has its flaws addressed is a better operating system that forces Apple to improve their own operating system – healthy competition spurs on innovation and making a better product. There is a great article by Christian Cantrell (Senior Experience Development Manager at Adobe) ( link ) that points out the issues that Windows 10 has from a Mac users perspective and it wasn’t surprising that on the Windows 10 subreddit you had legions of ‘butt hurt’ fanboys throwing a temper tantrum because someone dared to write a coherent and constructive critique of Windows 10 instead of doing the usual duck, dodge and dive regarding Windows 10’s short comings by focusing on some obscure feature that ver few people actually care about.
The problems that are outlined in the article are legitimate the problem is that in reality they’re symptoms of a larger problem and that is the lack of any direction by Microsoft to clearly move the platform forward by laying out a firm time line of technologies being deprecated, support for being compiled against it removed, and then eventually the removal of support entirely. The lack of any sort of time line means that Microsoft is forever bending itself into a pretzel as it tries to move forward whilst maintaining backwards compatibility – something that isn’t always doable without risking that something will be broken in the process. Lets assume you make changes to GDI to improve scalability on high DPI screens then it is almost a certainty that some applications somewhere is going to break because the developer has made assumptions on how GDI is supposed to behave resulting in their application breaking when a change is made.
The other problem with a lack of a definitive timeline means there isn’t the ability to go, “ok, we can now break compatibility at X point because we’ll know that it has been removed so lets get things sorted”, it also means that third parties are never forced to update their code. When you’re a programmer and you’re told something id deprecated but given no actual time line then what do you do? Do you spend money on migrating to a new framework only to find that the old framework remains indefinitely thus you’ve wasted resources on something that wasn’t needed or do you focus on other things only to be given a rude surprise because out of the blue Microsoft decides that now is the time to remove that piece of functionality.
On a good side Apple has seeded the forth beta to developers of macOS 10.13, iOS 11, tvOS 11, and watchOS 4.0 – with Apple finally replacing HFS+ with something modern (APFS) it appears that one of the major long standing complaints has been addressed. It’ll be interesting to see the impact of APFS has on the operating system over all but I guess that’ll have to wait till it is released towards the end of this year.