[web] Mercury - My attempt at a Browser-OS Environment

Started by
19 comments, last by smr 13 years, 7 months ago
I would like to see if you could hook this into NaCl and see what happens. Very nice piece of work so far.
Advertisement
@Kambiz:
* I've seen a few Web Desktops, and to me they all fail do to it correctly, for many reasons, but I'll list a few:
- Trying to support too many Browsers: why it is bad? Because simulating windows, doing drag'n'drop and all of the stuff you see in my video requires some nifty tricks to make it work, and the more you try to make it work with older browsers, the more convoluted it gets. And if you go down that road, the code just gets fugly. So no IE6 please.
- Not supporting enough Browsers. Really no reason why they can't support Opera, Safari and Chrome. The Web isn't just IE8 and Firefox.
- Trying too much to be a specific OS. Oh my, what's with the whole XP theme there? I don't want to run XP inside my browser, surprise me! Make it visually interesting, but don't just imitate another OS' complete visual.
- Trying too much to be just an OS. An OS environment is interesting, BUT you're working on a browser, so leverage that your advantage, Don't make it a boring environment just because your windows XP is boring.
- Just being a "Window Management System". An OS doesn't just manage your windows, no, it consists of many function calls to make various tasks easy and trivial. I don't want to code a sound manager myself just because I want some sound in my application, nor do I want to import extra &#106avascript code to do this or that. Imagine if every application did that. Every time you open up an application it loads all your code, imagine if each app had its own huge baggage of code. No, the OS provides a standardized way of doing a *lot* of this stuff, so that neither your app, nor you, have to recode the wheel.
- Trying to do the impossible. Listen, some stuff is just not possible. Flash and other objects love disobeying z-ordering. This messes up your windows and your experience, because if window A contains flash, and then you focus on window B, and window B comes to the front, it's horrible if you can still the see the flash on window A, just because it isn't obeying z-ordering. This also happens with O3D and DivX. For now I just let it happen, but I'm going to add functionality to Mercury, so that whenever you have a window open that does not obey z-ordering the OS can manage it differently. Another pet peeve is iFrames. Try it in those web desktops. Open an iFrame of Google.com, and it will just "crash", because Google.com's code just takes over. So don't use iFrames. Don't be too clever for your own good.

So.... that's my view on that.

@evolutional: I had to google NaCl, do you mean this? Very very interesting, but it kind of falls into that "area", where you're just trying to push a camel through the eye of a needle.

I'm much more of a proponent for "Solid &#106avascript", a new Web Language that would allow binary interaction between the server and client, is client-side compiled and saved, and has a client sandbox to save files and serve as a cache. I know that there are tools here and there that more or less do this, but you really want something integrated, where the new tech can talk to the old tech.<br><br>Another pet peeve is just the open aspect of &#106avascript code. It's all text based, and it travels in text form, and so it's very open to be disassembled, studied, and then exploited. With some sort of code protection, perhaps more programmers would feel attracted to the browser.<br><br>There is a marked difference between the code being trustworthy (meaning, it doesn't mess up your machine), and it being completely open.
Very impressive.
Holy Cow! This is so cool! Now i'm sorry if i don't have anything smarter to say but can this be used(in the future) to test new technologies my old video card does not support? Like for instance play with nvidia optix? I think this would be rather cool!

EDIT:

Also it would be really neat to log into a group into the OS and share your processing power with other friends for specific tasks, like ray tracing or rendering.
If I had written that, I'd use it as a portfolio piece accompanying a resume. Even though the big companies probably already have such a system in development, it would demonstrate that you have serious skills at web development.
Quote:Original post by ID Merlin
If I had written that, I'd use it as a portfolio piece accompanying a resume. Even though the big companies probably already have such a system in development, it would demonstrate that you have serious skills at web development.

Already done! Check the links on the YouTube videos, they link to a page with a small portfolio and my Resume.

@Deliverance: You do realize this is running in your browser, right? It runs with the same power your browser allows it to have, in other words, as smoothly as the &#106avascript implementation of whatever browser you're using allows it.

There is no sharing of "processing power"... I don't even know how that would work... you could in theory code some stuff in &#106avascript, have the browser chew &#111;n it, and upload any results to a central server, but that is like trying to do a screwdriver's job with a hammer...
I know it's not exactly what you've done, but if that were a web development framework (or, addition to whatever you used), it would be immensely useful to Web 2.0 developers.

Also, good luck with the job hunt. You'd be the first person I interviewed, if my company were in Portugal and looking for a developer.
Looks well executed, so kudos, but I just don't understand why. What's the purpose? Between cloud computing, virtual dedicated servers, and virtual network computing, I can't think of a single need such a thing would fill.
Quote:Original post by revomedia
Looks well executed, so kudos, but I just don't understand why. What's the purpose? Between cloud computing, virtual dedicated servers, and virtual network computing, I can't think of a single need such a thing would fill.


I see your point. In fact, I've been getting that a lot. I guess I fail at describing Mercury's strong points.

I'll try with a few examples if possible.

Imagine having a place, online, that you can access wherever you are. Imagine it using a simple but powerful User Interface. You can "install" whatever applications you want into your area. Do you exercise a lot? On the Wii? There is an app to track your progress, and share it online with your friends. TreadMill? There is another app that also allows you to compete with your friends, relatives, and even strangers, and it will map your progress and give you suggestions on how to better improve your times.

Want to share your pictures? Never been easier. Want to map out restaurants that you love? Or review restaurants online? There will be apps for all that.

Want to create a "journal of you", divided into whatever sections you want? Sure thing! I dislike the current trends, Tweeter, blogs, because I, as a person, have many interests. I can write about programming, photography, astronomy, family life, etc, and each person can read whatever section of the newspaper of "me" they want.

My family couldn't care less about my programming exploits, and my fellows programmers couldn't care less about that new restaurant I'm going to visit this next weekend, so things get neatly organized.

This online environment, where you can do anything there is an App for, and insta-share it with your social and work circles, is what I think makes Mercury unique. Unlike other sites, it doesn't limit itself to a single subject.

I hope this time I was able to better describe the vision I have for this Project.
Prozak, Your app tries to store the entire internet inside of it.
You have browser then you use any site to access its features.

Docs? - Google Docs would do.
Social experience- facebook.

Why sould i need a window manager inside my browser?
You made a lot of work, but it's just exercise. You need to be really different from others OS-like environments inside a browser.

And other piont: there are a lot of allready existing apps that users own. They can't run in browser.

This topic is closed to new replies.

Advertisement