Chrome OS Engineering vs. Windows 7 Engineering

Okay everyone, the moment has finally arrived!  Google just announced…

A Big Pile of Nothing

It has been interesting reading the press and their view of the “game-changer” that is Chrome OS.  Depending of what mindset you come from, your opinion of the project would be that of respect or if you’re like me, would be more attune to the statement “who cares.”  If you haven’t kept up, then read Engadget for their review.  It has been amazing seeing the comments from general techies.  There are some consistent points made by most commentors, namely around speed, web-centricity, and cost. 

Speed: The Chrome OS Unstory

“Oh my god, an operating system that boots in 7 seconds!”

The common thread embedded in the majority of news articles, whether it be TechCrunch or Reuters, is how this new Linux based OS performs so well in terms of speed.  At Google’s launch event they used the following slide to describe traditional OSes vs. Chrome OS.  If you’re technical like me, a few glaring issues come to mind.  For example, what is a “standard kernel” ? Also, how “custom” is a firmware that boots a Linux environment really going to be?

If you want to see a modern operating system engineering decisions, check out Window 7’s Steven Sinofsky (fast foward to 33:33) showcase how modern computers will avoid putting apps in the boot path.  Companies like Lenovo and Sony are starting to not put “crapware” in their machines.  In fact, a lot of new custom software is taking advantage of features in Windows 7 like DeviceStage that provide device manufacturers a branded way to consolidate all software and documentation while keeping a standard UI.  If you’re interested in a complete set of best practices for On/Off performance, check out some dedicated resources.  But this is software at the OS level, what about pre-boot?

If you consider how most PCs today still have a legacy BIOS as its pre-boot initialization method, consider the following idea.  If you could boot Windows in 10 seconds and start rocking away, would you really need Chrome OS?  If you could go in and out of standby in about 2 seconds, is that a good user experience?  Watch the following videos and be amazed!

How is this possible you say?  It comes down to two things—one is that the BIOS is replaced with electronic firmware that initializes all hardware in under a second, and two, the machine uses a solid-state hard disk.  If its not making sense where I’m going with this, it should.  Windows runs great when the hardware isn’t a bottleneck.  What does this have to do with Chrome OS?  Well as it turns out, Chrome OS will only support SSD and electronic firmware.  On top of that, they are limiting the number of hardware chipsets supported for devices like wifi.  Only hardware approved by Google will boot in the OS.  This is obviously to keep the performance of the OS lean and mean, but if you think about how much bigger Windows 7 is compared to Chrome, both in scope and size, we should all pause for a moment to realize how amazing of an engineering feat Windows 7 actually is.  To show this further, I’ll hack Google’s slide below.

image

With further tuning and optimization, PCs will be able to achieve the same performance of a Chrome OS netbook running similar workloads.  In fairness, the one really cool thing that Chrome OS has going for it is ARM support.  Windows requires x86/x64 CPUs which are battery killers.  So I’ll give energy efficiency to Chrome OS on ARM.  I wish I could say that Redmond is working on native compiler technology that allows seamless application compatibility between ARM and x86/x64, but even if I knew of such a project, I couldn’t tell you.  Windows/Office on ARM would be amazing! 

Bottom line is that Google is not doing anything special here.  They just happen to be releasing a product at a time when the hardware ecosystem is being refreshed to deliver on these new customer scenarios.  Given the choice between an SSD-based Windows machines and a Chrome machine, the Windows machine wins every time.

Web-Centric: Especially When There Isn’t One

“The web is awesome, everything I do is on the web!  Hold on, let me upload this 1080p video.”

What is likely to become painfully obvious is how Chrome OS will become limited where ever there is no internet.  I’ll admit that in the developed world, those in the tech circles will always find a way to scout out internet access.  Whether its an 3G connection, a wifi hotspot, or using an iPhone as a router, we geeks tend to be a resourceful bunch.  What about everyone else?  India definitely doesn’t have the fiber to serve over a billion people.  In South Africa, the telcos are so bad that its faster to send data via carrier pigeon then over the DSL line.   Yes, Google has this thing called Gears, but in its current state even simple things like being able to access GMail offline just don’t work.  At most, Gears allows you to continue working inside your web app when your connection drops.  If there is no connection to begin with, forget it.

There’s also another matter around rich content.  Videos, photos, and music content is very important in modern day computing regardless of technical literacy.  There isn’t enough bandwidth in the world to satisfy this complex need.  Google is still years off from making a web-connected laptop your primary machine.  The issue of a primary versus secondary machine is an important one, because you really have to ask yourself, is a Windows netbook really that bad? 

The reason to ask yourself this question is that Google is pushing Chrome OS as a secondary device, much in the same way PC OEMs and Microsoft is marketing netbooks.  The the dirty little secret that no one will officially tout is that Windows 7 running on a modern netbook is actually pretty awesome!  Contrary to every online press article written, netbooks can be great primary machines.  So even if you are the type that has a primary machine, wouldn’t you rather have a great synced up secondary device instead of a glorified iPhone laptop?  Actually that is almost insulting to the iPhone because at least the iPhone has native applications, Chrome OS doesn’t.  I’m waiting for a Bluetooth iPhone keyboard.  That’ll will give me about 90% of every function a Chrome OS laptop could do.

There is, of course, the natural question between Android and Chrome OS.  Sergey tried answering it—he wasn’t successful, that is unless you actually believe that a phone with Chrome OS consuming only web apps is a desirable goal.  For me, called me old fashioned, I like being able to leverage hardware functions natively.  I don’t mean to put a nail in the coffin for the idea of universal web apps, I mean Apple tried and failed, but at what point do all the engineers and designers begin to think, “what a waste of computer resources” having all things run in a browser?  The web will have to change too much before this dream can fully be realized.  So maybe this is Google’s ten year outlook, the death of HTTP.

Cost: Because No One Would Buy It

“We believe in the power of the community so that’s why we’re making it free!”

They’re making it free because they chose to use Linux.  I think Linux has its place.  I really question why they didn’t go with BSD like Apple, however.  But that’s besides the point.  Let’s think about Windows.  Windows 7 doubled the sales of Vista.  Vista outsold XP.  Microsoft believes that at least some functions of software development are worthy enough to put a price tag on.  In fact, the sole reason Windows 7 has sold so well and beat Harry Potter on Amazon pre-sales was because Redmond listened to all of you.  Seattle has a lot of coffee and Redmond got a strong whiff and woke up. 

For Google, the only way people would use their OS is if it were free.  But also, it speaks to how they see the software profession as a whole.  Keep in mind, Google’s end game is not to be a software company.  They are an advertising company.  They will do anything to achieve these goals in the digital world, so it only makes sense to push their ad gateway to the masses for free. 

For a good segment of you, this point doesn’t carry much weight, after all what other company has given so much for so little?  Microsoft did, and guess what, Microsoft stopped doing it when no one was left to challenge the dominant products.  For all Google’s values about “do no evil,” they’ll creatively justify the same practices.  Open-source does not an open ecosystem make.  This will be especially true as trusted clouds and trusted apps flourish in the web domain as trust goes beyond simple code.  Just like the many who feel bound to the rules that Microsoft sets, Google will try to bind you to a similar set on the web.  We have observed this behavior in the AdSense, AdWords, and Andoid Marketplace business. 

Why I Want Chrome OS to Be Awesome…r

It’s actually odd to attempt a conclusion in favor of a competing product.  I work at Microsoft, a 90,000+ person company.  I must absolutely love Windows, Windows Mobile, Office, Live Messenger, Bing, and IE…right?   WRONG! 

I love Windows 7.  I love my iPhone.  I love Google Voice.  I love Microsoft Office.  I love Bing. I love…Google Chrome (browser).  I love the things I do because they are awesome and whatever Microsoft makes that isn’t awesome, they try to make it awesome..r (see IE9 video at 48:45).  I really want a cloud OS.  I want to be able to use a super fast, secure, light-weight web device for most of my stuff.  I truly buy the idea and vision, but Chrome OS fails on so many levels to push any real boundaries. 

They aren’t doing anything new that the likes of Intel or Ubuntu haven’t already done with Moblin or Ubuntu ReMix.  Their vision is narrow and for that reason, I don’t see Google working towards anything great here.  I’d be a certified lunatic to think that Google wasn’t capable of doing better because they absolutely are, they just simply aren’t incentivized to take on the same challenges that Microsoft and Apple do.  Trust me though, if you think Microsoft is just blowing off Chrome OS, they are not.  Windows is serious business not because it makes billions of dollars, but because billions of PEOPLE use it.  Windows is a universal language unlike anything else.  To close, lets be honest and acknowledge Google’s thought leadership and initiative, but let’s not jump the gun and see a desert oasis where all that exists is glimmering sand.