HypermediaohjelmointiHeikki SaloArmonkallion ATK ja
estetiikka Hypermediaohjelmointihanke kokonaisuus Ohjelmointiprojekti on
muiden projektien tapaan aika-, henkilö- ja raharesursseiltaan rajallinen
määriteltyyn tavoitteeseen pyrkivä toiminto.
Hypermediadokumenttien
ohjelmointi tulee käsittää varsin väljästi, suuri osa
ohjelmoinnista kun on
itse asiassa näyttöjen suunnittelua ja asiakokonaisuuksien koostamista
ja
järjestämistä sopivien navigointipolkujen avulla. Lopultakin
toteutettavat
ohjelmointikieliset osuudet riippuvat tarpeelliseksi katsottavasta aineistosta ja sen
toteutustavasta. Hypermediadokumentit sisältävät tekstiä,
kuvaa,
demonstraatioita, simulaatioita ja ääntä. Hypermediaohjelmointia
suoritetaan
perinteisestä ohjelmoinnista poiketen varsin korkealla abstraktiotasolla, ja
voitaisiin sanoa hypermediaohjelmoinnin tietorakenteiden olevan teksti,
ääninäyte, kuva, animaatio ja videoleike. Äänen
käyttöä on syytä
suunnitella huolellisesti, niiden viestinnällinen hyöty/kustannus -suhde
on varsin
ongelmallinen ja kulttuurisidonnainen, parhaimmillaan ääniä
voidaan
käyttää tehosteina varoittamaan, korostamaan tai ilmaisemaan
esimerkiksi
ajatuksellisesti pitkiä siirtymiä asiakokonaisuuksien
välillä. Lisäksi
voidaan helposti huomata äänten olevan sidoksissa paitsi
kohdekoneiden
toistomahdollisuuksiin ja dokumentin käyttäjien makumieltymyksiin ja
kuuntelutottumuksiin. Kaiken kaikkiaan äänen käyttö
vaatii ammattitaitoa ja
huolellista suunnittelua.
Toteutuksen jäsentäminen Tavoitteen
määrittelyssä
suosittelisin teatterikappaleitten näyttämöllepanossa
käytettyä
menetelmää, jossa kokonaisuudelle kiinnitetään aluksi
pääsanoma.
Pääsanomalla ymmärretään sitä viestiä,
jonka lopullisen esityksen
halutaan katsojille välittävän.
Käytännössä se on muutamalla lauseella
ilmaistu väljästi määritelty ajatus, johon sitten kaikkia
näyttämö- ja
ohjausteknisiä ratkaisuja testataan - miten ne tukevat määritellyn
sanoman
perillemenoa. Hypermediatoteutukselle voidaan määritellä
vastaavasti
päätehtävä tai -tarkoitus, jota sen tulee toteuttaa -
määrittelyn väljyys tai
yksityiskohtaisuus riippuu luonnollisesti lopullisen sovelluksen
käyttötarkoituksesta (käyttöliittymän
päätehtävä vaatinee
yksityiskohtaisempaa määrittelyä kuin itseopiskeluun tarkoitetun
ohjelman).
Näytelmän
työstön
seuraava vaihe on kohtauksiin jäsentäminen. Toisin kuin teatterissa,
hypermediadokumentin osatehtäviin jäsentämiseen kytkeytyy
käsikirjoituksen eli storyboardin laatiminen. Tässäkin voitaisiin
soveltaa
teatterin ja elokuvan piiristä tuttuja tekniikoita: hajoitetaan dokumentin osat
(kohtaukset) sisällölliseen (sanomalliseen) ja toteutukselliseen
(näyttämölliseen) kuvaukseen. Mielestäni
sisällöllisessä osituksessa tulisi
pyrkiä mahdollisimman varhaisessa vaiheessa lukkoon lyötyihin
ratkaisuihin.
Hypermediadokumenttien asiasisällön tarkentaminen liittyy
kiinteästi
toteutuksellisten ratkaisujen kiinnittämiseen.
Käytännössä tämä tarkoittaa
päättämistä siitä, mitkä dokumentin osat
toteutetaan tekstimuotoisina,
mitkä kuvan, grafiikan tai videoleikkeiden ja mitkä demonstraatioiden
ja
simulaatioden avulla. Toteutuksellisissa ratkaisuissa tulee toisaalta huomioida
käyttäjien asettamat vaatimukset selkeyden ja
ymmärrettävyyden suhteen (
'pitääkö piirtää vai vääntää
malli' ) ja toisaalta kohdelaitteistojen ja
-ohjelmiston rajoitukset (voidaanko käyttää värejä,
videoleikkeitä jne).
Perinteisen ohjelmoinnin termein tätä vaihetta voitaisiin kuvata
tietorakenteiden
suunnitteluvaiheeksi. Kohdelaitteiston asettamiin rajoituksiin voidaan varautua
suunnittelemalla erilaisia vaihtoehtomalleja, esimerkiksi videoleikkeet voidaan
korvata animaatioilla ja rasterikuvat vektorigrafiikalla.
Navigointistrategioiden (sallitut/halutut) suunnittelu mielestäni
edellyttää
dokumentin asiasisällön jonkinasteista kiinnittämistä.
Assosiatiivisesti
jäsennetystä tiedosta voidaan sanoa olevan 'niin monta mallia kuin on
miestäkin', joten mitään selvää ja yksinkertaista
ohjetta on mahdoton
antaa. Hyvin määritelty päätehtävä ja
tehtävän ositus jo
itsessäänkin antavat osviittaa siitä mitkä
lukemis-/tutkimispolut ovat
tarkoituksenmukaisia ja järkeviä. Näytelmässä on
pääjuoni ja sitä
kommentoivia sivujuonia - hypermediadokumenteissa 'juonet' on toteutettu
navigointipolkujen avulla.
Hypermediadokumenttien vallankumouksellisin ja sitä myötä
vaikeimmin
hallittava ominaisuus on muokattavuus. Työn viihtyisyyttä ja
työmotivaatiota
voidaan usein lisätä esimerkiksi sallimalla
käyttöliittymän muokkaaminen
enemmän 'käteen sopivaksi'. Jonkin asian
ymmärtämistä ja hallitsemista
on perinteisesti totuttu helpottamaan muistiinpanoin, reunamerkinnöin ja
selventävin luonnospiirroksin. Mikä on lopullisessa toteutuksessa
yksittäisen
lukijan reunamerkintöjen ja muistiinpanojen suhde dokumenttiin,
nehän voisivat
parhaimmillaan avustaa muitakin dokumentin lukijoita. Onko tarkoituksena jakaa
lopullinen tuote kopio/käyttäjä vai jakaa se
hypermediapalvelimella
paikallisverkkoon. Sallitaanko käyttäjän luoda omia
navigointipolkujaan,
muuttaa dokumentin polkuja? Lähimmäs perinteisiä
ohjelmointitehtäviä
joudutaan juuri toteutettaessa navigointi- ja muokattavuusstrategioita, usein
vieläpä niin että niiden toteuttaminen ja toimivuuden
varmistaminen vievät
runsaasti ohjelmointiaikaa.
Aikaresurssi Projektin kestoon
voidaan
lukea mukaan hankkeen määrittely, aineiston keruu, itse toteutus
(layout ja
varsinainen ohjelmointi) ja testaus. Perinteisen käsityksen mukaan ohjelman
elinkaareen lasketaan myös ohjelman ylläpito,
hypermediadokumenteissa
erilaiset ylläpito- ja 'jälkihoitotoimenpiteet' korostuvat. Jos halutaan
saada
dokumenttien navigointi- ja yhdistelymahdollisuuksista sekä
muokattavuudesta
mahdollisimman suuri hyöty ja mahdollisesti kehittää yrityksen
tietojenkäsittelyä edelleen mahdollisimman paljon hypermedian
suuntaan, on
aivan ensiarvoisen tärkeää kerätä tietoa
dokumenttien loppukäyttäjien
kokemuksista dokumenttien ymmärrettävyydestä,
käyttöasteesta ja käytön
mukavuudesta. Toteutettavan hankkeen (käyttöliittymä vai
opastava
dokumentti) luonteesta riippuen aineiston keruu ja/tai toteuttaminen vievät
aikaa.
Nyrkkisääntönä voidaan pitää, parempi liikaa
kuin liian vähän. Jos
yrityksessä halutaan suosia hypermediaa, on syytä vakavasti harkita
mahdollisten olemassa olevien kuva-arkistojen muokkaamista sellaiseen
muotoon, jossa ne ovat tulevaisten projektien hyödynnettävissä.
Kärjistäen
voisi
sanoa: mitä paperittomampi konttori, sitä nopeampaa on
hypermediadokumenttien tuottaminen.
Henkilöresurssit
Työryhmän koko
riippuu
luonnollisesti ohjelmointihankkeen laajuudesta, siis
päätehtävästä.
Hypermediadokumenttien toteutuksellinen monimuotoisuus asettaa aivan
erityisiä vaatimuksia työryhmän asiantuntemukselle ja
ammattitaidolle.
Vaaditaan yhtäällä esteettistä ja psykologista
silmää näyttöjen
tehokkaaseen ja toimivaan suunnitteluun, toisaalla ohjelmointiteknistä
osaamista
dokumentin selaamisen mahdollistavien navigointipolkujen - linkitysten -
toteuttamiseen. Milloin toteutettava kokonaisuus on laaja tarvitaan
informaatikkoja, jotka osaavat jäljittää ja valita
määriteltyjen
päätehtävän ja osatehtävien kannalta
tarkoituksenmukaista aineistoa.
Erityisen paljon informaatikon osaamista edellyttää materiaalin
moninaisuus.
Raharesurssit Valmisohjelmien
hankintaa
perustellaan omatuotannon kalleudella, samoja perusteluja voidaan soveltaa
ainakin yrityksen ensimmäisten hypermedianimikkeiden osalta. Toisaalta
toteutukset ovat usein niin sisällöltään kuin
toteutustekniikoiltaan yritykseen
ja sen toimialaan sitoutuneita, että on vaikeata löytää
valmiita sovelluksia.
Hypermediadokumentit ovat ohjelmakoodiltaan yleensä selkeän
modulaarisia
ja avoimia, niihin sisältyvää varsinaista koodia voidaan
lähes
pääsääntöisesti muokata, kopioda ja
kehittää edelleen. Tämä
ohjelmakoodin uudelleenkäytettävyys asettaa yrityksen omien
ohjelmointihankkeiden kannattavuuslaskelmat uuteen valoon. Jos halutaan
yrityksen tasolla tietojenkäsittelyssä sitoutua laajemmin hypermediaan,
niin
voidaan dokumentteja suunniteltaessa ja käynnistettäessä
pyrkiä
mahdollisimman suureen ohjelmakoodin uudelleenkäytettävyyteen.
Hypermediadokumenttien sisältö määrää
paljolti niiden toimivuuden ja
käyttökelpoisuuden. Kärjistetysti voidaankin
väittää dokumentin
sisältämän materiaalin hankkimisen ja tuottamisen olevan
ohjelmointiakin
kalliimpaa: jos käytetään muitten valmistamaa kuva- ja
tekstiaineistoa, on
varauduttava sijoittamaan tekijänoikeuksiin paitsi rahaa myös aikaa ja
vaivaa.
Pyrittäessä tuottamaan tarvittava aineisto itse, on varauduttava paitsi
lisälaiteinvestointeihin, myös erityistaitoisen henkilöstön
kiinnittämiseen
projektin miehitykseen. Huolellisesti suunniteltu ja toteutettu hypermediatoteutus,
mm. hallinnollisissa sovelluksissa, jalostavaa yrityksen tietovirtoja ja niiden
käsittelyä siinä määrin, että investoinnit
maksavat itsensä takaisin paitsi
kustannussäästöinä myös parhaimmillaan
lisääntyneenä työviihtyvyytenä
ja -motivaationa.
Työryhmästä Edellä
mainitsemani
toteutusympäristön 'monivälineisyys' asettaa melkoisia
vaatimuksia niin
työryhmän sivistyneisyydelle kuin ammattitaidollekin. Toteuttavassa
ryhmässä
pitäisi olla tietojenkäsittelijä, joka tuntee ja hallitsee ohjelmoinnin
ja
tiedonhallinnan ongelmia; graafikko, joka hallitsee kuvallisen ja videoilmaisun
tekniikoita riittävässä määrin;
työryhmässä pitäisi jonkun pystyä
arvioimaan loppukäyttäjän näkökulmasta
toteutuksellisten ratkaisujen ja
valitun aineiston laatua, sen toimivuutta ja käyttökelpoisuutta;
dokumenttiin
liitettävän materiaalin hallinta vaatii eri tietolähteiden
jäljittämistä,
materiaalin hankintaa ja arkistointia.
Parhaimmillaan
jokainen ryhmän jäsen saattaisi toimia jonkin, joko osakokonaisuuden
tai
materiaalityypin (kuva, teksti, video) informaatikkona, ts. voisi kertoa mitä
materiaalia ja mistä voidaan hankkia ja soveltaa. Informaatikon asennetta
vaaditaan myös ohjelmoijalta, joka toteuttaa, kerää,
jäljittää ja arkistoi
toteutuksellisten ratkaisujen edellyttämiä ohjelmamoduuleja.
Tehokkaan ja
toimivan toteutuksen aikaansaaminen edellyttää
työryhmältä luovan hengen
säilyttämistä. Tällöin toteutuksen
määrittelyn tulisi olla riittävän
tarkka, jotta se voisi olla projektin ohjaamisen, tehtävänjaon ja
osatehtävien
tarkentamisen perusta, kuitenkin siten että se kannustaisi varsinaisen
toteutusvaiheen aikana luoviin ratkaisuihin.
Työryhmässä
pitää olla paitsi loppukäyttäjien työtehtävien
tuntemusta myös tietoa siitä
mitä ja mistä löytää teksti, kuva ja videomateriaalia.
Projektin toteuttavassa
ryhmässä tarvitaan siis graafikkoa, käsikirjoittajaa, ohjelmoijaa
ja
informaatikkoa toteuttamaan tarvittavan video-, kuva- ja tekstimateriaalin
suunnittelua, keruuta ja tuottamista, teknisten ratkaisujen ohjelmointitoteutusta
varten ja hankkeen koosta riippuen myös projektisihteeriä.
Ohjelmointi
Hypermediadokumenttien
tuottamiseen tarkoitetuissa ohjelmointiympäristöissä sovelletaan
yleensä
samoja periaatteita. Usein kuulee näitä ympäristöjä
väitettävän
olio-ohjelmointia tukeviksi tai niihin perustuviksi
ohjelmointiympäristöiksi.
Tämä kuitenkin pitää vain osittain paikkansa: useimmiten
ohjelmointiympäristöt tukevat vain olion käsitettä.
Dokumentit
koostetaan ikkunoista, tekstikentistä, painikkeista ja/tai videoleikkeistä,
joihin
voidaan liittää erilaisia toimintoja. Esimerkkinä Hypercard,
sillä luodut
dokumentit perustuvat korttimetaforalle; sovellus eli pino muodostuu
korteista, korteilla on pohja, joka on useammalle kortille
yhteinen - pinossa voi olla useampiakin pohjia. Esimerkiksi jos olen tallettanut
äänilevystöni tiedot käsikortistoon, blueslevyt sinisille
korteille, jatsit
keltaisille jne., niin äänilevykortistoni vastaisi pinoa, kortiston kortti
korttia ja
värit pohjia - niin korttiin kuin pohjaankin voidaan sijoitella lukuisa
määrä
tekstiä sisältäviä kenttiä ja/tai
painikkeita sekä joko
piirtää tai digitoida kuva. Pinoon, korttiin, pohjaan, kenttiin ja
painikkeisiin
voidaan kiinnittää toimintoja kirjoittamalla ohjelmia ko. olion
ohjelma-asuun
eli käsittelijään - minkä lisäksi joillakin olioilla on
ominaisuuksia, joita
voidaan ohjelmallisesti asettaa. Esimerkiksi kenttä tai painike voidaan
ohjelmasta
asettaa näkyväksi tai näkymättömäksi.
Hypercardin,
niin
kuin muidenkin hypermediaohjelmointiympäristöjen, ohjelmointi
voidaan jakaa
kahteen tasoon: 'scriptien laatimiseen', eli perinteisempään
ohjelmointiin, ja korkean tason ohjelmointiin. Hypermediaprojektin jokaisen
jäsenen tulisi mielestäni hallita vähintään korkean
tason ohjelmoinnin
periaatteet. Varsinaisten skriptien suunnitteluun, olioihin paikantamiseen ja
toteuttamiseen (koodaamiseen) pitäisi mielestäni kouluttaa muuta
ohjelmointikokemusta omaava ammattilainen.
Esimerkkinä
korkean tason ohjelmoinnista uuden painikkeen luominen ja yhdistäminen tai
linkitys. Alla (kuva 1) hypercardissa luotu painike: "uusi painike".
kuva 1. 'Objektit'-menusta valittu komento 'Uusi painike'
kuva 2. Painikkeen ominaisuuksien määrittely
dialogin
avulla.
kuva 3. Linkitysdialogi sallii navigoinnin pinoissa ja kortteissa. Kuitattaessa palataan lähtökorttiin.
kuva 4. Painikkeeseen liitetty aliohjelma 'mouseUp'
kuva 5. Hypercardin viestien käsittely- ja
välitysjärjestys,
nuolet osoittavat viestien kulkusuuntaa. Kuvassa vasemmalla näkyvä
ikonivalikko sisältää selaus-, painike-, kenttä- sekä
graafiset työkalut.
Aineiston järjestäminen Aineiston
järjestäminen
erilaisten navigointireittien mukaan vaatii yleensä eniten matalan tason
ohjelmointia (skriptejä). Suositeltavaa on valita jokin perusmalli, joka toimii
dokumentin selaamisen selkärankana. Alla kolme perusvaihtoehtoa, joita
voidaan mainiosti käyttää navigointistrategioitten suunnittelun
lähtökohtina.
kuva 6. Lineaarinen navigointimalli
kuva 7. Hierarkkinen navigointimalli
kuva 8. Säteittäinen tai tähtimäinen
navigointimalli
Ohjelmavirheiden korjaaminen ja jälkihoito Projektin
päätyttyä
ja
dokumentin valmistuttua on tärkeätä seurata ja kirjata
käyttäjien
kokemuksista paitsi ohjelmointivirheiden paikallistamiseksi ja korjaamiseksi
myös
kokemuksen saamiseksi toteutusratkaisujen toimivuudesta. On suositeltavaa
kerätä tietoa käyttäjien mielipiteistä siitä;
mitkä painikkeitten ikonit ovat
epäselviä, mitkä toiminnot hämmentävät,
mitä navigointipolut tuntuvat
vaikeilta jne. Eräs harkinnan arvoinen toteutusvaihtoehto voisi olla
jonkinlaisen
käyttöpäiväkirjan liittäminen osaksi dokumenttia.
Hypermedian erään
ominaisuuden mukaan se voisi olla vuorovaikutteinen, niin että
käyttäjät
käytön myötä oppisivat antamaan
käyttövihjeitä ja -ohjeita toisilleen
'Käyttäjän tietolaari' tyyliin.
Lähteitä![]()
|