Kymmenen vuotta webiä tekemässä – mikä on muuttunut ja mikä ei?

Aika tarkalleen 10 vuotta sitten tänään aloitin ensimmäisessä alan työssäni. Päädyin sattumalta kesätöihin ja jäin sille tielleni. Vielä suurempi sattuma oli, että pääsin heti paikkaan ja seuraan, joka pystyi opettamaan paljon enemmän ja nopeammin kuin mikään koulu ainakaan tuohon aikaan. Se olikin hyvä, koska hädin tuskin osasin ohjelmoida jotain yksinkertaista Visual Basicilla ja HTML:ää osasin juuri ja juuri sen verran että olin saanut aikaan kehyksiä käyttävät kotskasivut.

Edelleenkään ei osata

Paljon on alalla muuttunut sitten. Tuolloin yksinkertaisiakin verkkopalveluprojekteja johdettiin kuin mittavia ja kankeita IT-projekteja oli totuttu vetämään. Tai sitten ei paljon ohjailtu, tehtiin vain mikä hyvältä tuntui, mikä saattoi joskus olla ihan järkevääkin. Rahaa kuitenkin poltettiin uskomattoman tyhmiin asioihin, näin jälkikäteen viisastellen.

Itse tekemisenkin osaaminen oli mitä oli. Valitettavasti osaaminen on edelleen mitä on, mutta on onneksi monelta osin silti kehittynyt. Edelleen ehkä isoin este hyvien verkkopalveluiden tekemisessä on se, että (visuaaliset) suunnittelijat eivät keskimäärin ymmärrä koodia ja ohjelmoijat ymmärtävät hyvin harvoin mitään verkkopalveluista. Pahimmillaan koko paketin vielä konseptoi totaalisen verkkoummikko mainosmies. Tämä lokeroituminen ei ole muuttunut juuri mihinkään ja on ehkä jopa pahentunut, osittain varmaan asioiden monimutkaistumisen takia. Ne, ketkä menevät tai ovat menneet tässä vastavirtaan, ovat tai tulevat olemaan voittajia.

Julkaisujärjestelmät kehittyneet yllättävän vähän

(Liian) monta julkaisujärjestelmää rakentaneena ihmetyttää, miten vähän nekin ovat tässä ajassa kehittyneet. Kankeita ja vaikeakäyttöisiä monstereita oli jo tuolloin ja niitä on edelleen, entistä pahempia suorastaan. Naapurin pojan heppoisia viritelmiä on nyt lukumääräisesti enemmän, mutta onneksi sentään ne ovat viime aikoina alkaneet karsiutua.

Uskon, että Ruby on Railsin kehittänyt David Heinemeier Hansson oli vuonna 2005 oikeassa, väittäessään että yleiskäyttöinen julkaisujärjestelmä on mahdoton unelma ja Railsin ja Djangon kaltaiset työkalut ovat ratkaisu. Yleiskäyttöisen julkaisujärjestelmän kuolemaa en silti ennusta. Vanhaan kirjoitukseen “The general-purpose CMS (pipe dreams, part II)” ei valitettavasti voi syvälinkittää ja sen olennainen linkkikin on rikki, joten vaikka nyt mennään vähän aiheesta ohi, niin tässä se kokonaisuudessaan. (Alkuperäinen juttu löytyy arkistosta etsimällä vaikka sanalla “CMS”.)

The general-purpose CMS (pipe dreams, part II)

As t approaches zero, people will realize that many types of software are non-sensical in their generalized form. I believe the time has come to mark a date in the not too distant future for celebrating the death of the general-purpose content management system.

In many ways, I believe it was always a pipe dream. Sort of like the high-level components that the industry has always sought. Or model-driven architecture/CASE tools. I believe all these fantasies can be summarized in a correlation of price and delusion:

The more expensive it is to create fresh software, the more appealing the mirage of generalization will appear.

And I think we’ve already seen the rise of its replacements for smaller segments of generalities. The blog is a much more specialized, much better alternative for a large group of problems that where previously considered content management. The same for the wiki.

We need even more narrow tools. While it’ll never reach zero, t is aiming enough in that direction to expose the fraud of ultimate generalization. So don’t accept the label of content. Nobody produces content. People write reviews, people write news, people write articles, people exhibits photos.

Try to realize, there is no content.

Toisaalta, ensimmäinen julkaisujärjestelmäni jostain vuodelta 2001 olisi edelleen ominaisuuksiensa puolesta ihan riittävä erittäin monelle saitille, jos vain syötteitä osaisi julkaista, eikä takuuvarmasti olisi vaikea käyttää. Paljon omia vanhoja visioitani on toteutumassa WordPressin seuraavassa 3.0-versiossa, joten ehkä toivoa myös ihmisille sopivilla, valmiiksi paketoiduilla julkaisujärjestelmillä on.

Tänään pilvipalveluilla kelvollisen verkkopalvelun tai -kaupan pieniin tarpeisiin ottaa käyttöön jopa ilman asiantuntijoitakin ja hassua kyllä lopputulos on usein monella tapaa paljon parempi kuin jos saman projektin menee tilaamaan isosta IT-talosta räätälityönä. 10 vuotta sitten lopputulos oli melkein poikkeuksetta susi ja GeoCitiesiä kummempia hostattuja palveluita ei tainnut juuri olla.

Liiketoiminta, jatkuva kehittäminen, optimointi ja analytiikka

Uusi liiketoiminta verkossa on kuin mikä tahansa muu uusi liiketoiminta: on erittäin vaikea nähdä ennalta, mikä toimii ja mikä ei. Siksi on kummallista katsella, kuinka lyhytnäköisesti verkkoliiketoimintaa usein kehitetään.

Alustaa valittaessa aliarvioidaan usein räätälöitävyyden merkitys. Kun tehdään oikeaa verkkoliiketoimintaa, on jokaisen pienenkin asian ketterällä säätämismahdollisuudella saavutettavissa todellista kilpailuetua. Homma ei ratkea niin, että kahden–kolmen vuoden päästä ostetaan toinen järjestelmä. Oikeasti räätälöitävät, mutta silti huimaa tuottavuutta tarjoavat sovellusalustat, kuten Django, Rails tai niiden lukemattomat jäljitelmät ovat tässäkin mielessä paljon nykyistä useammin oikea vastaus kuin monet julkaisujärjestelmät.

10 vuotta sitten täysin räätälöityjä saitteja tehtiin paljon nykyistä enemmän. Silloin yleisin virhe oli se, että kaikki tehtiin alusta asti itse, ja vieläpä moneen kertaan. Nyt yleisin virhe on se, että valmiiden tuotteiden liian pitkälle rajatut toimintatavat eivät jousta tarpeeksi, jotta pikkumuutokset olisivat tarvittavan kustannustehokkaita. Käyttäjät siis pannaan edelleen kärsimään, mutta eri syistä. 10 vuotta sitten tosin nuo ongelmat oli edes mahdollista korjata, mikäli asia tarpeeksi harmitti.

Optimointi alana on luonnollisesti sitten vuoden 2000 ottanut valtavia harppauksia, mutta outoa kyllä varsin harvassa ovat ne tahot, joilla optimointi tai analytiikan aito hyödyntäminen on oleellinen osa liiketoimintaa. Jopa ne tahot, jotka tekevät isoa liiketoimintaa verkossa Suomessa, tyytyvät seuraamaan lähinnä kokonaiskävijämääriä ja ovat vähän säätäneet etusivun titleään. Pitkälle ei valitettavasti ole päästy vuosituhannen alun GIF-hittimittareista ja avainsanaspämmistä.

Konseptit ja design

Verkkopalvelut ovat sisällöllisesti parhaimmillaan jotain ihan muuta kuin kymmenen vuoden takaiset meilläkin on verkkolehti -konseptit, mutta edelleenkin keskimäärin varsin ylhäältä alas tyhmälle kansalle -henkisiä. Sosiaalisesta tai yhteisöllisestä puolesta kyllä ollaan kiinnostuneita, mutta uskon, että lopullinen muutoksen aalto on vasta tulossa.

10 vuotta sitten muuta verkkoläsnäoloa ei ollut olemassakaan kuin oma saitti. Korkeintaan bannereita osattiin käyttää liikenteen ohjaamiseen. Tarve verkkopalvelulle tulee jatkossakin olemaan, mutta läsnäolo verkossa ei ole enää siitä kiinni ja on levittäytynyt paljon entistä laajemmalle.

Paljon on muuttunut myös web design. CSS:n yleistyminen on muuttanut niin sivujen koostoa kuin itse ulkoasujakin kahdeksan pikselin huonokontrastisesta fontista ja laatikkoleiskoista vapaampiin ja ilmavampiin tyylikkyyksiin.

Sivuja luettiin keskimäärin alitehoisilla koneilla, 800×600-resoluutiolla ja hitaalla modeemiyhteydellä. Kaikkialla läsnä olevasta Internetistä ei ollut tietoakaan, vaan sinne meneminen oli kokonaan oma rituaalinsa. Nämä tosiseikat oli liiankin helppo unohtaa, kun webiä tekevät eivät juuri kärsineet näistä rajoitteista ja tämä johti usein keskimääräiselle kävijälle lähes käyttökelvottomiin sivustoihin. Edelleen keskimääräinen yhteysnopeus unohdetaan, mutta ongelma on huomattavasti vähemmän dramaattinen.

Mennyttä

Noilta kymmenen vuoden takaisilta ajoilta kaipaan eniten sitä iloa, intoa ja ylpeyttä, mitä ala tuolloin itsestään löysi. Nyt tekeminen ei keskimäärin tunnu olevan enää niin hauskaa vaan paljon kaavamaisempaa ja virastomaisempaa. Rohkeaa yrittämistäkin onneksi on, mutta ryppyotsaisuutta on silti aivan liikaa.

Mutta mennyt aika ei palaa. On tämä intternet edelleen hienointa, mitä voisin kuvitella työkseni tekeväni.

Blogin esihistoria julki!

Siirryin tässä – lomalla kun on aikaa harrastaa – tuskaisen hitaasta Dreamhostista dedikoidulle serverille. Palvelin on ollut odottelemassa jo puoli vuotta, että olisi aikaa.

No, kun tein siirtoa, tulin tietenkin kaivelleeksi arkistoja. Löysin vanhan Blogger-blogini sisällön uudestaan ja toin sen tänne. Miksi en ollut niin jo tehnyt alun alkaen, jäi mysteeriksi. Kaipa sitä vanhoja kirjoituksia häpesi jostain ihmeen syystä. Mutta eihän kukaan ei ole guru syntyessään. Ja näin jälkikäteen kun noita lukee, niin ei niissä mitään erityisen noloa ole, jopa ihan viisaita ennustuksia on mukaan mahtunut.

Joitain ajan liikaa syömiä ja jo aikanaan mitättömiä juttuja kyllä poistin, mutta noin 90-prosenttisesti materiaali ajalta 24.4.2003-10.10.2004 on nyt tuotu – niiltä osin kun se on säilynyt. Sitä voi selailla vuosilinkeistä 2003 ja 2004, mutta poimitaanpa tähän joitain kohokohtia.

Tämän blogin aloitussanat lausuttiin 24.4.2003:

Tekisi mieli kehittää näitä sivuja vähän muutenkin, mutta kun olen niiiiin laiska. Joku blogi-tyyppinen ratkaisu voisi olla kyllä ihan jännä, mutta en viitsi aloittaa jos en ole ihan varma jaksavani viikkoa pidempään. Lienee viisasta.

Nuo sanat oli korjoitettu perinteisile kotskasivuille, mutta päivämäärän kanssa. Huolimatta tyypillisen positiivisesta asenteestani aloitin kuin aloitinkin blogin pitämisen. Ja sitä en ole katunut hetkeäkään.

Staattisten sivujen kanssa näpertely siirtyi uuteen ulottuvuuteen 12.9.2003, kun otin käyttöön Bloggerin. Se oli niin rajoittunut, ettei tarjonnut edes syötettä. Niinpä virittelin sellaisen manuaalisesti. (Ai mutta hetkinen, aivan sama ongelma vaivaa yhä tänä päivänä julkaistavia blogeja ja muita julkaisuja ja korjailen niitäkin manuaalisesti. Jotkut asiat eivät vain muutu.)


Vuosien 2003 ja 2004 teema oli ehdottomasti ASP.NET ja sen heikkouksista valittaminen:

31.7.2003: Kehitys kehittyy ja muita kliseitä

ASP.NET:n suurimpia ongelmia on mielestäni se, että väen väkisin erottamalla koodi ja markup toisistaan on saatu aikaan kasa puolivillaisia itse keksittyjä ”XHTML”-komentoja. Vaikka näillä muotoiluohjeilla päästäisiinkin riittävän siistiin lopputulokseen yrityksen sisäiseen käyttöön tarkoitettujen sovellusten tapauksessa (joissa ohjelmoija luo käyttöliittymän ulkoasun), niin yritysten välisessä tai kuluttujaviestinnässä vaatimustaso on toinen. Vaikka ASP.NET:n kontrollit olisivatkin aina säädettävissä haluttua ulkoasua vastaaviksi on tämä työ tehtävä täysin uudella, epästandardilla tavalla. Webdesignerit, www-suunnittelijat, HTML-koodaajat – miksi heitä kutsutaankaan – eivät halua, eikä heidän pidä joutua opettelemaan uutta kuvauskieltä.

17.12.2003: Mikä ASP.Netissä on vikana

Selvästi sekä kysyjä että vastaaja ovat ymmärtäneet väärin koko webin toiminnan. Tilattoman webin pakonomainen muokkaaminen toimimaan kuin VB:n lomakkeet johtaa vain lukukelvottomaan, tehottomaan ja typerään koodiin.

13.1.2004: Pari linkkiä ja huono otsikko

Ikävä vain, että ASP.NETin HttpHandlerit on kytkettävä johonkin tiedostopäätteeseen. Käyttäjälle voi tulla yllätyksenä, että www-palvelin väittää kansion /sivut/yritys/ puuttuvan kokonaan, vaikka /sivut/yritys/johto.html kiltisti yrityksen johtoa esittelikin. Tämän voi kiertää vain ostamalla tai vääntämällä oman ISAPI-filtterin.

14.1.2004: Tyylitöntä koodausta

Microsoftin ASP.NET-tiimi on keksinyt taas yhden pyörän uudestaan kehittäessään teematukea tulevaan ASP.NETin 2.0-versioon.

2.8.2004: Code inline vai code behind?

Toinen Code Behind -mallin käytön perustelu on tuottavuuden lisääntyminen. Se saavutetaan muka sillä, että web designer ja ohjelmoija voivat työskennellä saman sivun parissa toisiaan häiritsemättä. Saavutettava hyöty on todellisuudessa minimaalinen…

22.9.2004: Vaikeat verkkosovellukset

ASP.NET:in kiero Web Forms -malli koettaa piilottaa webin todellisen olemuksen käväisemällä palvelimella joka välissä. Ajatus on nokkela, mutta tuloksena on ongelmia, joita olen monta kertaa jo käsitellyt.

10.10.2004: Standardien seuraamisen vaikeus

Kyseessä on ehkä pahin koko ASP.NETin yksittäinen suunnitteluvirhe, jo pelkällä nimellään kauhua herättävä javascript:__doPostBack(), joka muuttaa linkin lomakkeen lähettäväksi javascriptiksi. Paitsi ettei linkki ole missään vaiheessa linkki. En tiedä, kuinka ASP.NETin arkkitehdit osasivat perustella tuon kammotuksen tarpeellisuuden.

Kaiken tuon valituksen jälkeen en ole viime vuosina aiheesta enää juuri kirjoitellut. Mutta mikä mielenkiintoisinta: nehän ovat ihanan valideja valituksen aiheita yhä tänäkin päivänä. Taisin kuitenkin noina vuosina muutaman kerran sortua narisemaan jo aiheen vierestäkin.


Muita noilta ajoilta mieleen jääneitä kirjoituksia on ehdottomasti Suutarin lasten kengät. Kirjoituksessa arvioin pienen tutkimustyöni tuloksien perusteella suomalaisten uusmediayritysten web-sivujen teknistä laatua. Kuten sinne juuri lisäsin:

Kun tämä kirjoitus julkaistiin, joku tulistui siitä niin paljon, että perusti oikein kokonaisen, anonyymin blogin Bloggeriin, jossa haukkui minut maanrakoon. Blogia ei ole enää olemassa, enkä muista sen sisällöstä juuri mitään. Pelastin alla olevan kommentin, josta käy jotain ilmi.

Ah, niitä aikoja!

Internet Explorer 6:n nykytilanteen ennustin jo 2003:

Kummallinen juttu on, ettei selvästi selainmarkkinoilla merkittävämpää Windows-IE:n kehitystyön lopettamisilmoitusta ole uutisoitu. Seuraava IE-versiohan tulee vasta noin kahden vuoden päästä julkaistavan Windows Longhorn-version myötä, entistä tiiviimmin käyttöjärjestelmään integroituneena. Version 6.0 nimittäminen tuoreeksi on kummallista, sillä tuo versio on jo kaksi vuotta vanha, Internetin ajassa huomattavan pitkä aika. Tämä tarkoittaa, että vuoden, kahden päästä on IE:stä muodostunut samanlainen painolasti kuin Netscapen 4-sarjan selaimista nykyään.

Kunpa olisinkin ollut väärässä tässä asiassa!

Vihaisen nuoren miehen pohjattomalla kiukulla tuli muutaman kerran haukuttua muiden tekemisiä kohtuuttoman kovin sanoin:

Onhan se hienoa, että heikompikin VB-ohjelmoija osaa ihan itse tehdä sivutuksen, kun Microsoft on sen valmiiksi koodannut DataGridiin. Tiedoksi vain, ettei webissä ei ole mitään kiinteämittaisia lomakkeita, jotka on pakko saada ruudulle mahtumaan, vaan sivuja voidaan tarvittaessa vierittää.

Hassua kyllä, tuossa kirjoituksessa haukuttu saitti on edelleen pystyssä ilmeisesti ihan sellaisenaan.


Hämmentävän mielenkiintoinen seikkailu sukeltaa noin vanhoihin kirjoituksiin ja todeta niiden olevan vielä ihan järjellistä luettavaa. Voi kyllä olla, että nostalgia tekee temppunsa vain minuun eikä lukijoihin.

Jäähyväiset Pirkka.fi:lle

PirkkaPirkka.fi saavutti mukavan pyöreän merkkipaaluluvun jouluviikolla: 100 000 eri kävijää. Lukuja jännitettiin aattoiltaan asti.

Viikko oli hieno päätös hienolle palvelulle. Reilu puolitoista vuotta sitten julkaistu sivusto nimittäin lakkaa nykymuodossaan olemasta näinä päivinä.

Samalla katoaa pala suomalaisen webin historiaa.

Pirkka.fi oli ensimmäinen merkittävä suomalainen verkkopalvelu, jossa käytettiin blogimaista ilmaisua, toteutettiin valkohattuista hakukoneoptimointia ja kirjoitettiin Googlelle, käytettiin nykyaikaista CSS-taittoa, huomioitiin saavutettavuuden perusasiat ja kaiken lisäksi koko sivusto oli ainakin pääosin validia merkkausta.

Siinä lista, johon harva pystyy vielä tänäkään päivänä.

Lisäys 2.1.2007: Petteri Kynämies-blogissa: Pirkka.fi: 100 000 rikki ja haikeat jäähyväiset (Linkki poistettu toimimattomana 3.8.2010)