21 ms·
I may be the only one excited about this, but I think it's awesome. I imagine a future where a "web browser" is just a WebGL + Networking + JS API, and you jus
by TheMakeA 13y ago
I may be the only one excited about this, but I think it's awesome.
I imagine a future where a "web browser" is just a WebGL + Networking + JS API, and you just load in HTML5.js. The benefit of something like this is that it puts the power back in the hands of the people. You don't have to worry about Microsoft ignoring standards, you just load in the HTML5.js that you know works. Want a new feature? Fork HTML5.js on GitHub.
One other benefit that interests me is for games. Games badly need a free, standardized way to do UI. Porting v8 + WebGL is far easier than porting an entire web browser. There's a chance for greater performance too, since frameworks like ChromiumEmbedded typically only provide a memory buffer of the rendered frame, which you then have to copy (back) to vram.
(reposted because the other thread was killed)
- jgon 13y agoYou should check out Alan Kay's OOPSLA keynote "The Compute Revolution Hasn't Happened Yet" at http://www.youtube.com/watch?v=oKg1hTOQXoY http://www.youtube.com/watch?v=oKg1hTOQXoY specifically about 20 mintues in where he says that a browser should be exactly what you say here. On the one hand, he was talking about this almost 20 years ago, on the other hand you're in good company because he's a pretty smart guy! I encourage all developers to watch that talk and do some thinking about the current state of our practice and where we want to go from here.
- undershirt 13y agoThank you for sharing that. That is a really interesting vision for the future of browsers.
- wmf 13y agoCheck out the Embassies project: http://research.microsoft.com/en-us/projects/embassies/ http://research.microsoft.com/en-us/projects/embassies/
- julien_c 13y agoHave you checked out http://breach.cc/ http://breach.cc/ and http://breach.github.io/exo_browser/ http://breach.github.io/exo_browser/ ? > The ExoBrowser is a scriptable platform designed to ease the experimentation with new concepts for the Web Browser. > The ExoBrowser exposes its API (parts of the Chromium Content API + a Simple View Model) in Javascript and enables the implementation of a fully functional browser entirely out of it (as a Javascript/HTML/CSS app)
- spolu 13y agoThanks Julien for sharing Breach. If anybody interested feel free to contact me (@spolu)!
- elwell 13y agoIE JS API would still be outdated.
- tolmasky 13y agoVery exciting indeed. This is exactly what I wanted back in the day: http://alertdebugging.com/2011/09/22/the-promise-of-the-web/ http://alertdebugging.com/2011/09/22/the-promise-of-the-web/ (last paragraph).
- captainmuon 13y agoYeah, but I imagine a future where an "operating system" is just a OpenGL + Networking + JS API, and you just load in HTML5.exe. The benefit of something like this is that it puts the power back in the hands of the people. You don't have to worry about Google and Apple restricting what you can do, you just load in the HTML5.exe that you know works. Want a new feature? Fork Firefox on GitHub. (I don't want to belittle the technical achievement here - it sounds pretty cool! But I can't help but wonder wheter using the CLR or the Java VM wouldn't be better for many use cases, or even plain x86 machine code with virtualization.)
- skrebbel 13y agoTrue, but, deployment.
- derefr 13y agoAn operating system that has more fundamental concept of "URI access" than "file system"; and which does zero-install of any application you type in the URL of, temporarily for as long as you visit the site, isn't really not a web browser, is it?
- Touche 13y agoArbitrarily running x86 machine code fetched over the net? Pass.
- kosinus 13y agoGlad to see more people share this idea. Personally, I would go even further and separate JS as well, and make PNaCl the standard.
- FreezerburnV 13y agoI don't know about a WebGL API on node.js, but I'm currently updating a set of bindings for SDL to SDL2. (https://github.com/Freezerburn/node-sdl https://github.com/Freezerburn/node-sdl) Theoretically, you could use the same WebGL code, and add a few lines of code to open up a window, plus possibly some slightly different code for loading images, and re-use the rest of your logic on the client side. Change the code a little bit more, and it could optionally open a WebGL window in the DOM or an SDL2 window depending on the environment. Presto, you have a game which is easily portable. (not counting for oddities in drivers for different OSes) Though that's all in theory. It could be a pie-in-the-sky ideal that doesn't exist yet.
- ori_b 13y agoSo, your browser is reduced to a language interpreter and sandbox, executing a text based bytecode. Kind of like the JVM?
- frik 13y agoFor games, instead of ChromiumEmbedded I suggest "node-webkit" developed by Intel: https://github.com/rogerwang/node-webkit https://github.com/rogerwang/node-webkit
- 0x0 13y agoLeaving HTML5 rendering implementation up to each website, while only providing a "dumb" 2d or 3d pipeline (webgl), would make for a terrible non-native browsing experience. No native font rendering, no right-clicking text selection to choose from a dozen OS-provided services, no user-based keyboard shortcuts in text fields like this comment field, and so on. It would also make it much more difficult to peek at the source code for web pages since there wouldn't be a working DOM inspector in your browser.
- TheMakeA 13y agoNo native font rendering True, but you can render some pretty good looking fonts[0]. no right-clicking text selection to choose from a dozen OS-provided services, no user-based keyboard shortcuts in text fields like this comment field, and so on. Could be part of a JS api exposed and used by HTML5.js. there wouldn't be a working DOM inspector in your browser FireBug, and the Chrome Dev Tools are written in HTML. Could be integrated into HTML5.js. There would be differences for sure, but I think the benefits would outweigh the downsides. [0] http://research.microsoft.com/en-us/um/people/cloop/LoopBlinn05.pdf http://research.microsoft.com/en-us/um/people/cloop/LoopBlin...
- 0x0 13y agoThat's assuming everyone is on the official html5.js branch. Seems like it would be pretty easy for a million variants to be developed with all kinds of quick one-off hacks, that would make an off-the-shelf DOM inspector incompatible. It's like the ultimate "solution" to all those useless anti-view-source javascript efforts. (Imagine this taken to the extreme - encrypted home-grown markup and stylesheet languages that barely resembles html anymore.) Also, accessibility would take a major hit. Also, a huge amount of web sites will never update their html5.js. Sounds like the anti-web.
- janjongboom 13y ago> no right-clicking text selection to choose from a dozen OS-provided services Ah well, this stuff is added into the browser engine already in Firefox OS.
- 13y ago
- ygra 13y agoWhat you propose there reminds me of Atlantis: http://research.microsoft.com/apps/pubs/default.aspx?id=154698 http://research.microsoft.com/apps/pubs/default.aspx?id=1546... – James Mickens did a talk as well: http://www.youtube.com/watch?v=4c0DdOvH6lg http://www.youtube.com/watch?v=4c0DdOvH6lg Basically they reduce the browser to a VM where everything except a few core things run in the page's context (including the protocol implementations, layout and scripting) which enables a few nice things.
- hcarvalhoalves 13y ago> You don't have to worry about Microsoft ignoring standards, you just load in the HTML5.js that you know works. Want a new feature? Fork HTML5.js on GitHub. Hmm... I'm not sure the solution for standards is having more of them.
- kelvin0 13y agoYou should look at some reasearch done ny James Mickens: http://research.microsoft.com/apps/pubs/default.aspx?id=154698 http://research.microsoft.com/apps/pubs/default.aspx?id=1546... http://www.slideserve.com/illias/atlantis-robust-extensible-execution-environments-for-web-applications http://www.slideserve.com/illias/atlantis-robust-extensible-... Of course this is not something that is going to be useable anytime soon, but it hints at an interesting architecture.