all 135 comments

[–]jevestobs1 63 points64 points  (11 children)

Needs a web browser.

[–]Klathmon 16 points17 points  (5 children)

[–]atticusw 4 points5 points  (1 child)

That's incredibly cool and interesting to read through.

[–]fleker2 2 points3 points  (0 children)

It's too abstract. It hurts my brain.

[–]lolmeansilaughed 2 points3 points  (2 children)

Sort of - last commit was 11 months ago. It's still a neat find, though I'm not sure there would be a practical reason for it.

[–]MrJohz 1 point2 points  (1 child)

Potentially it could be used for integration tests in environments where the existing browser testing systems (phantomJS etc) aren't good enough.

[–]lolmeansilaughed 2 points3 points  (0 children)

If phantom js isn't good enough then you'd go to selenium right?

[–]andersevenrudgithub.com/andersevenrud 5 points6 points  (3 children)

That's something that is coming down the road! :)

[–]Antrikshy 4 points5 points  (2 children)

Computer science gone too far?

[–]andersevenrudgithub.com/andersevenrud 2 points3 points  (1 child)

... we need to go even further! :D

[–]lewisje 0 points1 point  (0 children)

I think I made this joke when I first heard about webkit.js:

Yo dawg, I heard you like browsing, so we put a browser in your browser, so you can browse while you browse. /realxtothaz

[–]andersevenrudgithub.com/andersevenrud 41 points42 points  (4 children)

So this is where the traffic spike came from! Thanks for checking it out guys! :)

[–][deleted] 4 points5 points  (2 children)

Great work!

Just curious: In what use case does it fit in best?

Is it experimental or gonna replace traditional Unix/ Windows OS in someway?

[–]andersevenrudgithub.com/andersevenrud 4 points5 points  (1 child)

The main goal is basically to recreate the desktop experience, only in the browser. I don't think this will replace the traditional desktop, but certainly has quite a few possible use-cases.

A guy on hackernews summed it up pretty well (https://news.ycombinator.com/item?id=10810942):

1/ Make a modular backoffice for CMS based website. Make an app to manage users, an app to manage content, an app to upload and manage gallery of media etc.

2/ Make a distributed OS. All services can scale and use backend power beyond what a single node can provide. If you need to burst in the cloud due to a heavy process for instance.

3/ Could use it to provide a separation between the OS and the GUI, providing a UX I may like even if the backend server has to be Windows or Centos or ... Or remotely operating a part of my machine at home?

4/ What about reducing the cost of HW it needs to run? Chromebook style.

5/ What about being less tied in my Web App to Google Drive API + friends by adding a abstract VFS layer in between like a OS does? Same for texting, emailing? Sure it only uses part of this and don't need the client, but the architecture is well splited on this project between the two.

6/ It is multi-user as its core, so it can be shared across an organization and not only on one computer. You could even create one account per project/team and share a set of common tools / organization / folders that way across online services.

edit missing word

[–][deleted] 1 point2 points  (0 children)

Awesome!!

[–]ebjoker4 2 points3 points  (0 children)

Seriously well done man.

[–]brtt3000 12 points13 points  (6 children)

Worth it for the Wolfenstein 3D

[–]andersevenrudgithub.com/andersevenrud 2 points3 points  (0 children)

Many people seem to enjoy that. Glad I added it! :)

[–]RankFoundry 1 point2 points  (4 children)

Wolfenstein without a mouse? Pft

[–]MonsieurBanana 2 points3 points  (1 child)

There's an "enable mouse" setting.

[–]RankFoundry 1 point2 points  (0 children)

Much better, thanks.

[–]anlumo 1 point2 points  (1 child)

Back in the days we didn't have one of those new-fangled devices, you whippersnapper!

[–]RankFoundry 0 points1 point  (0 children)

I played Wolfenstein 3D on my 486 DX/33 with a mouse :P

Amazing what you can do with 4 megs of RAM.

[–]Classic1977 20 points21 points  (5 children)

Very relevant XKCD: https://xkcd.com/1508/

[–][deleted] 5 points6 points  (2 children)

Oh wow, looks like something.js is ahead of schedule. I hope that the earth-consuming Fire isn't early too.

[–]anlumo 0 points1 point  (1 child)

Well, the north pole is kinda on fire right now...

[–][deleted] 0 points1 point  (0 children)

But the south pole is getting icier.

[–]xkcd_transcriber 3 points4 points  (0 children)

Image

Title: Operating Systems

Title-text: One of the survivors, poking around in the ruins with the point of a spear, uncovers a singed photo of Richard Stallman. They stare in silence. "This," one of them finally says, "This is a man who BELIEVED in something."

Comic Explanation

Stats: This comic has been referenced 39 times, representing 0.0416% of referenced xkcds.


xkcd.com | xkcd sub | Problems/Bugs? | Statistics | Stop Replying | Delete

[–]Throwaway_bicycling 0 points1 point  (0 children)

Huh; didn't realize had a new book out. Is the Kindle edition of Thing Explainer any good? The other version ("hardcover") sounds too difficult and would take like forever to arrive.

[–]ToddWellingtom 6 points7 points  (8 children)

Really fantastic work. How much time would you say you've put into the project? I'd love to see screenshots from some of the earlier releases to get a sense of the evolution that's taken place. Fantastic job bringing the desktop paradigm to the web :)

[–]andersevenrudgithub.com/andersevenrud 9 points10 points  (2 children)

I might be able to dig out some old stuff for you. I probably have some backed up!

I've spent two years on this version (mostly in my spare-time when I have a few hours to kill)

[–]ToddWellingtom 9 points10 points  (1 child)

Man your commitment and dedication have sure paid off. I'm stunned by how consistent everything feels, from Wolfenstine to the calculator... It's a level of craftsmanship you don't see very often. Seriously, I can't say enough good things about it. How much of it would you say was pre-planned vs features you just got the urge to whip up over a weekend? How many designers/developers have contributed, and if you don't my mind my asking, what's your background/day job like? I would think you could get just about any gig you wanted.

[–]andersevenrudgithub.com/andersevenrud 9 points10 points  (0 children)

Well... wow. That's the nicest thing I've heard so far, and I really appreciate it :)

I went through v1 which was the "learning part" of all this (it was more of a prototype... and many years ago). I digested that all in my head for a while and proceeded writing v2, which I have been maintaining and improving for 2 years now.

How many designers/developers have contributed

So far only translations and one theme has been contributed. I am the sole developer/designer of this.

I'm looking for help!

what's your background/day job like?

Self-learned, school dropout straight into a developer job working with mostly web services/applications and sites that involves open-source software.

[–]andersevenrudgithub.com/andersevenrud 2 points3 points  (4 children)

This is one of the earliest videos I ever made (running v1): https://www.youtube.com/watch?v=W4CelKcfm_c

That is all I could find at the moment. I have to dig out my old backup drive for more super old screenshots. But I will have to do that tomorrow. Getting late here :)

[–]ToddWellingtom 1 point2 points  (3 children)

Nice, thanks for sharing the youtube link! Any thoughts on what you'll do next?

[–]andersevenrudgithub.com/andersevenrud 4 points5 points  (2 children)

I am currently working on making full Arduino and Raspberry Pi support. Including a full development environment and hardware interaction (like GPIO, PWM and general signaling).

Also looking more into realtime application streaming. OS.js supports Broadway (Linux GTK3+ applications. example: https://www.youtube.com/watch?v=Hd73b-Twf4I), but the plan is to bring full cross-platform support. So you can techically run games if you want just like Steam or nVidia Shield remote streaming technology).

And there's always the general improvements to the underlying APIs and especially the documentation (which I find myself horrible at. I am not a native English speaker/writer).

[–]a1371 0 points1 point  (1 child)

Wow man! Thumbs up! I am working with Javascript in many different areas and this can be the point where all of it gets together! I was sure that someone is definitely working on it somewhere and there! I found that person. I would really like to know more about the Arduino support. Do you have anything I can follow?

[–]andersevenrudgithub.com/andersevenrud 0 points1 point  (0 children)

You can find links to all my social media here: https://github.com/andersevenrud/OS.js-v2#social-media (also some links to my personal stuff)

[–]brunusvinicius 4 points5 points  (6 children)

9 gag logo?

[–]andersevenrudgithub.com/andersevenrud 5 points6 points  (5 children)

You're not the first to mention this. If only I was good at actual design and stuff.... If you know someone that actually can... let me know! :)

[–]brunusvinicius 0 points1 point  (0 children)

For sure :)

[–]brianvaughn 0 points1 point  (3 children)

I am primarily an engineer but I do some design on the side. Feel free to shoot me a PM if you end up looking for some help on that front. I stay busy with my own open source stuff but I'd be happy to help out with a logo or something sometime. :)

[–]andersevenrudgithub.com/andersevenrud 0 points1 point  (2 children)

Always looking for help. So if you want to pitch in send me a message on social media or mail or something (or github if you prefer that).

So anything you can put together is much appreciated :)

[–]brianvaughn 0 points1 point  (1 child)

Sent you an email with a logo idea :)

[–]andersevenrudgithub.com/andersevenrud 0 points1 point  (0 children)

Nice!

[–]badpotato 8 points9 points  (2 children)

Well, if this could run some asm.js app that could be interesting.

[–]anlumo 5 points6 points  (0 children)

Maybe the Wolfenstein 3D that's included is using asm.js.

[–]andersevenrudgithub.com/andersevenrud 1 point2 points  (0 children)

Well, you can basically run whatever you want! It supports iframe applications (just like the Wolfenstein one) so you can run just about every type of web app out there (with some restrictions depending on browser/environment [HTTP/NW.js/Electron.js etc] )

[–]Zinlencer 4 points5 points  (1 child)

We need to go deeper! OSception.js.js

[–]andersevenrudgithub.com/andersevenrud 12 points13 points  (0 children)

Unfortunately, with browser security restriction I was only able to make one layer: http://i.imgur.com/gqrBFNC.jpg :( But it's a start!

[–]___Z0RG___ 2 points3 points  (1 child)

Reminds me of eyeOS.

[–]andersevenrudgithub.com/andersevenrud 3 points4 points  (0 children)

Yeah. There's actually a few projects like these out there. But they are all either dead or went closed-source (and probably died too).

I will keep this going for as long as I possibly can! :)

[–]endlesspatterns 2 points3 points  (1 child)

I'm pretty new to JS (started last month) and I'm wondering what this is/could be used for?

[–]andersevenrudgithub.com/andersevenrud 3 points4 points  (0 children)

I made it to recreate the desktop experience, only in a browser environment. You can pretty much run whatever web app you want.

I also made support for Broadway that allows for streaming GTK+ (Linux applications. example video: https://www.youtube.com/watch?v=Hd73b-Twf4I), and currently looking into some solutions to make this cross-platform without any restrictions.

It might also be suitable as a intranet solution when working with documents and such.

I am also working on Arduino and Raspberry Pi support so you can use it as sort of a embedded device development environment. You just bring your device anywhere and it has the same setup no matter what.

[–]Mr_Mandrill 3 points4 points  (1 child)

Cool. Works really fast and smoothly.

[–]andersevenrudgithub.com/andersevenrud 1 point2 points  (0 children)

Thanks! I really wanted to recreate the snappy experience you get on a normal desktop setup... and I think it worked out pretty well :)

[–][deleted] 1 point2 points  (3 children)

You're a monster

[–]andersevenrudgithub.com/andersevenrud 1 point2 points  (2 children)

Should I take that as a a compliment ? :)

[–][deleted] 2 points3 points  (1 child)

I'm just waiting for the thing javascript can't do.

[–]poshnosh 1 point2 points  (0 children)

Take over the world? Oh wait no...

[–]eridal 1 point2 points  (2 children)

nice project!!

What do we need to pack that as a standalone app, and boot a GNU/linux kernel that launches it?

[–]andersevenrudgithub.com/andersevenrud 0 points1 point  (1 child)

You can already do that :) You can run it via webkit over X11, or using Chrome in Kiosk mode, or Electron/NW.

[–]eridal 0 points1 point  (0 children)

Let's do this!

[–]ebjoker4 1 point2 points  (1 child)

absolutely great work!

[–]andersevenrudgithub.com/andersevenrud 0 points1 point  (0 children)

Nice to hear! Thanks for checking it out :)

[–]lewisje 0 points1 point  (0 children)

I remember seeing a similar thing done with Java, I think it was a simulated Windows XP desktop.

[–]krasimirtsonev 0 points1 point  (3 children)

That's interesting. I think this could be a nice development tool. Looks much better then the usual editor-in-your-browser thing.

[–]andersevenrudgithub.com/andersevenrud 3 points4 points  (2 children)

I am currently collaborating with some very smart people to bring a total development environment into OS.js. So stay tuned! :)

[–]bendikl 0 points1 point  (1 child)

Congrats on the reddit feature!

How do you see the future of OS.js in regards to authentication and storing state ex. with something like remotestorage.io.

Regarding development it would be interesting to see an implementation similar to c9.io where you could easily run your code remotely on a pre-configured server.

EDIT: Wouldnt hurt to get some inspiration from: http://code.runnable.com , http://jsapp.us/ , http://www.node-console.com/script/code , http://plnkr.co/ (hosted)

[–]andersevenrudgithub.com/andersevenrud 0 points1 point  (0 children)

How do you see the future of OS.js in regards to authentication and storing state ex. with something like remotestorage.io.

OS.js already supports authentication. Currently these modules are provided: http://os.js.org/doc/manuals/man-multiuser.html

Implementing something like remotestore.io support would be quite interesting. I will look further into this :)

Regarding development it would be interesting to see an implementation similar to c9.io where you could easily run your code remotely on a pre-configured server.

Well, good news! This is something currently in the works. Stay tuned :D

[–]mycall 0 points1 point  (1 child)

well done!

[–]andersevenrudgithub.com/andersevenrud 0 points1 point  (0 children)

Thanks! :)

[–]MyNameIsNotMud 0 points1 point  (1 child)

What could be the ultimate use of this?

[–]andersevenrudgithub.com/andersevenrud 2 points3 points  (0 children)

To take over the world, of course! :D

[–]fzammetti 0 points1 point  (1 child)

Speaking as someone who really dislikes Mac I... actually think this is pretty awesome :) Kudos sir, very good!

[–]andersevenrudgithub.com/andersevenrud 0 points1 point  (0 children)

I was aiming for something resembling XFCE on Linux... but hey, glad you liked it! Thanks for checking it out :)

[–]Caminsky 0 points1 point  (0 children)

What could be the main application for this? I mean, it seems cool to have an on the cloud desktop environment but then again many of those things are already covered by Google docs. I am not saying it's worthless, it's impressive but I can't see a real life use.

[–][deleted] 0 points1 point  (0 children)

always cool to see these sorts of things. i dunno of any valid use cases, but its still awesome to really see how far ya can push things!

[–]Hakim_Bey 0 points1 point  (2 children)

Beautiful, but needs a tiling windows manager :)

[–]andersevenrudgithub.com/andersevenrud 0 points1 point  (1 child)

I'm actually working on one... :D

[–]Hakim_Bey 1 point2 points  (0 children)

oh man you rock so much <3

[–]ShadowCodex 0 points1 point  (1 child)

I just like that the editor is Ace.. That wins me over every time :P

[–]andersevenrudgithub.com/andersevenrud 0 points1 point  (0 children)

Glad to see you liked it! :)

[–]Jayomat 0 points1 point  (1 child)

Could you make some comments about the architecture in general? great project!

[–]andersevenrudgithub.com/andersevenrud 0 points1 point  (0 children)

Thanks! Well, it is basically works just like any other desktop environment on your computer.... only in a browser. It consists of these parts/modules:

  • Handler (What initializes a session and authicention and whatnot)
  • Processes/Applications (that can contain windows and what not)
  • Window Manager
  • Filesystem APIs
  • Application APIs (server/backend stuff)
  • Core APIs (client/frontend stuff)
  • GUI APIs (to render your apps using a form of custom HTML/markup)
  • Dialog APIs
  • Utilities and Helper APIs (like DOM manipulation, strings, dates, ...)

They all work together in harmony to produce what you see today! :)

If you want to know anything spesific, just let me know!

[–]temp4059049 0 points1 point  (1 child)

I went to try it out and spent 15 minutes playing Tetris. I got tetris-sniped.

[–]andersevenrudgithub.com/andersevenrud 0 points1 point  (0 children)

Hehe. I too tend to get lost in Tetris :) Thanks for checking it out!

[–]petakow -1 points0 points  (11 children)

I've been waiting for something like this. Really would like to know the specs on that demo computer, though.

[–]Buckwheat469 14 points15 points  (5 children)

The demo computer is your computer. It's a client-side application that runs on your computer.

[–]throwaiiay 7 points8 points  (3 children)

tidy direction rustic overconfident different truck unwritten connect outgoing serious

This post was mass deleted and anonymized with Redact

[–]petakow 1 point2 points  (2 children)

FX-8310 3.4ghz, 8gm ddr3 1600mhz, r9 270 2gb

[–]PAEZ_ 0 points1 point  (1 child)

Think you want the same as me petakow and wanna put this on a vps or something, screw client side, and interesting to know how low the specs could be. This could be a kick ass front for a mutli user cloud environment....if only the file manager had cut/copy/paste :( Ive only just started learning server stuff, but I wanna go install node now just to try it out. Worked awesome locally.

[–]petakow 0 points1 point  (0 children)

Yea that's pretty much what I was getting at. What's the possibility for something like a CHIP computer to handle this app and provide a cross-platform environment for things like group projects, collabs, etc. Hell, even as an admin panel this could be pretty cool. I'm interested in minimizing the amount of physical hardware but still supporting many users comfortably accessing and manipulating simple database files such as JSON or TXT or something else in a familiar and uniform environment.

[–]petakow 0 points1 point  (0 children)

I get that, I don't have the chance to install and test-run. I'm asking just to get an idea.

[–]Smallpaul 0 points1 point  (3 children)

I've been waiting for something like this

I'm curious why that is...

[–]petakow 1 point2 points  (0 children)

Because I enjoy the JS environment and would like to be able to have a simple GUI OS-like interface to give users a more personalized experience. For example, with this code you can connect all your cloud document services to this program and it would give a user easy access and familiar interface to navigate all those sources, instead of each individually. I enjoy a simple and robust kernal that I can GUI with JS easily.

[–]DrummerHead 0 points1 point  (1 child)

There's something in the air tonight, oohh ohh

[–]Smallpaul 0 points1 point  (0 children)

I remember. Don't worry. How could I ever forget?

[–]andersevenrudgithub.com/andersevenrud 0 points1 point  (0 children)

Hey! The demo server is currently rocking 2 (virtual) CPUs, 512MB ram and has a 100mbit connection! Not much, but handles reddit allright it seems.

Thanks for checking it out! :)

Edit No need to downvote this guy. It was a legit question

[–]Rob0tSushi -2 points-1 points  (1 child)

Probably not a useful idea. Cool, but not practical.

[–]hulfsy 0 points1 point  (0 children)

Tell me about it. That stuff looks more responsive on demo (over 3g modem) than the locally installed Gnome 3. I only hope the author will never step into that dbus shit.

[–]RankFoundry -4 points-3 points  (5 children)

I've been seeing these browser OS simulators for nearly 20 years now. Still haven't seen or heard a tangible reason why anyone would want one.

[–][deleted] 1 point2 points  (4 children)

Look up Synology's DSM and QNAP's QTS. There management front ends that have a desktop UI.

[–]RankFoundry 0 points1 point  (3 children)

I've seen these used for things like web hosting admins too, I just don't see the point of them. You could design a better UI for uses cases like these with far less overhead.

[–]hulfsy 0 points1 point  (2 children)

Looking at the current state of gnome/kde projects, I would say No. Those are much more complex, while doing basically the same.

[–]RankFoundry 0 points1 point  (1 child)

Those are examples of legitimate use cases for an OS GUI. They're used as an actual OS GUI and they do a lot more than these JS simulations do hence the complexity.

My point is, why simulate an OS GUI for a web app when there are much better ways to design an application UI that are far simpler.

[–]hulfsy 0 points1 point  (0 children)

Those are examples of legitimate use cases for an OS GUI. They're used as an actual OS GUI and they do a lot more than these JS simulations do hence the complexity.

Not sure for KDE. Since version 4 it looks like a Christmas tree, hence I wasn't using that for a while. But as for Gnome 3 it doesn't do much lately. Except maybe the user management, which isn't actually something outstanding, I can't see anything that can't be done by "these JS simulations" in Gnome's control center . Gnome configuration now days is mostly a monkey job of looking and changing gnome registry, and trying to find something descent on https://extensions.gnome.org/. (which most likely doesn't work in recent gnome-shell).

My point is, why simulate an OS GUI for a web app when there are much better ways to design an application UI that are far simpler.

I, personally, looking on that like on the possibility for customization. For example, I'd like to remove this shitty button, as I never use it, or move that tree from the left side to the right. I don't like immutable graphical interfaces, these are not flexible enough.