@anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:
They need to be "installed" before you can run them. Or at least all existing ones insist on it, I don't know if it's actually necessary. This is a real annoyance and a waste of time IMO. Often they will insist on installing shell extensions or background services that will slightly slow your entire system down, with no way to disable it even if they're not really necessary.
That's a problem. As a developer, you should reduce not-installed-by-default dependencies to the absolute bare minimum. As a user, you should encourage developers who do that.
This is a side-effect of the Win32/Linux programming API concept which is that the OS provides the absolute bare minimum and everything else should be provided by a third party. The Macintosh concept, on the contrary, is that the OS should provide a "construction kit" able to build virtually any application. As a result, Macintosh application virtually never had dependencies, and virtually always were very tiny (filesize) in relation to Windows/Linux applications of comparable feature-set.
Thankfully, Microsoft has switched to the Macintosh philosophy with the .Net framework. But of course a lot of developers haven't adopted that for various reasons, almost all of them stupid and wrong.
@anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:
They leave "residues" even after uninstalling. This is the bane of all Windows users: your computer just gets slower and crappier over years and you eventually need to do a clean install.
Uninstallers leave residue behind: true.
Windows gets slower over time as a result: not true for many years.
Microsoft made a huge effort to fix that in Vista and Windows 7, and it's a non-issue now.
@anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:
Because installing and uninstalling can run arbitrary logic, there's no reliable way to do it without running the official installer program. You can't just copy a folder to a computer to deploy the program. This is a MASSIVE inconvenience when it comes to system administration. Yes, I know there are ways to do that (unattended installers, containers, 3rd party programs, portable versions, etc) but they are not universal.
I would say it's a huge convenience to network administrators, in that it means you can just have a single .MSI (this assumes applications not written by morons) distributed to an entire network and reasonably "guarantee" that every computer in the network has the same files in the same places while also including (for example) your company's specific licensing info in the Registry to save your users the trouble of typing it in.
At this point, I'd like to note that a lot of stuff in NT is there because NT wasn't designed to compete with GeOS or Macintosh or Amiga Workbench, it was designed to compete with OS/2 and Novell Netware. The fact that NT is used on home computers is mostly an accident of history.
@anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:
There's no reliable way to copy or delete the state of a program (the persistent data it stores on disk). Sure, most of the time this will be the AppData\Roaming[program] folder, but not necessarily. I have a Windows desktop computer and a tablet, yet there's no easy way for me to sync the state of my desktop programs between both. And wouldn't it be nice if you could right click any program and run it with different user profiles, like Chrome or Firefox do, or even get a "Snapshots" feature like VMs that let you go back in time?
The problem is that the OS has no way (AFAIK) to signal an application to reload all its configuration state. (And, more cynically, if it did, most applications are written by morons and would ignore it.) Compounded by the fact that most applications save their configuration on close, even if the configuration hasn't changed.
What this means is that this feature would be (or at least look) broken for most users-- I told VS on my desktop to use 14-point font while VS was open on my sleeping laptop, and when I opened my laptop not only was it still 12-point font, but when I closed the laptop version of VS now BOTH computers use 12-point font! You see the issue.
Implementing that would require a greenfield design, and since Microsoft recently did one of those with the Windows App Store apps, maybe the foundations for that feature are in place now. I honestly don't know.
@anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:
And wouldn't it be nice if you could right click any program and run it with different user profiles, like Chrome or Firefox do,
You can do that. Explorer has had a "Run As..." contextual menu entry that lets you run an application under a different profile since Windows 2000. (Although I think you have to shift-click to get it in Windows 10.)
@anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:
or even get a "Snapshots" feature like VMs that let you go back in time?
Interesting idea, but here's the problem: applications by and large can't be fundamentally broken by changing their settings, and ones that can are so poorly-written that they'd probably defeat this safety feature by, for example, writing all their configuration data in c:\settinz\лягушка_облизывание\blaedhw.syx. It's genuinely a good idea, but I don't see it passing Microsoft's "-100 points" barrier because, like the settings syncing idea above, it'd simply appear broken to most users.
@anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:
Even without running as admin, applications can do lots of bad things: they can read all my documents, delete them, encrypt them and ask for a ransom, install themselves to silently run on the background, and log all passwords I enter into the browser.
There's no reason why Minesweeper should be able to read my emails. It's called the principle of least privilege or just fucking common sense.
I think everybody agrees with you there, and all greenfield application platforms take that into account. (As far as I'm aware. Maybe not Samsung's.)
@anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:
Worse, in most cases, the application requires me to run it as administrator to install it. This means it can gain absolute control over my computer! For a fucking web browser or video game!
True; but mitigated somewhat by application signing in the Windows world.
@anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:
So what does this mean? It means that every single time I want to run a program, I have to pay a slowness tax, and take a significant risk. And that means that I avoid running new Windows programs as much as I can, and I tell everyone I can to do the same.
And that means Windows has failed at its one fucking job. Which is to run programs.
(Quick reminder that NT was designed as a OS/2 and Novell Netware competitor.)
@anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:
And it bothers me that I never see anyone acknowledge this problem in so many years, when it's pretty much the #1 headache with computers, and there's no technical reason for programs to work like that!
There's a few reasons:
- There's a class of people who want things to work that way. (System administrators.)
- The default Windows installation method, while it runs as Administrator and probably shouldn't, has a few safeties built-in:
- The application signing I pointed out above
- The fact that the Administrator account they use aren't the "real" administrator account of the computer (in as much as Windows can even be said to have a "real" administrator account)
- MSIs, which are strongly encouraged, are run under a specific Service account that's even more restricted
- The simple fact that, in practice, this hasn't been such a huge deal. Most malware doesn't pretend to be installers to get Administrative permissions since the XP era. Malware now, as you noted above, uses the already-available User permissions to encrypt all the user's files. While we all agree that's a terrible thing, building a way to run installers with fewer permissions doesn't fix it.
@anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:
Or just look at the huge demand for containers and VMs for deploying server stuff. You just copy them and they run! You can pause them and move them to a different computer! Why aren't we demanding that from Linux and Windows?
If the entire app's run in a container, how am I going to export its settings to your second computer like you wanted about 5 paragraphs above?
@anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:
I open untrusted code in Chrome and Firefox all day without a worry. I was doing it 10 years ago with Flash games. Android does it. Even Java, with the constant security vulnerabilities, is at worst equal to Windows' default model. Even Windows and Linux can do it! They already have most or all of the security elements in the kernel necessary to encapsulate a process, they just need the rest of the system to be designed to actually use them.
Windows is trying to make App Store applications (is there a better name for those yet?) the default model from here on out, and I believe it implements everything you want.
@Adynathos said in Why desktop operating systems have completely failed at their job for the last 20 years:
Android has fixed some of them, because it is younger.
Android, iOS, Windows Phone, etc.
If you boil this down, you might reach the conclusion "old software is old". Which would be fair, but that's a totally different way of framing the question, and something where anonymous234's reluctance to try new software is actually a hindrance. (If people don't try the new Windows App Store apps with their better security, etc, then they won't be profitable, developers will stop making them, we're stuck with the "old" another 20 years.)
@wharrgarbl said in Why desktop operating systems have completely failed at their job for the last 20 years:
@anonymous234 As I said in the other thread, we used to do it right at MS-DOS time. You unzipped a folder and there is your app. All configuration, logging and etc inside it.
(Yet another reminder that NT was designed as an OS/2, Novel Netware competitor.) Central management is a key feature of those OSes, everything in NT is built around the assumption that the computer will be centrally-managed.
@wharrgarbl said in Why desktop operating systems have completely failed at their job for the last 20 years:
There is nothing in modern software that justified we leaving from this way of doing things.
Windows NT sold millions of copies because it had features that couldn't be implemented in that model. There was a very very very strong financial incentive to make an OS that had the features that large corporations needed.
Obligatory story about tearing down the fence across the road. Don't tear out features like the Registry or Roaming Profiles until you 100% know why they were put in in the first place.
@wharrgarbl said in Why desktop operating systems have completely failed at their job for the last 20 years:
@Yamikuronue Most apps should be single file executables IMO. Windows supports embedded resources like images in them, and all non-system libraries should be static.
In Mac Classic, an application was also a database that could hold any data (icons, text, graphics, window layout templates, etc) the executable code could ever need.
You guys might have heard this before from someone, but Mac Classic was incredibly well-designed and it's a goddamned tragedy that it's mostly forgotten.
@wharrgarbl said in Why desktop operating systems have completely failed at their job for the last 20 years:
But partial updates aren't worth it, we're not on dial up anymore. Just test your software better instead of pushing updates every day.
You obviously don't have 80 GB of Elder Scrolls Online sitting on your computer, or 70 GB of Titanfall 2 on your Xbox One.
@asdf said in Why desktop operating systems have completely failed at their job for the last 20 years:
Sounds like what you want is the new Windows app ecosystem. It fixes at least half of the issues you mentioned.
Right; then he also says he's wary about trying new apps. So he's damned if he does, damned if he don't.
@loopback0 said in Why desktop operating systems have completely failed at their job for the last 20 years:
Windows should be more like macOS in this respect - almost every app is just a case of drag-and-dropping it from the .zip or .dmg into the Applications folder.
macOS can't be centrally-managed. Microsoft's not going to give up the feature they made billions of dollars on having when nobody else did.
@anonymous234 said in Why desktop operating systems have completely failed at their job for the last 20 years:
I want that, but released in 2001 as a major component of Windows XP, instead of 2015 and windows 10. To save me and everyone else 14 years of computer pain.
Honest question:
Say an alternative API in Windows that solves all your issues was released in 2001. It was 100% complete, ready-to-go, etc.
Now we're in 2017. How confident are you that Adobe has ported all their applications to this new API? Keep in mind that Microsoft isn't going to do anything to piss off Adobe.
The problem isn't just HAVING the system, the problem is GETTING PEOPLE TO USE IT.