| You're right. I would have liked the solution proposed by the Department of Justice's original judge in the 1990s anti-monopoly case, though: to split Microsoft into separate companies: one for apps, one for OSes (maybe with development tools). These days, maybe another for public cloud services. https://en.wikipedia.org/wiki/United_States_v._Microsoft_Cor.... The first judge, Thomas Penfield Jackson, wanted them split up. https://en.wikipedia.org/wiki/Thomas_Penfield_Jackson He got booted out and replaced with the much more conciliatory Colleen Kollar-Kotelly. https://en.wikipedia.org/wiki/Colleen_Kollar-Kotelly Mostly forgotten now but the fact that this Brit can remember the names of 2 US judges over 28 years later shows how important this case was at the time. It is why MS bundled Internet Explorer 4 into Windows 98, calling the result "Active Desktop". That flawed broken "Windows Explorer with built-in Web rendering" was the design that the KDE project copied when it created the KDE desktop – as opposed to the much simpler cleaner desktop of Windows 95 and Windows NT 4. Lawrence Lessig demonstrated this in court:
https://www.theregister.com/1999/11/22/who_the_heck_is_lawre... He managed to remove IE, and show the result still worked fine, demonstrating that Win98 did not need IE. That in turn let to the app 98Lite to remove it, which still exists. https://www.litepc.com/98lite.html It led to NLite, which works on Win10. https://www.nliteos.com/ In other words the ripples have not died away. That court case affected the design and implementation of FOSS OSes today built by programmers who hadn't been born when the lawsuit happened. |
I don't know exactly why Microsoft chose to combine a browser and the file explorer. Maybe it was solely to keep their monopoly. However exposing the Internet as a file system is not so far fetched. Most protocols (e.g. HTTP, FTP) are about the transmission of files. To me it sounds totally sensible to implement HTTP as a file system driver and then have the "browser" only consist of rendering, without any network features. Honestly that sounds like a really cool idea. It results in a browser that transparently browses from websites hosted on servers to websites hosted on the disk. Saving websites could be really simple. Uploading also.
Passing parameters to a website could be the same, as executing a program. page?foo=bar&baz would be ./page --foo=bar --baz. su -c "systemctl enable --runtime" becomes path://root@/systemctl/enable?runtime . Of course you need a secure sandbox, otherwise you just built remote code execution as a service to anyone.