Your princess is in another castle! Not long ago, Google announced a project called Native Client for Google Chrome. Simply put, it is way for web developers to create websites that can execute native code. That allows your browser to become a vector for full-fledged applications without the limitations imposed by traditional web technology. As a case study, the popular arcade game emulator MAME was ported to Native Client.
In this post, Robert Muth explains the process of getting MAME to work within the framework of Native Client. Even if you’re not a developer, the post is worth a read. Much of the technical jargon can be skipped through to see how porting existing technology to Native Client works. It’s interesting if only in an academic context. That said, there is a downside to this.
Not even looking at the viral concerns of executing code closer to the metal, Native Client worries me. Google has shown in the past year that it doesn’t mind fragmenting the web with technology like WebM and Dart. Sure, they create open source technology, but they don’t do much, if any, leg work to get it adopted as a standard. Google has the mindset of “Well, we’ll use it, and obviously everyone else will want to as well.” That’s better than ActiveX-style Microsoft lock-in, but not by much.
The last thing we need is more websites that are dependent on the user running a specific browser. We want an open web, and Google talks a good game about that, but I am still unsure if that is really their goal. It sure seems to me that they are working on a lot of Google technology lock-in.