Google Chrome OS

Het grootste internet gerelateerde nieuws van de afgelopen week is toch wel de introductie van het Google Chrome OS. Niet alleen internet gerelateerde websites en blogs schreven erover, de aankondiging haalde ook reguliere kanalen zoals het NOS journaal.

De meeste berichten gaan met name in op de concurrentie die Google in de ogen van veel mensen nu aangaat met Windows van Microsoft. Dit zal ongetwijfeld zo zijn, alhoewel ik niet verwacht dat veel Windows gebruikers direct zullen overstappen op Chrome OS. En daar zijn velen ’t over eens.
Het schijnt trouwens dat CEO Eric Schmidt al 6 jaar bezig is om Sergey Brin en Larry Page ervan te weerhouden een OS te ontwikkelen. Schmidt vond dat Google nog niet klaar was voor de OS concurrentie strijd, nu dus blijkbaar wel 😉

Voor mij als techneut is het veel interessanter om te kijken hoe dit OS opgebouwd zal zijn en ik denk dat daar al meer over bekend is dan je in eerste instantie zou zeggen.

Google Chrome OS doet denken aan de Netwerk Computer of Thin Client, die verschillende partijen in het verleden al op de markt hebben proberen te brengen. Oa Oracle en Sun hebben in ’t verleden (rond 1996) systemen op de markt gebracht waarbij de computer beperkte capaciteiten heeft en de applicaties op de server draaien. Chrome OS is in eerste instantie bedoeld voor NetBooks waarbij de capaciteit ook minder is dan een volledige laptop/deskop computer.

Ook browser ontwikkelaar Netscape heeft in het verleden de browser al gepresenteerd als het nieuwe OS. Helaas is hiervan weinig meer terug te vinden. Ik kan me nog hele mooie whitepapers over dit onderwerp herinneren.

Negen maanden geleden heeft Google de Chrome browser geïntroduceerd. Sindsdien zijn er een aantal ontwikkelingen geweest die volgens mij allemaal een relatie met het Chrome OS (kunnen) hebben.

HTML5

Google zet zwaar in op HTML5. Deze nieuwe HTML specificatie is nog niet afgerond, maar wordt nu al ondersteund door verschillende browser fabrikanten waaronder dus door Google met Chrome. Google heeft ook al verschillende applicaties ontwikkeld die gebruik maken van HTML5 features, zoals de mobiele versies van Gmail en Calendar.

Tijdens Google I/O, de developers conferentie van Google bleek dat Google aan nog veel meer HTML5 projecten werkt, zoals bijv een Flash vrije Youtube.

Voordelen van HTML5 zijn oa offline mogelijkheden, lokale opslag, video en audio zonder plugin afspelen, etc. Deze mogelijkheden zijn goed te gebruiken in een Operating System.

JavaScript

De Chrome browser maakt gebruikt van de opensource Webkit Browser Engine, behalve voor de JavaScript parsing. Daarvoor heeft Google de V8 JavaScript Engine ontwikkeld. Deze JavaScript Engine is erg snel en dat is natuurlijk onmisbaar als je volledige applicaties ontwikkeld die gebruik maken van deze programmeertaal.

Native Client SDK

Een van de belangrijkste vragen die gesteld zijn na de bekendmaking van Google Chrome OS is of het OS ook native applicaties gaat ondersteunen. De kans is natuurlijk klein dat er bijvoorbeeld Windows programma’s op gedraaid kunnen worden. Maar afgelopen december heeft Google de Native Client gelanceerd. Dit is een research project waarbij onderzocht wordt hoe native x86 code binnen webapps gebruikt kan worden, met behoud van browser neutraliteit.

Deze technologie kan bijvoorbeeld gebruikt worden om vanuit de browser de hardware direct aan te spreken. Voordeel hiervan is dat er snelheidswinst in allerlei berekeningen behaald kan worden. Ook voor de ontwikkeling van games kan het belangrijk zijn om de hardware direct aan te spreken.

O3D

Een andere vraag is hoe zit het met graphics? Natuurlijk heeft HTML5 canvas en SVG ondersteuning, maar dat maakt geen gebruik van specifieke grafische kaarten. Ook hier heeft Google al ‘iets op de plank’ liggen, nl O3D. Dit is een API om interactieve 3D applicaties in de browser te ontwikkelen.

Wave

Google Wave is een nieuwe manier van communiceren en samenwerken op het internet. Hoe dit precies in het Chrome OS verhaal past, weet ik niet, maar ik denk wel dat we dit terug gaan zien in het OS. Google Wave is ook nog niet officieel gereleased, maar er is al wel een uitgebreide API.

Ik ben zelf erg benieuwd hoe applicaties voor het OS ontwikkeld gaan worden. Maakt Google alleen gebruik van de bovenstaande technieken, waardoor de applicaties inderdaad ook op andere browser gebruikt kunnen worden, zoals ze zelf zeggen. Of komt er toch ook een soort native SDK waarmee op een soort Palm WebOS achtige manier applicaties ontwikkeld zullen worden?
De tijd zal het leren, want Google gaat het OS later dit jaar beschikbaar maken als opensource en dan in de 2e helft van 2010 zal het beschikbaar komen voor consumenten.

Maar een ding is duidelijk, voor webdevelopers zoals ik, zijn het interessante tijden 🙂

Update: Ik ben benieuwd naar jullie reactie en ideeën hierover. Wat denken jullie? Kunnen jullie je een beetje vinden in m’n gedachtengang? Of sla ik de plank volledig mis?

Google AJAX API loader

Today I was going to the Google Maps API documentation and after using it for a while, my eye was caught by this:

Screenshot Google Maps Ajax API Loader Announcement

It’s maybe a bit difficult to read from the above image, but it says:

The Google Maps API is now integrated with the Google AJAX API loader…

I couldn’t remember seeing this before, so besides clicking on the link, I googled “Google AJAX API loader”. I found out it’s a very new way of using multiple Google javascript APIs on the same page.

The main purpose for the loader is to unify namespaces across the different APIs on one page and to have only one script tag instead of separate script tags for each of the APIs you wanna use on your page.
Lees verder “Google AJAX API loader”