Henrik Björklund

Ajatuksia työstä ja verkosta

Web-sovellukset toimivat edelleen paremmin ilman selainta

Kirjoitin vuonna 2008 tekstin otsikolla Web-sovellukset toimivat paremmin ilman selainta.

Olin silloin juuri tajunnut, miksi selaimen välilehdet ovat oikeastaan aika kehno käyttöliittymä sovellusten käyttämiseen. Satunnaiseen sivujen lukemiseen ne sopivat mainiosti. Siihen selain on tehty. Mutta kun Gmail, kalenteri, projektinhallinta, kirjoitustyökalu, syötteenlukija ja muut jatkuvasti käytössä olevat työkalut kaikki asuvat samassa välilehtiviidakossa, käyttöliittymä alkaa hajota käsiin.

Tai ehkä paremminkin päähän.

Tuossa vanhassa tekstissä on kohta, joka huvitti nyt erityisesti:

Ehkä ongelman ratkaisisi jos www-sovellus voisi kommunikoida selaimelle olevansa sovellus.

En nyt sano, että minun olisi pitänyt hakea patenttia ja jäädä eläkkeelle. Mutta vähän tekee mieli sanoa.

Ajatushan on käytännössä se, mitä myöhemmin alettiin standardoida Web App Manifestina. Ensimmäinen W3C:n julkinen luonnos manifestista julkaistiin joulukuussa 2013, yli viisi vuotta alkuperäisen kirjoitukseni jälkeen. Manifestin idea oli antaa kehittäjille keskitetty paikka kertoa selaimelle web-sovelluksen nimi, ikonit ja URL, josta sovellus käynnistyy. Toisin sanoen: web-sovellus voisi kommunikoida selaimelle olevansa sovellus. Juuri se asia, jonka olin kirjoittanut vähän kömpelönä sivulauseena vuonna 2008.

Toki maailma ratkaisi ongelmaa välillä muutenkin. Moni web-sovellus sai kunnollisen natiivisovelluksen. Slack, Teams, Notion, Spotify, Figma ja monet muut muuttivat selainvälilehden työpöydän kuvakkeeksi. Usein ne olivat oikeasti vain paketoituja verkkosovelluksia, mutta sillä ei käyttäjän kannalta ollut niin paljon väliä. Ne sai Dockiin. Niihin pystyi vaihtamaan Cmd+Tabilla. Ne eivät kadonneet välilehtien hautausmaalle.

Ongelma helpotti.

Sitten se paheni uudelleen.

Nyt työpäivä ei ole enää vain muutama vakituinen web-sovellus. Se on Google Docs -dokumentteja, Stripe-dashboardeja, WordPress-adminin eri näkymiä, GitHub-issueita, Linear-projekteja, ChatGPT-keskusteluja, kalenterin eri ikkunoita, analytiikkaa, pankkia, laskutusta, asiakkaan staging-sivustoa ja “tämä yksi sivu, jota tarvitsen vielä kohta”.

Selaimesta tuli taas työpöytä käyttöjärjestelmän sisällä. Huonommalla ikkunanhallinnalla.

Tämä tuli mieleen, kun viimein kokeilin Safarin Add to Dock -ominaisuutta. MacOS Sonomasta ja saman vuoden 2023 iOS:sta lähtien minkä tahansa sivuston voi lisätä Dockiin tai puhelimen home screenille omaksi web appikseen. Apple sanoo tämän aika suoraan: mikä tahansa verkkosivusto voi olla web app, ja se toimii erillään tavallisesta selailusta. Jos sivusto haluaa hienosäätää käytöstä, se voi tehdä sen Web App Manifestilla. Manifestilla voi esimerkiksi määrittää sovelluksen nimen, käynnistysosoitteen, ikkunan näyttötilan ja sen, mitkä linkit pysyvät sovelluksen sisällä.

Tämä ei ole täydellinen ratkaisu. Kaikki web-sovellukset eivät käyttäydy kauniisti omissa ikkunoissaan. Kirjautumiset, linkit, OAuth-polut ja selaimen laajennukset voivat edelleen tehdä outoja asioita. Ja välillä tuntuu vähän absurdilta tehdä “sovellus” sivusta, joka ei itse tiedä olevansa sovellus.

Mutta juuri siksi tämä on kiinnostavaa. Safari tekee käyttöjärjestelmätasolla sen, mitä Fluid ja Prism aikanaan yrittivät kiertoteitse. Se antaa käyttäjälle mahdollisuuden sanoa: tämä ei ole minulle vain välilehti. Tämä on työväline.

Ja parhaassa tapauksessa sivusto osaa vastata: kyllä, olen samaa mieltä.

Olen viime aikoina huomannut taas tarvitsevani tätä jakoa. Selain on selaamista varten. Web-sovellukset ovat työtä varten. Jos kaikki on samassa selainikkunassa, mikään ei tunnu olevan missään. Dockissa oleva erillinen ikkuna ei tee sovelluksesta teknisesti natiivisovellusta, mutta se tekee siitä mielessäni natiivimman. Se saa paikan. Sillä on nimi. Se löytyy.

Ehkä tässä on jotain huvittavan vanhanaikaista. Vuonna 2008 halusin pois välilehdistä työpöytäsovelluksiin. Sitten maailma toi web-sovellukset takaisin työpöydälle Electronilla, PWA:illa ja kaikenlaisilla paketeilla. Nyt olen taas Safarissa tekemässä nettisivuista sovelluksia.

Eniten tässä huvittaa silti se, että vanha blogikirjoitus oli oikeastaan aika oikeassa. Ei siksi, että ratkaisu olisi ollut juuri Fluid, Prism tai mikään sen ajan viritys. Vaan siksi, että havainto oli oikea: web-sivun lukeminen ja web-sovelluksen käyttäminen ovat eri asioita.

Selain ei ole huono käyttöliittymä. Se on erinomainen käyttöliittymä selaamiseen.

Mutta web-sovellukset toimivat edelleen paremmin ilman selainta.

Henrik Björklund

Kun kaipaat näkemystä

Toteutan poikkeuksellisia verkkopalveluita vaativille organisaatioille.

Suunnittelu, WordPress, integraatiot ja käytännölliset verkkopalvelut ilman ylimääräistä teatteria.