A couple months ago, I started on a project to make a purely JavaScript, in-browser version of Mac OS X. This is my third attempt at creating this kind of thing, and hopefully, the third time is the charm! You can find it at http://luvluvluv.info. For obvious reasons, I am primarily interested in developing for Google Chrome, but Safari should also work pretty well, and Firefox seemed to do okay (when I checked it last). Opera didn't fare so well, and I couldn't care less about IE! Anyway, I do all my hardcore testing on current/stable Chrome, so please use it when you check out the site.
When the site loads, you should be faced with a familiar interface, complete with a semi-functional "dock" at the bottom. The menubar on top is currently pretty useless because I've really been focusing on getting all the low level icon/window handling mechanics working. But now that all of that machinery seems to be getting worked out pretty well, I will be able to start focusing on these higher level kinds of things. I guess the main philosophical point of this kind of site is simply that web interfaces can actually be very user friendly and functional if web developers would actually will them to be so. As it currently stands, we are still stuck in the same early-to-mid-90's model of one-to-one mappings between URLs and pages of content. By the mid-2000's, of course, AJAX came into being, but this technique has only been put towards fairly trivial use cases. Now that JavaScript engines are getting blazingly fast and our in-browser API's are becoming so robust (multimedia, local file systems, etc), there is only upside when it comes to web development. However, the problem still remains as far as how all of the new fangled "web apps" are going to be discovered and launched by end users. Are they going to keep relying upon doing text searches and clicking on ugly blue hyperlinks? Not if I have anything to do with it! My site currently has no content on it except for a couple of iframed <html> documents. That is, there is, as of now, no real communication between luvluvluv.info and the outside world. My sights have so far been set purely on the client side. But now I will be able to start thinking about how to, for example, do dynamic loading of Javascript applications into the site. Say you subscribe to a certain "web app developer channel". You know this developer does really good work and you want to see everything he/she/it does as soon as you can. So... you keep this kind of website always on, with a specific folder that can have new icons suddenly appear in it. Mind you, nothing's been downloaded except an image, and maybe a small html fragment with some embedded JavaScript. But when you double click on it, the full application will automatically be loaded, and you are ready to rock! The previous scenario is just a small taste of what is possible with this new kind of paradigm. The fact that Chrome automatically sandboxes everything means that everyone can have many safe and cheap operating systems with which to experiment and explore. Or, you can make break out of the sandbox by running a local node server and sending read/write requests for local resources over Websockets. You can even have your browser as an endpoint for remote http requests (or actually any kind of Websocket request) by using an outward facing node server as a proxy/router! And we haven't even start talking about Native Client yet. I haven't really even researched that yet, but once this thing starts to catch on, you can bet there is going to be a real bum rush of people looking through all of their legacy C/C++ code to see if it can be "webified" fairly painlessly. I also have a real love for Natural Language processing, which is something that I want to start embedding into the site pretty soon. But Natural Language is really more of a dream than anything else. I feel that this kind of website will go a long way towards enabling the kind of creative developer culture that will allow us to start turning the dream into a reality. Whoever wants to help me out is welcome, though I don't plan on giving this any kind of liberal license (like GPL or BSD) for the forseeable future. I guess I will just start working on some kind of interface that will let developers use it as a library. -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to nodejs@googlegroups.com To unsubscribe from this group, send email to nodejs+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en