DEV Community

Cover image for The Rise of Browser Os
Just Patrick
Just Patrick

Posted on

The Rise of Browser Os

Why is chrome so heavy? The all to famous question and meme. Well I have the answer. See chrome and other web browsers are more of operating systems than browsers. Lets look at it from this perspective, websites these days are being referred to as web apps, why? Well, maybe because they are more of like apps. Is Gmail a website or a web app? What about github? I'll do you one better, what about figma or gravit designer? The days where web developers were "looked down on" by the developer community is long gone. Web developers(backend and frontend) are building some seriously complex systems.
Let's do a quick experiment.Open Figma If you are on a chromium based browser press Shift + Esc to open your browser's task and check how much memory and cpu Figma is using. Here is mine 👇
Browser Task Manager
Figma is using 300+ mb of ram(currently, I just rechecked). More than the browser itself. What about YouTube?

Youtube Memory Usage

What's the point? The point is that website are pretty heavy these days. They are apps and the browser is the operating system managing them. We have browsers suspending tabs after some idle time to conserve memory, well that there is memory management, a concept in Operating Systems. We can go all in in mapping operating system functions to features in modern web browsers but I'll stop at that one.

You can perform pretty much 99% of your tasks right on your browser. You can code (stakblitz, code pen, codesandbox),design (figma, gravit designer, vectr), video editing(invideo,clipchamp,veed.io), photo editing (photopea, pxlr, fotor), zip and compress files, heck even gaming with google stadia and xbox game pass. This is why this concept came to me. I can 100% live in the browser. Am guessing this realization was also the fuel for building chrome os. And while we are on that, lets talk about google.
Google and Microsft are hell-bent on making the browser an os. Checkout the fugu project that is on a course of availing all native apis (file system access, bluetooth and so on) to the browser. Check this out 👇

Screen shot of PWA capabilities
This is a screeshot from the whatpwacando website that lists all of the features progress web apps can do. This list is just unbelievable. The gap between web apps and native is quickly getting filled. And in the process of bridging this gap, the browser operating systems are slowly being built.

Am not sure whether to support this progression or to oppose it because it has benefits and drawbacks. But whatever my or your stance is on this it wont stop this process. With each passing day we get closer to the "web winning", in the "virtual war" between web and native. What do you think.

Top comments (13)

Collapse
 
peerreynders profile image
peerreynders • Edited

websites these days are being referred to as web apps,

Not exactly.

As a blog post discussed there are two extremes:

  • The document web
  • The application web

So when it comes to web-based solutions there are a whole range of approaches between "document" and "application" - and in many circumstances a full-on application is simply overkill, especially considering the trade-offs.

Is Gmail a website or a web app?

Gmail has a standard (more app-like) view and a basic HTML (document-like) view.

What about github?

Based on their Tech Stack they are grounded in the document web (it's a file repository after all) but heavily augment that to be more app-like (sometimes with mixed results).

what about figma

From what I know it's pretty close to the "application web" extreme. But that comes at a cost.

Understanding the Web with Jeremy Keith:
"But you’re missing on the very reason why you’d want to put something on the web as opposed to just making it for one platform. It’s to get that reach. If you’re not planning for that reach, I wonder why do it on the web?"

Apps like figma require:

  • A device of a certain level of computational power to run it on (and battery/power to support it)
  • A connection with a certain level of connection quality and bandwidth

The Fallacies of Distributed Computing (Applied to Front-End Performance)

Failure to meet any one of the minimum requirements reduces the reach of the app from the potential reach of the (global) web. Of course this is a non-issue for internal apps where the clients and connections are under full control of the organization.

At one point in time Google was working on V8-lite for low-memory mobile devices - and these days Chrome Lite mode is a thing. So "lean browsing" and apps may not mix.

The days where web developers were "looked down on" by the developer community is long gone.

From what I remember the quotes were something like "we're not developing a brochure site, we're building an app". So it's entirely possible that sentiments like that helped to fuel the rush to "web apps" simply to feel more relevant.

More recently Transitional Apps have become a talking point.

… the point being there's more to the web (and browsers) than just web apps.

You can perform pretty much 99% of your tasks right on your browser.

As long as "ideal circumstances" prevail - yes. But it is surprising how easily circumstances can be less than ideal.

With each passing day we get closer to the "web winning", in the "virtual war" between web and native.

The web will never "out-native" native - native has direct access to the actual OS without the overhead of a browser and app bloat isn't nearly as heavily penalized as it is on the web.

Some have argued that "web emulating native" is in fact the losing move that wasted time that could have been spent exploring alternate modes of interaction where the web can improve upon native.

Collapse
 
w3ndo profile image
Patrick Wendo

The web will never "out-native" native - native has direct access to the actual OS without the overhead of a browser and app bloat isn't nearly as heavily penalized as it is on the web.

This is actually an interesting take. Simple yet I do not know why it did not occur to me.

Collapse
 
patrickweb profile image
Just Patrick

alternate modes of interaction
Great talk and generally your reply has provided great insight and has brought me to a whole new perspective.

Collapse
 
aravindsasok profile image
arvnd

Being a new full stack dev , and new to dev.to, never thought web devs were looking downed on. But web devs are making desktop apps (electron) using many frameworks. And with the arrival of web assembly , things may be get altered. And my question is, what kind of developer , the dev community look up to always ? the c , c++, rust coder ?

Collapse
 
ben profile image
Ben Halpern

I don't think there is any reality to any group generally being "looked down on", but there is a variety of elitism and gatekeeping within different areas of the field.

There's no single direction this sentiment flows. There are certain broader stigmas here and there, but largely it's hard to nail it down without over-simplifying, IMO.

Collapse
 
patrickweb profile image
Just Patrick • Edited

Thank you ben. I think this comment captures the meaning I wanted when I wrote that part hence the use of quotation marks.

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

Welcome Arvind, a programmer who is a person too, always gets my vote, an honest and kind hearted soul who brings you up to Thier level is worth more than any skill in any language.

It took me years to realise this, be a good person, don't stop learning but do focus on a few of your strengths, take them as far as you can and never forget to say, I don't know but I can find out who does

Collapse
 
cubikca profile image
Brian Richardson

Not a bad observation, but I think it's more like the Rise of the Polymorphic Browser. I run Linux and have need of running certain Microsoft applications, like Visio. There is no way on Earth I'll ever run Visio on Linux, but it runs just fine in a browser. Many cloud offerings have browser-only applications, which as you say are rich and varied in implementation.

That said, I think I like my OS on my OS. Not everything needs to be in a browser frame, and indeed, is often more usable outside of it. You remind me a lot of the Emacs users of old, who often proclaimed that Emacs was more of an operating system than an editor. There were many people who loved Emacs. I was always a vi guy though 😅

Collapse
 
w3ndo profile image
Patrick Wendo

who often proclaimed that Emacs was more of an operating system than an editor.

Wait, do you have a link where they would explain why they thought this?

Collapse
 
peerreynders profile image
peerreynders • Edited

Unix Culture

Sorry but EmacsEditor is a refugee from the long dead culture of LispMachines. It's an asylum seeker in the UnixCulture.

("Lisp Machine" is a generic term. A Lisp Machine is a computer whose operating system and applications are written in Lisp. Example: Genera)

See also

While browsers aren't implemented in JavaScript one can argue that JavaScript was specifically developed to script page specific automation of the browser runtime and that it was at least in part motivated by doing Scheme in the browser (Is Scheme Lisp).

Also note that GNU uses Guile (based on Scheme) as its "extension language platform" (perhaps inspired by "emacs lisp").

Collapse
 
cubikca profile image
Brian Richardson

I'm afraid you'll just have to trust me on this one. It's ancient history now.

Collapse
 
w3ndo profile image
Patrick Wendo

The best part about this development is the accessibility provided by webassembly (WASM), allowing systems programmers to join the web ecosystem. WASM functions as a good compilation target for major apps like games and CAD software allowing for near native performance across the web.

Collapse
 
efpage profile image
Eckehard

I fully agree that we can use the browser as a programming platform today. There is a bunch of api´s that form a nice ecosystem. If you take - as an example - a close look to the HTML5-canvas, this is a phantastic graphic tool, you hardly find on a local machine.

If you decide to go with Javascript, the browser platforms are pretty similar today, but far from being perfect. Your should check out caniuse.com/ to see, if a feature is widely supported.