Re: what runs on the users machine
You clearly have not read my post. Try running CAD applications like Catia, Solidworks, NX , Altium and the likes. That doesn't work over remote desktop or on Wine. Adobe tools ? Rhino ? Anything GPU intensive with realtime 3D doesn't work over a remote desktop or in a browser.
The funny thing is that, traditionally, heavy CAD was always *NIX based : HP-UX, Solaris, Irix. The only ones remaining is Cadence and Mentor, although the PCB tools also have gone windows.
The remaining (commercial) Linux based tools are VERY picky on what distro. Mainly only specific versions of RHEL. Try it on anything else and you get no support at all. You are on your own, don't complain if you encounter issues. You can't do work like that. you are spending more time second-guessing and fixing the apps than actually doing productive work. Application users are not coders or sysadmins. That's a different world. There it DOES work. Outside that realm : not so much.
The Linux desktop ecosystem is simply too fragmented to cover all ifs, thens and buts. Every UI is different, using different runtimes and different libraries. They don't even use the same install mechanisms. Patch and Break. The application manufacturers don't want to deal with it. Windows is easier. Most windows applications are version agnostic. There may be a minimum version but that's mainly it.
The same is true for browser based apps. Remember the misery with having to make websites that could work in IE, Mozilla, Chrome, Opera. For many years you had to code HTML differently and detect the browser used. Fortunately that has mostly gone away. Almost every browser these days uses one of two cores.
Re-unify all the linux UI's around a common core , and have one package installer. That way anything can install anywhere and run anywhere, just like Windows and Mac.
But that goes against the grain of the entire Linux world. And that is the issue. It is too fragmented and too hard for the app developers to support all permutations.
Please don't start about source or open-source. The source of these applications is not available and never will be. And the knock-offs are not the same. Similar isn't good enough. Data exchange and translation are a forever headache and time-hog.
The (desktop application) business world doesn't work that way.
Linux has its place. But not on the desktop. Not until they solve some base things : making sure the existing apps can run. I understand that from a system admin perspective linux has certain advantages. But the desk worker has nothing to do with that. He/She needs to be productive. They have nothing to do with the OS. The OS is only there to run applications and access file systems over a network. We will run the OS required for the application pool needed.