Web-enabled not web
Twee jaar geleden schreef ik mijn gedachten neer over webapplicaties:
“I don’t intend to deliver the message that web applications are bad applications. I believe web applications are (were) a needed evolutionary step to building applications that integrate the web tightly in the way they work. We must take the good points of web applications to enhance existing desktop applications: (…)”
Het hoofdpunt van dat bericht was: “Don’t lock me up in my browser!”. Waarom gaan die verdomde webapps zo traag? Waarom heb ik hier geen toegang tot feature X die over heel mijn systeem beschikbaar is?
Vandaag is het niet anders. Ik was zojuist naar een muziekvideo aan het kijken, en ik had weer net hetzelfde gevoel: webapplicaties zijn een kreupele versie van desktop apps. Met VLC kan ik mijn video zetten waar ik wil op mijn scherm, en kan ik de video pauzeren met een shortcut.
Sterker nog: ik kan met de VLC remote applicatie vanuit mijn luie zetel mijn computer bedienen. En dan zijn er die handige features: float on top, een screenshot nemen van een frame, ondertitels, vertraagd of versneld afspelen, volume dat tenminste gekoppeld is aan je systeemvolume. Dingen die je misschien niet elke dag nodig hebt, maar als je ze nodig hebt, zijn ze er wel.
Alle dingen die ik opnoem kan ik niet met die flash embed van the XX. Ik kan die video vandaag slechts op 1 manier: een kreupele manier1.
Eerst was een browser een manier om statische informatie te bekijken: dan werd die informatie telkens dynamischer, om maar te zeggen – in 1994 was het enige dat mogelijk was een tekst zonder beelden online zetten. Nu speel je Ultima Online in je browser.
Google wilt van je browser een OS maken (video). Dat is allemaal een mooi idee, naar de toekomst toe, maar op dit moment voelt Google Docs gebruiken zo (grootte cirkel = snelheidsgevoel):

Ooit al eens een grote Excel file met duizenden kolommen en rijen geïmporteerd? Apple Numbers geeft een kleine krimp. Google Docs doet je browser bijna crashen, Firefox begint 2 Gigabyte RAM te zuipen om alles bij te kunnen houden, en jij zit daar dan maar te wachten.
Ik háát wachten op computers.
Het is dezelfde indruk die ik heb als ik een Java applicatie gebruik:

Ik ben geen programmeur, maar ik heb wel een goed vermoeden wat er allemaal achter de schermen gebeurt als ik een actie in een applicatie uitvoer. De simplistische grafische voorstelling hierboven is niet wat er effectief gebeurt als jij een knopje indrukt: dit is mijn indruk van het snelheidsverlies als je berekeningen door een Javascript engine sleurt.
Deze week speelde ik Ultima Online in mijn browser: dat is wel redelijk impressionant. Aan de andere kant kan je ook, op dit eigenste moment, World of Warcraft spelen, dat ook van het internet gebruikt maakt om veel impressionantere dingen te doen. Eenieder die al eens in een raid met 39 andere mensen Ragnaros heeft neergehaald weet wat ik bedoel. I digress.
En zo’n spel gebruikt die dikke videokaart die in je Mac/PC zit optimaal; continue 60fps en geen graphics die uit de jaren ‘90 zijn weggelopen. Heb ik al gezegd dat ik er niet tegen kan als een programma traag draait? En zeker niet als de reden is omdat er ergens iets in het proces voor een grote handicap zorgt.
Ik heb een fucking krachtige computer. Een dual core processor van 3.06 Ghz; 8 gigabyte ram. Een terrabyte om data in op te slaan. Dit is geen stoeferij: dit is de computer die je hebt als je nu naar de winkel stapt met 1250 euro voor een nieuwe computer. Als je een custom-made PC bouwt gaan je specs waarschijnlijk nog een pak impressionanter zijn. SSD-schijven anyone?
Marco zegt:
If you’re waiting a little longer than usual for a popular website to render its Dashboard or show you an encyclopedia page or tell you which of your old high-school friends have gotten fat, you’re probably waiting for some hard drives in a server somewhere.
Nearly every slowdown of modern computer usage is caused by a very fast computer that’s sitting around doing nothing while it waits for its hard drive to move its heads.
En die krachtige computer wordt dus helemaal niet gebruikt hé. Of wordt wel gebruikt, maar op een niet-optimale manier. Waarom kan ik op een resolutie van 2560×1440 fullscreen een 3D applicatie draaien zonder snelheidsverlies, en kan mijn PC geen 10 000 rijen renderen als het door Firefox moet?
Ik snap niet waarom ik 280 Slides zou gebruiken in plaats van KeyNote.
Ik snap niet waarom ik Mockingbird zou gebruiken in plaats van Balsamiq Mockups (dat trouwens eigenlijk ook niet performant is: hier Java niet de boosdoener, maar Adobe AIR).
De enige reden om die apps te gebruiken in plaats van hun desktop versies zijn de inherente voordelen van het internet. Neme het voorbeeld van een presentatie:
- Je kan makkelijk je presentatie delen
- Je kan het op eender welke computer openen
- Je kan je document niet kwijt zijn, want het leeft “in the cloud”
Dat zijn natuurlijk allemaal voordelen waar niets tegen in te brengen valt. Zolang er niets mis gaat2.
Ooit gaan web apps op een acceptabele snelheid draaien. Maar moeten we daarom eerst vijf jaar kreupele performance ondergaan om daar te komen?
Ik ben pro web-enabled applicaties. Die niet in je browser draaien, maar apart, en die gebruik maken van het internet om betere functionaliteit aan te bieden. Die geschreven zijn in een taal die optimaal werkt op het apparaat in kwestie. Een beetje zoals al het native apps vs. webapps verhaal op de iPhone en iPad. Ik denk dat iedereen hier akkoord kan gaan: native wint.
Zijgedachte: misschien ben ik gewoon een beetje verwend. We mogen godverdomme blij zijn met dat internet. Ingenieurs bij Google en Apple zijn wellicht elke dag bezig met dingen sneller te maken.
- Alle respect voor YouTube en Vimeo die wel hun best doen om de desktopervaring te evenaren.
- Gesteld dat het bedrijf achter de software hun servers online zijn; en ze niet failliet zijn; je data niet corrupted is aan de andere kant en ze je data niet doorverkopen een slinkse third parties. Zie ook: FUCK THE CLOUD
4 reacties op “Web-enabled not web”
Reacties gesloten
Het is niet meer mogelijk om reacties te geven op dit bericht. Na plaatsing is het gedurende 2 weken mogelijk om te reageren. Dit om de kwaliteit van de uiteindelijke post hoog te houden en spam tegen te gaan. Mocht je toch nog (persoonlijk) willen reageren, zie de contactpagina.
Je bent een voordeel vergeten. Het voordeel van de meeste web apps aan de kant van de *developer* is dat je maar 1 versie moet schrijven. Als je een native version wil voor ieder platform ben je al snel dubbel zo lang bezig want je moet alles afchecken en dan nog ben je de totale controle over de omgeving kwijt: een exotisch type printer of geen printer, extra software die voor conflicten zorgt; noem maar op.
Zolang die balans niet rechtgetrokken wordt en er geen goede reden is om te kiezen voor een desktop app - video, number crunching - schrijf ik liever een web app.
Ik vrees dat ik Jan moet bijstaan. Ik begrijp weliswaar ook de kant van de developer die maar 1 versie moet onderhouden, maar als eindgebruiker maakt me dat natuurlijk niet uit. Als ik moet kiezen tussen 1 lokale app door een developer gemaakt, enkel beschikbaar op bv. iPad, en niet op Droid, maar ik gebruik de iPad, dan kies ik die. Ik ga geen web-versie kiezen omdat die ‘op alles’ draait.
In mijn ogen hangt veel af van waar op het spectrum tussen applicatie en publicatie je je bevindt.
Als de focus ligt op ‘activiteit’, waarbij je als gebruiker veel dingen zelf moet doen en in gang zetten, dan zit je dichter bij de applicatie.
Als de focus ligt op ‘consumptie’, waarbij je als gebruiker vooral moet lezen/kijken/luisteren, dan zit je dichter bij publicatie.
Hoe dichter je bij ‘publicatie’ zit, hoe meer nadruk op de content.
Content moet regelmatig ge-update worden; er moet regelmatig nieuwe content verschijnen.
En dan beginnen de voordelen van web tov desktop duidelijk te worden.
Een app voorzien van nieuwe content is niet evident. Die moet meestal opnieuw door programmeurs herschreven worden; die moet dan opnieuw gepushed worden naar de gebruiker.
Je moet als “eigenaar” de mogelijkheid hebben om snel en efficiënt nieuwe content te publiceren. Dat gaat beter in een webomgeving, met een tool zoals een CMS.
Dus: de keuze voor web vs. app zit in mijn opinie niet enkel in de gebruikservaring; die zit ook in de onderhoudbaarheid door de eigenaar.
Het merendeel van het publiek verkiest convenience (op de juiste plaats op het juiste moment beschikbaar zijn van informatie) boven gebruikservaring.
(Zie bv. waarom veel mensen Hotmail tov Outlook kiezen, of waarom mensen GSM tov vaste lijn kiezen.)
Ik ben dan weer een fan van Google Docs. Ik importeer er weliswaar geen giganormische spreadsheets in, maar op ‘t werk gebruiken we dat bijvoorbeeld om bij te houden wie op welke dagen van de week op de redactie is. Het feit dat je kan delen en dat je toch een vrij krachtige en flexibele webapp hebt (formules en zo) weegt dan door op de ruwe performantie.
Ook de Google Docs tekstverwerker wordt ter redactie veel gebruikt door redacteurs die er een outline van hun tijdschrift in maken en dat dan samen uitwerken, online. Dat zijn uiteraard geen gigantische documenten met weet-ik-wat voor opmaak (maar dat laatste is ook weer een voordeel, imho).
Je kan trouwens perfect met lokale apps documenten ‘in the cloud’ bewerken. Met DropBox lukt dat vrij goed.