2004-07-28

Varo ovea

Re: Unnecessary lawsuit over glass door.

Vaikka yhdysvaltalainen oikeuskäytäntö ja sen hyväksikäyttäjät eivät ole kovin korkealla arvoasteikollani, näytetään niiden haukkumisessakin menevän joskus yli. Täysin kirkkaat lasiovet ovat vaarallisia, eivätkä sovellu julkisille paikoille, koteihin tai yleensäkään minnekään missä ihmiset liikkuvat kiireessä pelkkä läpikulku mielessä.

Esimerkkinä siitä miten asia pitäisi hoitaa, InterCity-junissa on oviin vedetty koko oven korkeuden kattava geometrinen kuvio teipillä. Yksinkertaista mutta tehokasta. Seuraava linkki taas ei liity asiaan mitenkään muuten kuin läpinäkyvyyden osalta, mutta Suomeenkin pitäisi ehdottomasti saada julkinen vessa peililasista.

2004-07-27

Tervepä terve, KappAhl

"Tervetuloa eVIP-palveluun toivottaa KappAhlin koko henkilökunta"

Tuli välittömästi melkein vastustamaton halu käydä kiittämässä jotain KappAhlin työntekijää asiasta henkilökohtaisesti. Aivan uteliaisuuttani haluaisin nähdä reaktion, todennäköisesti hämmennyksen. Mikäli tietäisin työnantajani lopettavan viestinsä vastaavalla tavalla, kävisin valittamassa asiasta. Vaikka luonnollisesti toivotankin asiakkaan tervetulleeksi mikäli sitä pyydetään, on toivotus silloin yrityksen puolesta. Mielestäni sopivampia lopetuksia olisivat siis:

"Tervetuloa eVIP-palveluun toivottaa KappAhl", eli toivottajana on yritys kokonaisuutena. Tietyn yksilöön haluun toivottaa viestin vastaanottaja tervetulleeksi ei kiinnitetä huomiota.

"Toivotan sinut tervetulleeksi koko henkilökuntamme puolesta", tosin vain siinä tapauksessa että viesti sisältää allekirjoituksen ja vastausosoitteen. Ero on pieni, mutta "puolesta" riittää kertomaan ettei asiaa ole kysytty jokaiselta henkilökunnan jäseneltä erikseen.

Tietenkin on mahdollista että jokin työsopimuksen kohta edellyttää kaikkien eVIP-asiakkaiden tai työnantajan määräämien henkilöiden toivottamista tervetulleiksi (siis hengessä, ei välttämättä tekona), mutta pidän tätä hyvin epätodennäköisenä. Tai sitten voisin vain heittää viestin arkistoon ja lakata miettimästä asiaa, onhan todennäköistä että viestin kirjoitti ohjelmoija viidessä minuutin koodauksen lomassa.

Takaperoisia ajatuksia

Useammassakin blogissa on ollut juttua yhdysvaltalaisen TV-kanava HBO:n suht uudesta Deadwood-sarjasta. Aina juttuja lukiessani kokoan mielessäni seuraavan tiivistelmän: "Vähän niinkuin Firefly, mutta sijoittuu 1800-luvun Yhdysvaltoihin. Jännä idea."

Varmuuden vuoksi joudun varmaan hankkimaan Tampereelle jonkinlaisen minijääkaapin. Tänään näin erään kodikoneliikkeen edessä pienen käytetyn jääkaapin, kuitenkin liian ison tarpeisiini. Ajattelin luonnollisesti: "En minä nyt minikoneen kokoista jääkaappia tarvitse!" Tämä siitäkin huolimatta etten koskaan ole nähnyt yhtään minikonetta luonnossa saati sitten tehnyt töitä sellaisella.

2004-07-25

Ai ai ai

Re: Project GnoME.

En tiedä pitäisikö tälle itkeä vai nauraa. Nähtävästi joku haluaa repiä pois kaikki GNOME-työpöytäympäristöön tehdyt luonnollista ja tehokasta vuorovaikutusta edistävät parannukset, tehden työpöydästä halvan Windows-kopion, ja liimata lopuksi päälle Mac OS X -tasoisen teeman. Harvemmin näen käytettävyyttä koskevia parannuslistoja joiden kanssa olen yhtä mieltä korkeintaan parista kohdasta.

Koska kyseessä on open source -projekti, saavat he tietenkin pitää yllä omaa versiotaan eli forkiaan. Toivottavasti kuitenkaan GNOME:n ydintiimi suhtautuu listaan asiaankuuluvalla huvittuneisuudella.

2004-07-24

Askeleita opiskelijaelämään

En osannut lainkaan arvata, kuinka vaikeaa valintojen tekeminen yliopistossa oikein on. Pitää nähtävästi yhdistää tiedot neljästä lähteestä, päätellä mitkä epäloogiset ja -yhtenäiset kurssien nimet kuuluvat yhteen ja heittää loput arvauksella. Eikö ekavuotisille opiskelijoille voisi vaikka tehdä listan niistä kursseista jotka todennäköisesti opiskellaan ensimmäisen vuoden aikana?

Olin niin onnekas että sain asunnon TOAS:silta alle viikossa. Satuin kai jättämään hakemuksen juuri oikeaan väliin. Kokoa ei ole liikaa, 12 m2 sisältäen vessan, mutta eipä toisaalta vuokraakaan. Kun vain muistaisi olla nukahtamatta lattiakaivon päälle...

2004-07-23

Pikakoe: Sennheiser PC 155 USB

Onneksi edes vaihteeksi on jotain positiivista sanottavaa ostoksistani. Vaikka Sennheiser PC 155 USB ei saakaan minulta aivan puhtaita papereita, on se kuitenkin multimedia headset -ryhmän eli kuulokkeiden ja mikrofonin yhdistelmien parhaimmistoa. Speksit löytyvät linkittämältäni sivulta ja tällaista minulla on niihin täydennettäväksi:

+ Aluksi pidin johtokelaa tarpeettomana, mutta johtoa on mukana tosiaankin paljon ja vyöklipsin ansiosta kela roikkuu luontevasti housuntaskun kulmassa.
+ Johtokelan ja paitakiinnikkeen voi halutessaan irrottaa.
- Palikoita johdossa on kuitenkin aivan liikaa. Varsinkin kaksi palikkaa ja paksun mustan johdon sisältävä USB-adapteriosuus riitelee pahasti PowerBookin ja Apple-tuotteiden eleganssin kanssa.
- Äänenvoimakkuussäätimen ja mikrofonin sulkukytkimen olisi mielummin voinut integroida itse kuulokkeisiin.

+ Äänenlaatu on erinomainen tämän luokan kuulokkeille. Oikeastaan olen niin tyytyväinen että saatan lähitulevaisuudessa tilata oikeat hifi-kuulokkeet Sennheiseriltä.
- Valitettavasti mukavuus ja työn laatu eivät ole äänenlaadun tasolla. Panta on muovisen oloinen enkä saa sitä istumaan päähän mukavasti. Korvapehmusteet ovat omituista karvapintaa eivätkä leatherettea ja ne painavat korvaa silmälasien sankoja vasten.
- Luvattua ulkoisten äänien vaimenemista ei valitettavasti tapahdu paljoa lainkaan.

+ Asennus onnistui heittämällä. USB-johto kiinni koneeseen ja laitteet tulivat heti näkyviin audioasetuksiin.
+ Mikrofoni liikkuu pehmeästi mutta pysyy silti asennossaan. Sen voi kääntää täysin pystyyn, jolloin sitä ei huomaakaan.

Hintaa vikineelle kertyi noin 135 euroa plus noin 10 euron postikulut koska maksoin postiennakolla, ostopaikkana Verkkokauppa.com.

2004-07-22

Kyseenalaista markkinointia

Re: Sonera mainostaa Internetissä ruohonjuuritasolla?

Nähtävästi jotain Soneran ja Sonyn yhteishanketta on mainostettu spammaamalla suomalaisten sivustojen vieraskirjoja. "Kampanja" on nyt keskeytetty ja Sonyn mukaan alkuperäinen päätös oli markkinointiyhtiön harteilla. Soneralta ei vielä ole kuulunut lausuntoa. Toivottavasti kyseinen "markkinointiyhtiö" ei enää jatkossa ole kummankaan yrityksen palkkalistoilla.

Hyvä puoli tässä asiassa oli että se tutustutti minut Sektori.com:iin, jota kai voisi myös "Suomen Slashdotiksi" kutsua. Meni välittömästi päivittäin luettavien listaan.

2004-07-21

Saatanan tunarit

Toteutuksestaan kovasti kiitosta saaneen Xbox-pelin Buffy The Vampire Slayer eräänlaisen jatko-osan Chaos Bleeds kehittikin Sierra eikä The Collective. Tunnelmallisten tummansävyisten ympäristöjen sijasta tarjolla on tällä kertaa karamellivärejä. Sulava animaatio niin välipätkissä kuin taisteluissa on muuttunut tönköksi tusinatavaraksi. Alle viidessä minuutissa karu totuus iski minuun, eihän tämä ole jatko-osa vaan kokonaan eri peli, täysin ala-arvoisilla grafiikoilla ja moottorilla! Kiitos vain, Fox Interactive!

Onni onnettomuudessa oli että ostin pelin käytettynä. Mikäli olisin sarjan fani ja olisin tuhlannut 60 euroa tällaiseen — no, taidan pitää jotain tasoa yllä ja olla sanomatta täsmälleen mihin — tusinatuotettuun tekeleeseen, vannoisin pyhän valan olla ostamatta enää ainuttakaan DVD:tä tai peliä tai ties mitä muuta oheiskrääsää Foxin laskelmoivat idiootit ovat keksineet markkinoille syytää. Mutta koska en noita aikonut ostaa alunpitäenkään, ei tälle taida olla tarvetta.

2004-07-19

Hölmöä sponsorointia

Käykääpä tällä HowStuffWorksin sivulla CargoLifteristä. Sivun alareunasta löytyy valikko otsikolla Table of Contents. Listan viimeinen linkki on aika kiintoisa. Samaa lajia olevia kömmähdyksiä sattuu usein hakupalveluissa, joissa saattaa olla tarjolla Premium Quality Jukka Korpela At Best Prices! ynnä muita hölmöjä sponsorilinkkejä.

Tuo on vielä aika harmitonta. Sen sijaan näin jossain blogissa, jota en valitettavasti Googlella enää löytänyt, ruudunkaappauksen erään australialaisen sanomalehden verkkosivulta. Automaattisesti sisältöön "sopivia" mainoksia tarjoava skripti yhdisti isolla tekstillä Burn, baby, burn! varustetun Plextorin CD-RW -mainoksen uutiseen vauvan kuolemaan johtaneesta tulipalosta.

2004-07-18

Tehtävä vs. tavoite

Sain tänään loppuun kirjan The Inmates Are Running the Asylum (Alan Cooper). Ehkä tuo "loppuun saaminen" kuulostaa vähän turhan työläältä, sillä kirja oli aivan sujuva luettava. Hieman tosin meinasi ärsyttää Cooperin saarnaava, itseään toistava ilmaisu muutamissa kohdissa.

Kirja on ehdottamasti mitään verkosta löytyvää aineistoa tehokkaampi kuvaus persona-esimerkkien hyödyntämisestä suunnittelussa. Toinen mielestäni tärkeä anti on tehtävien (task) ja tavoitteiden (goal) erojen selvittäminen. Olen jo jonkin aikaa elätellyt epäluuloja tehtäväpohjaisia käyttöliittymiä kohtaan ja kirja antoi minulle tarpeellisiä välineitä tämän epäluulon artikulointiin.

2004-07-17

Safaria ja lakua

Re: WYSIWYG Editor updates!

Sain Bloggerista viestin jossa luvattiin Safari-ongelmien tulleen korjatuksi. Kokeilen siis nyt uudelleen JavaScriptin kanssa postaamista ja toivon että tämä tulee läpi. Toivottavasti aikanaan WYSIWYG-editorin toiminta laajennetaan myös Safariin. Itse sitä tuskin käyttäisin, mutta kannatan Safarin täydellistä tukemista Applen markkinakelpoisuuden parantamiseksi.

Sanan meemi käyttäminen blogimaailman kiertokirjeistä ärsyttää minua suunnattomasti. Vika saattaa olla siinä että miellän termin liian suppeaksi. Mielestäni meemi-termin käyttö kiertokirjeestä on meemi, kuten myös kirjeiden kierrättäminen, mutta itse kiertokirje ei ole meemi.

Tästä riippumatta, sain viimeviikolla pahan meemitartunnan, myös oman määritelmäni mukaan. Ensialtistuksen jälkeen en ymmärtänyt mennä sänkyyn lepäämään, vaan jäin ulos sateeseen ja kävelin lätäköissä. Tänään sitten CityMarketin kassajonossa tarttui mukaani +10% enemmän herkullista lakua.

Kiitokset Mintulle siitä että hän on vihdoinkin alkanut käyttää pysyviä linkkejä muihin blogeihin viitatessaan.

2004-07-16

Blogger bugittaa

Jostain syystä Safaria käyttäessäni en pysty postaamaan mitään, näkyviin tulee pelkkä otsikko. Kun laitan JavaScriptin pois päältä alkaa postaaminen onnistua, mutta en pysty muokkaamaan postauksia. Laitoin vikailmoituksen menemään, saa nähdä kuinka pian saavat korjattua asian. Nähtästi jotain päivityksiä tänne on tehty, sillä Create New Post -sivu vaikutti hieman erilaiselta.

Arvattavat osoitteet kunniaan

Ystävällinen osoite eli Friendly URL on helposti luettava ja mahdollisesti myös muistettava URL-osoite. Ihminen ymmärtää ystävällisen osoitteen luettuaan mistä siinä on kysymys. Esimerkiksi Bloggerin nykyisin tekemät linkit postauksit ovat luonteeltaan ystävällisiä:

http://tarpeet-on.blogspot.com/2004/07/viikonloppu-finnconissa.html

Mutta mitä ovat arvattavat osoitteet? Niin helppolukuinen kuin osoite yllä onkin, olisi se aika vaikea arvata. Sen sijaan seuraavat olisivat mielestäni arvattavia vaihtoehtoja:

http://tarpeet-on.blogspot.com/viikonloppu-finnconissa
http://tarpeet-on.blogspot.com/finncon


Mikäli pitäisin tätä blogia omalla palvelimellani, voisin Apachen mod_rewrite-laajennosta käyttäen ohjata mainitsemani osoitteet sopivaan hakuskriptiin, joka voisi tarjota suoraan otsikkoa vastaavan sivun tai listan sanan mainitsevista postauksista.

Käytännössä arvattavia URL:ejä soveltaa mielestäni parhaiten PHP.net. Esimerkiksi seuraava osoite:

http://php.net/strip_tags

Ohjautuu suoraan kyseisen funktion ohjesivulle. Lisää tietoja löytyy sivuston URL Howto -sivulta.

2004-07-14

Pienten mukavuuksien paluu

On aika jättää kuvien kaltaiset sivuseikat mielen taka-alalla muhimaan ja tarkastella Finncon-matkaa HCI-alan näkökulmasta. Kuuntelemissani puheissa ei edes sivuttu käytettävyyttä, sen sijaan vessat tarjosivat tärkeän oppitunnin. Erilaisista lukitusjärjestelyistä ja niiden ongelmista on puhuttu tarkemmin. Mietin itsekin alkuvuodesta parempaa ratkaisua.

Olen yhä sitä mieltä että punainen varausmerkki oven ulkopuolella olisi erittäin tervetullut. Sen sijaan Pieksämäen rautatieasemalla oli oven sisäpuoli ratkaistu yksinkertaisella ja tehokkaalla tavalla. Salvalla. Mutta täsmälleen miksi salpa on nappeja ja vipuja parempi ratkaisu?

- Toimintaperiaate on suoraan näkyvissä ja intuitiivisesti ymmärrettävissä.
- Mekaaninen ja vankka rakenne lisää turvallisuuden tunnetta.
- Lukon käyttäminen ei edellytä pienten symbolien tai tekstin tulkitsemista.
- Lukon toimivuudesta voi varmistua ovea kokeilemalla.
- Lukossa ei ole mitään kulttuurisidonnaisia elementtejä.

Ongelmana näkisin salvan vaatiman hienomanipulaation. Tästä päästään eroon tekemällä mekanismista riittävän suurikokoinen ja mahdollisesti myös sähkötoiminen. Mikäli ovi aukeaa sivulle liukumalla on säppi toinen mahdollisuus. Tai osan sisäseinästä voisi korvata läpinäkyvällä muovilla, jolloin lukitushakasten toimintaa voisi suoraan seurata. Joka tapauksessa oven vetämistä auki ja lukituksen poistamista ei tulisi yhdistää samaan elementtiin.

Lievä pettymys

Agh. Kuvat ovat nyt edessäni ja täytyy tunnustaa ettei kovin moni ole julkaisukelpoinen. Saan syyttää asiasta vain ja ainoastaan itseäni. Jätin valmistelut viime tippaan ja lisäksi tapahtuma osoittautui niin kiinnostavaksi etten kiinnittänyt taiteellisiin seikkoihin tarpeeksi huomiota. Ehkä vain viisi, korkeintaan kymmenen kuvaa ovat sellaisia että viitsin ne skannauttaa.

Tässä hieman tarkempi lista niistä virheistäni, joista muutkin voivat oppia:

1. En tutustunut paikkaan ja odotettuun säähän etukäteen. Vuoden 2003 Finncon pidettiin Turun yliopistolla. Tilava sisäpiha sisälsi paljon nurmikkoa, puita ja katoksia. Paljon mukavan varjoisia kuvauspaikkoja. Oli aurinkoista ja ihmiset viettävät paljon aikaa pihalla käyskennellen. Jyväskylässä sen sijaan oli paljon ankeampi piha, mikä yhdessä viileän sään kanssa teki ihmisten kuvaamisesta ulkona vaikeampaa.

2. Edellinen johti myös vääriin filmivalintoihin. Olin varannut mukaan lähinnä Kodak Portra 400UC:tä, joka ei soveltunut lainkaan sisäkuviin ilman salamaa. Minun olisi pitänyt käyttää helposti korjattavaa Fuji Press 800:sta sopivan suotimen kanssa tai Kodak Portra BW400CN:ää, jolloin väritasopainosta ei olisi tarvinnut huolehtia.

3. Otin liian paljon näppäilykuvia, en miettinyt rajausta, valaistusta ja hetkeä tarpeeksi analyyttisesti. Täytesalama olisi pelastanut useammankin kuvan. En vain satu pitämään salamakuvauksesta kovin paljoa ja siksi unohdan salaman silloinkin kun se olisi tarpeen.

4. Minun olisi pitänyt hankkia tarkennuksen apuvalon sisältävä ulkoinen salama tai piilolinssit käsitarkennusta varten. Koska en onnistu käsitarkennuksessa silmälasien kanssa, jouduin enimmäkseen luottamaan automaattitarkennukseen. Saleissa oli usein niin hämärää, ettei Canon EOS 33 selviytynyt tilanteesta.

Mitä sitten tein oikein? Tein muistiinpanoja kuvien ottamisen lomassa, joista valitettavasti nyt tulikin itse kuvia kiinnostavampia. Skannaan kuitenkin aikanaan onnistuneet otokset ja punon muistiinpanoista jonkinlaisen punaisen langan niiden väliin. Ja 2006 on aika yrittää uudelleen.

2004-07-12

Seuraavan kerran 2006

Oli taas sellaista lomailua, että tuntuisi sopivalta varata pari päivää rasituksista toipumiseen. Lomapäivinä vietin varmaan enemmän aikaa junassa ja autossa kuin nukkuen. Eipä siten että nuo ehdottomasti sulkisivat toisiaan pois, mutta vaihtoja oli taas kerran aivan liikaa.

Ehdin nipin napin jättämään Finncon-filmit valokuvausliikkeeseen. Saa sitten nähdä kuinka monta onnistunutta kuvaa tulee, sillä kuvaustilanteet olivat minulle aika uusia. Muistikirjassani on kaikenlaisia tiedonpalasia kuvien ympäriltä, saa nähdä että jaksanko kirjoittaa pitkän ja koherentin jutun vai teenkö vain reilut kuvatekstit. Pitääpä samalla alkaa etsiä muitakin Finncon-gallerioita, sillä paikalla oli aika monta valokuvausharrastajaa.

Ensi vuonna ei näköjään Finnconia olekaan, vaan seuraavan kerran tapahtumasta saa nauttia 2006 Helsingissä. Siihen mennessä olen varmaan itsekin hankkinut digikameran, ja ehkä jo nytkin kauan odotettu Canon EOS 10D:n seuraaja on vihdoin ilmestynyt.

2004-07-09

Viikonloppu Finnconissa

Huomenna suuntaan katseeni kohti Jyväskylää ja kesän 2004 Finnconia. Tänä vuonna otan mukaan myös kameran. Jos tarpeeksi hyviä kuvia tulee, ehkä niitä näkyy täälläkin.

Koska tämä postaus jää muuten ikävän lyhyeksi, tarjoan linkkejä Richard Feynmanin (hauskoja lainauksia) kirjoituksiin koulukirjabisneksestä ja pinnallisesta tieteestä. Luin molemmat kirjoitukset ensimmäisen kerran useampi vuosi sitten, mutta löysin uudelleen linkit niihin jostain autuaasti unohtamastani lähteestä pari päivää sitten.

PS. Yritin kyllä etsiä sitä lähdettä Googlella, mutta turhaan. Olen jo useamman vuoden takia himoinnut selainta, joka indeksoisi sivuhistorian hakuja varten, mutta eipä sellaista ole ilmestynyt. Kuuletko, Cupertino, vai pitääkö tarttua itse toimeen?

2004-07-07

Tasokasta turvallisuutta

Joskus viime kuussa rakentelin töissä yksinkertaisia rajoittimia väärinkäytösten estämiseksi. Esimerkkinä mahdollisuus lähettää korkeintaan kymmenen viestiä viiden minuutin sisällä. Ihmiset voivat sitten hoitaa sen, mikä näistä automaattisista rajoittimista pääsee lävitse. Tyypillinen väärinkäytösten estäminen eroaa tyypillisestä pääsynvalvonnasta käytetyn maailmankuvan perusteella. Pääsynvalvonnan maailma on mustavalkoinen, joko sinulla on oikeus tai sitten ei. Väärinkäytöksiä estettäessä seurataan harmaan sävyä ja aletaan vähän kerrallaan rajoittaa ja hidastaa toimintoja henkilön toimien muuttuessa liian tummiksi.

Ongelmana pääsynvalvonnassa on usein sen ketjumainen luonne. Mikäli yksi lenkki pettää, esimerkiksi sopivasti koodaamattomien lainausmerkkien päästessä SQL-kyselyyn, voivat kaikki ketjun muut osat olla yhtä tyhjän kanssa. Sen sijaan väärinkäytöksien esto tuntuu rakentuvan luontevasti toisiaan vahvistavista ja turvaavista tasoista. Mikäli aikarajoitin ei tarjoa sopivaa suojaa, saattaa samankaltaisten viestien tunnistin pelastaa päivän.

Tästä nousee luonnollinen ajatus pääsynvalvonnan rakentamisesta vastaaviksi tasoiksi. Ehkä huippusalaiset asiakirjat vaativat ehdotonta valvontaa, mutta intraneteistä ja ehkä julkisista sivustoistakin voisi tehdä hyödyllisempiä höllentämällä pääsyrajoitukset koskemaan pelkästään räikeitä väärinkäyttötapauksia.

Verkossa oleva rekisteri voisi rajoittaa sivunlatausten tiheyttä, vaikeuttaen tietojen koneellista keräämistä. Kuvapankki voisi sisältää aluksi pelkästään webissä katseluun soveltuvat versiot ja antaa painoversiot ainoastaan yhteyttä ottaneille henkilöille. Diagrammien tarkkuutta voi pienentää ja valokuvista ei tarvitse antaa suurta versiota. Yksityinen keskustelupalsta voi sallia tulokkaiden äänestämisen ulos. Pääsy dokumenttiin voidaan määrittää sumeasti organisaatiokaavion perusteella. Kaikki sisältö ei välttämättä tarvitse suoria linkkejä, vaan ainoastaan merkinnän hakukoneeseen.

Onko arkaluontoista tietoa siis mahdollista sekä suojella että levittää? Koska olen sekä hyväntahtoinen että erittäin utelias henkilö, toivon asioiden olevan näin. Täydellinen turvallisuus on terveen järjen vastaista, aivan kuin täydellisesti valvotut lait. Hyödyntämällä HCI-alan tietoutta on ehkä mahdollista rakentaa turvajärjestelmä joka höllä vähemmän tärkeän tiedon suhteen ja tiukka toisaalla, ja sallii siten ihmisten saavuttaa hyväksyttävät tavoitteensa järjestelmää kiroamatta ja pakon edessä kiertämättä.

Käsittele URL oikein (opas HTTP-palvelinten kehittäjille)

Vaikka olenkin lukemassa Cooperin kiinnostavaa kirjaa teknisistä vimpaimista ja se on jo puolivälin kohdalla herättänyt vuorovaikutukseen liittyviä ajatuksenpoikasia, taidan täällä kuitenkaan jatkaa teknisellä linjalla. Tässä on dokumenttien RFC 2616 ja RFC 2396 perusteella kokoamani resepti oikeaoppiseen ja turvalliseen URL:ien käsittelyyn. Aasinsilta käytettävyyteen löytyy kyllä siitä, että huonosti toteutettu URL:ien käsittely estää tiettyjen merkkien syöttämisen palvelimelle, mutta siitäkin huolimatta tämä juttu kiinnostanee lähinnä ohjelmoijia.

1. Muista että Request-Line eli kyselyn ensimmäinen rivi saattaa sisältää Request-URI:na myös kokonaisen, eli protokollan, palvelinosan ja portin sisältävän URL:in. Mikäli Request-URI ei ala /-merkillä, tulee löydetyn palvelimen ohittaa Host-otsake. Esimerkki:

GET /index.html HTTP/1.1
Host: www.example.com


GET http://www.example.com/index.html HTTP/1.1
Host: www.example.net


Kumpikin näistä viittaavat tiedostoon index.html palvelimen www.example.com dokumenttijuuressa.

2. Pura URL osiin ennen koodauksen poistamista. Toisin sanoen, etsi aluksi kysymysmerkkiä:

abs_path ? query

3. Mikäli query löytyi, erottele parametrit toisistaan et-merkkien kohdilta:

param1 & param2 & param3

Seuraavaksi erota jokaisesta parametrista nimi ja arvo:

name = value

Nyt voit dekoodata namen ja valuen. Ja kuten huomaat, name-value -parin osat tulee dekoodata erillään toisistaan. Mikäli et salli jotain tiettyjä merkkejä nimissä ja arvoissa, kerro siitä 403 Forbidden -viestillä.

4. Pilko nyt abs_path kauttaviivojen kohdilta:

/ segment1 / segment2 / segment3

Dekoodaa sen jälkeen jokainen segmentti erikseen. Ja taas, mikäli et salli jotain merkkejä, ilmoita siitä mieluiten 403:lla. Myös puolipisteellä on erityismerkitys, tutustu RFC-dokumenttiin mikäli tarvitset tarkempia tietoja.

Mitä tästä nyt sitten kannattaa huomata on että URL:in osat dekoodataan vasta aivan lopuksi. Se että osa abs_path dekoodataan liian aikaisessa vaiheessa ei aiheuta paljoa ongelmia, sillä / on harvemmin sallittu hakemistojen tai tiedostojen nimissä. Sen sijaan liian aikanen query-osan dekoodaminen johtaa ongelmiin varsinkin et-merkkien käsittelyssä. Yleinen harhaluulo on että aikainen dekoodaaminen on hyväksi turvallisuudelle ja siksi kannattaa mennä siitä missä aita on matalin. Turvallisuudesta joutuu kuitenkin lopulta huolehtimaan yksittäisten osasten tasolla, joten oikeaoppinen käsittely ei sittenkään aiheuta niin kovin paljoa lisävaivaa.

2004-07-06

Kissa söi auton...

...onneksi auto oli vain suklaata.

Computer Weeklyn artikkeli käyttöjärjestelmien turvallisuudesta on sensiaatiohakuisin pitkään aikaan. Pohjimmainen ongelma on menetelmässä eli turvallisuustiedotusten laskemisessa, eikä päätelmillä ole siksi kovin suurta todellisuuspohjaa. Tämän tietojen tarjoaja, Secunia, myöntää itsekin, mistä heille kiitosta.

Missä sitten on menty vikaan? Kun artikkelin silmäilee nopeasti läpi, jää vaikutelmaksi ainoastaan Windowsin paremmuus ja Mac OS X:n huonommuus. Mikäli tekstin sen sijaan lukee tarkkaan, siinä kolmikon Linux, Mac OS X ja Windows asettuvan mainitsemaani järjestykseen. Eli Mac OS X:n tietoturva saattaa olla yleisesti uskottua huonompi ja Windowsin uskottua parempi. "Mac OS X is worse than you ever imagined." Hienoinen aste-ero, eikö? Tarpeellinen but still much better than Windows ei näköjään mahtunut mukaan.

2004-07-05

Periaatteesta ilman skriptejä

Ainoat tältä sivulta löytyvät ulkoiset (SCRIPT SRC=...) skriptit ovat Blogspotin pakollisia lisäyksiä. Ainoa ulkopuolelta kopioimani koodi on StatCounterin kuva, ilman tyypillistä skriptilisäkettä. Siksi en valitettavasti saa palvelusta referer-otsakkeen (sic) perusteella tehtyjä tilastoja.

Tämän periaatteen taustat voi lukea Don Parkin kirjoituksesta. Tiivistelmänä jokainen sivulle lisätty ulkopuolinen skripti avaa oven XSS-hyökkäykseen eli Cross Site Scriptingiin.

Luulisi että XSS on vahingollinen ainoastaan web-kauppojen ja pankkien sivustoilla, eikä tavallisen bloginpitäjän siitä tarvitse sen kummemmin välittää. Jos ei muu niin ainakin pari viikkoa sitten sattunut laaja XSS-aalto todistaa toista. Krakkerit murtautuivat useille IIS-palvelimille ja lisäsivät IE:n tietoturva-aukkoja käyttäen asentuvan troijalaisen.

Murretut IIS-palvelimet eivät kuitenkaan olleet ainoita palvelimia, joilla vierailemalla troijalaisen saattoi saada. Muutamat murretuista palvelimista toimivat mainospalvelimina, tarjoillen mainoksia Apachea käyttäville sivustoille. Sivustojen ylläpitäjät luottivat siihen ettei mainosten tarjoaja tarkoituksella asentele haittaohjelmia, mutta unohtivat että tarjoajan tietoturva ei välttämättä ole paras mahdollinen.

Haluan edistää hyviä web-kehityksen käytäntöjä myös yksityiselämässäni, joten elän siis ilman referer-tilastoja kunnes sellaiset Bloggeriin lisätään. Tuskin Bloggerin tietoturvakaan on täydellinen, mutta näin pienennän vahinkojen todennäköisyyttä. Toivoisin sinunkin miettivän kahteen kertaan ennen kuin kopiot SCRIPT- tai IFRAME-elementtejä sisältävää koodia blogiisi, oli niiden sisällön lähde sitten kuinka tunnettu tahansa.

2004-07-04

Yritysten yläasteleikit

Re: Usability and listening to customers have limits ja Rajansa käytettävyydelläkin?

Gerry McGovernin kolumnin loppulauseiden mukaan hyvä tuote ei tarvitse käytettävää sivustoa eikä käytettävä sivusto vastaavasti pelasta huonompaa tuotetta. Olen tästä täysin samaa mieltä. Sen sijaan en ymmärrä miksi tekstissä vihjataan hyvän käytettävyyden olevan pois jostain tarkemmin määrittelemättömästä ominaisuudesta jota kai voisi kutsua kokemukseksi.

Esimerkkinä McGovern käyttää W-hotelleja. Ensimmäisenä virheenä yö hotellissa on tuote vaikka muuten tekstissä puhutaan "oheismateriaalista". Toisena virheenä käytettävyyttä pidetään käytäntöjen synonyyminä. Musta paperi ja valkoinen kynä ovat tyylivalintoja, eivät enempää. Kolmantena virheenä W-ketjun sivusto tarjoaa täydellisen esimerkin siitä miten käytettävyys ja kokemus eivät ole ristiriidassa: jos linkki BOOK vaihdettaisiin linkiksi BOOK A ROOM, olisi käytettävyys parantunut kokemuksen kärsimättä.

"The W guest room is a carefully crafted blend of comfort and technology." Kuulostaa siltä että W ottaa käytettävyyden huomioon, mutta McGovern ei vain ymmärrä mitä käytettävyys pohjimmiltaan on eikä siksi erota sitä.

Itse näen asian seuraavasti: jokaiselle tuotteella, oli se sitten konkreettinen tuote tai palvelutuote, on kolme ominaisuutta: saatavuus, kustannus ja haluttavuus. Saatavuus on se aika ja vaiva jonka joudun käyttämään tuotteen saadakseni. Kustannus on luonnollisesti tuotteen hinta. Haluttavuus tarkoittaa tuotteen ominaisuuksia kuten laatua ja trendikkyyttä. Tuote on haluttava kun sitä ostetaan tai ostettaisiin korkeasta kustannuksesta ja matalasta saatavuudesta huolimatta.

Mikäli kustannus oletetaan vakioksi, voidaan saatavuuden ja haluttavuuden suhde määritellä tavalla, joka vastaa yläasteella pelattua peliä nimeltä hivutus. Siinä kaksi poikaa laittavat vasemman kätensä selän taakse ja oikean nyrkkiin. Nyrkistä ojennetaan suorana ja vierekkäin etusormi ja keskisormi. Sitten vuorotellen lätkitään omilla sormilla toisen pelaajan sormia ja jatketaan tätä kunnes toinen pelaaja luovuttaa. Ammattipelaajien kesken käydyn pelin jälkeen kummatkin pelaajat eivät seuraavalla tunnilla saaneet pidettyä kynää kunnolla kädessä.

Yllä kuvaaminen jutun tulisi olla ajatuskoe, mutta valitettavan usein sitä näkee myös käytännössä yrityksen ja asiakkaiden kesken. Kun käytettävyydestä tingitään joko rahan säästämisen tai kokemuksen osasten huonon ymmärtämisen takia (jota McGovern osoitti), lyö yritys asiakasta sormille. Koska asiakas haluaa tuotteen, joutuu hän vastaamaan. Jatketaan kunnes yritys raaskii luopua tuotteestaan tai asiakas päättää valita vähemmän haluttavan kilpailijan joka ottaa rahat vastaan ilman kiusanhenkeä.

Yritysten päättäjien tulisikin kysyä itseltään, luottavatko he tuotteensa matalaan kustannukseen ja korkeaan haluttavuuteen todella niin paljon että uskaltavat jättää saatavuuden matalaksi. En ole nähnyt ainuttakaan autokauppaa, jossa minun pitäisi voittaa myyjä hivutuksessa tai edes lukea auton ohjekirja ennen koeajolle pääsyä. Ehei, myyjä ojentaa avaimet, selittää auton erikoisuudet ja sulkee oven puolestani. Sen sijaan web-kaupoissa hivutuskäytännön virtuaaliset vastineet ovat tavallisia.

2004-07-01

Esittelyssä Anti-Mac OS 0.1

Kärsinkö pahemman laatuisesta mielenhäiriöstä vai alkaako Mac OS X 10.4 "Tiger" (katso video esittelytilaisuudesta, QuickTime) sisältää Nielsenin lanseeraamia Anti-Mac -piirteitä tai niiden esiasteita:

The central role of language. Spotlight eli Tigerin kehittyneet hakutoiminnot nojaavat voimakkaasti kieleen. Järjestelmän on kai tarkoitus osata jäsennellä yksinkertaisia englanninkielisiä lauseita haun pohjaksi.

A richer internal representation of objects. Käytännössä Nielsen kaipailee metadataa ja juuri tämä automaattisesti tiedostoista kaivettava metadata saa Spotlightin toimimaan. Yhdessä nämä tarkoittavat ymmärtääkseni sitä, että voisin hakea kuvia lauseella "pictures I took last month with the 100 mm lens".

A more expressive interface. Dashboardin widgetit eli nopeasti näyttöön lipuvat ja yhtä nopeasti katoavat pikkuohjelmat ovat kaikki erinäköisiä. Tämä auttaa erottamaan ne tavallisista sovellusohjelmista ja toisistaan. OS X tukee jo nytkin ainakin joissain tilanteissa sisältöä vastaavaa kuvaketta, samoin pienennetyt ikkunat näkyvät aina minikuvina. Eiköhän Tigeriin saada parannuksia ainakin kuvakeasiaan.

Expert users. Automator kuulostaa sopivalta työkalulta pidemmälle ehtineelle käyttäjälle, jolla ei kuitenkaan ole taitoa tai halua ohjelmoida skriptikielellä.

Shared control. Mitään puhtaita ohjelmistoagentteja en ollut näkevinäni, joten tältä osin tarjonta on heikkoa. Eräiden määritelmien perusteella erilaiset Smart Folderit eli tiettyjen ehtojen mukaan automaattisesti päivittyvät metakansiot voisi laskea agenteiksi. Nielsen kuitenkin taisi tarkoittaa jotain hieman autonomisempaa.

Kursiivilla olevat termit selitetään Nielsenin kirjoituksessa. Muut omituiset termit ovat todennäköisesti peräisin linkittämästäni esityksestä.