Bij deze wil ik graag een lans breken voor de desktopapplicatie. De terecht groeiende vraag naar applicaties in de cloud zorgt er namelijk voor dat desktopapplicaties in populariteit afnemen, dat terwijl ze voor veel toepassingen superieur zijn in gebruik. We lijken soms te vergeten dat de desktop veel meer biedt qua grafische interactie, muishandelingen en werken met meerdere schermen bijvoorbeeld. Bovendien reageert het allemaal sneller dan in een webbrowser. Desktopinterfaces zijn bij uitstek geschikt voor complexere toepassingen.
Er zijn grofweg vijf redenen om een webapplicatie te verkiezen boven een desktopapplicatie. Ik zal ze stuk voor stuk van kanttekeningen voorzien.
1. 'Met state-of-the-art webtechnieken kun je bijna alles wat een desktopapplicatie kan.' Dat klopt tot op zekere hoogte, alleen is het veel moeilijker te maken, met als gevolg dat een webapplicatie minder prettig werkt dan een tegen dezelfde kosten gebouwde desktopapplicatie. Vergelijk bijvoorbeeld de desktop Excel met Google spreadsheets.
2. 'Een webapplicatie is makkelijker in gebruik vanwege de eenduidige manier waarop je met een webpagina werkt.' Dat gaat eigenlijk alleen op voor eenvoudige handelingen, zoals het invullen van een formulier. Zodra de interactie wat ingewikkelder wordt, werken webapplicaties juist niet op een standaard manier. Vaak zelfs ronduit onoverzichtelijk. Desktopapplicaties zijn wat dat betreft beter gestandaardiseerd omdat we al zo lang op die manier ontwikkelen, terwijl geavanceerde webtechnieken zoals AJAX pas recent gemeengoed zijn geworden.
3. 'Desktopapplicaties moet je zelf installeren en onderhouden en webapplicaties niet.' Dat is een misvatting want desktopapplicaties kunnen ook gedraaid worden in de cloud – en dat gebeurt al op vrij grote schaal. Accountants bieden hun klanten bijvoorbeeld een boekhoudpakket aan via remote desktop over internet en virtualisatie is in feite ook een succesvolle vorm van het centraal aanbieden van desktopapplicaties. Alle voordelen van de cloud gaan op. Het is wel zo dat met name consumenten het omslachtig vinden een externe desktopverbinding te starten.
4. 'Een webapplicatie kan beter op maat worden gemaakt.' Dat is juist maar er zijn mitsen en maren. Webapplicaties laten zich inderdaad beter integreren in een geheel en het combineren van applicaties (mashups) is eenvoudiger. Bovendien kun je met webtechnologie kleine maatwerkapplicaties maken op het onderliggende systeem in plaats van de desktopinterface te gebruiken. Hier bestaat een gevaar: door geen genoegen te nemen met een out-of-the-box applicatie, en zelf functionaliteit op maat te gaan bouwen, ontstaan weliswaar juweeltjes van gebruiksgemak, maar zodra de behoefte verandert moet ook dat keurslijf weer worden aangepast en het aanpassen van software is duur. Misschien was de applicatie out-of-the-box niet zo overzichtelijk, maar je kon er wel alles mee.
5. 'Webapplicaties zijn beter schaalbaar.' Inderdaad, een sessie met een desktopapplicatie heeft typisch aanzienlijk meer resources nodig, hoewel de virtualisatietechnologie nog steeds met rappe schreden vooruitgang boekt.
Al met al komt het er op neer dat je moet kiezen voor een desktopinterface als complexe en dynamische interactie belangrijk is voor de toepassing en opweegt tegen de hogere infrastructuurkosten die ontstaan door de beperkte schaalbaarheid. Hoe kleiner de gebruikersgroep, des te kleiner is dat kostenprobleem. Vooral als de desktopapplicatie al bestaat moet goed worden overwogen of het realiseren van een webvoorkant op die applicatie echt wel zo verstandig is als het misschien lijkt.
Een typisch geval van een desktopapplicatie die je niet moet willen vervangen door webapplicaties, is DataDetective, de dataminingtool die we binnen Sentient ontwikkelen: heel grafisch, uitgebreid, complex, gebruikers willen meerdere schermen tegelijk open en het gebruik ervan is steeds weer anders. Er kunnen wel webapplicaties op gebouwd worden voor specifieke toepassingen, maar er blijft een gebruikersgroep die de kracht van de desktopversie nodig heeft. Dan maar een hogere leercurve en dan maar intensieve gebruikersbegeleiding.
Het andere uiterste, een webapplicatie die je niet moet willen vervangen door een desktopsysteem, is Aquabrowser. Aquabrowser is de zoektechnologie waar ik binnenkort voor verantwoordelijk wordt bij Serials Solutions Medialab: bedoeld voor miljoenen consumenten en met rechttoe rechtaan functionaliteit die niet steeds verandert.
Het onderscheid tussen beide vormen van applicaties begint langzaamaan te vervagen en over tien jaar zal er geen verschil meer zijn. In de tussentijd is het zaak slim te kiezen.
…zal er geen verschil meer zijn… vreemde conclusie gezien de stelling.
Ik mis als reden het gebruik van lokale versus gedeelde rekenkracht.
Er is een derde applicatie variant die van beide uitersten de voordelen combineert van gecentraliseerd beheer en lokale rekenkracht, voorbeelden hiervan zijn Silverlight en Flash.
Je carriere switch vind ik niet in een expert artikel thuishoren.
Bedankt voor je reactie Cornelius.
Zelf vind ik een opiniestuk leuker om te lezen als er een persoonlijke tint aan zit, zolang het maar relevant is.
Over de laatste zin in combinatie met de stelling: de desktop en de browser groeien naar elkaar toe maar dat betekent mijns inziens niet zozeer de dood van de een of de ander, meer een overgang. Silverlight en Flash zijn inderdaad goede voorbeelden van tussenstappen in die overgang.
Over het voordeel van desktopapplicaties dat ze de server ontlasten door op de client te draaien: dat gaat op voor good old-fashioned installeren op de client, maar niet voor een desktopapplicatie in de cloud.
Goed artikel Rob – eens met je conclusie. De crux zit ‘m in welke gebruiker welke functionaliteit en lokale rekenkracht nodig heeft. Door de one-size fits all benadering van de laatste 10-20 jaar is het nu tijd om je gebruikers beter te leren begrijpen en ’t invidu de juiste functionaliteit te geven. 80 procent zal genoegen kunnen nemen met een pure cloud oplossing en 20 procent zal nog steeds de traditionele desktop nodig hebben
Rob, je punt dat webapplicaties niet op een standaard manier werken, klopt. Maar dat komt natuurlijk niet door het web. Webdevelopers zijn getraind in het snel ontsluiten van pagina’s door simpele menu’s. Dat is meestal ook hun zwakke kant. De gebruikelijke webinterface is bedoeld om je te verleiden en om snel gegevens uit te wisselen. Niet zelden wordt daarbij meer ontsloten dan de bedoeling is. Vandaag zijn de privégegevens van 63.000 klanten van de Nederlandse Energie Maatschappij onbedoeld aan de openbaarheid gegeven. Zoiets gebeurt met regelmaat.
De desktopinterface is van oudsher gemaakt om gegevens te verwerken. Qua structuur zit de gemiddelde webpagina op het niveau van de oude DOS-kaartenbak-interface. De huidige desktopinterface is veel verder ontwikkeld. Maar als je webapplicaties zou laten ontwerpen door iemand die desktopapplicaties heeft leren ontwerpen (en laat testen door iemand die desktopapplicaties heeft leren testen) dan zou die zwakke kant van webdevelopment weggewerkt kunnen worden. Dat is cruciaal bij de verdere ontwikkeling van de cloud / webdiensten. Zolang dat niet gebeurt, blijft de desktopapplicatie daar in gebruik waar het niet hoeft.