[Discontinued] auroraOS - An OS in your browser

auroraOS

auroraOS was an OS in your browser. Completely written from scratch over two fifteen months before discontinuation, it featured a beautiful GUI, a fast window manager, package loading, application APIs, and more.

Try it out.

It’s also remixable and open-source on Github, please excuse the spaghetti code!

The demo filesystem is persistent and all files are visible to everyone. Please do not write any personal information to the filesystem.

FAQ

  • How does auroraOS work?
    • auroraOS is a combination of Node.js on the back-end and pure JavaScript on the front-end. Every single thing on the front-end is written in pure HTML, CSS, and JavaScript; no preprocessors or Webpack here!
    • auroraOS revolves around packages, somewhat like Linux. When a package is started, auroraOS fetches the script from the server and executes it while exposing many package APIs like package.resource, which allows a package to retrieve files in its directory, and package.createWindow, which creates a window under the designated window manager. Even the window manager is a package!
  • What am I allowed to do with auroraOS?
  • Why was auroraOS created?
    • It’s a long story, but it basically started out as a side-project and a chance to improve my JavaScript.
  • How are passwords encrypted?
    • Passwords are encrypted using Bcrypt, a library that automatically salts and scales strength to keep up with modern technology.
  • When will a documentation be made?
    • Soon.
  • How do I update auroraOS versions?
    • For now, there is no auto-update system planned, unless I somehow integrate it with the Market. You must currently remix the demo and transfer your files, or pull from Github.
  • How do I login?
    • Username: demo
    • Password: demo
  • Why was auroraOS discontinued?
    • First and foremost: because I no longer agree with Glitch’s values. Private projects becoming a paid-only feature was the final straw, and the boosted plan isn’t exactly a good deal for what you get. Also, this happened.
    • auroraOS was discontinued because I didn’t have much time on my hands to manage it, and because it was based on aging code that, when written, didn’t meet any security or performance standards nor did it even remotely follow good JavaScript, HTML, and CSS practices.
    • File permissions were implemented absolutely horribly; for example, read-locked files could even be accessed through the readStatic path even if you didn’t have the proper permissions.
    • The filesystem itself was implemented poorly; every action constituted a new HTTPS request. While this isn’t necessarily bad, if auroraOS were rewritten today, I would’ve used socket.io or something similar.
    • Apps were not sandboxed. Not a big reason as this is something that’s hard to do in any web app, but if auroraOS were rewritten today, I would either put every app in an iframe, or use a custom GUI drawing system that auroraOS can 100% control, and run each app’s process in its own JavaScript VM (JS in JS)
    • I always used the newest web platform features as soon as they came out, whether they were supported on the majority of browsers or not. This is why auroraOS doesn’t run on iOS <14 or most versions of Safari.
    • Around auroraOS 5, I decided to absolutely replace the completely functional window manager with something a bit more modular and a whole lot broken. It’s a mess. I ended up somewhat reverting this change but it’s still not as good as it used to be.
    • With the default themes, I used blur everywhere. Smh
    • Settings app: since auroraOS 6 (?), became some weird half-broken app that was just…bad
    • Terminal app: all commands were part of the Terminal app itself. Not easily extensible, and the text rendering itself was implemented horribly. If auroraOS were rewritten, I would rewrite this to act like the Windows Console Window Host, which listens to a process’s stdout, forwards stdin, etc.
    • Files app: barely had any features.
    • Write app: what even was this? Didn’t even have filesystem functionality lol
    • auroraOS System:
      • When launching an app and then closing it, the app’s JS heap usage would not be cleaned due to my horrible attempt at JS processes in a highly-constrained platform (the web, am I right?)
      • Non-fs data storage: used quick.js. Probably the worst module you could use for the types of things that auroraOS stored out of the filesystem.
      • Aging code: at first, auroraOS started out as simply a concept with no backend code at all. This was a problem.
      • Bad code: I learned JS through auroraOS. As such, some code is bad.
      • CSS: used a lot of hacks, was just not maintainable; changing one thing would probably completely annihilate another.
    • I understand that some of these issues could be fixed with another feature update, but…it was simply too much. It was time for auroraOS to go.

your feedback would be greatly appreciated

18 Likes

i like how people are writing OS’s in glitch!

well done! i might remix

2 Likes


hmmmmmm
Edit: Theres an issue and it makes the browser really slow

Don’t run virus.exec lol, it slows down your whole browser and was mostly a test

I’m not aware of any performance issues right now, but I’ll look into it, thanks for telling me

by the issue i was talking about the virus lol

1 Like

The window close animations are slightly laggy for me
But first of all

  1. Great window management
  2. Nice taskbar
  3. Amazing startup animation
  4. Nice start menu
  5. Overall it’s nice looking
1 Like

also seems like the images in the market are broken

Thanks for all the compliments!

The lag can be fixed by switching to a different theme, as Dark and Light use backdrop-filter to simulate background blur, and its currently very performance-intensive.

1 Like

yeah, the Market is a work in progress and there aren’t really any images yet.

Such a lovely design, it reminds me of how people make linux cool.

5 Likes

I know right? Best “Linux-like” OS ever.

3 Likes

this is by far the best os so far

1 Like

Even works on mobile except from the background glitching out a bit

i just made an app which shuts down the PC, it sounds basic but needed

best part is that it only takes up 4% space

3 Likes

dev article: https://dev.to/17lwinn/aurora-os-2a9m

1 Like

https://technolofi.tech.blog worthy! I’ll blog about this later. Good job!

2 Likes

Thanks to everyone for the amazing compliments, this made my day!

And now for a sneak peek of 5.0:


The desktop may look the same, but everything behind the scenes has been revamped.
4 Likes

YES! Release date? @hhr3

And how do I update?

Sometime in the next two or three weeks.
Right now, there’s no auto-update, though you can remix the new version and transfer your files when it comes out.

4 Likes

It does not work if you type the url in chrome. To me, I assume that you are using window.close. I suggest just making the screen black or something like that and make it so that they can then restart or use the os once again.

Also, I found a file (.txt) that I find “not necessary”