by yndoendo | 2025-11-12 05:01:33+00:00
High standards.

Look at a registry with Microsoft vs Gnome. Microsoft is a kludge of a setup were Gnome is well defined. Microsoft is a guessing game and the wording is often a contradiction. Gnome actually gives descriptions of what the property means and what select settings will do. Microsoft does not even defined the meaning in some document. These properties often have to be reverse engineer.

Microsoft tried competing against Google's Chromebooks with a low cost Surface laptop. These laptops had such low hard drive space that they pushed a Windows update that disabled the auto backup of the registry. The update affected ALL Windows installations and not just Microsoft's low quality hardware. A corrupt registry without a backup requires Windows to always be reinstalled.

Microsoft's design for localization is to push the content into strings resource with-in a DLL. This requires the application to be re-compiled for any changes to the translations. A simple text file disconnected from the application binary per language is better off. This allows for the client to modify the translations without the need of the developer. Example would be having the application install fr_FR in AppData and the user being able to edit the translations or create a custom one and store it in the User's AppData with their cultural changes. This allows for full customization without needing direct access to the developer or source of the application.

Applying localization to .NET changes how the the data convert logic works. Means that a string conversion of "1.5" will fail and throw exceptions if the localization is set to using a language where "," is the separator in a decimal system. It gets worse when the application communicates with a 3rd party application and the data types must be constant for one localization. Quality would be to allow to only present the localization while storing the and processing content in a standard language independent of the user's selected.

Microsoft does not properly document the configuration settings for their configuration files. If they do, it quite rare. I will search the Internet for a setting in their solution file (.sln) and nothing will come up. Or it might but point to a Git comment with the setting and no meaning what that variable will do. BSD and Linux applications will create MAN pages for the application and a MAN page for the configuration file contents and provide the user with meaning.

Look at Windows vs Gnome. Press the Windows / Meta key and type _shutdown_ and press enter. Windows will open Edge, not your default Web Browser, and provide an Internet search about shutdown. Gnome will bring up a dialog with a 60 second counter to confirm you want to shutdown the computer. Gnome is quality user experience while Windows rejects the user's request to use Chrome instead of Edge and provides a search result instead of an action this is common on all computers.

Microsoft segregates applications into two groups console or GUI. They do not allow for an application to be both. A quality OS does not segregate and allows application arguments to dictate if the application should run in console / command line mode or as a GUI. Even if you try to hack a GUI into a custom made console in Windows, the STDIN and STDOUT become broken.This is why Windows applications need more code and extra work for logging.

High standards it to provide software that is well documented and uses simple means to configure the software while rejecting the attempt to force the user to use YOUR application and accept that the user's default applications should be used instead.