Det største suk fra den fede klient
Skrevet d. 27. februar 2009 kl. 16.11
|

(5)
Debatten har været i gang længe. Analytikere og journalister står i kø for at fortælle om SaaS (Software as a Service) og Cloud Computing. Browseren, eller i hvert fald ultratynde webklienter, vil snart overtage verden, siger de samstemmende. Og alverdens IT chefer i større virksomheder jubler med i koret, fordi denne tilgang til software gør deres verden meget mere simpel. Ingen avanceret infrastruktur internt, ingen udrulning, intet besvær, og en klokkeklar SLA kontrakt med udbyderem der garanterer oppetider på 99,9%.
Desværre lider debatten under, at pærer og bananer blandes sammen. Klient/ OS debatten ifm. med browsere, og tendensen hen imod SaaS (Software as a Service) har nemlig ikke en brik med hinanden at gøre. I hvert fald ikke for andre end de folk der sælger det. Man kan sagtens lave software til inhouse-installation der afvikles ved hjælp af browserteknologi, lige som man sagtens kan levere SaaS der IKKE afvikles i en browser. Særligt sidstnævnte er meget vigtigt, fordi det tydeligt illustrerer, at SaaS og browsere ikke nødvendigvis går hånd i hånd.
SaaS er teknologineutral
I den perfekte verden køber slutkunden en SaaS ydelse, men er sprøjtende ligeglad med hvordan den teknisk er implementeret - så længe den blot kan leveres "as a Service". Om det så er noget med fuldautomatisk download og installation af tykke klienter, eller det er pakket ind i tonsvis af DHTML og AJAX, er sådan set brugeren uvedkommende. Og der findes skam også en pæn slat SaaS produkter, der ikke kun kører i en browser, men som er (eller kan være) baseret på tykke klienter. Microsoft Exchange (med Outlook klienter) eller Microsoft Dynamics CRM 4.0 er glimrende eksempler herpå.
Mange fremtidsforskere og analytikere være ueninge i, at tiderne for "fede klienter" er slut. Det er der mange grunde til, men lad os nøjes med de vigtigste.
Hvem elsker browserapplikationerne?
Den høje succes for "browserapplikationer" skyldes ikke, at slutbrugerne elsker dem. De fleste slutbrugere vil tværtimod kunne fortælle, at både brugervenlighed, integration med øvrige applikationer, og helhedsoplevelsen som slutbruger er langt bedre på tykke klienter. Kærligheden til browserapplikationer er først og fremmest født af IT chefer der er angste for udrulning af klientsoftware, samt af popsmarte forretningskonsulenter der lige akkurat ved hvordan de skal vinkle deres salg over for IT chefen. Jeg er selv skyldig - så tag ikke dén kommentar som en personlig fornærmelse.
Slutbrugerne er i bedste fald ligeglade med om en applikation kører i en browser eller ej. I virkeligheden er de ofte kede af browserapplikationer. De er trætte af det primitive interface, trætte af at miste data som følge af mystiske "time-out fejl", og trætte af at skulle trykke "submit" for at gemme data som fuldstændigt åbenlyst ville kunne have været gemt automatisk hvis det havde været en rigtig klientapplikation man arbejdede med. Og de savner integration og sammenhæng med deres øvrige applikationer, hvilket enhver med teknisk indsigt vil vide er en temmelig stor barriere for browserapplikationer.
IT cheferne elsker browserapplikationer, evt. leveret som SaaS, fordi det gør deres egen hverdag nemmer. Ingen installation, og når noget ikke virker kan man næsten bede slutbrugerne om selv at ringe til udbyderen og klage. Men gør det også brugernes hverdag nemmere? Er en mere enkelt og effektiv udrulning af en applikation også det samme som en mere enkelt og effektiv hverdag for slutbrugerne? Eller spurgt på en anden måde: Er en nem udrulning for IT chefen nødvendigvis det forretningsmæssigt bedste for virksomheden og alle dens brugere?
Stenalderteknologi
Browserapplikationer er muligvis "ultra tynde" men paradoksalt nok er de netop derfor også meget "tunge" at arbejde med. Browserapplikationer har dybest set bombet innovation og applikationsdesign tilbage til stenalderen, hvad angår brugervenllighed. Trivielle ting som asynkron opdatering af skærmbilleder (f.eks. opnået ved hjælp af AJAX) er noget nyt i browsere, og det er udelukkende implementeret som lappeløsninger der skal SIMULERE hvad tykke klienter har kunnet gøre i årtier. Selv om teknologier som AJAX nu kan sætte en browserapplikation til at snakke en smule sammen med en server samtidig med brugeren fortsætter med andre ting, så er AJAX stadig kun en svag skygge af, hvad man kan opnå op en tyk klient. Andre ting der slet ikke fungerer ordentligt i browserapplikationer er trivialiteter som drag'n'drop eller integrationer på tværs af applikationer. I både MS Office og OpenOffice kan man ekstremt nemt indlejre data eller objekter i sine office dokumenter på tværs af applikationerne. Det er pærenemt at sætte Visio diagrammer eller Excel tabeller ind i Word, blot ved hjælp af simpelt cut'n'paste. Og nye grafer i Powerpoint tager kun 15 sekunder at bakse sammen - hvis de kommer fra et Excel regneark. Grafen opdaterer oven i købet sig selv i PowerPoint præsentationen hvis man ændrer sine data i Excel arket. Lige som Visio tegningen også gør det. Objekterne har med andre ord styr på hinandens indhold, og kan automatisk synkronisere indhold på tværs af mange objekter og mange dokumenter. Og alt dette er endda bare den nemme form for integration - lad os ikke starte på alt den lækre integration til eksterne 3. parts produkter som også nemt lader sig gøre med tykke klienter. Man KAN naturligvis opnå meget i en browserapplikation, men langt fra så meget som man kan i en tyk klient. På bundlinjen halter brugeroplevelsen temmelig meget bagefter i en browser, på nærmest alle fronter. Nåh, ja, og så er ydeevnen på de enkelte skærmbilleder i en webaplikation oftes aldeles hæslig, sammenlignet med "et rigtigt program".
Udviklingsressourcer
Udviklingsmæssigt er avancerede browserapplikationer ligeledes noget møg. I hvert fald i samme sekund man skal lave noget der er lidt mere avanceret end et forum-system eller en webmail klient. Avancerede programmer som f.eks. grafik/multimedieredigering eller tunge forretningssystemer til CRM/ERP kræver en ordentlig snitflade mellem den tekniske og den fysiske verden. Og med en tyk klient er det ikke et stort problem. Det er en triviel og meget lille opgave for en moderne PC at jonglere rundt med lokale data selv om de er på flere hundrede megabytes. En lokal forbindelse til en SQL database i kælderen kan uden tøven arbejde med et datasæt på 250.000 kunder. Og kontrolstrukturer der sikrer konsistente opdateringer af data og skærmbilleder, f.eks. ved hjælp af MVC (Model-View-Controller) er standard i ethvert klientbaseret udviklingsmiljø. I en browserverden kan man opnå det samme - vil nogen sikkert hævde - men i realiteten kun som en simuleret skygge af de muligheder man har på en rigtig klient. Korrekt opdatering af flere skærmbilleder (f.eks. 3 views) baseret på fælles data (f.eks. fordelt på 5 model-objekter der er forbundet) vil være et mareridt for de fleste webudviklere, mens det nærmest kommer ad sig selv når man udvikler en tyk(kere) klientapplikation. Og resultatet er simpelt: ressourceforbruget (i programmørtimer) er mange gange større for webapplikationer end for tykke klienter - især hvis brugeroplevelsen skal være bare nogen lunde sammenlignelig!
Fremtid og innovation
Vi er ikke færdige. Der er også lige killer-pointen over dem alle: HMI/MMI innovation ændrer verdensbilledet af IT, og den udvikling går langt hurtigere på tykke klienter/computere end på de ultra tynde. Eller sagt på en mindre teknisk måde: Den måde mennesker interagerer med computere på er i konstant udvikling og bliver hele tiden smartere og mere avanceret set fra et teknisk synspunkt. Der bruges oceaner af ressourcer på at udvikle nye brugergrænseflader (f.eks. Microsoft Surface) og nye præsentationsmuligheder (f.eks. 3D skærme, som reelt er en realistisk mulighed allerede nu).
Forskellen i udvikling er åbenlys for enhver der tænker over tingene bare et kort øjeblik. Mens man på browsersiden kalder opfindelser som AJAX for "en lille revolution", og muligheden for at adskille programtråde i en browser for "en stor revolution" (wow! Nu crasher faneblade kun eet ad gangen i stedet for hele browseren i tilfælde af fejl???), så løser disse nye "revolutioner" udelukkende nogle meget primitive problemer som de tykke klientapplikationer bogstaveligt talt har løst for mere end et årti siden! Innovationen i browserverdenen er styret af 100% efterslæb og catch-up, mens den for tykke klienter er fokuseret på nye brugeroplevelser og effektivisering af interaktionen mellem mennesker og maskiner.
Pointen med alt dette er ret simpel: man kan kun blive ved med at skifte "tykke klienter" ud med mindre-gode-browserapplikationer, så længe menneskers inertaktion med computere forbliver uændret, og så længe brugerne tolererer den forringede brugergrænseflade. Eller sagt på godt Dansk: så længe interaktionen mellem mennesker og computere forbliver på samme primitive niveau som nu. Men det er slet ikke hvad fremtiden ser ud til at bringe. Tværtimod. Som fremtiden ser ud lige nu, kan vi (heldigvis) se frem til langt bedre brugeroplevelser i fremtiden - drevet af computere med endnu tykkere klienter og behov for endnu mere datakraft end i dag. Den berømte "computerscene" fra Minority Report, med 3D interface og lynhurtig kontrol over en computer ved håndfagter i luften er teknologisk inden for rækkevidde ... dog næppe i en browser. Og i den mere jordnære ende skal vi nok heller ikke regne med at se hverken Microsoft Surface eller andre tilsvarende teknologier som "browserapplikationer".
Eksempler fra det virkelige liv
Det er mit postulat, at kærligheden til browsere og browserapplikationer nærmest udelukkende er drevet af forretningskonsulenter og skræmte CTO'er/IT chefer der ikke er deres udrulningsopgaver voksne. Eller som måske bare har brændt fingrende på en leverandør med et dårligt produkt. Og i begge tilfælde er det helt sikkert IKKE slutbrugernes behov der tilgodeses - brugeroplevelsen er i næsten alle tilfælde ringere i en browser. Vær nu ærlig omkring det. Og af samme grund er slutbrugerne på ingen måde imponerede af de mange browserapplikationer. De virker nogenlunde til de simple ting som G-mail og Hotmail, men ikke til de mere avancerede ting. Jeg har i hvert fald endnu ikke set salgschefer eller konsulenter proklamere, at nu ville de skifte deres rigtige Outlook klient ud med "Outlook Web Access". Selv IT chefen kan godt se, at det nok ikke ville være et krav han kunne overbevise slutbrugerne om, i udrulningens hellige navn. Det samme gør sig gældende for stort set resten af de applikationer der med et popsmart udtryk kaldes "produktivitetsapplikationer". Kontorprogrammer a'la Word, Excel, PowerPoint, Outlook, Visio, CRM systemer, ERP systemer, osv.
Billedet er ikke anderledes for non-Windows operativsystemer. På en Mac ville kun de færreste brugere fravælge de programmer der modsvarer Office pakken. På Linux er det ikke spor anderledes. Skulle jeg sidde med en Linux desktop til hverdag ville jeg f.eks. klart foretrække at bruge Evolution til min firmapost og mine kalenderaftaler, frem for "Outlook Web Access" med dens stærkt skrabede funktionalitet. Og valget af OpenOffice eller StarOffice over web-baserede regneark og præsentationsprogrammer ville være fuldstændigt indlysende for mig.
Næsen i skyen...
Visse ting giver mening at lægge "i skyen", og visse ting giver mening at levere/købe som SaaS. Men billedet lige nu, er, at det er nogle meget ensartede og specifikke ting der havner i disse to kategorier. Det er enten meget simple ting (f.eks. webmail eller kalendersystemer der kun skal bruges til simple privatlivs-opgaver) eller meget avancerede ting der kræver komplekse eller store serverinstallationer. Og under alle omstændigheder er det aldrig ting der kræver avanceret brugerinteraktion - med undtagelse af de tilfælde hvor de suppleres med en tyk klient!
Med alt dette siger jeg ikke, at browsere eller browserapplikationer ikke har en berettigelse. Det har de bestemt. Jeg er en glad bruger af både Chrome, IE7 og Firefox. De bruges hyppigt til min G-mail, Live Mail, og mange andre ting. Men jeg er meget langt fra at være SÅ forblændet af browserapplikationer, at jeg vil lade mig besnakke til de skal erstatte nærmest alt på min computer. Det er browsere overhovedet ikke gearede til. Og det er mit postulat at de heller aldrig vil blive det. I stedet halter de evig og altid bagefter.
De mest fremsynede tiltag i browsere kan så få nogle analytikere til at konkludere, at "webapplikationens interface kommer til at minde meget om det, man kender fra en lokalt installeret applikation" - men uden åbenbart samtidigt at spørge sig selv om, hvorfor man egentlig overhovedet vil det? Kan det være fordi en lokalt installeret applikation har en langt overlegen brugeroplevelse? Er den konstante bestræbelse på at ligne en lokalt installeret applikation ikke et uhyre kraftfuld bevis for, hvad det er brugerne helst vil have?
Det største suk fra den fede klient
Browsernes udvikling går mere og mere i retning af, at "komme op på niveau" med de ting man alligevel allerede kan i en almindelig klientapplikation. Det fornemmeste mål for en browserapplikation er, at komme til at ligne en ægte klientapplikation... uden at være det. Og med et ressourceforbrug der skriger til himlen. Gad vide hvornår folk begynder at spørge sig selv hvad formålet med det hele egentlig er?
Den tykke klient er langt fra i gang med sit sidste suk. Snarere sit største suk... i frustration over, at hype omkring webapplikationer, Cloud Computing og SaaS er blevet så afsporet, at ingen længere interesserer sig for hvordan man rent faktisk BRUGER alle de produkter og teknologier der er til debat. Begge platforme har deres styrker og svagheder. Indrøm det, accepter det, og tag stilling til det. Alt andet vil reducere et ellers vigtigt teknologivalg til en usagligt og religiøst slagsmål.
Og begynd så venligst snart at kaste lidt interesse tilbage til brugerne og deres oplevelse af software. De har fortjent bedre!
Kommentarer til blogindlæg