If thats not a fundamental shift in code reduction I don’t know what is!
OK, OK the big news was Chrome OS perfectly timed to steal Microsoft PDC’s thunder and boy have they! The blogosphere has been alight with the sound of “ooooh cool” and “dude thats retarded”. I think it will have a huge effect on the web and general purpose computing as a whole. If you don’t know what it is – watch the video below.
I like Chrome OS for a few things that some people don’t understand or don’t seem to appreciate.
As a developer I don’t care if you are running an x86 Windows machine with the latest upgrades or a Linux ARM machine that only has 128MB of RAM and has X installed. As long as it runs as a web browser and I develop on the principals of graceful degradation or progressive enhancement (there is no meaningful difference) then everyone gets access to the functionality. All they need to do is point their browser at the URL. Nothing needs installing it just works.
These “web applications” that you access can be used from any device at any time day or night don’t (or aren’t supposed to – ignoring browser bugs and cookies) physically edit your system. I’d be pissed off if YouTube changed my desktop image to it’s logo or something fundamental when I went to the site. It just makes no sense it doesn’t need to. I have an account there, why does it need to leave on my computer something it already knows? The web browser provides the sandbox environment for these applications to use and with the “cloud” can make your actions permanent and accessible from anywhere.
Google Chrome OS is taking this migration of applications from the desktop to the web to its logical conclusion. It gives you a machine which is nothing more than a web browser and wraps some nice features (moles and panels) that make the experience more pleasant. That really is it. It does some fancy things with boot that are fairly irrelevant. It looks to be using CoreBoot which most users won’t be able to use if they don’t buy a Google machine as this requires you to flash your own BIOS. Secondly, the demo was running on a netbook with a SSD drive which has a significant speed advantage. Also as it really it is only one app a lot of the system can be changed so that it doesn’t have to deal with that random Perl script you wrote and it is designed not to let you run that script - it is just a security risk and managing it is a performance hog.
Now, a lot of people right now (reading this or not) are thinking Chrome OS is going to suck as I can’t customise it; I can’t install apps, I can’t write that random Perl script to regex HTML for fun. People for some reason think that for every task they need an offline application because that is the way it has always been and how it always should be. But as discussed above, it is better for the developer and the end user that we use web apps. The end user gets a constantly updating app (in a perfect world) and the developer constantly supports all environments and doesn’t just support Mac or Windows etc.
For any platform there needs to be a killer app and yes we have a lot of good apps (GMail, YouTube, Digg etc) but they exist currently on our current platform there is nothing pulling us to use just Chrome OS or another purely web OS yet but we are nearly there.
As I said at the beginning, Chrome OS is written for the future and is not yet ready to complete replace your desktop/laptop. It is for a time when most people have a fast 10Mbps connection always available connection, when content providers actually make their products available on the web and when there are competitive products for those on the desktop. And, I don’t believe we are that far away – especially given how quickly things change on the web. Lets look at my most commonly used applications and see what equivalents there are/will be in the future.
- Web browser (Chromium/Opera/Firefox) – Well, this has been negated some what given that I can access everything directly from the OS. But, what about testing my applications in them so they can be used by other web OS or browsers?
- IDE (MonoDevelop and VisualStudio) – Both of these are powerful IDEs and provide a startling array of functions but nothing that I do not believe could not be built and enhanced by them being web apps. Bespin from Mozilla labs is a good step in this direction but has a long way to go before it can compete.
- Media Player (Boxee, VLC, Miro and MPlayer) – Now here I come unstuck as I have a collection of videos on my server that can only be managed and distributed to my HTPC, Laptop and Desktop from this set up. If in theory I could stream them when I wanted and how I wanted then it could be possible to use a web app. Boxee running on my HTPC adds such a nice interface and lets me control it from my phone. There would need to be one hell of a web app to allow that. Having said that Boxee aims to bring most of its media from the web but is not a web app. Maybe it could become one? But at the moment there is really only iPlayer, Spotify, Hulu and YouTube for legal media content from the web.
- Games (Steam and Wine + Steam) – Now this is a prediction not a solution but it is – the return of the dumb terminal – OnLive. Or a more short term shift to all gaming on consoles and none on the desktop/laptop.
As you can see its not there yet but its on its way. 2 years and I wouldn’t be surprised if this web malarkey caught on and we actually had a fundamental shift.