Highlights Google 1/O

Larry Page, één van de oprichters van Google, eindigde dit jaar de keynote met de uitspraak: “We’re just getting started”. Google ziet enorme kansen in revolutionaire verbeteringen, en investeert stevig in nieuwe platforms en mogelijkheden. Google was in de begindagen ‘slechts’ een internet services bedrijf. Vooral uit onvrede over de snelheid van innovatie is Google echter ook in de platform-business gestapt: met Android en Chrome. Beide platforms zijn nu ruim 4 jaar op de markt, en zowel Android als Chrome zijn marktleiders, zowel in gebruiksstatistieken als in mogelijkheden.

Op de Google I/O conferentie werd de focus gelegd op de nieuwe mogelijkheden die wij als ontwikkelaars nu, of binnen enkele maanden, direct in kunnen zetten. Google hanteert het auto-update mechanisme van Chrome, of de Play Services strategie op Android, waarbij nieuwe services via auto-update aan Android 2.2 en hoger worden toegevoegd. Een stortvloed aan nieuwe API’s maken het mogelijk om tot nu toe geavanceerde functies als spraak, geo-fencing of soepele animaties eenvoudig toe te voegen. De meegeleverde ontwikkeltools zijn flink opgepoetst: er is goed gekeken naar de praktische uitdagingen die komen kijken bij het maken van de nieuwe generatie applicaties.

Google past deze innovaties ook toe in hun eigen services: Search, Maps, GMail en Google+. De concurrentie, zoals Facebook of Microsoft, zal naar alle waarschijnlijkheid meebewegen. Dat betekent, dat eindgebruikers steeds hogere verwachtingen zullen krijgen over hoe een app hoort te werken. Soepele animaties, snelle performance, spraak, content-first UX en context- en locatie-bewust worden in rap tempo mainstream. Dit zal zeker ook een weerslag hebben op enterprise applicaties en de acceptatiegraad van de doorgaans beperktere mogelijkheden.

De snelheid waarmee Google ontwikkelt valt niet te onderschatten. Een gemiddeld platform-team bij Google levert maandelijks nieuwe features op, soms nog sneller. Niet alles past zelfs meer in I/O: voor Glass worden aparte developer-events georganiseerd, Android 4.3 wordt apart aangekondigd, en test-automation wordt op de Google Test Automation Conference (GTAC) behandeld.

Die zucht naar snelheid maakt dat Google soms controversiële keuzes maakt, zoals de fork van Webkit naar Blink en de migratie van Eclipse naar IntelliJ. Een agressievere ontwikkeling van eigen standaarden doet, ook in het kamp van Google-fans, soms pijn. Niet alleen concurrenten, ook partners van Google zullen moeten meedoen op dezelfde hoge snelheid om interessant te blijven.

Sfeerimpressie
Google I/O mag met haar zesduizend bezoekers dan niet de grootste conferentie zijn, maar het is wel degelijk een conferentie van formaat. Google pakt dan ook groots uit in het Moscone Center in down-town San Francisco. De bekende kleuren van Google zijn op veel plekken terug te vinden; Moscone is voor deze drie dagen volledig aangekleed voor Google I/O. Binnen zijn op drie verschillende verdiepingen allerlei activiteiten te vinden. Naast de ‘gewone’ workshops, zijn er zogenaamde ‘booths’, waar je op een laagdrempelige wijze in contact kunt komen met ontwikkelaars van allerlei verschillende Google producten, waaronder ook Google medewerkers zelf! Zo hebben we onder andere gesproken met de ontwikkelaars van AngularJS (Igor Minar en Miško Hevery).

Extra leuk maakte het om allerlei technieken uit te kunnen proberen. Zo was er een stand voor Google Glass, en kon je bijvoorbeeld ook de Leap Motion in combinatie met Oculus Rift uitproberen. Eveneens stond er op de tweede verdieping een Mercedes SL-klasse met daarin de nieuwe Google Maps features. Hier was natuurlijk veel belangstelling voor, al was het alleen om maar eens in een SL-klasse te kunnen zitten!

De keynote liet alle bijzondere kenmerken die we gedurende Google I/O zijn tegengekomen in drie uur zien. De laatste tien seconden voor de aftrap van de keynote werd er gezamenlijk uit volle borst afgeteld. Mensen hadden er duidelijk zin in en dit werd zeker niet minder toen met een subtiele hint duidelijk werd dat iedereen met een Chromebook Pixel naar huis zou gaan!

Android
Android heeft opnieuw een spectaculaire groei gemaakt: van 400 miljoen naar 900 miljoen actieve devices in één jaar tijd. Google kondigde op I/O aan dat ze zich vooral inzetten voor nieuwe services, tools en ondersteuning die niet gekoppeld zijn aan een specifieke versie van Android.

Android Studio
De grootste aankondiging was die van Android Studio: een nieuwe IDE voor Android development. Android Studio is een voortzetting op de IDE support die JetBrains tot nu toe had gemaakt in IntelliJ. Er is ook een nieuw op Gradle gebaseerd Android SDK Build System gelanceerd. De ‘oude’ op Eclipse en Ant gebaseerde tools zullen voorlopig nog worden ondersteund, maar alle nieuwe ontwikkeling zal op Android Studio gericht worden.

Een belangrijke basis voor Android Studio is de visie om de build en IDE te baseren op dezelfde Gradle configuratie. Hierdoor is het veel eenvoudiger en productiever voor ontwikkelaars om grotere applicaties te maken, ook wordt het voor de makers van andere tools eenvoudiger om aan te sluiten. Sommige diensten zijn via een Service Provider Interface (SPI) opzet geïntegreerd, zoals automatisch testen, wat het mogelijk maakt snel te wisselen van teststrategie. Deze diepe integratie en flexibiliteit is zeer krachtig en lost veel bestaande problemen op, hopelijk gaan andere Java tools dit voorbeeld volgen.

Veel van de features die getoond zijn (multi-screen layout editing, Android Lint) waren ook al in Eclipse aanwezig en werden vooral gedemonstreerd om te laten zien dat Android Studio al in een redelijk complete vorm beschikbaar is. Belangrijk om te beseffen is dat Android Studio en het nieuwe Build System nog slechts in een ‘early access preview’ worden aangeboden. Alhoewel het voor early adopters al zeker bruikbaar is en het in sommige opzichten al beter werkt, moet je voorlopig nog wel fouten en ruwe randjes accepteren.

Google Play Services
Vanuit Google Play Services is een flinke set nieuwe API’s beschikbaar gesteld, zoals single-sign-in met Google+, en Game Services. De nieuwe Location en Activity Services zijn extra interessant, omdat het voorheen in Android erg complex was om op een goede manier de locatie uit te lezen. De nieuwe API’s maken het mogelijk zonder veel gedoe en met minimaal energieverbruik de locatie uit te lezen, geo-fencing toe te passen, of te bepalen of je stil zit, loopt of auto rijdt.

Developer Console
De Google Play Store Developer Console is ook flink uitgebreid. De grootste toevoeging is directe ondersteuning van test-versies en staged roll-outs. Dit maakt het mogelijk om de applicatie eerst te verspreiden onder testers, met eigen versies van analytics en crash reports, direct vanuit de console. Daarna kun je aan een klein gedeelte van de eindgebruikers gefaseerd een nieuwe versie van de applicatie aanbieden. Hiermee kan met minder risico een nieuwe versie van de app in productie worden genomen.

Webontwikkeling
Wat betreft webontwikkeling zien we een grote vooruitgang over de volle breedte. Zo introduceert Google binnenkort de nieuwe Chrome DevTools met interessante nieuwe features. Denk hierbij bijvoorbeeld aan Workspaces, die het mogelijk gaan maken om je broncode live in de browser aan te passen terwijl de aanpassingen onderwater ook op het filesysteem worden doorgevoerd. Nog een andere nieuwe feature is ondersteuning voor SASS. Door middel van SourceMaps kun je in DevTools door je SASS stylesheet lopen met dezelfde functionaliteit als die je bij CSS hebt! En voor de performance-guru’s onder ons: het wordt binnenkort ook mogelijk om je webapplicatie gedetailleerder te profilen. Denk hierbij aan details over Layout Trashing, Object Allocation Tracking en GPU Memory Consumption. Kortom, de Chrome DevTools zijn goed op weg om een full-featured IDE te worden.

Maar niet alleen de tooling krijgt grote updates. Met elke automatische update van Chrome worden nieuwe functionaliteiten toegevoegd. Een belangrijke recente ontwikkeling is rondom de standaarden WebP en VP9. WebP is het nieuwe formaat van afbeeldingen dat een directe concurrent vormt voor de gangbare formaten. Google rapporteert dat ze met WebP meer dan 30% hogere compressie bereikt dan JPEG, zónder kwaliteitsverlies! Ongeveer hetzelfde geldt voor de VP9 video compressie, waarbij de bitrate meer dan 60% lager is vergeleken bij H.264. De adoptie van deze technieken neemt steeds meer toe. Zowel op Facebook als Google Plus zorgen deze technieken ervoor dat het dataverkeer flink afneemt. De tijd begint te komen voor andere organisaties om hier serieus naar te gaan kijken.

Webapplicaties worden steeds populairder. Vanuit organisaties als Google maar ook de andere browser bouwers wordt flink geïnvesteerd in het verbeteren en uitbreiden van de mogelijkheden op het web. Web Components is een dergelijke innovatie. Met Web Components wordt HTML geschikt gemaakt voor templating. Daarvoor worden HTML Templates, HTML Imports, Custom Elements en Shadow DOM in Chrome geïntroduceerd. Deze technologieën brengen feitelijk het component-based dat we kennen van technologieën als JSF naar de browser. Nu is het nog afwachten hoe frameworks zoals AngularJS deze nieuwe mogelijkheden in gaan zetten.

Ook CSS3 heeft veel verbeteringen ondergaan. In samenwerking met National Geographic heeft Google een webapplicatie gemaakt waarin de nieuwste CSS3 features tot in het uiterste worden gebruikt. Goed nieuws: de National Geographic Forest Giant Demo is online te vinden, het is aan te raden om hier eens een kijkje te nemen!

Chrome Packaged Apps
Chrome Packaged Apps werden aangekondigd op Google I/O 2012 en ook dit jaar is er veel aandacht uitgegaan naar deze mogelijkheid om met webtechnologieën desktop-applicaties te maken. Chrome is tegenwoordig niet zomaar meer een browser, het wordt steeds meer een platform. Vanuit JavaScript in de Chrome browser kun je in een Chrome Packaged App gebruik maken van API’s die in normale webapplicaties niet beschikbaar zijn. Denk aan toegang tot hardware als webcam, bluetooth of USB. Tevens biedt Chrome verschillende API’s aan voor zaken die door het besturingssysteem worden geregeld, zoals notificaties en het bestandssysteem. Bij een van de workshops tijdens I/O konden we zelf experimenteren met deze veelbelovende technologie. Wil je dit ook zelf proberen? Neem dan eens een kijkje op: goo.gl/UHCS8.

Conclusie
Alles wat Google heeft laten zien op I/O was niet alleen vernieuwend, maar ook al direct of binnenkort beschikbaar. Natuurlijk zijn er meer ontwikkelingen, bijvoorbeeld in Cloud en rondom Google Maps. En met het hoge tempo waarmee Google verder gaat kunnen we de komende jaren nog veel meer verwachten. Nog even aftellen tot I/O 2014!