2004-03-31

Kuusi tuntia

Käytin tänään töissä noin kuusi tuntia pienen virheen etsimiseen HTTP-palvelinkomponentin vastaanottosilmukasta. Asia valkeni minulle täydellisesti vasta neljältä toimistotalon aulassa. Valitettavasti vain yhtään toimivaa out-of-the-box -ratkaisua ei löydy, ellei Apachea sitten laske sellaiseksi :) Pitää siis tehdä kaikki itse. Kuinka odotankaan aikaa, jolloin voin siirtyä täysipäiväisesti HCI-alan tehtäviin...

Bill Gateshan väläytti tulevaisuudenkuvaa, jossa ohjelmistot rakennetaan aloittaen käyttöliittymäeditorista ja päätyen valmiiden komponenttien yhdistelyyn niin ikään graafisesti. Mutta mitä iloa on valmiista komponenteista, jos yksikään niistä ei toimi kunnolla vaan HTTP-liittymän tarjotakseen joutuu kumminkin opettelemaan Winsock-rajapinnan toisten töitä korjatakseen?

Tietysti vaihtoehto B olisi hyväksyä se että pari-kolme POST-kyselyä sadasta tuottaa virheilmoituksen ilman sen kummempaa syytä. Valitettavasti tällainen ajattelutapa ei oikein käy yhteen luonteeni kanssa. Kumminkin ne pari-kolme kyselyä sattuvat juuri niihin kriittisimpiin kohtiin kesken tärkeää tehtävää, ja jokainen tarpeeton virhe huonontaa käsitystä ohjelmistosta.

2004-03-30

Käyttöliittymä kehityksen hidastajana

Huomaan usein töissä miettiväni jonkin tietyn toiminnon sijoittumista käyttöliittymään ja sitten lykkääväni sen toteutusta kunnes jokin hieman suurempi uudelleenorgansointi on tarpeen. Olen alkanut miettiä sitä, onko tämä varmasti paras ratkaisu. Eli olisiko parempi vain lätkäistä linkki tai namiska jonnekin heti kun se on teknisesti mahdollista?

Hyvä puoli: Toiminto olisi heti käytettävissä. Huonot puolet: Jonkun sivun pohjalla sijaitseva yksinäinen linkki voisi aivan yhtä hyvin olla olematta, koska ei sitä kukaan sieltä löydä. Lisäksi käyttöliittymän yhtenäisyys kärsii, joskus pahastikin.

Parhaat puolet kummastakin: Käyttöliittymä pitäisi mahdollisimman nopeasti saada helposti laajennettavaan kuntoon. Eli siis sinne tulisi alusta alkaen varata alueita sekalaisille toiminnoille, joille ei ole vielä muuta paikkaa. Tyypillisesti web-sovelluksissa ruudun oikeassa reunassa on paljonkin käyttämätöntä tilaa. (Ongelma: Joskus taas koko ruudun leveys tarvitaan sisällön käyttöön. Mikähän tähän ratkaisuksi?)

2004-03-29

Omituisia mainoksia

Jostain syystä BlogSpotin pakollinen AdSense on päättänyt sivustoni liittyvän ohjelmistokehityspalveluihin, asennusohjelmiin, tietojen palautukseen ja tietoturvaan. Lisäksi "metafilter" ja "dave winer" ovat läheisesti liittyviä hakuja, vaikkei kumpaakaan ole sivuilla kertaakaan mainittu tätä ennen. Muita liittyviä hakuja ovat "ei" ja "ja". Nähtävästi stopwords-lista kaipaisi hieman päivittämistä suomen osalta.

Dave Wineristä puheenollen on vaikea olla mainitsematta näitä: ennen ja jälkeen. Eli jokainen erään kolmikirjaimisen syndikaatioformaatin esiintymä on korvattu kuvaavammalla termillä. On totta, että Radio Userland oli merkittävä vaikuttaja, mutta tällä hetkellä Movable Type johtaa joukkoa ja formaatista jota he alkavat suositella voi veikata voittajaa.

Tämän blogin voit muuten lisätä uutislukijaasi Atom-muodossa.

Back in time

Re: Käy luonnain eilinen ja ajatus henkilökohtaisesta "elämätallentimesta" aikakoneena.

Tuntuu että vaikka teknologia on tehnyt ja tekee todennäköisesti jatkossakin fiktiosta totta, ei mikään koskaan käy täsmälleen niinkuin ennustettiin. Henkilökohtaiset robotit ovat kohta kaupoissa. Ne eivät ehkä osaa tehdä läksyjä puolestasi tai ulkoiluttaa koiraa (ainakaan ilman pientä haxorointia), mutta osaavat ne sentään tanssia. Samoin autoista löytyy mitä ihmeellisimpiä vitkuttimia, mutta autot eivät vieläkään paria pientä poikkeusta lukuunottamatta (a) toimi sähköllä ja (b) lennä.

Onhan tosin olemassa myös muitakin kiinnostavia aikakoneita. Lisäksi tallentimen teknologia olisi kiinnostavaa yhdistää GNOME Storage -tyyppisen (kuka ihme keksi tuon nimen?) luonnollisen kielen hakuliittymän kanssa. "Näytä synttärikakun kynttilöiden puhaltaminen kymmenvuotispäiviltäni", tai vielä parempaa, "olenko nähnyt tätä ihmistä aikaisemmin"?

Halo on hieno peli, syy 37

Pelailin äsken ajankulukseni Soul Calibur II:ta Xboxilla, mistä muistuikin mieleeni Halon nerokas käyttöliittymäoivallus.

Halon yksinpelikampanja jakautuu kymmeneen tehtävään. Kun tehtävän läpäisee kerran, voi sen halutessaan koska tahansa pelata uudelleen millä tahansa vaikeustasolla. Jokaisesta suoritetusta vaikeustasosta helpointa lukuunottamatta jää merkki tehtävänvalintaruutuun. Eli jos vaikka pelaa tehtävän 4 (The Silent Cartographer, suosikkini muuten) aluksi helpoimmalla ja sitten normaalilla vaikeudella, löytyy tehtävän vierestä normaalin vaikeustason merkki. Kun tehtävän pelaa uudelleen vaikeammalla asteella, löytyy tehtävän vierestä normaalin ja vaikeamman tason merkit.

Tämä ratkaisu parantaa uudelleenpelattavuutta merkittävästi, koska nykyisen suorituksensa näkee yhdellä silmäyksellä ja sen parantaminen tuo näkyvän tuloksen. Lisäksi suoritustaan voi parantaa vähän kerrallaan sieltä täältä eikä tarvitse jäädä jumiin juuri siihen niin vaikeaan kohtaan siinä yhdessä tehtävässä.

Ratkaisun arvo käy selville, kun kokeilee pelejä, joissa asiaa ei ole hoidettu yhtä hyvin. MechAssault sallii minkä tahansa tehtävän pelaamisen uudelleen millä tahansa vaikeustasolla, mutta vaikeustason vaihtaminen täytyy tehdä erillisestä valikosta ja tehtäväkohtaisia tietoja suoriutumisesta ei löydy. Panzer Dragoon Orta taas tallentaa vuorostaan tarkkoja tilastoja, mutta ei salli yksittäisten tehtävien pelaamista uudelleen niitten parantamiseksi.

Lyhyesti: Pieni ominaisuus pelin valikkojen käyttöliittymässä parantaa pelin nautittavuutta ja uudelleenpeluuarvoa merkittävästi.

Uusi Google

Huomenna on todennäköisesti odotettavissa kymmeniä samaa pohtivia postauksia joka ikisessä blogissa, mutta silti... Milloin edellisen kerran joku yritys päätti yksinkertaistaa sivujaan? Välilehdistä on luovuttu, tilalla ovat tavallisen näköiset linkit. Vaikuttaa hyvältä ratkaisulta kokonaisuutena, mutta en ole aivan samaa mieltä täsmällisistä kohdistuksista. Ainakaan minun silmäni tuntuvat harhailevan enemmän nykyisellä sivulla.

2004-03-28

Muotosuoja käyttöliittymälle?

Nähtävästi Apple haluaa patentoida iPodin käyttöliittymän. Tämä uutinen herätti minutkin miettimään millaisia keinoja käyttöliittymän suojaamiseen on olemassa ja mitkä niiden vaikutukset ovat.

Ikävänä piirteenä käyttöliittymän patentoinnissa on luonnollisesti se, etteivät hyvät ratkaisut kulkeudu toisten valmistajien tuotteisiin, eivät ainakaan ilman lisenssimaksuja. Ymmärtääkseni Applen Yhdysvalloissa vireille laittama hakemus koskee mm. tietynkaltaisten hiearkisten valikkojen käyttöä kannettavassa soittimessa. Kannettavaan kiintolevytoistimeen mahtuu gigatavuittain tietoa ja syöttölaitteet ovat rajallisia, joten jonkinlainen valikkojärjestelmä on melkeinpä pakollinen. Lähtisitkö tuomaan markkinoille uutta, mahdollisesti teknisesti kehittyneempää tai edullisempaa laitetta, jos tietäisit että jokainen arvostelu epäilemättä mainitsee käyttöliittymän olevan erilainen kuin markkinajohtajalla?

Kolikon kääntöpuoli on, että Apple on selvästikin uhrannut aikaa, rahaa ja vaivaa käyttöliittymän kehittelyyn. Voisikin vastaavasti kysyä, että kannattaako uhrata resursseja ainutlaatuiseen käyttöliittymään, jos se kumminkin heti kopioidaan kilpailijoihin heti seuraavassa firmware-versiossa? Lisäksi voisi kai ajatella, että tämä pakottaa innovoimaan.

Minulla on eräässä mielessä oma lehmä ojassa, koska olen työskennellyt useita erikoisia käyttöliittymäelementtejä sisältävän web-sovelluksen parissa. En välttämättä pitäisi siitä, että kilpailija kloonaa tarkkaan harkitut osaset ilman sen kummempaa ymmärtämistä. Toisaalta en väitä keksineeni ratkaisuja tyhjiössä, vaan esimerkiksi 37signals on ollut suurena inspiraation lähteenä, vaikka suoraan kopiointiin en ole sortunutkaan.

Lopulta muistin Suomessa olevan olemassa sellaisenkin vaihtoehdon kuin muotosuojan. Pitääpä joskus selvittää, onko muotosuojaa mahdollista saada aineettomalle "esineelle" ja onko sen tarjoama suoja riittävä estämään räikeä kopiointi, mutta sallimaan samojen interaktiomallien käyttäminen muuallakin. Ehkä ei, mutta eipä sillä toisaalta ole minulle paljoa väliä, sillä henkilökohtaisena mielipiteenäni jäljittely on ainakin jonkinlainen imartelun muoto, vaikkakaan tuskin se korkein.

(Pohdiskelin tässä asiaa kokonaan oman moraalitajuni kautta. Myös työnantajallani olisi todennäköisesti paljon sanottavaa asiaan, varsinkin jos käyttöliittymien "suojeleminen" alkaa saada tuulta alleen Euroopassakin ja varsinkin Suomessa. Kyseessähän ovat työaikana tehdyt keksinnöt ja työsopimuksessani oli muistaakseni aika tiukat pykälät niiden suhteen.)

mBlog

Äh. Tietenkin heti kun edellisenä iltana päätin aloittaa blogin Bloggerissa, löytyikin seuraavana aamuna Weblog Wannabesta linkki mBlogiin. Nähtävästi mBlog tarjoaa ilmaisia ja mainosvapaita Movable Type -pohjaisia blogeja. Toisaalta minä kyllä tunsin jo aikaisemmin MT:n käyttöliittymän, ja olisin siis jäänyt paria havaintoa paitsi. Lisäksi olen sen verran skeptinen business planien suhteen, että Googlen (ei kai tuota nyt tarvitse linkittää?) omistama BlogSpot kuulostaa varmemmalta vaihtoehdolta. Taidanpa siis ainakin toistaiseksi pysyä täällä...

2004-03-27

Lisäys edelliseen: tarpeeton "Republish"

Heti kun ehdin kehua Bloggeria, päättikin se todistaa minun olevan väärässä. Uuden postauksen lisäämisen ja ulkoasun muuttamisen jälkeen pitää blogi "julkaista" uudelleen. Ymmärrän kyllä mikä tuossa on ideana, sillä Blogger tukee ulkoisen FTP-palvelimen käyttämistä, yhteys sinne saattaa olla hidas eikä silloin ole järkevää tehdä päivitystä jokaisen pikkumuutoksen jälkeen. Mutta koska blogini on kerran heidän omalla palvelimellaan, hyvin todennäköisesti kiinni samassa lähiverkossa, miksi vaivata minulla noin triviaalilla asialla?

Sound check

Perinteistähän olisi aloittaa uusi blogi angstisella vuodatuksella jostain maailman epäkohdasta. Oikeastaan se oli minullakin tarkoituksena. Kuitenkin bloggerin elegantti ja uskomattoman kivuton liittymisprosessi sai minut suorastaan haltijoihini. Parhaat palat:

1. Ei ainuttakaan turhaa kysymystä. Vaikka vuositulot, ammattiala ja lemmikkieläinten nimet saattavatkin olla markkinointiosaston mielestä kaukana turhasta, ei näiden tietojen täyttäminen tuo mitään minulle käyttäjänä. Blogger ei niitä kysynyt ja hyvä niin.

2. "Voit aina vaihtaa sen myöhemmin." Hyvä tietää etukäteen, mitkä asiat eivät ole lähetysnapin painamisen jälkeen kiveen hakattuja.

3. Näyttää hienolta myös ilman kuvia. Kirjoitan tätä GPRS:än yli, eikä kuvien lataaminen ole käytössä, mutta enpä niitä liittymisprosessin aikana edes ehtinyt kaivata.

Ainoa pieni puute oli mielestäni ulkoasun esikatselun esimerkkien avaaminen uusiin ikkunoihin. Olisin itse näyttänyt suuremman version samalla sivulla valintojen kanssa. Noh, pieni puute.