Google's The Chromium Blog is reporting the beta release of its Native Client SDK [software development kit]. Known as NaCl (ie, sodium chloride, salt) for short, it is a compiler for generating x86-32/64 binaries from C/C++ source code.
Here is how a CAD program could be converted to run in the Chrome Web browser:
1. Take the core code of a CAD program, such as the solid modeling kernel and the constraints manager, and then recompile the source code into Native Client code.
2. Rewrite the UI interface in HTML, JavaScript, and CSS [cascading style sheets].
3. Combine the two parts.
Interesting enough, Google suggests against doing heavy computation on a server (aka cloud), because it consume bandwidth and "feel slow." (Similarly, JavaScript is too slow for heavy-duty computing.) The solution, Google feels, is as follows:
(a) Download the data from the cloud to the desktop computer.
(b) Process the data on the desktop computer.
(c) Send a change log periodically to the cloud, with instructions on how to modify the data stored there.
This approach solves the "working on the airplane" problem, in that you can do your work on your notebook computer without Internet access, and then upload the changes once you again have access to the Internet.
NaCl also includes APIs for accessing the network, DOM, 2D and 3D graphics, and audio. The extensions are known as "Pepper" — as in salt and pepper.
I wonder what this means for something like Autodesk's Project Butterfly or Dassault Systemes SolidWorksV6-on-a-Cloud?