ChromeOS - A few more Puzzle Pieces
My First Post which started the Chrome Based Operating System idea one year ago, closed with this:
“My closing thoughts on this are simple, basically every puzzle piece of this that is needed to create this is a reality and already exists, but the pieces are scattered and not arranged into the full beautiful picture yet.”
There have been a few pieces put into place during this past year, the first being NACL http://code.google.com/p/nativeclient/ , Google’s native client plugin for a way to securely run sandboxed code directly on the CPU, allowing a migration path from assembly(C/C++) native application to run on the metal, enabling functionality by a plug-in similar to ActiveX but securely sandboxed all controlled by Chrome itself.
Currently Nacl is found in the default snapshot directory (http://build.chromium.org/buildbot/snapshots/) alongside the official Chome snapshot builds and getting build waterfalls in progress. This fact makes me speculate that this is what that have planned:
Currently Nacl is slowly being merged directly into the svn-trunk of Chrome as a separate whole, instead of as a plug-in anymore, having it be merged into their mainline codebase. OR Nacl will serve as the ChomeOS web-kernel allowing a native code interface effectively bridge between the underlying Linux kernel and the content on the internet as web streams.
The second puzzle piece which Google introduced was O3D http://code.google.com/apis/o3d/ , this gives access to your GPU directly from inside the browser using JavaScript theoretically allowing execution of OpenGL, DirectX, and even OpenCL code into the GPU right from the browsers interface to the web using JIT Compilation. There are numerous examples and demos which have showcased how O3D works and it’s one of the most important piece to allow wide-spread adoption of a Web-based Operating System. The primary reason of why GPU access is important is a way to really make 3D games like Doom, Crysis, World of Warcraft, and Need for Speed inside the browser streaming from the web as a source, preventing the need to install the game at all.
Another puzzle piece which is a bit more subtle is one for allowing secure authentication right from login, to accessing online secure resources with an open security standard. This features power right now is hiding inside the “Bookmark Sync” capability. Why this is so major, is because you log-in with a Google Account, effectively giving OpenID infrastructure underneith the entire accessable stack . If you can imagine a Business or Company getting an exclusive OPX local login solution which is locally hosted and maintained for company employees. This allows access to internal company property and digital work items in a way a company can control as they please. Or a school to only have OpenID based logins for their own faculty and students creating an entire ecosystem of secure access points all across both companies and educational institutions,
This is of course a slightly minute detail but VERY VERY influential for the possibilities it creates.
The other reason to why the bookmark sync is so important is because it implements a diff algorithm for being able to patch files and dynamically update resources on your local machine as you please based upon a master copy of an official file in a Google Datacenter. This secure diff update can be used to update the whole operating system as you please since all the OS are only just text files containing XML and JavaScript which is web technology for the interface and logic.
Finally the last important addition to Google Chrome’s code and functionality are “extensions”. Extensions are a browser concept which allows expanding the capability of the default browser, to a non-standard use-case, following in Firefox’s footsteps with the most useful and impressive web-changing ability to a home user. Why this is important, is that now Chrome has a XUL or Jet-pack counterpart allowed to do the EXACT same thing. A way to which most people use the extension power is for adding browser chrome enhancements, adding a email checker, or a Twitter posting box. My use cases are adding a native compiled “Start” bar and button directly to the browser, masking your environment of being in a browser completely. Or another case would be to add native OS widgets like a native menu inside of a browser based game, integrated into the game play because you can directly interface with the OS through the browser chrome in a controlled manner of Chrome’s design philosophy.
So during the past year, a few very important and interesting puzzle pieces have been put into place, including one called Wave, which I will leave for another article. Wave itself is… completely different from what most people are believing, Google Wave is a wolf in sheep’s clothing with more power than they are even caring to realize.. but I will adress these issues and clarify Wave’s existence very soon to help fix peoples misconceptions about what they believe to be a communication platform… and the only detail they are not seeing is… a communication platform for what/who.
Hope anyone reading finds this progress report of Chrome helpful, including a few hidden insights most people care to not notice.
