back
180 comments
Tangential, but https://windows93.net/ is by far my favourite take on the “web desktop” concept.
Windows 96 is also pretty cool. https://windows96.net/

Internet operating systems is a niche subject that I am fascinated with, and I put a list of them on my website. Im going to add OS.js to the list soon.

Here is the list if you want to check it out: https://www.whoisthisjoker.com/jokerlinks/virtualoperatingsy...

[edit] I guess hackernews doesn't support markdown. Edited it to be more readable

I find it ironic that the "boot log" displays the text "Safari is teh new Internet Explorer", while it's one of the two final holdouts against Chrome's complete and undivided domination, as Google is trying to force WEI down our throats.

The open web is dying, and it's those messages that are killing it.

In a similar vein, my favorite is Windows RG (really good edition): https://www.newgrounds.com/portal/view/27549
Just don't click on that hamster icon with your speaker volume at 100% :S
Lol, that one is really funny! Especially for those who used Windows 95...
I recently wrote a blog post [1] about the comeback in popularity of these web desktops, especially after seeing a lot of these being posted on HN recently. OS.js was one of the early projects I started tracking years ago, and it's really well designed and documented. The interface always reminded me of those mid 2000's distros with GNOME 2, which is a nice thing since most nostalgic web desktops tend to have Windows 9x themes.

[1] https://system31.simone.computer/blog/desktops-zip

EyeOS was doing this around the turn of the millenium:

https://en.wikipedia.org/wiki/EyeOS

The initial release of OS.js was around 2015, over a decade later.

It's funny how this is faster and more responsive than my actual windows desktop window manager experience (speed of opening apps etc).
It's crazy how slow Windows 11 is on modern hardware. Even on a modern CPU, with 16gb ram, it takes serious time to load things. Very sluggish compared to a Macbook Air of a similar price point.

I can't imagine that big a difference is due to hardware differences. The M2 is fast, but Intel 12th gen isn't much slower just more power hungry.

That means it's a software issue. Which is sad considering how good the NT lineage of kernels was, they have been making a worse and worse OS around it. They have themselves to blame for dropping from nearly 100% desktop marketshare to around 60% now. Only time until they're going the AOL or Yahoo way...

I tried to test your remark and drag my Brave browser around, my whole PC froze for 2 seconds. On a 12c/24t 5900x...
Looks like the Tetris pieces aren't aligned to the canvas pixel grid, causing unnecessary antialiasing. This causes the piece borders to look eternally blurry.

To fix it, you should add a "cleaning cloth" app that the user can drag and drop onto the Tetris canvas that moves the pieces horizontally by 0.5 pixels.

Or even better, only move the pieces that intersected with the cleaning cloth. :)

CSS should have a way to handle all offset properly at some point https://www.w3.org/TR/css-values-4/#round-func but until then you can use JavaScript to automatically get the correct offset.
I would've guessed the entire thing rendered in canvas, but no, it uses HTML and just uses a canvas for stuff like the paint program.
People underrate how much good stuff CSS gives you for building UIs.

If you did everything in canvas you’d just have to reimplement something like flexbox to center, align, stretch, and animate all your icons text, boxes, buttons, etc.

Why not just stay in HTML and use a layout engine that’s already implemented, and highly optimized for literally every platform.?

Indeed HTML can do it all! My desktop environment uses semantic HTML when possible and modern CSS such as grid to handle the icon grid.

But maybe one day down the road I have been considering a total rewrite in WebAssembly in which the entire thing is a canvas. I feel this would be much more portable to other platforms and would have a better chance of escaping the browser one day.

This was the first thing I checked, too. It's really nice to see that it's HTML down to even the color input sliders/ranges.
I wrote a similar concept around private internet access to your file system. It’s at https://github.com/prettydiff/share-file-systems

The window and state management can be demoed on my personal site at https://prettydiff.com

We built a OS (compiler) on top of our OS(windows) on top of our OS(web broswer) on top of our OS.js
I feel strangely compelled to build/use one of these, and yet at the same time I can't think of an actual use case.
Think of buying a new laptop and not having to install anything. All your programs, files, and and settings are in the cloud. The programs open files from your cloud storage, without you having to download them first. So no user files and docs have to be stored on the machine.

Now, if the machine is only used to run such a desktop, then such an internet OS might run best on a chrome-book style device, with minimal storage for system data only, and locked down to run only the internet desktop. You could even store your entire config settings in the cloud, so when you log into the machine, it is automatically configured. So all you need to to acquire the hardware, and you are to use it immediately. No more mucking around with settings and installations and drivers and whatnot.

This setup is not good for every user in every situation, but in some scenarios it would be very useful.

The use case is a return to "dumb terminals." Many "Enterprises" already go as far as they can with remote desktop and VPNs but lots of enterprises would love to issue an employee a device that runs the entire OS remotely so that the device effectively becomes just a terminal and 100% of employee generated data stays within the origination's servers and networks. I'm not saying that this makes for a good employee experience, but it's a use case.
Reminds me of Buddy Pond https://buddypond.com/
I couldn’t play Tetris on my phone because I needed to press space bar to start.

On one hand, I think these things are cool. Why did they do this? Because they could.

On the other hand, I still wonder why they do it.

When someone adds virtual keyboard support so they can play Tetris in there on their phone, you will at least be able to eliminate any rational reasons.
I find these web desktop idea interesting but a solution looking for a problem. Part of me wants to post the Batman slapping Robin meme with Robin saying "Maybe I should develop a web desktop that runs in the browser"
What a great way to make things that aren’t mobile responsive.

Maybe this one is better, but I’ve worked with a large enterprise web app that uses a similar approach and it’s horrible. Everything opens in a “window” and there is weird state being passed around windows (ie drag a item from list window to the form window to view details). Not fun on a desktop and zero chance of it working on a tablet or phone.

I've recently been trying to make something similar, mostly for fun, but I hope something cool comes out of it as it borrows many ideas from SmallTalk

The backend is written in Go and can run locally or on a remote server; Go is just the only language I've used recently that has nice http frameworks and can be compiled to a statically linked binary, which means that running the program is as easy as downloading a single binary, and that a running instance of it can possibly upload itself via ssh on another linux machine the user wants to access.

For now the frontend is web-based, written in Preact, and talks with the backend via some JSON endpoints, although I'm planning to add websockets sooner or later, for instance for double binding text input values.

The motivation behind this project is to try and build an alternative to terminal with tmux+ssh for accessing multiple different linux machines at the same time, while being able to easily monitor and manage them.

I went looking for a terminal in the Apps menu
Transform this to OS for DIY NAS and you'll have great success !
I'm disappointed that it doesn't have a web browser so that I can run os.js inside of os.js inside of os.js inside of os.js inside of os.js...
Meta, but I love the simplistic design of the landing page. That textured background is so much less brutal than a solid colour. I thought about using a background like that in my terminal (to give it a very subtle paper like quality) but was surprised to find nothing online about other people doing the same (I had hoped for screenshots and texture packs).
"Your Scientists Were So Preoccupied With Whether Or Not They Could, They Didn’t Stop To Think If They Should" but "Any application that can be written in JavaScript, will eventually be written in JavaScript" continues to deliver
These kinds of things have been a recurring trend since the mid '00s, I do remember people writing Windows-lookalikes in JS even back then. Every time a new one pops up I get this very nostalgic feeling for an era of computing that, sadly, I think is dying real fast.
Once I tried a Linux-based livecd distro with the UI being entirely in JS, ran through CEF or electron. It was an abomination, and awfully slow. There's just something so evil and funky about building an OS with web tech...
Somewhat related, the Lively Kernel project - Smalltalk like system on web technologies:

https://github.com/LivelyKernel/lively4-core

Should the title say (2021)?

The last release (or even git tag) is from July 2021.

All the text in the Desktop is in French for me. Is that because I'm in the German-speaking part of Switzerland, and it's somehow geo-locating incorrectly?
What I dont understand is why is everyone so obsessed with anime. I opened this app and sure enough there was an anime wallpaper lurking in there somewhere.
The inclusion of a XMPP client is cute
Wonder why people choose gitter over something functional like zulip chat.
Games collection is awesome - Tetris and Wolfenstein 3D
For "some" reason Tetris feels less reactive than an old Windows 3.1 Tetris running on a 386 at 20 MHz...
It's a remarkable tech achievement, but what's the applicability?
FYI, last code update on the repo was Sept 22, 2022. seems inactive already
this is super impressive
Serious question, not trying to be a jerk. Why do people keep making these? Because they’re fun? I don’t think I’ve ever seen one of these gain traction.