vrijdag 3 juli 2009

De Wave

We waren al enkele jaren bekend met de Google Dance. Nu heeft Google ook de Wave ingezet. De dienst is nog volop in ontwikkeling, maar werd desondanks op 29 mei 2009 alvast ten doop gehouden op de Google I/O conferentie in San Francisco. Tijdens en vlak na deze conferentie werd de aankondiging alvast met bijzonder veel enthousiasme ontvangen. Is dat terecht?

Convergentie

Google Wave is nieuwe benadering van informatie management. Het is lastig om in woorden uit te leggen waar het precies om draait. Wat dat betreft doet het mij denken aan de begindagen van Lotus Notes, waarbij het erg lastig bleek om aan mensen die het systeem niet gebruikten uit te leggen wat de kracht was van “Collaboration, Cooperation and Communication” met behulp van een computer. Het is vaker gezegd dat Ray Ozzie zijn tijd toen al ver vooruit was. Het lijkt mij dat de ontwerpers van Google Wave wel heel goed begrepen hebben wat hij destijds propageerde.

Google Wave draait allemaal om “projecten” waarin één of meerdere mensen werken aan een centraal beheerd “document”. Dit document is voor alle participanten in het project online toegankelijk via een browser. Daarbij kan iedereen aan een verschillend onderdeel werken, maar het is ook mogelijk om elkaar aan te vullen, te corrigeren of te becommentariëren. Op die manier zijn de documenten ook geschikt voor het voeren van discussies.

De bedenkers Jens en zijn broer Lars Rasmussen, de meesterbreinen achter het nu al legendarische Google Maps, noemen 'hun' Google Wave "hoe email zou zijn als het vandaag zou worden uitgevonden.". Dat is ook precies het startpunt van Wave geweest. Email wordt vandaag de dag veelvuldig gebruikt voor het voeren van discussies, maar de interessante discussies hebben de natuurlijke neiging om ondoorzichtig te worden. Niet iedereen krijgt alle bijdragen aan de discussie te zien, vaak lopen er meerdere onderwerpen door elkaar heen en het de mogelijkheden om teksten te redigeren nadat ze eenmaal zijn verzonden zijn hoogstens erg beperkt. Als je erover nadenkt is het best verbazingwekkend dat email als communicatiemiddel al zo lang zo populair is...

De broertjes Rasmussen hebben er heel diep over nagedacht en hebben een oplossing bedacht die aan alle bezwaren tegemoet komt. Een nieuw concept voor elektronische communicatie. En al doende hebben ze mogelijkheden gecreëerd die veel verder gaan dan het vervangen van email alleen. In de presentatie geven ze als voorbeeld het plannen van een teamuitje. Dat begint natuurlijk met het vaststellen van een datum, het bepalen van een activiteit en het discussiëren over de lijst met genodigden. Daar heeft iedereen zo zijn ideeën over. In Wave is het gemakkelijk om met z'n allen een discussie te voeren die eigenlijk over drie thema's tegelijk gaat. En als kers op de cake kun je na afloop ook nog je foto's toevoegen – en niet te vergeten elkaars foto's van commentaar voorzien. Het geheel is wat in wave termen een project is.

Je hebt er niet zo heel veel fantasie voor nodig om te bedenken dat je ook een wave-project zou kunnen maken van een vergadering, of een beleidsvoorstel; een architectuurprincipe of een project-start architectuur. En nog veel meer. Op die manier zou wave wel eens veel meer kunnen vervangen dan email alleen, bijvoorbeeld Instant Messaging, Blogs, Wiki's en dergelijke. Zeker als je binnenkort met iedere zakelijke telefoon gewoon mee kunt waven (dat werkwoord zal dan ook wel ingang vinden).

Google presenteert Wave als een product, een platform en een protocol. Met een vette knipoog hebben ze het over de drie P's. De Rasmussens weten als geen ander hoe belangrijk het is voor een brede acceptatie om zo veel mogelijk ontwikkelaars bij het concept te betrekken. Daarom hebben ze aangekondigd dat het hele product als open source gepubliceerd zal worden en dat iedereen zijn eigen toepassingen erop kan ontwikkelen. As from now. Ze hopen er natuurlijk op dat als het systeem over een poosje gelanceerd zal worden, dat er van meet af aan een rijk aanbod aan gewilde applicaties zal zijn. Misschien moeten we naar analogie van de Apple AppStore wel denken aan een Google AppStore.

Wave biedt nog een paar opmerkelijke features. Zo is het niet alleen mogelijk om met meerdere mensen aan een document te werken, je kunt ook gelijktijdig in hetzelfde document werken. Tijdens de demo werd getoond dat vier mensen tegelijkertijd op dezelfde pagina aan het werk waren. En alle wijzigingen werden op het oog zonder enige vertraging uitgewisseld, zodat iedereen op ieder moment dezelfde informatie op zijn scherm zag. Daarbij zou het mogelijk zijn dat verschillende deelnemers bij een verschillende organisatie werkzaam zijn en via hun eigen Google Wave server werken. Het maakte zelfs niet uit dat de ene werkte met Google's eigen Chrome, terwijl anderen met Mozilla Firefox en Apple Safari meededen. Merk op dat er in deze lijst één grote partij afwezig is. Hoe zat het ook alweer met MSIE en de ondersteuning van nieuwe webstandaarden?

Overigens werd er binnen het ontwikkelteam nog volop gediscussieerd over de wenselijkheid van het zonder enige vertraging mee kunnen kijken met het typewerk van collega's. Je kunt namelijk iedere toetsaanslag, dus ook iedere correctie, volgen. En wie heeft er van tijd tot tijd geen behoefte aan het bijschaven van een impulsief geschreven emailtje alvorens het te versturen? Om ons bij voorbaat gerust te stellen is er alvast een optie opgenomen om deze real-time functionaliteit uit te schakelen (maar deze optie is nog niet geïmplementeerd).

Wat trouwens ook indruk maakt is de ingebouwde spelling- en grammaticacontrole. Zo rijk heb ik dat in een webapplicatie nog niet eerder gezien. En wat ook niet onvermeld mag blijven is dat je in je wave bibliotheek kunt zoeken – pardon: googelen. Tada!

Een andere mooie feature is de history trail. Er gaat bij wijzigingen namelijk geen informatie verloren. Je kunt met de ingebouwde playback functie te allen tijde reproduceren hoe en door wie een tekstfragment in de loop van de tijd tot stand is gekomen. Zonder dat je er ook maar iets speciaals voor hoeft te doen. Wie heeft er dan nog behoefte aan een aparte omgeving voor versiebeheer?

Wat de demo vooral ook laat zien is dat Rich User Interfaces met de nieuwe versie 5.0 van HTML prima in een browser kunnen draaien. En dat online gegevens uitwisselen tussen verschillende browsersessies ook bloedsnel kan zijn. Volgens de demo blijft die snelheid zelfs in stand bij het gebruik van automatische simultaan vertaling, een hele coole feature die het mogelijk moet maken dat verschillende gebruikers dwars door de taalbarrière gewoon samenwerken. Ik moet hierbij wel aantekenen dat één strak georchestreerde demo mijn scepsis over deze functie nog niet helemaal heeft weggenomen. Aan de andere kant moet ik meteen ook bekennen dat Google in het verleden wel vaker mijn aanvankelijke scepsis glorieus heeft weten te overwinnen.

De potentie

Dat Google Waves de potentie heeft om de wereld van de software ontwikkeling flink op te schudden leidt geen twijfel. Denk maar eens mee wat er allemaal verwaved zou kunnen worden.

  1. Office.wave. Die is bijna triviaal. Documenten bestaan uit stukken tekst, plaatjes, tabellen, grafieken en nog zo wat bouwstenen. Misschien in de toekomst wel beeld en geluid. Samenwerken aan documenten is een lang gekoesterde wens, zeker als het plaats en tijdonafhankelijk kan. Het zou mij niets verbazen als er bij Google nu al wordt gewerkt aan een variant van OpenOffice op het Waves platform. Dat lijkt mij in elk geval een typsiche killer-wave.

  2. Wave zou ook heel goed kunnen dienen als fundament voor een ontwikkelomgeving voor software. Waarom niet? Goed beschouwd zijn dit ook allemaal verschillende bouwstenen die samen de bron vormen voor een applicatie. Samenwerken en versiebeheer zijn typische kernfuncties. En dat wordt alleen maar sterker naarmate we systemen krijgen met flexibiliteit die dicht bij de eindgebruiker gewijzigd kan worden – denk aan business rules, business processen, productmodellen enzo. In zekere zin hebben we dan een in tijd en plaats gedistribueerd ontwikkelteam.

  3. Met Wave kunnen we ook op een hele nieuwe manier gaan nadenken over Workflow Management. Samenwerken hoeven we niet meer als een estafette van taken te ontwerpen, nee, we kunnen tegelijkertijd samen aan hetzelfde dossier werken. Business Process Improvement 2.0?

  4. Misschien wat verder gezocht, maar wat zou er mogelijk worden als je een zou nadenken over een Electronisch Patienten Dossier (EPD) op basis van Wave? Natuurlijk moet je goed nadenken over wie eigenaar is van welke wave in het dossier en dus kan beslissen wie er toegang toe heeft en wie niet. Maar het idee dat het EPD leeft in de cloud, voor iedereen met toegang altijd en overal beschikbaar kan zijn, dat je er snel dingen in terug kunt vinden; het idee dat het platform een wereldstandaard is, dat moet toch een golf aan innovatie op kunnen leveren?

  5. Nog iets generieker geformuleerd, Google Wave lijkt ideaal voor het ontwikkelen van dossierapplicaties, waarbij verschillende mensen toegang hebben en bijdragen leveren aan een informatiebron – zeker als die mensen niet per definitie binnen eenzelfde organisatie werken. Dit soort applicaties heeft nog niet de grote vlucht genomen die door denkers als Don Tapscott al lang geleden is voorspeld. Wellicht is de tijd nu wel rijp.

Om over te peinzen

In de blogosfeer heet Google Wave vooral een bedreiging voor de dominante positie van Microsoft Sharepoint te zijn. Daar kan ik me veel bij voorstellen. Maar voor mij is het meer dan dat. Google Wave volgt een heel ander paradigma dan Sharepoint. Samenwerken in Wave is geen additionele feature op een document dat door iemand is geschreven, het document is het resultaat van een real-time samenwerking tussen mensen. Het zal wel even duren voordat de potentie van dat nieuwe paradigma doordringt tot de mainstream gebruikers.

Ik heb op mijn radarscherm een prominente plaats gereserveerd voor de Wave. Het zou mij niets verbazen als Google – ondanks dat het niet enterprisefaehig heet te zijn – hiermee voor de komende jaren de toon voor de ontwikkelingen in de wereld van softwarearchitectuur heeft gezet. Het is maar de vraag of de reus uit Redmond hierop een passend antwoord heeft. En van wie anders valt er een tegenzet te verwachten?

Deze overpeinzing is bedoeld om tot nadenken te stemmen. Het is de 12de in een reeks bespiegelingen die op dit weblog gepubliceerd zal worden.