World Wide Web creator Tim Berners Lee may dream of people running apps in web browsers that rival those running directly on computers, but myriad obstacles remain.
But as people turn to the browser to realise more demanding tasks, such as photo editing and gaming, the hunt is on for a better performing alternative to deliver dynamic content in the browser.
However with major companies like Google and The Mozilla Foundation backing different technologies for Chrome and Firefox browser - it remains unclear which of these, if any, will likely win out.
Mozilla has demonstrated asm.js carrying out a number of computationally demanding tasks, such as running a modern 3D graphics engine in this demo of Unreal Engine 3 and handling complex physics calculations needed to simulate hundreds of falling boxes.
Developers don't write code in asm.js, but rather typically write in C or C++, and use the Emscripten compiler, another Mozilla project, to output asm.js.
Google's Native Client (NaCl) allows web browsers to execute compiled C and C++ code within a sandbox.
Google is aiming for the performance of apps running inside NaCl to be superior to that of asm.js, coming within a few percentage points of native code.
Google has used the technology to power its recently launched photo editing tools for Google+, based on the Snapseed photo app technology it acquired from Nik Software.
NaCl runs inside the Chrome browser on Windows, Mac, Linux, as well as on Chrome OS.
However, despite NaCl being publicly demoed in 2011, other browser vendors are not currently supporting the open source project, and prominent members of The Mozilla Foundation have distanced themselves from the notion of running native code inside a sandbox.
Neither Mozilla or Microsoft have shown any interest in implementing support for the scripting language directly and the only browser to run Dart directly is a special version of Chromium that embeds the Dart Virtual Machine.
Speaking earlier this year Google programmer Lars Bak said Google's ultimate aim is to get Dart into Google Chrome.