Also bear in mind this is a single university students design project, he's not trying to be Linus or stallman just yet - Id love to see more people trying to rethink the desktop/workstation OS.
To the author - well done, this is far more than I would have been able to do in uni!
He isn't trying to rethink the desktop/workstation OS. If he's found a way of improving upon existing desktop environments, it should be clear what improvements he's made and how he has made them.
It seems it's written in Node Webkit (NW.js), which - if I understand correctly - allows you to build desktop applications in the same way node.js allows you to build applications which run in the browser. He appears to have used this to prototype a desktop environment. Rewriting a desktop environment, for efficiency, in C and using Xlib would itself be a major undertaking.
It's a statically typed subset of JS that uses typed arrays for machine-typed memory and JS's bitwise operators for int32 and uint32 casts, and + for to-IEEE754-double, etc.
It is as fast as memory-safe C-like variants already, see
I'm not sure why the native C++ (clang) gray line stops over a year ago. Perhaps @azakai can say.
Very, very far from C in memory, for all things.
He's very creative. Both his video and website are very artistic. I originally went through the initial reddit links to try and figure out what he was trying to do here.
He just needs to provide more substance. Lots of flash but little info. I say this as constructive criticism. It shouldn't have taken me as long as it did to figure out what this was.
On a positive note: I did spend extra time trying to figure it out because it looks so great and I really liked that he went JS-stack with this - it's very impressive. Impressive enough that it's on my todo list (very few things get on it because I've gotten very lazy!:)
It's not criticism, an actual full operating system written in NW.js would just be very special in its own way.
NW.js requires an underlying operating system to function, so if it really could be called an "NW.js-based operating system", there would have to be interesting things like bootstrapping WebKit as early as possible and then doing everything else in there.
And that would also have stark performance implications. If core-libraries were written in NW.js, getting something as fluid as in the videos, would be absolutely incredible.
> if this gains traction it would likely be rewritten and optimized for better efficiency
Uttered by any JS "mvp" apologist ever; number of times fulfilled in JS projects: 0.2 times. (The .2 goes for Atom and its C++ rewrites).
npm install bootloader? Please does anyone know anything about this? I highly doubt it is an "operating system".
It's not an OS.
What's this all about? any ideas? Finally 
PS: the website uses stratus wordpress theme, which, like most of the cool wp themes is inspired by the apple website.
My first thoughts when loading the website were "Is this an Apple project?"
It's uncanny how similar the design is to Apple's website. It's crazy how much a brand can monopolise a market just from an aesthetics point of view.
It can't be a parody because it's too earnest in its poor imitation of 2010s design language.
I think parent means the ability to create more than decent looking application UIs with a consistent theme for lots of different apps (file viewer, music player, dock and toolbar, editor, etc), implement them in html/css, and add interactivity and code the functionality they offer -- and graphics that niggles aside wouldn't look out of place in an actual end product by a major company.
The "ability to follow popular trends" is by itself a feat, considering it's a young student, he's also programming, and most programmers UI skills are something south of  or .
Nobody cares if they don't follow 2017's trends to a T, or if they overused some transparency in the result, it's the overall skills shown that matter.
Even so, it is extremely frustrating to see someone put in THIS level of effort (As a university project! From someone who is primarily a coder!)... to then be taken down by 30-seconds worth of smug quips from some nobody on a discussion board.
I am reminded of when the last round of Star Trek movies started up a decade ago. How the phrase "lens flare" quickly became an Internet meme. It's not that the effect was that over-used, and it certainly isn't that ANY of the Internet film geeks commenting on it will ever accomplish 1% of J.J. Abrams' life work. It was just a way of signaling to others, "I know some basic industry jargon. So I may not be on his level, but I'm slightly above YOUR level. Look up to me."
I dunno. I have approximately 1000x more respect for this guy's "frosted glass" and "2010's design language" than I do for you. Talk is cheap, he shipped.
The design extends about as far as “blur the background of everything”. Beyond that, the choices are not so good. The file explorer’s sidebar was nice, at least.
It seems a really well executed demo. Too bad the site has very little details and the download page is offline (limits exceeded). However the last part of the Developers page is somewhat revealing:
> Since eXtern as of Beta 1 does not have a terminal, you can use the Linux binary powered gnome-terminal. You can do this by typing this into the I.T.A.I assistant input area (the bottom input area that says “What would you like to do?”:
And then I suppose, it's a matter of taste when compared to KDE, GNOME, Xfce etc.
Would however be interesting how much resources it actually uses when idle. The page suggests a minimum for RAM of 4 GiB.
So, unless that is one of those minimum system requirements where the author wants you to not even touch their software, if you're not equipped to have a completely stutter-free time, I also find it hard to think of many cases where someone would prefer the design so much that they'd buy another RAM stick for it.
Granted, my use case is rather idiosyncratic-- I have to support the use of multiple toplevel windows which communicate over a TCP socket with the "business logic" process. With Electron, this would either require an additional socket connection per window, or central node.js socket connection with the business logic which then forwards messages to/from each window using some form of IPC.
With nw.js you get the option of just accessing the window/browser context directly from the node.js context. That made it a lot easier to get the GUI up and running.
I should also say I'm doing the socket connection through node.js, and I've completely disabled the Chromium part of the toolkit from accessing the network. For use cases where the app needs to load web content over the network, Chromium makes all kinds of requests to Google for all kinds of reasons. That's kind of a weird thing for a general purpose GUI toolkit to do. I'd imagine the same is true for Electron.
If you are joking, and I'm going to assume you are, you might want to be careful. Somebody will see your comment and think it is a brilliant idea.
Hell, they might even suggest a blockchain to verify output in the two-out-of-three CPU check. ICO forthcoming.
A recent(ish) favorite was one suggesting that all C should be rewritten in Rust. Granted, they suggested doing it when you did patches and doing it piece by piece, as opposed to all at once, but they were quite serious about it.
They appeared to even be serious about doing it in pieces over a period of many years. I'm not actually sure which one is worse.
It didn't take long before it was first used for abuse, such as spawning new windows until the target computer froze. It was just a short while before it was making cursers with tracers that followed your mouse movements.
Since then, it has gotten sandboxing and that helped a lot. It has been used for some truly wonderful things. It has enabled all sorts of innovation and creativity.
It is a language that seems to invoke strong emotions in the developers/tech world. You either love it or you hate it. The only other language I can think of that evokes quite so strong emotions is PHP.
It really is amazing. It really is impressive to see what people have done with the language. It was Eich, right? I wonder if he knew wht JS would become?
So, maybe hit is the future of programming? The future where we let any old website execute programs on our personal compute devices without any vetting, of course.
If I drank, I'd toast to NASDAQ.js.
Don't try to develop desktop "apps", mobile "apps", "operating systems", "desktop environments", "airplane systems", "nuclear reactors", "[something.js]" etc.