Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Here's an idea for an architecture that doesn't suffer from compatibility problems ever:

- Every web site refers to the bytecode for its required render engine

- This engine is loaded in an intelligent/cached way, and run in a sandboxed environment whenever the website is visited

- Since the website picks its own render engine (or provides its own), the developers of the website know for sure that it will render the website correctly

- Besides the render engine, also the scripting language could be referenced/provided in the same way.

An architecture like this could boost the proliferation of open-source render engines and in-browser languages.



so, Java, then

the problem with bytecode is you lose virtually all the benefits of the web

it's also not novel: you can do this today with JS, and your users will hate you because it can't be indexed and you can't select text


This approach doesn't need to depend on Java. It would preferably use a minimal, non-garbage-collected VM, or something along the lines of NativeClient (or simply asm.js initially).

"It can't be indexed" happens to hold for a lot of websites that are basically single-page web-apps and which build their contents from within javascript. Fortunately, Google and others are using AI techniques to index pages. No need for special markup, or special structure.

Text-selection can be built into the render-engine of choice. Granted, this is not a guarantee that it will work for all websites, but even today you can turn off text-selection for a website, so you don't have that guarantee now either. Also, AI or OCR could help here. As an added benefit, it would allow one to even select text in an image.

Also note that this doesn't work so well in JS, because JS is not a multi-threaded language and it typically suffers from garbage-collection pauses. This is not good enough for UI work, unfortunately. And also not good enough as the target of compilers.

But, granted, to get this started, JS (or the asm.js subset) could be used initially (and be replaced later).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: