Studio 4 portfolio - Antti Vuorela

Harkka 1 - Social Identity


Ohjelmalla generoitu matriisi

Ensimmäisen harjoituskierroksen aiheena oli tietokonetaide. Luovan ideoinnin tuloksena ryhmämme päätti yhdistää teokseemme sosiaalisen median (myös muita buzzwordeja mietittiin). Valitsimme aiheeksemme taidetta Facebook-kavereiden kuvista.

Ideaksemme muodostui rakentaa käyttäjän Facebook-kavereiden kuvista matriiseja, jotka muodostaisivat käyttäjän oman kuvan, sosiaalisen identiteetin. Matriiseihin voisi zoomata sisään yksittäisiin kavereihin asti, ja edelleen tehdä matriisi kaverin kuvasta.

Idean jo synnyttyä, joku vinkkasi meille vastaavalla logiikalla toimivasta Hehkuva-palvelusta, jossa kuvamateriaali tosin on geneerisiä lehtikuvia. Otimme ohjelmamme toimintalogiikkaan mallia Hehkuvasta.

Toteutus


Alustava UML-malli

Ohjelman suunnittelu lähti liikkeelle mukavasti ja osa-alueita jaettiin henkilöiden suunniteltavaksi. Laadin ohjelmallemme alustavan UML-mallin, jonka mukaisesti lähdimme ohjelmaamme toteuttamaan. Törmäsimme kuitenkin pian ohjelman toteutuksessa useisiin ongelmiin, joista suurimpana oli itse datan saaminen Facebookista.

Ongelmana oli erityisesti Facebook-autentikaatio, jota ei oltu juuri suunniteltu java-applettien tai ohjelmien käytettäväksi. Autentikaatioon oli tarjolla kaksi tapaa: uusi ja vanha. Uusi Facebook Connect -autentikaatio on suunniteltu webapplikaatioille, ja vaatii käytännössä selaimen hallitsemista tai sisällyttämistä ohjelmaan.

Vanhempi autentikaatiomenetelmä perustuu Application Secret -koodiin, jonka avulla generoidaan autentikaatio-token. Tätä secret-koodia ei saa sisällyttää jaettavaan ohjelmaan, sillä sen avulla voi tehdä mitä tahansa meidän ohjelmamme nimissä. Tämäkin autentikaatiomenetelmä on suunniteltu käytettäväksi palvelimilla, joissa salainen koodi on turvassa.

Lopulta toteutin autentikaation siten, että www-palvelimella Facebookin viralliseen php-kirjastoon pohjautuva yksinkertainen scripti hoitaa autentikaation, ja generoi appletin käytettäväksi ns. temporary-keyn, jolla pääsee kiinni käyttäjän tietoihin. Tämä key välitetään appletille parametrina html-sivun koodissa.

Ohjelmasta tuli lopulta huomattavasti suunniteltua vaikeampi toteuttaa, sillä esimerkiksi Facebook-implementaation sekä kuvien lataamisen toteuttamiseen meni paljon työtä, joka ei varsinaisessa ohjelman taiteellisessa ulosannissa juuri näkynyt. Toisaalta taideteoksestamme saatiin näin interaktiivinen ja jokaiselle käyttäjälle persoonallinen.

Mitä opin

Tutustuin harjoituksessa erityisesti Facebookin apiin ja sen epäviralliseen java-toteutukseen. Opin paljon autentikaatiomenetelmistä ratkoessani niissä ilmenneitä ongelmia. Opin paljon myös säikeistä toteuttaessani kuvien lataamisen erillisissä säikeissä.

Tärkeä harjoituksessa opittu osa-alue oli myös Processingin käyttö ulkoisena kirjastona Eclipse-projektissa.

Kokeile ohjelmaa