An operating system for the web

92 points
1/20/1970
13 days ago
by MaysonL

Comments


claudiulodro

Maybe I'm not super clear on the distinction, but isn't a web browser already the operating system for the web? It's the "OS" that runs web applications!

11 days ago

gwbas1c

No, in this case the server provides abstractions like a filesystem.

10 days ago

nineteen999

A web browser is a desktop application. Like a video editor or DAW. Or a video game. It runs on top of an operating system. It isn't one. Calling a web browser an OS is like calling Urbit an OS. It's fantasy.

These things are all applications. I don't understand this predilection that webgineers have to overstate the importance of the space they work in and deliberately try to obfuscate common terminology. Just go play with your HTML and JS and let the people who are not afraid of working at the hardware level do their job without trying to encroach on their territory and nomenclature.

11 days ago

guiambros

That's overly reductionist. The OS is an abstraction layer between the hardware and applications, such that you don't need to write everything bare metal (like it happened in the 70's).

In the past (read: 80's and 90's), that mean you'd have applications running on top of your OS, so you could delegate screen, device drivers, I/O, interrupt requests, and everything else to the OS.

Now we're in a different abstraction layer. The browser became your interface to the hardware in many respects. If you're an application developer, you can develop "for the web", instead of targeting each OS individually. And with WebUSB/ WebGPU/ etc, the browser becomes even closer to a real OS.

Now, it's interesting that mobile apps push us back to the 90's model. The promise of "write once/run everywhere" is gone, and you'll not only develop at least 2 separate mobile apps (potentially more -- e.g., tablets, TV, gaming consoles), but also deal with different OS APIs and different AppStore policies.

11 days ago

mid-kid

I'd say the job of an operating system is to host applications, provide interfaces for communication and I/O, and provide access to the hardware. Sound familiar?

(Operating system is a very vaguely defined term)

11 days ago

nineteen999

My desktop applications don't generally break when my network connection does, unlike web applications.

From Wikipedia:

"An operating system (OS) is system software that manages computer hardware and software resources, and provides common services for computer programs."

In the case of the web browser, half the application runs on someone else's computer usually far away from the user, and the other half runs in the browser.

The web browser doesn't manage computer hardware and software resources. It doesn't "provide access to the hardware". It can provide access to API's that can leverage the operating systems real hardware interfaces. Like other desktop applications, it only has access to the API's the operating system provides. These are not hardware interfaces, but software interfaces provided by libraries, the real operating system kernel etc.

It's like trying to say a set square is a spirit level just because you can check straight lines with both. Only one of them can tell you if something is level or not.

11 days ago

lomase

An OS is software that manages computer resources.

A webapp uses multiple computing resources.

But the software that gives resoruces to a webapp is not at all like an OS to you.

11 days ago

frou_dh

Not sure about this. Sounds like it's somewhat arbitrarily reframing RPC over HTTP as OS system calls. But maybe I just don't get it.

11 days ago

_akhe

Haha tell this to the gRPC people.

I could see this being cool for decentralization/peer-to-peer. It's essentially HTTP in front of a FS. It could be implemented as anything from a blockchain to a NoSQL db to AWS S3.

OP says:

> This was before things like local storage, etc. were available in browsers.

And looking at the repo it's like a decade old. Would be really cool if OP could find a use case and share that - I think that of all libs/frameworks: Show me the thing being made with it.

11 days ago

vaylian

FS = file system?

11 days ago

_akhe

Yes. His project is https://github.com/jjg/jsfs

10 days ago

x3haloed

I don't understand. What's an example of something that could be achieved using a system like this?

11 days ago

gwbas1c

I wrote something based around these concepts in 2008-2010: https://github.com/GWBasic/ObjectCloud

I don't think it "works" in today's world where installed apps on iOS / Android are more common than web applications.

11 days ago

daitangio

Try pigshell, http://pigshell.com/ It is an interesting approach… but it is a bit old project

11 days ago

SahAssar

> I didn’t realize it at the time, but I was beginning to write a filesystem

But it uses nodejs normal fs adapter to talk to the filesystem (or forwards to a GCP bucket). This is no more a filesystem than WebDAV is, which is already standardized and widely supported for the same usecase as JSFS.

> Obviously, other operating systems can run web applications, but this operating system runs them natively.

But does it really? In the proposed model could I run a browser on JS/OS?

The proposal seems to be some combination of a wrapper around nodejs fs module (or the standard GCP storage client), a wrapper around nodejs vm module to eval code, and a arduino sketch that reads/writes GPIO.

Either my reading comprehension is bad or there is not much here.

11 days ago

tazu

The idea is interesting, but a Javascript filesystem sounds awful.

11 days ago

_akhe

It seems great IMO considering the shape of JSON/NoSQL for cache and JavaScript's multi-process quirk that would allow you to do things in the background or multiple things at once on a single thread.

11 days ago

dmd

Why?

11 days ago

gregw2

It might be interesting to contrast with an earlier OS for the web - Sun Microstems Jini.

12 days ago

desktopninja

Like this idea. Reminded me of Aestiva HTML/OS. The Array Desktop (WUI) had, if I recall correctly, a File Manager, Text Editor, IDE, Calendar, and a scheduler.

11 days ago

calvinmorrison

Aestiva, what absolutely slop. In fact its still running our entire business to this day. Its practically an entire ERP, CRM, HR, Timesheey, Billing platform, Reporting engine, etc

Makes me frequently hate my life but its what we got and it'll probably be around until I die

edit: if you are a competent Aestiva programmer, please shoot me an email at calvin@pobox.com

11 days ago

lenerdenator

How does this compare with, say, Plan 9?

11 days ago

zubairq

Interesting. What do you envision as potential use cases for JS OS?

11 days ago

verbalstone

[dead]

11 days ago