I’m in rant mode, and Microsoft you’re next on my list. Seriously if you’re part of the Windows product team you might want to read this because I have some good feedback for you, something you guys with your research budget seem unable to figure out.
Keeping this simple, the good thing about Windows is the existing ecosystem. Every player in the game knows their part. MS provide the API’s, Manufacturers the drivers and developers the applications.
A real world example of this would be a complex Logitech mouse. The end user is able to setup the device using Set point, and everyone has done their job well. The end user is really happy.
On Linux it isn’t that simple. Logitech don’t release the driver. Developers don’t have access to rich tooling and the end user gets told – USE THE COMMAND LINE. And then who or what is Linux? Exactly who’s responsibility is it to fix this?
So Windows wins hands down in terms of a logical ecosystem.
Tooling on Windows is also exceptional. Visual Studio / WPF / And all the good things that go with that. Easy to take for granted, but the tooling in Windows is second to none.
The concept of executables by extension too is something I’ve taken for granted but having installers and executables is logical. In Linux the closest thing to this is a .deb package and that too is good.
But don’t pat yourself on the back yet,
Closed source, one size fits all offering. Windows comes with a boat load of services and features a lot of people don’t actually want or need. A lot of super users are frustrated that no matter how much they want to tinker Windows, it remains FAT and bloaty. Indeed Windows is the most bloaty OS I know.
Isn’t it about time to modulate Windows a bit? Offering Windows as a series of layers that can be installed in a modular fashion, similar to how things are done in Linux. This would mean providing the building blocks for the operating system and handing over the reigns to the end user for the exact implementation.
If Windows was more modular, it could really compete as a modern desktop.
Ditch the registry already!
Seriously get rid of it.
Offer a standardized development approach.
I know .net offers a good suggestion for standardized development, but a lot of this isn’t enforced. It’s 2013 and we know enough about computer science to know what is the best way to store configuration (for example). Standardize it!
Expose a Desktop Environment API
Seriously give users the ability to tinker their system till their heart is content. Allow users the ability to create distributions based on Windows that for example resemble Chrome book. Exactly why are you so scared of relinquishing the control? Implement incentives for users to license these derived distributions and consider offering a percentage based payment scheme to authors.
Stop pushing the hybrid tablet UI
If you exposed the desktop Environment API, you would allow users to create full desktop mode or full tablet mode variations of Windows, instead you assume
wrongly what your users want and provide them with a terrible user experience.
Some food for thought!