Warning: this is more of a roast if anything
Have you ever had an update for a piece of software that removes features without any usable replacement or way to get it back? What about options being pulled from the setting? Don't get me started on desktop software using mobile UI design.
Mobile phones are operated with touch screen, and have screens that are small and taller than they are wide. Desktops are operated with a keyboard and mouse, and have large screens that are wider than they are tall. Because of that, its quite safe to say that software optimized for one platform isnt't so great on another. Are you still following? Likely not, but if you are consider this: why do many modern desktop programs look like mobile apps? Some of them are mobile apps ported to desktop though many of them don't even work on mobile. The answers are modern UX, the web, and GNOMEism.
Modern UX isn't about making professional software. It's about making software that looks like it was made by a professional. This means flat interfaces and lack of customization. Modern developers are like super entitled chefs. "How dare you put table salt on a meal that is already perfect", "ketchup? what are you a picky eater?!"... They act like your lucky for even getting a dark and light mode when the toolkits they use have themeing. Yes, I know adding more options makes it difficult to debug but hear me out: all the basic things can be in the settings menu while everything else can be in a config file or interface similar to about:config. The normies get their easy settings while power users can change what they want. For separate mobile and desktop interfaces use a model-view-controller. The UI is nearly how the user interacts with the program, not the program itself. MVC allows you to isolated different parts of your program making it more flexible. Before you go saying MVC is too difficult I had a teacher who made us use MVC in a beginner course with some students who never programmed before. By the end we were all able to design and make software this way. What do you tell users on closed source platforms that actively make development harder? Go fuck yourself.
The web uses html, css, and javascript. The first two being usable standards for creating webpages, and the third being a buggy programming language integrated into the first two. Many developers decided to use those to make software since its cross platform and doesn't require the user to install their software. Though web apps have issues with bandwidth, security, and integration into operating systems. They encouraged mass produced slop. Web architecture has spyware built in by design by governments and corporations. The fixes include disabling javascript, cookies, webrtc, webgl... Though these are things web apps depend on, because its spyware by design. This website doesn't depend on those things. All it needs is html and optional css. This ties into modern UX design since web developers like to define new standards that are worse than the long standing ones. What about new standards that are better than the old ones? Web developers never do that. This is because web developers aren't software engineers yet their choices effect the software development world since they create much of the software normies use which creates expectations for what modern software should look like.
Gnome is a desktop envirtment that is pretty much standard on linux. A while back they said please don't theme our apps. Sounds a lot like the entitled chef thing I brought up rofl. Someone made do not resize our windows as a parody of gnome. People thought it was real because it strangely sounds like something gnome developers would actually say. Gnome tries to strike a fine balance between mobile and desktop platforms and ends up failing at both. Want to know what linux desktop has the most amount of forks? Its gnome! Sure that's a given since its the most common desktop but just compare it to kde forks for a sense of scale.
This isn't really something most developers think of yet is one of the most important things in software development. You software developers are all dumb fucks but please stay away from doing anything hacky on the UI side. It can really fuck over things like screen readers. The UI is nearly how the user interacts with the program, not the program itself. Just pick a UI toolkit that fits your needs and use it in a sane manner and things will work correctly. Software developers a lot like web developers but not to the same degree create problems for themselves that once fixed created two more problems. When accessibly is already low on their list and that is how they work things will for sure be a shit show.