Usain Bolt en de iPad zijn niet dik en andere thin client mythes
Usain Bolt is niet dik, maar wel snel. Heel snel. Ik moest aan Usain Bolt denken toen ik de post van mijn collega Michel las. Michel liet zijn licht schijnen op wat veel mensen wellicht wat al te makkelijk een “thin client” noemen, nl. een PC met een browser, en stelde vast dat die thin clients helemaal niet zo “dun” zijn als we allemaal misschien denken. En daarin heeft hij gelijk, want een beetje web2.0 applicatie neemt een flinke hap uit de resources van een moderne computer, om een beetje lekker te draaien.
Maar maken de indrukwekkende specificaties van de huidige, gemiddelde huis-tuin-en-keuken-PC het ding meteen tot een fat client? Volgens mij niet, net zo min als dat Usain Bolt dik is omdat hij toevallig de 100 meter in 9,58 loopt. Het is maar net hoe je er naar kijkt.
Het thin-clientconcept is niet opeens onjuist, als je vaststelt dat de thin clients zich in de afgelopen 10 jaar hebben ontwikkeld. Dat een thin client van nu betere specificaties heeft dan 10 jaar geleden, zegt niks.
Dat men gebruik maakt van de beschikbare resources op die client doet ook niks af aan het server-thin-clientmodel. Dat is slechts een getuigenis van de inventiviteit van de programmeurs die de applicaties bouwen.
Als je het stuk van Michel leest dan zou je kunnen denken dat we bijna van geluk mogen spreken dat onze trouwe PC’s als client fatter en fatter zijn geworden, en dat we dankzij die ontwikkeling nu kunnen genieten van allerlei hippe, desktopsoftware-achtige webapplicaties terwijl aan de andere kant van de lijn de servers qua ontwikkeling hebben stilgestaan, maar de Wet van Moore geldt aan beide kanten van de lijn. Niet alleen de thin clients (de PC’s) hebben zich ontwikkeld; de servers zijn net zo snel in de vaart der volkeren opgestoten. En niet te vergeten die (pijp)lijn tussen server en client is enorm verbeterd. Waar je vroeger een vermogen moest neertellen voor 1Mbit down, tikt bij mij thuis de speedtest makkelijk de 60 Mbit aan.
Alleen als je uitgaat van de beperkte definitie dat een thin-clientmodel het concept omvat dat 1 processor het werk van meerdere clients kan afhandelen kun je bij de huidige webapplicaties niet spreken van een thin-clientmodel. Maar waarom zou dat de definitie zijn van een thin client? Waar komt die definitie überhaupt vandaan?
Als ik de door Michel gehanteerde definitie van Wikipedia erbij haal, dan gaat het om een client die over zeer weinig bronnen beschikt en zeer sterk afhankelijk is van de server. Nou kun je eindeloos discussiëren over wat “zeer weinig bronnen” en “zeer sterk afhankelijk” nou precies betekent, maar we kunnen wel vaststellen dat het gaat om relatieve grootheden. Mijn PC beschikt bijvoorbeeld over zeer weinig bronnen om de content van alle websites ter wereld te kunnen indexeren, en daarom is mijn computer sterk afhankelijk van de ruim één miljoen servers van Google om dat te doen. Dat soort webapplicaties voldoen naar mijn mening aan het thin-clientmodel, en ik word daarbij ondersteund door Wikipedia, die webapplicaties überhaupt als een subgroep van thin clients definiëert.
Juist de gecombineerde ontwikkeling van de thin client, de servercapaciteit en de beschikbare bandbreedte heeft ervoor gezorgd dat er steeds meer kan binnen die subgroep: Google docs, webbased IDE’s, online gaming, noem het maar op. Dankzij die applicaties is het een feit dat de noodzaak voor een fat client minder en minder is geworden.
Volgens mij wordt het pleit helemaal beslecht als je de definitie van de fat client ernaast legt. Een fat client blijft functioneel onafhankelijk van zijn netwerkverbinding. Thin clients zijn dus het tegenovergestelde, nl. voor hun werking afhankelijk van hun netwerkverbinding. Dat is precies wat we de afgelopen jaren hebben zien ontstaan: Een complete afhankelijkheid van je internetverbinding voor het draaien van applicaties die 10 jaar geleden nog volledig stand-alone op je oude trage, slome en dikke PC draaiden.
Juist na een weekend waarin er op 1 dag 300.000 iPads zijn verkocht, die slechtere specificaties hebben dan mijn PC van 10 jaar geleden (256MB Ram en 1Ghz CPU) lijkt het thin-clientmodel dus meer dan ooit het dominante paradigma te zijn geworden.
Gerelateerde blogposts:

Gelukkig is de wereld niet zwart wit. Het is niet óf alles is een thin-client, óf er bestaan geen thin-clients. Dat de noodzaak voor fat-client minder en minder is geworden (zoals ik ook beschreef), betekent niet dat de fat-client dus ook verdwijnt. Iemand die 5 jaar geleden zou voorspellen dat de PC als fat-client verdwijnt en we alles op thin-clients zouden doen, zou het mooi mis hebben gehad. Het kan wel, maar het gebeurt niet om de genoemde redenen in mijn blog.
De fat- en thin-clients bestaan rustig naast elkaar, en het is voor elke toepassing het afwegen waard welk apparaat je daarvoor gebruikt, een dikke of een dunne..