2009-11-22

Chrome OS first impressions

So, Chrome OS has finally been revealed, at least in concept.

What we know

* Fast boot-up times (7 seconds at this point).
* Only a sub-set of hardware will be supported and it requires a solid-state drive.
* Trusted computing model. User has no permissions to change anything and all system modules are signed and verified meaning in theory, no viruses and no need for virus-checkers.
* The Operating system is the browser. You boot into a modified version of the Chrome OS browser. No other native applications are supported.
* Want an application, make it a web-app. This platform is strongly pushing HTML5.
* All data is stored 'on the cloud'. That means that if your life belongs inside Chrome OS, it doesn't matter which machine you use as all your files are on the Internet. Your computer is ... insert pause ... 'Stateless'.
* USB thumb drives are supported but hard-drives are not.

What we don't know

* Will all your earthly data be protected by a single cloud password (assuming you have a preference for the Google services)? Will Google choose to beef up their security before launching this? I do hope so.
* How will this device function with media stored on an external hard-drive or thumb-drive? The host hardware will easily be able to deal with all content SD/HD by the end of 2010 so how will the media playback work. All in-browser?
* Which hardware will run the OS and what price point will it weigh in at?

What I like

* Trusted computing is great. A platform where viruses and virus checkers are a thing of the past. I think this is the most appealing part of the entire platform.
* Fast Booting is fantastic.
* HTML5 applications are great. But that is not unique to Chrome OS.
* No local storage (other than boot flash) means that netbooks based on the Chrome OS specs will be another $50 cheaper. Cheaper is good.
* I like the idea of a dumbed down computer. More options invariably lead to more problems for an average user. So take away the big red buttons that will invariably lead to confusion or failure. Nice work.

What I don't like - Data Security

Google wants all data in the cloud. They want you to sell you the benefit of implicit and automatic data backup and redundancy and convenience in exchange for your trust.

Actually, I personally do trust Google, more than most companies. I trust Google to keep my data safe, and I trust them to run their intelligent algorithms at a high level to act as the clearing house between customer desires and the ability to match vendors with those desires. I trust in this because they know that their business is dead once users start viewing them as evil so they must make their best efforts to never be evil. I have no problem with that although I accept there are plenty of good arguments on the other side - but that is for another time.

My problem is that we are not ready for users storing all of their worldly information in the cloud until data on the cloud is safe from social engineering attacks. User names and passwords, no matter how strong the passwords, can be extracted from users in double digit percentiles. [1] [2]

I would personally love to store more information in the cloud if I trusted it. But I don't, and I don't trust my password. I don't like the fact that I need to embed my password in my phone in order to be able to check mail from my phone. My whole life is in my email account and the gatekeeper to this smoking gun is a single sequence of characters. No.

The web needs to fix the scourge of passwords via the option of using something akin to SecureID for users that request it. I would pay to use such a device with my Google services.

What I don't like - Lack of Applications

An operating system is a broker between software and the hardware. As hardware becomes more powerful and adds new features, the operating system must expose that hardware to the applications that sit on the platform so that those features can be utilized.

CPUs are hugely powerful compared to 10 years ago, even in the netbook segment of the market. They can outperform every smartphone available and even the weakest has hardware acceleration of 2d and 3d graphics not to mention a variety of network features that were unthinkable 10 years ago.

The browser simply is too thick a layer to act as liaison between web applications and the underlying hardware. Many features of PC hardware are just not exposed at all via HTML5. The V8 JavaScript Engine is a stellar piece of work. It translates an implicitly slow language (javascript) into a relatively fast runtime by dynamic generation of machine code from the original script. I understand why Google has been pushing so hard to improve JavaScript performance in the browser. BUT, the JavaScript is still in a hugely crippled sandbox, not a problem if the browser is not the OS, but a huge problem when the browser becomes your whole world.

You still need approx 10x more horsepower to run a piece of complex code in a browser as opposed to natively. Dynamically compiled javascript cannot hope to compete in performance terms with native machine code or compiled C code.

An application such as Skype requires access to audio-in, audio-out, bluetooth headsets and requires its own protocols for sending and receiving voice data packets that are optimized for its purpose (VoIP applications need fine-grained control over network packets and need priority over other network requests on the same computer). Chrome-OS requires that Skype be a web-application. Just for the sub-set of computers that will run Chrome-OS. The Skype VoIP algorithm when translated into Javascript is likely to run several times slower and the browser would not allow control of the audio-in, audio-out, bluetooth controllers and fine-grained network connectivity from within the JavaScript sandbox of a HTML page.

We all love browsers, but browsers are not the only applications that are required to run on a PC. Regular users require applications such as Skype, iTunes, video editors, photo editors, etc. These could be signed and run outside of the browser, but as presented, everything must be within the browser. This is a major flaw in the OS and although I can live without almost all of these on my netbook as opposed to my desktop, I cannot live without my VoIP clients on my netbook (as they are perfect for netbooks as already 'Stateless'. So, Skype better get re-engineering, and if this is the way the web is heading, then we better get a better virtual machine for browsers.

What I don't like - Too many tabs

Now that the browser is king, the application taskbar has now been replaced by the browser tab-list. At this point it seems a little cluttered and unergonomic. I wonder if there will be options for cleaning up the UI.

What next?

Google need to work on allowing some 'native' applications on the platform. HTML5 is great but it was not meant as sandbox for the complete replacement of desktop applications. It is far too crippled for that - rightly so in its own context. Wrongly so in the context of an OS.

Without at least VoIP applications I will not be using Chrome-OS for my secondary machine, and without an answer to weak password security exploits I will not be tempted to put my entire set of personal documents on the Internet.

So, those are my first impressions. I'll revisit this in a year.

Be seeing you.

No comments: