6 ms·
I feel weird about what's happening in the browser. I can't put my finger on it, but something seems off... We're moving towards an operating system on top of
by ijidak 4y ago
I feel weird about what's happening in the browser.
I can't put my finger on it, but something seems off...
We're moving towards an operating system on top of an operating system (browser)...
And now, node.js and other runtimes, in the browser, on top of that.
I'm hoping we can flatten this at some point...
It seems like the core problem is that:
1. Operating system vendors have failed to provide UI SDKs that beat HTML & CSS (plus browser APIs for modification of that HTML and CSS).
2. Operating system vendors have failed to have such a UI SDK work cross-platform across operating systems.
3. Operating system vendor UI SDKs do not allow UI to be bootstrapped dynamically (e.g. retrieved dynamically over the web) and built-up in code via APIs as simple as browser APIs.
4. A failure in open distribution and discovery of apps.
Am I wrong?
Is this direction in computing a failure of OS vendors to get together and solve this problem?
This seems like a source of sudden disruption some day...
I feel like one day Microsoft is going to wake up to find they're not needed anymore.
- pyrolistical 4y agoits all about security. the operating systems weren't designed for security. they were created pre-internet where you compiled all the code you ran on your operating system. its an unfixable architecture due to the nature of the API. this is why the browser is winning. Javascript doesn't have access to your operating system. we finally have a way to allow arbitrary code run safely. we then extended this to webassembly. this is how we're going to fix everything. the operating system is going to melt away and webassembly runtimes will rise. the end game is when webassembly runtimes run natively on hardware, and control is finally returned back to the end user.
- encryptluks2 4y agoBy control, you mean browsers that consistently enable functionality to take away privacy. The same permissions you're referring to can already be managed using FlatPak, Snaps, etc
- cobertos 4y agoWon't it be the opposite, control will fall further from the end user? All code is served from some remote endpoint, which you're unable to load if your device doesn't attest (like Android safety net) or some other arbitrary reason. That plus browsers are already too complex to replicate. Unless you mean that we'll have webassembly packaged in nice little .exes or .apks or some other app bundle so we can at least download them?
- skybrian 4y agoI don't know what they meant, but in principle, I don't see why WebAssembly apps can't be downloaded, since browsers do it? (Ideally they should be signed, but using a more distributed scheme, like DNS.) Due to phishing, it seems like most people do need security software, but not necessarily provided by the OS vendor. It could be from a plugin. The biggest issues are lack of resources and lack of standardization. What organizations have the people to do all these things, besides the OS vendors?
- orange8 4y agoThis is a problem that has already been solved. Look into PWA
- marcosdumay 4y agoWouldn't you like some OS that you can install everywhere, without Microsoft getting in the way, and have a lot of applications, all sandboxed with segregated data? We are getting it. Firefox needs a DE. If the iframe security improves just a little bit, it can even be a 3rd party DE. And yes, at some point I hope people do flatten it. People already tried a few times, but it was too soon.
- Schroedingersat 4y agoEventually we will have invented mainframes with X thin clients.
- marcosdumay 4y agoIt's more like a distributed Unix installation with a shared central /usr.
- spookie 4y agoIt's not even about OS, or GUI toolkits.
- sfink 4y agoOSes do not need to allow the safe execution of arbitrary code downloaded from an ever-changing external server. OSes don't need to support dynamically downloadable code, updates, and plugins. OSes don't need to provide any level of accessibility to applications that don't bother to provide their own. OSes can get away with not providing any distribution or discovery mechanisms, let alone open ones. As a result, OSes are able to offer a lot of features and simplicity that would be impossible or painfully difficult otherwise. You can see that as the fault of OS vendors, and in many ways I agree, but it's also their strength and the source of their advantages. If OSes were to provide all of that, they'd end up looking a lot like web browsers. So I think it's mostly a matter of allowing web browsers to be web browsers and operating systems to be operating systems, even if that means that web browsers become a type of operating system themselves—a type with many added constraints. The OS vendors are at least working on it from their side. Sandboxing, UI toolkits, and accessibility are improving. I'm just guessing that the optimal endpoint is going to be some distance from the optimal endpoint of web browsers, because the underlying constraints are different. And some of extra layers are being removed: consider WASI, for instance. You're not wrong!
- cpeterso 4y ago> one day Microsoft is going to wake up to find they're not needed anymore. In 1995, Marc Andreessen said [Netscape will soon reduce Windows to] "a poorly-debugged set of device drivers".
- ijidak 4y agoInteresting. It looks like this day is almost here.
- ArrayBoundCheck 4y agoI rather have something completely new to replace the web. It's actually stupid to fix something when 100000s of different places depend on the bad behavior. Especially when one of them is the author of the most popular browser
- epolanski 4y agoI think you're seeing too much into this. What matters is user, in this case developer experience. Having reproducible environments shareable with a link is a statement to how far we are heading with web technologies and what can be achieved. The browser is the last lingua franca of computing we have, and that's a reason for cherishing such advances, not bring back 40 years old debates of different OSs having different APIs and capabilities.
- ReactiveJelly 4y agoIt's not an OS within an OS. Browsers aren't fully responsible for abstracting hardware, providing a filesystem, and doing low-level network stuff. I dunno why people started saying "OS within an OS" just cause Chromium is multi-process.
- ilaksh 4y agoThere are hundreds of APIs in the web platform including USB, gamepad, low-level graphics. Look into how Chromebooks work. Go take a real serious look at what would be involved in implementing a web browser from scratch that would be compatible with Chrome and Firefox. Now that compare that to the Genesis protocol. The web platform is an overlay operating system.
- orange8 4y ago> Operating system vendors have failed to provide UI SDKs that beat HTML & CSS (plus browser APIs for modification of that HTML and CSS). Why would they be fighting against HTML & CSS? The best path is to embrace HTML & CSS from the OS level, that will provide the "flattening" you are looking for.
- throwaway0asd 4y ago> Am I wrong? Kind of. It’s more that you're missing an important point. Software developers don’t want to be isolated to a platform. I am writing my own higher level operating system in Typescript. In runs in the browser with a localhost Node instance or with Tauri. I provide a run time configuration for Electron but I cannot officially support Electron because it provide no support for SHA3. This means my application can almost equally anywhere that runs Node or Tauri. The goal of this OS I’m writing is to solve for decentralization. I cannot do that if I am centrally tied to a single lower level OS. I don’t need identity management or DNS. I just need a network and a collision-free tiered identity scheme.
- ilaksh 4y agoBut you ARE tied to the web platform, which IS an OS. Just kind of a crap one. Look into web assembly.
- ilaksh 4y agoThe OS vendors don't really want the overlay operating system (i.e. browsers) to be better. Because that might make their OSs obsolete. There is an opportunity with web assembly to break out of the browser and do the overlay operating system better. Amazingly, most developers seem to not realize this, and have decided that web assembly will only need to run in the terminal or something. So either momentum or entrenched interests or stupidity will probably prevent the web assembly environments from standardizing on UI or device drivers etc. Microsoft had not been needed for a long time.
- ThinkBeat 4y agoIn my opinion most UI stacks beat HTML+CSS. Which is a truly horrible way to start to begin with. HTML was never intended to be abused for that purpose. The problem now is that a vast number of people know web (html, css, javascript) etc and they have little knowledge of UI libraries at the OS or library level. The argument that it is difficult to create a cross platform UI is not a good one. Delphi solved that a long time ago. With Canvas you finally have the basic rudimentary structure needed to make sense.
- beebeepka 4y agoYou can't make all graphics canvas based. Too much of a performance hog. It's not ready because who wants constantly spinning fans. No, reducing FPS is not enough because it makes things choppy
- pjmlp 4y agoRegarding 1., Forms, WPF, Qt, VCL, FireMonkey,..... Being doing desktop development since 1990 and Webdev since 1998. If anything I guess it is the failure of the Year of Desktop Linux, that made many startups adopt Electron, because that is the only way for them to target the Linux "desktop" with low effort.