This is what I was getting at in the discussion about X window managers. There is basically no purpose to be running X at this point, when you could just run a web browser and implement the distributed window system inside of that instead:
There are a lot of advantages to running the window manager (and ui toolkit) in the window server itself, like NeWS used to do, but X doesn't do on purpose:
@Lerc: I think its pretty cool you decided to write your own. I'm working something similar, for a different use case. I'm looking at something more embedded, for Cortex-M4[1] class SoCs.
The concept of a HTML5 "Desktop" is being developed by Firefox OS[2] and Tizen[3] so there is likely benefits to this.
I thought about something similar. But instead of running web apps, the idea would be to use HTML and JS to build a full desktop environment - except that some DIVs would actually show the windows of native apps. Instead of "desktop themes", you'd have CSS. Want a tiling window manager? Just add the javascript to move the divs the way you want.
It wouldn't need to be a full browser (even though it could). The approach could be similar to what QT already does with CSS.
I have searched but my Google-fu skills were not enough. Is there something similar already?
I don't know of anything like that. You could implement it a number of ways. You could conceivably do it with a browser plugin that did the interface to the native content. Probably making a Wayland compositor that way would be easier than wrangling X11.
I do plan to add more apps that run on the native side, they will be conscious of the HTML interface though. It's taking more of the Extremely smart client approach. So much so that there isn't a great need for a protocol beyond something for sending the client the JavaScript that runs any application specific protocol.
I have been designing an OS distribution that would work much like you describe. I am thinking about using NanoBSD to build a lightweight FreeBSD core, and running something like CEF/CEFPython to display the UI, all in HTML+CSS+Javascript. Apps would have their very own Jail, and the UI would be basically a browser that would connect and communicate with the front end. Somthing like that, anyway. It is kind of a hobby design at the moment. One of these days I may get waround to putting it all together and releaseing it for others to play with.
This is great! I just got a raspberry pi and was looking into running a browser as a kiosk and making a file manager that works with a gamepad as the only input device.
Super cool idea. I already write apps in js and HTML so this would be a natural extension for me. I never learned Java and just went straight into server side programming and markup. Something like this would be n interesting way to translate my skills to the desktop. Thanks for sharing!
I don't think Bellard's emulator supports tcp/ip. Getting it to listen on a port would be tricky.
You could probably do it the other way around without too much trouble. Run Linux inside Notanos. You could implement a file system that communicates with the host environment.
https://github.com/grimwire/grimwire
grimwire appears to be somewhat further along, although still in alpha. both are very cool projects/ideas.