Google is bezig met iets heel interessants.
Ik negeer even alle commentaar over Evil Google, ja ze zijn groot, machtig, weten veel over personen etcetc, maar daardoor hebben zij ook de mogelijkheid om niet alleen innovaties te ontwikkelen, maar ook uit te brengen.
Denk even mee.
Google heeft Google App Engine, een platform die "alle" zorgen van de webhosting overneemt. Je hoeft niet te denken in termen van fysieke servers, cpu/geheugen/bandbreedte capaciteit. Nee, een webdeveloper hoeft alleen zijn webapp te programmeren en Google zorgt dat het draait.
Google heeft GWT, Google Web Toolkit, een programma waarin een webdeveloper in een Java-omgeving programmeert, en de compiler zorgt ervoor dat er een complete website wordt gevormd in HTLM, CSS, Javascript etc. De webdeveloper hoeft bovendien niet voor elke browser aanpassingen te doen, de toolkit zorgt ervoor dat elke webbrowser de juist code krijgt opgestuurd.
Tot dit punt toe lijkt alles nog op wat het nu is, al is het al vrij indrukwekkend om hosting te kunnen verkrijgen waarbij je betaalt voor wat je gebruikt, en schaling gaat vanzelf met vrijwel onbeperkt capaciteit. Het programmeren van websites, zowel front als backend, met alle tools die beschikbaar zijn voor Java waarbij je zelf geen onderscheid hoeft te maken tussen browsers, met de debugging mogelijkheden van Java .... is ook al indrukwekkend te noemen.
Toen kondigde Google Google Wave aan. Google Wave is hoe Google en velen anderen zien hoe communicatie zou moeten werken op het internet . E-mail is ouderwets, het is een vertaling van de analoge post met postkantoren naar de digitale wereld. Het hoeft niet zo te werken, het gaat om het bericht dat van de ene persoon naar de andere moet.
En als je eenmaal een bericht hebt, dan kun je mensen toegang geven tot dat bericht zodat zij het kunnen lezen. Maar waarom alleen lezen als je het ook kunt aanpassen, erop reageren etcetc. Je kan reageren op het hele bericht of je hebt commentaar op een paragraaf of zin. In deze digitale wereld kun je dan gewoon midden in een bericht een nieuwe discussie beginnen.
Op die manier ziet e-mail er ineens anders uit, het is niet meer het heen sturen van een bericht en dan een bericht terugkrijgen in je inbox met je oorspronkelijke bericht geheel of gedeeltelijk gequote.... nee, het is een rijkere manier van communicatie.
Voeg daaraan toe dat men direct berichten ontvangt, en zelfs het typen realtime kan volgen, dan is dat meteen ook instant messaging.
Waarom e-mail en daarnaast IM gebruiken, als het in principe niets anders is dan een bericht besturen ? Maar wacht eens, wat is dan een blog? Reacties op internetwebsites zoals deze? Dit zijn ook allemaal berichten.
Dan besef je dat het onderscheidt tussen vele verschillende applicaties niet zo groot hoeft te zijn, het zijn allemaal berichten, allemaal Waves.
Google Waves bestaat uit verschillende onderdelen, waaronder het protocol. Die is gewoon open en Google nodigt dus andere bedrijven uit om hun eigen clients en servers te maken voor een dergelijke Wave service.
Daarnaast biedt Google zelf een Google Wave service aan voor gebruikers.
Wat hebben we dan?
Webdevelopers kunnen webapplicaties maken met GWT, het hosten in een cloudomgeving en het is mogelijk om applicaties te maken waarbij mensen real-time met elkaar kunnen communiceren met Waves.
Voeg aan deze mix HTML5 aan toe, en nog meer mogelijkheden zijn beschikbaar.
Daarnaast probeert Google HTML5 ook uit te breiden, maar anders hebben zij zelf optionele uitbreidingen in de vorm van Gears, die beschikbaar is voor andere browsers, maar het komt uiteraard ook mee met hun eigen Google Chrome.
Wat mist hier? Een databasesysteem.
Nou zie ik Google zelf het nergens hebben over een 4D database, het is een van de vele websites op het internet die die term erin gooit.
Fusion Tables lijken gewoon op relationele databases.
Maar het belangrijkste is dat het ontworpen is om makkelijke gedeeld te worden met ANDERE mensen/websites.
Oftewel een web developer kan een applicatie maken waarin hij zijn eigen tabellen linkt met tabellen van een andere website.
Een belangrijk onderdeel van het semantic web waar men naar toe wil werken, is het kunnen gebruiken van data van andere bronnen, waarom dan niet database tabellen?
Naast het kunnen delen van tabellen is het ook mogelijk om gezamenlijk de database te wijzigen.
Waarom zou je een e-mail sturen naar een andere groep gebruikers, als je ook simpelweg IN de tabel een bericht kan typen en de discussie te houden over hetgene waar de discussie bij staat? Niets opzoeken of refereren ... gewoon DAAR waar het bericht staat. Het is dus eigenlijk gewoon Google Waves binnen een database tabel.
Google heeft veel onderzoek gedaan naar concurrency, daar hebben zij een oplossing voor die toegepast is bij Google Waves, en zover ik het kan zien neem ik aan dat eenzelfde oplossing ook is toegepast bij de Fusion tables.
Ik moet hier dan wel eerlijk toegeven dat ik niet precies snap hoe ze dat hebben opgelost, er is wel een filmpje te vinden op de Google dev channel op Youtube.
Een Chinees met een Australisch accent legde alles uit.
Op de manier waarop zij dat hebben opgelost, is het ook mogelijk om stappen terug te draaien, waardoor je bij zowel Google Waves als bij Fusion Tables "het verleden" kan zien en laten "afspelen".
Men (niet Google) heeft het over 4D database omdat het zowel de mogelijkheid geeft om de database te joinen met een ANDERE database van een ander domein, wat volgens de schrijver het "3D" maakt, en omdat ze ook de geschiedenis hebben en omdat ook het verleden gezien kan worden en stappen teruggedraaid kunnen worden noemen ze dat 4D. Het is dus niet Google die hun service als 4D omschrijft, maar Stephen Arnold.
Op die manier zou hij Google Waves ook als 4D e-mail kunnen noemen.
Het is niets anders dan op een rijkere manier te communiceren, en Fusion Tables is een rijkere manier om met databases om te gaan.
Neem dat alles samen, en je hebt een heel indrukwekkend platform voor webdeveloppers. Er zijn hiernaast nog vele andere dingen die hier ook aan samenhangen zoals de onderdelen van Open Stack.
Google heeft dit alles zeker niet alleen gedaan, maar ze hebben toch een flink aantal innovaties uitgebracht voor in dit geval de webdevelopers. Het is mogelijk om dingen te maken die vroeger niet gemaakt konden worden, en bovendien kunnen bestaande dingen makkelijker gemaakt worden.
Uiteraard kun je als Nederlander gewoon met je LAMP aan de slag blijven, individuele webservers plaatsen, database servers draaien etcetc. Ik verwacht ook niet dat mensen massaal overstappen naar iets anders, ondanks dat / vooral omdat het Google is.
Neemt niet weg dat Google deze innovaties heeft ontwikkeld tot iets dat bruikbaar is maar Google heeft deze ook daadwerkelijk toegangelijk maakt voor het grote publiek.
Het huidige webdevven en webhosting kan gezien worden als low level en Google maakt het mogelijk voor developers om op een hoger abstractieniveau webapplicaties te maken.