Canon Ixus 220 HS ja CHDK

Käytän kameraa suhteellisen vähän, koska yleensä se ei ole mukana, mutta lomamatkoille ja satunnaiseen kuvausintoiluun on oikea kamera parempi, kuin mitä HTC Sensation -matkapuhelimeni kamera tarjoaa. Kun Gigantissa oli erikoistarjouksessa Canon Ixus 220 HS edulliseen 99 euron hintaan, ei ostopäätöstä tarvinnut pitkään miettiä. Bonuksena siihen saa myös asennettua CHDK:n, joka tarjoaa käteviä lisäominaisuuksia.

Canon Ixus 220 HS

Canonin Ixus-sarjan pokkarikamerat ovat aina olleet perusvarmoja valintoja ja noin vuosi sitten helmikuussa julkaistu Canon Ixus 220 HS tarjoaa pienessä paketissa 12.1 Megapikselin sensorin, 2.7″ LCD-näytön ja 5x (24-120mm) optisen zoomin. Lisäksi se tallentaa HD-laatuista 1080p 24fps -videota. DPreview tarjoaa vain tuotekuvauksen, mutta kattavamman arvostelun Ixus 220 HS:sta voi lukea esimerkiksi Imaging Resource -sivustolta. Maailmalla kamera tunnetaan myös Canon ELPH 300 HS -nimellä.

Kameran tekniset ominaisuudet ovat:

  • Kuvaprosessori: DIGIC 4 -prosessori, jossa käytetään iSAPS-tekniikkaa
  • Käyttöjärjestelmä: DryOS
  • Kuvakenno: 12,1 megapikseliä ja 1/2,3 tuuman taustavalaistu CMOS-kenno
  • Objektiivi: 24–120 mm (35 mm:n kinofilmivastaavuus), optinen 5x zoom, f/2.7–f/5.9
  • Kuvanvakain: siirtyvätyyppinen
  • Tarkennusjärjestelmä: AiAF (kasvojentunnistus/9-pisteinen), yhden pisteen AF
  • ISO-herkkyys: AUTO, 100, 200, 400, 800, 1 600, 3 200
  • Näyttö: 6,7 cm:n (2,7 tuuman) PureColor II G -nestekidenäyttö (TFT), noin 230k pistettä
  • Salama: automaattinen, käsitoiminen salama päällä/pois, hidas täsmäys
  • Videokuva: mm. 1920×1080 @24fps, 1280×720 @30fps, 640×480 @120fps, 320×240 @240fps
  • Videoformaatit: MOV (H.264 + Linear PCM (Stereo))
  • Liitännät: mini-USB, HDMI-miniliitin
  • Muistikortti: SD, SDHC, SDXC, MMC, MMCplus, HCMMCplus
  • Virtalähde: ladattava litium-ioniakku NB-4L, noin 220 kuvaa
  • Paino: 141g
  • Mitat (L x K x S): 92,2 x 55,9 x 19,5 mm

Ixus 220 HS vaikuttaa ihan kätevältä kameralta kokoonsa ja hintaansa nähden. 24mm -laajakuvaobjektiivi on näppärä ja kamera on kätevän ohut. Eihän se tietenkään mikään järjestelmäkamera ominaisuuksiltaan tai kuvausotteeltaan ole, mutta kyllä sillä kuvia ihan hyvin saa otettua automaatilla tai ilman. Ero Ixus 220 HS:n ja neljä vuotta vanhan Ixus 860 IS:ni välillä on käsiintuntuva sekä fyysisesti että kuvallisesti, uuden kameran eduksi.

Uuden kameran kanssa voisi nyt myös perehtyä enemmän valokuvaukseen ja myös ”Bastards Book of Photography” -opas innoittaa parempaan kuvaamiseen. Visuaalisessa oppaassa on selitetty helpohkolla tavalla vaikeahkoja asioita ja se opastaa kameran manuaalikontrollien käyttämiseen ja hienompien kuvien ottamiseen.

Muutamia kuvia testikuvausreissulta:

CHDK

Canon Ixus 220 HS:n tarjomia mahdollisuuksia kuvaamiseen voi laajentaa käyttämällä CHDK-ohjelmistoa, eli Canon Hacker’s Development Kitiä, joka on harrastajayhteisön kehittämä ohjelmisto Canonin eri kameroille. CHDK ladataan muistikortilta kameran muistiin, jonka jälkeen kuvaajalla on käytössään nippu lisäominaisuuksia ja -asetuksia. Mitään muutoksia ei kameraan tai sen ohjelmistoon tarvita.

Yksi kameranvalintakriteereistäni oli juuri CHDK:n saatavuus, vaikka en sen ominaisuuksia olekaan kovin paljoa edellisen kameran kanssa käyttänyt. Aivan uusille kameroille ei CHDK:ta yleensä ole saatavissa ja 220 HS:llekin se on vielä Alpha-versiona. Sen kehitystä voi seurata CHDK:n foorumin ketjusta ja kehitysversion voi ladata CHDK:n Autobuild-sivustolta.

CHDK tarjoamia lisäominaisuuksia ovat muun muassa:

  • RAW-kuvien ottaminen JPEGin lisäksi.
  • Mahdollisuus säätää mm. valotus- ja suljinaikoja.
  • Lisätietoa näytölle mm. akun tila ja terävyysalue.
  • Avaa lukitut ominaisuudet: optinen zoom videokuvauksessa ja laadun/pakkauksen muuttaminen kuvatessa
  • Skriptit: kuvasarjat ja liike- ja valotunnistimeen liitetyt tapahtumat, esim. salamoiden kuvaus.
  • Bracketing: Usean kuvan ottaminen pienillä muutoksilla esim. HDR-kuvia varten
  • Histogrammi: Reaaliaikainen histogrammi (RGB, yhdistetty, luminanssi kanavakohtaisesti)
  • Zebra mode: Reaaliaikainen näkymä erittäin kirkkaisiin tai tummiin alueisiin, jolla voidaan estää yli- ja alivalottuminen.
  • Syvyysalueen (DOF) -laskin
  • USB-kaapelin kautta kaukolaukaisu
  • Tiedostoselain: SD-kortin selailu ja tiedostojen käsittely.
  • Ohjelmia: Tekstieditori, kalenteri, Reversi ja Sokoban

Verrattuna neljän vuoden takaiseen prosessiin CHDK:n asentamisessa, oli nyt asiat hieman muuttuneet. Ensin kameran firmwaren versio piti selvittää otetun kuvan perusteella käyttäen Acid-ohjelmaa. Se oli 1.01G. Tämän jälkeen vain sitten tarvittiin CHDK:n tiedostojen siirto muistikortille ja SD-kortin asettaminen boottaavaksi. Edellisellä kerralla tein tarvittavat toimet Windowsissa CardTricks-sovelluksen avulla, mutta nyt se kävi näppärästi OS X:ssä SDMInst-ohjelmalla. Suhteellisen yksinkertainen projekti. Asennuksen jälkeen muistikortti laitetaan kirjoitussuojatuksi, jolloin CHDK latautuu aina kameran käynnistyessä.

CHDK on hyvä osoitus siitä, miten kekseliäitä harrastajat ovat ja saavat aikaan todella käteviä ominaisuuksia. Halvasta peruskamerasta saa paljon enemmän irti CHDK:n avulla. Pitääkin tässä perehtyä paremmin, mitä kaikkea kivaa esimerkiksi erilaisilla skripteillä saa aikaan. Ehkä joskus myös jaksan kuvata RAW-kuvia.

Ihmisen ja tietokoneen vuorovaikutus -kurssi: alkuosan poimintoja

Stanfordin järjestämä ”ihmisen ja tietokoneen vuorovaikutus” -verkkokurssi, eli englanniksi Human-Computer Interaction (HCI), alkoi viimeinkin muutama viikko sitten. Kurssin tarkoitus on auttaa kehittämään käyttäjäkeskeisiä suunnittelutaitoja ja saamaan periaatteet ja keinot erinomaisten käyttöliittymien kehittämiseen millä tahansa teknologialla. Siis aivan erinomainen kurssi sovelluskehittäjälle. Verkkokurssin alkuosan luennot käsittelivät tarpeiden löytämistä, prototypointia, mitä hyvät käyttöliittymät ovat, heuristiikkaa ja informaation esitysmuotoja.

”Ihmisen ja tietokoneen vuorovaikutus”

Käyttäjäkeskeinen suunnittelu ja ihmisen ja tietokoneen välinen vuorovaikutus ovat aiheiltaan kiinnostavia ja niitä osiltaan diplomityössäni käsittelin prototypoinnin osalta. Stanfordin ”ihmisen ja tietokoneen vuorovaikutus” -verkkokurssi menee aiheeseen syvemmälle ja käy läpi suunnittelun vaiheet idean saamisesta mallintamiseen ja asioiden esittämiseen. Tarkoituksena on, että kurssin jälkeen omaa paremmat taidot käyttäjäkeskeisestä suunnittelusta ja tietää periaatteet ja keinot erinomaisten käyttöliittymien kehittämiseen käytettävästä teknologiasta riippumatta. Kurssi kestää kaikkiaan viisi viikkoa ja asiat käydään läpi hyvien videoluentojen ja esimerkkien kautta, joiden tukena on vielä käytännön harjoitustyöt ja kokeet. Sekä harjoitustöiden että testien tekijät saavat kurssista ”Studio” -todistuksen ja pelkkien testien täyttäjät ”Apprentice” -todistuksen, johon myös itse tähtään.

HCI-kurssista on nyt edennyt neljännelle viikolla ja tässä muutamia poimintoja ensimmäisen kolmen viikon luentojen aiheista. Luennot käsittelivät tarpeiden ja ideoiden löytämistä, prototypointia, mitä hyvät käyttöliittymät ovat, heuristiikkaa ja informaation esitysmuotoja. Käytännössä siis selvittää ideoita ja tarpeita, suorittaa prototypointia eri tekniikoilla, arvioida eri vaihtoehtoja, ymmärtää miksi prototypointi ja vertaileva arviointi ovat oleellisia asioita erinomaisen vuorovaikutuksen suunnitteluun ja hahmottaa miten tiedon eri esitysmuodot vaikuttavat käyttäjäkokemukseen.

Kahden viimeisen viikon aikana käydään vielä läpi visuaalisen suunnittelun periaatteita tiedon jäsentämiseksi ja esittämiseksi käyttöliittymässä, käsitellään havaintojen ja kognition periaatteita tehokkaan vuorovaikutuksen saamiseksi ja viimeisenä aiheena on kontrolloitujen testien suorittaminen ja analysointi.

Viikko 1

Ensimmäinen viikko aloitettiin käsittelemällä prototyyppien voimaa. Lyhyesti sanottuna prototyypit prototypoivat tunnetta (miltä se voisi näyttää), toteutusta (miten se voisi toimia) ja ulkonäköä (mikä voisi käyttökokemus olla). Prototyypit ovat kysymyksiä ja niitä kannattaa kysyä useita.

”The best way to have a good idea is to have lots of ideas”
– Linus Pauling, Practice of trying multiple approaches.

Asian käsittelyä jatkettiin tarpeiden löytämisellä, eli miten saada ideoita asioiden kehittämiseen. Osallistujien havainnointi on yksi hyvä tapa ja siinä kannattaa keskittyä etenkin kiertoteiden ja kekseliäiden ratkaisujen käyttämiseen. Lisäksi virheet ovat kullanarvoisia.

Haastatteluiden avulla saadaan lisää tietoa ja niissä kannattaa miettiä haastateltavien valintaa ja millaisia kysymyksiä esittää. Avoimet, ei johdattelevat kysymykset ovat toimivia, kun vielä muistaa, että ihmiset sanovat toista, kuin mitä oikeasti tekevät. Muita menetelmiä ovat esimerkiksi päiväkirjatutkimukset, otanta kokemuksista ja erilaisten käyttäjäryhmien hyödyntäminen havainnoinnissa.

”You can observe a lot just by watching”
– Yogi Berra.

Viikko 2

Toisen viikon luennot aloitettiin prototypoinnilla ja mitä tekniikoita suunnittelun eri vaiheissa kannattaa hyödyntää. Alussa yksinkertaiset kuvakäsikirjoitukset ovat näppäriä ja niistä voidaan edetä paperimalleihin, digitaalisiin luonnoksiin ja yhä enemmän viimeisteltyihin malleihin.

Kuvakäsikirjat ja paperimallit

Lyhyesti tiivistettynä kuvakäsikirjoitus auttaa tähdentämään miten käyttöliittymä täyttää tehtävän, välttää sitoutumisen tiettyyn käyttöliittymään ja auttaa kaikkia sidosryhmiä saamaan saman kuvan asiasta, mihin ollaan pyrkimässä. Käytännössä kuvakäsikirjoituksen pitäisi välittää kolme asiaa:

  • Tapahtumapaikka: liittyvät henkilöt, ympäristö ja suoritettava tehtävä.
  • Jakso: liittyvät askeleet, miksi henkilö käyttää sovellusta, mitä tehtävää kuvataan.
  • Tyytyväisyys: mikä motivoi henkilö käyttämään järjestelmää, mitä se mahdollistaa henkilöiden saavuttaa ja mitä tarpeita se täyttää.

Paperiprototyyppien osalta parasta antia olivat esimerkit niiden tekemisestä ja käyttämisestä käyttäjien kanssa. Paperimallithan ovat hyviä keinoja testata sovelluksen vuorovaikutuksen kulkua erittäin nopeasti ja edullisesti. Niitä on myös helppo muuttaa useiden erilaisten asioiden testaamiseksi. Lisäksi käytiin läpi eri välineitä, joita paperiprototyyppien teossa voidaan käyttää. Hyvinä vinkkeinä mallien tekoon annettiin monikäyttöisten komponenttien piirtäminen ja suulliset kuvaukset hankalasti simuloitavista asioista (kuten etenemispalkki, hiiren menut) ja tuttujen käyttöjärjestelmä elementtien käyttäminen viitekontekstin luomiseksi (kuten selain). Lisäksi rautaa ja sovellusta voi sekoittaa esimerkiksi ottamalla kuva oikeasta laitteesta ja sijoittamalla paperimalli sen sisään. Ei mitään salatiedettä, vaan luovaa ajattelua.

”Test multiple prototypes simultaneously to get most value.”
”Parallel prototyping yields to more diverse designs.”

Toimintojen jäljittely

Prototyyppien avulla voidaan myös helposti kuvata asioita, joita ei ole vielä olemassa, kuvittelemalla ja simuloimalla mahdollista toimintaa. Yksi tekniikka tähän on käyttää ”Wizard of Oz”, eli ”Ozin velho” -menetelmää, jossa suunnittelija toimii tietokoneena ja simuloi käyttäjälle näkyvää toimintaa. Sen avulla voidaan helposti täyttää sovelluksen aukot, joita ei ole vielä toteutettu ja suunnittelija oppii samalla ymmärtämään sovelluksensa logiikan. ”Ozin velho” -tekniikan avulla saadaan kerättyä paljon kommentteja käyttäjältä jo alkuvaiheessa ja sillä voidaan näppärällä, halvalla ja nopealla tavalla imitoida jotain tekoälyä vaativaa toiminnallisuutta. Toisaalta helposti voidaan simuloida asioita, jotka eivät ole teknisesti mahdollisia.

Jos halutaan visualisoida asiaa enemmän, voidaan hyödyntää videoprototypointia, jossa kuvakäsikirjoituksen tavoin kuvataan sovelluksen käyttämistä hyödyntäen esimerkiksi fyysiseen laitteeseen yhdistettyjä paperimalleja käyttöliittymän osalta. Videot ovat edullisia ja nopeita tehdä ja toimivat erinomaisina kommunikointivälineinä. Video voi toimia myös määritelmänä kehittäjille ja se sitoo käyttöliittymän ja tehtävän toisiinsa.

Prototypoidessa on hyödyllistä tehdä enemmän malleja, kuin keskittyä laatuun. Lisäksi, kun eri malleja tekee rinnakkain päästään osittain eroon yhteen ideaan ja toimintatapaan juuttumisesta. Rinnakkaisuus erottaa egon luomuksesta ja kannustaa vertailuun, joka vastaavasti auttaa oppimista.

Suora vaikuttaminen ja ajatusmallit

Toisen viikon jälkimmäisillä luennoilla käsiteltiin asioita, mitkä tekevät käyttöliittymistä helppoja, vaikeita tai luonnollisia. Yksi huomioitava asia on suorituskuilu, eli miten käyttäjä tietää mitä tehdä ja mitä pitäisi tapahtua. Luennoilla annettiin muutamia esimerkkejä, miten asioiden ei pitäisi toimia.

Käyttäjän tehtävän suorittamisen tueksi järjestelmän pitäisi tarjota:

  • Näkyvyyttä (käyttömahdollisuudet, tarkoitus)
  • Palautetta toiminnasta
  • Yhdenmukaisuutta (toisin sanoen standardit)
  • Toiminnot eivät ole peruuttamattomia (Peruuta-toiminnon tärkeys)
  • Löydettävyys: kaikki toiminnot ovat löydettävissä järjestelmällisessä valikoiden tutkimisella
  • Luotettavuus: toimintojen pitäisi toimia. Tapahtumien ei pitäisi tapahtua satunnaisesti

Suorituskuilujen lisäksi ongelmia aiheuttavat myös käyttäjän mielikuvat, miten asioiden pitäisi hänen mielestään toimia. Tämä johtaa helposti virheisiin, jos käsitteellinen malli asiasta eroaa järjestelmän toiminnasta. Käyttäjän mielikuvat ja uskomukset siitä, miten asian pitäisi toimia, juontavat kokemuksiin, vertauskuviin ja verrannolliseen päättelyyn kuten ”tekstinkäsittelyohjelma on kirjoituskone”. Mielikuvat ovat usein epätäydellisiä, epäjohdonmukaisia, muuttuvat ajan mukaan ja täynnä taikauskoa. Tavoitteena suunnittelussa pitäisi olla, että suunnittelu viitoittaa oikeaan ajatusmalliin toiminnasta, jolloin ei tarvitse luottaa käyttäjän ajatusmaailmaan asiasta. Eli nykyisen käytännön ja uuden teknologian välistä välimatkaa pitäisi minimoida.

”The goal: design beacons the right model”

Käyttöliittymässä mielikuvien vaikutus, eli ero kuvitellun toiminnallisuuden ja miten järjestelmä oikeasti toimii välillä, näkyy hitaana suorituksena, virheinä ja turhautumisena. Sitä voidaan pienentää hyödyntämällä oikean maailman vertauskuvia ja tekemällä käyttöliittymästä sellainen, että se tuo esille miten sitä pitää käyttää.

”If technology is to provide an advantage, the correspondence to the real world must break at some point”
– Jonathan Grudin

Viikko 3

Kolmannella viikolla luennot syventyivät enemmän teoriaan, alkaen heuristisella arvioinnilla ja jatkuen tiedon esitysmuotojen vaikutuksilla ja ajattelun hajauttamisella.

Heuristiikka

Heuristinen arviointi on Jakob Nielsenin kehittämä ja auttaa löytämään käytettävyysongelmia. Siinä pieni ryhmä (3-5 henkeä) tutkii käyttöliittymää ja tarkistaa sen yhdenmukaisuuden käytettävyysperiaatteita vasten. Heuristista arviointia voidaan suorittaa toimivalle käyttöliittymälle tai luonnoksille ja se on erittäin kustannustehokasta. Käyttäjätestaukseen verrattuna se on muun muassa nopeampaa, tulokset ovat ennalta tulkittuja ja se löytää eri ongelmia.

Luennoilla esitettiin kymmenen heuristiikkaa arviointia varten (sovellettu Nielsenin arvoista):

  • Näytä järjestelmän tila
  • Tutut vertauskuvat ja kieli
  • Hallinta & vapaus
  • Yhdenmukaisuus
  • Virheiden estäminen
  • Tunnistaminen ennen muistamista
  • Joustavuus & tehokkuus
  • Estetiikka & minimalistinen design
  • Tunnista, määritä & palaudu virheistä
  • Ohjeet ja avustaminen

Tiedon esitysmuodot

Informaation esittämistä ja sen merkitystä käsiteltiin esimerkkien avulla, puhuen hieman myös miten työmuisti vaikuttaa asioiden käsittelyyn. Kokeellista ajattelua, ongelmanratkaisua, avustaa, jos esitysmuodon ominaisuudet vastaavat asian ominaisuuksia, jota ollaan esittämässä.

”Solving a problem simply means representing it so as to make the solution transparent”
– Herbert Simon, The Science of the Artificial

Ajattelun hajauttaminen

”Distributing cognition”, eli jotakuinkin ajattelun hajauttaminen, tähtää asioiden helpompaan käsittelyyn muuntamalla asioiden esitystapaa. Hyvän esitysmuodon pitäisi näyttää vain oleellinen informaatio ja mahdollistaa vertailu, tutkiminen ja ongelmien ratkonta. Esitysmuoto on myös sidottu siihen tehtävään, jonka käyttäjä haluaa suorittaa.

Kun käyttöliittymät auttavat käyttäjiä hajauttamaan ajattelua, se:

  • Kannustaa kokeiluun (esim. Tetris)
  • Tukee oppimista ja vähentää virheitä ylimääräisyydellä (Montessori palikat)
  • Näyttää vain erot, jotka merkitsevät (Lontoon metron kartta)
  • Muuntaa hitaat laskennat nopeiksi havainnoiksi (kartan väritys)
  • Tukee asioiden ryhmittelyä, etenkin ammattilaisten toimesta (Shakki & eleet)
  • Lisää tehokkuutta (kaaviot)
  • Helpottaa yhteistyötä (Lentokoneen ohjaamo)

Informational equivalence != computational equivalence

Esitysmuotoja käytiin läpi useiden esimerkkien kanssa, jotka havainnollistivat miten vaihtoehtoinen esitysmalli vaikuttaa asian ymmärtämiseen. Etenkin esimerkit huonoista esitystavoista olivat käteviä. Esimerkkejä oli muun muassa miten virheilmoituksia ja kysymyksiä esitetään käyttäjälle tilanteissa, joissa lomakkeella on puutteellisia tietoja, kysyttäessä mitä tiedoston merkistöongelmassa pitäisi valita, mitä maksutapaa käyttäjä haluaa käyttää ja miten jo olemassa oleva tiedosto pitäisi korvata.

Loppuosa

HCI verkkokurssin alkuosa on ollut mielenkiintoinen, vaikkakaan ei asiasisällöltään ole mitään yllättävää tarjonnut. Moni asia on tullut eteen jo aikaisemmin, mutta kertaus on oppimisen kannalta hyvä. Ehkä kurssin loppuosa, eli seuraavat pari viikkoa, tarjoavat jotain uutta. Ne käsittelevät visuaalista suunnittelua, informaatiosuunnittelua, kokeiluiden suunnittelua ja suorittamista laboratoriossa ja webissä ja tulosten analysointia. Kuulostaa mielenkiintoiselta ja siitä lisää myöhemmin.