2 Hypertekstin perusteet Lähdetään liikkeelle asian asteittaisen tarkentamisen kautta: esitetään aluksi perusperiaatteet ja pohditaan näitä sitten tarkemmin kun yleiskuva on selvillä Hypermediasta ja hypertekstistä puhuttaessa on hyvä huomata, että samoja termejä käytetään eritasoisista asioista puhuttaessa - teksti, hyperteksti, hypermedia, hypermediaohjelma, hypermediasovellus, Hypertekstin ja -median perusidea on verkkomuotoisen tiedon esittäminen tietokoneella - perusrakenne: solmut ja linkit (pisteet ja viivat [nuolet]) - huomaa, että linkit voivat olla aidosti yhden-, kahden- tai monensuuntaisia! - lukutapa: navigointi (linkin seuraaminen ja peruuttaminen) Yksinkertaisen hypertekstin linkit ovat assosiatiivisia, ts. yhdistelevät asioita (kirjoittajan) mielleyhtymien kautta - hyvä (monimutkainen) hyperteksti jäsennetään käytännössä kuitenkin "aina" tätä monipuolisempien solmujen ja linkkien luokittelun avulla Käsitteellisesti hypertekstin vastaa itse asiassa suunnattua verkkoa 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 34
Hypertekstin perusrakenne on verkko eli graafi ( ) Graafi on pisteiden ja niitä yhdistävien viivojen muodostama kokonaisuus Graafin piirtäminen, Suunnattu graafi eli digraafi (viivoille määritellään suunta nuolet), Graafin peruskäsitteet, Graafin merkitseminen & tiedon mallintaminen, Graafit & semanttiset verkot Graafia voidaan pitää kartan ("topologisena") abstraktiona: jos pisteet ja viivat tulkitaan kaupunkien ja teiden abstraktioiksi, digraafi kertoo mistä kaupungista pääsee mihinkin ottamatta kantaa kaupunkien maantieteellisiin sijainteihin yms. ominaisuuksiin Hypertekstin ja verkkoteorian välillä on selvä yhteys; käytännössä painopiste on yleensä kuitenkin "vain" termien, käsitteistön (kielenkäyttö) ja perustulosten käytöllä eikä abstraktin graafiteorian kehittämisellä Merkattujen graafien keskeiset sovellukset: 1) hypertekstin suunnittelu käsitekarttojen avulla & 2) suurten hyperdokumenttien analysointi (tehdään poikkeuksetta abstrahoimalla hyperteksti graafiksi) 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 35
Graafien peruskäsitteitä Graafi G = (V,E), V={a,b,c,d,e} pisteiden tai solmujen joukko, E = { (a,b), (b,a), (c,d), (c,e) } viivojen tai kaarien multijoukko, esim. epäyhtenäinen graafi G: G: d a b c e G 1 G 2 G:n aligraafeja ovat sen (pisteiden) osajoukkojen muodostamat graafit (kaikilla E:n viivoilla) G:llä kaksi komponenttia: G 1 ja G 2 Kulku on jokin pisteiden ja viivojen jono pisteestä toiseen Polku on jokin pisteiden ja viivojen jono pisteestä toiseen (pisteet eivät toistu, paitsi päätepisteet piirissä) Suunnattu graafi (digraafi) D=(V,E), V={a,b,c,d,e} pisteiden joukko, E = { (a,b), (b,a), (c,d), (c,e) } suunnattujen viivojen tai nuolien multijoukko, esim. D: a b c d e 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 36
Tärkeä graafin erikoistapaus: juurellinen puu Puu on piiritön graafi. Juurellisessa puussa jokin piste on valittu juuripisteeksi (tai juurisolmuksi) (joskus juurelliset puut esitetään suunnattuina). Esim. d b e a c f g h i j a on T:n juuri. T:n lehdet ovat d, e, i, j, h T.n sisäpisteet ovat b,c,f,g f,g,h ovat c:n lapsia, c on näiden vanhempi f,g,h,i,j ovat c:n jälkeläisiä, j:n edeltäjiä ovat g,c,a f, g, h ovat sisaruksia, f on g:n edeltävä sisar ja h on g:n seuraava sisar T:llä on viisi haaraa, polut a-d, a-e, a-i, a-j ja a-h T:n syvyys on 4 ja sen leveys on 5 Puun rivimuotoinen esitystapa on erityisen kätevä tietokoneiden yhteydessä (luetaan ylhäältä alas ja vasemmalta oikealle): a b c d e f 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 37
Semanttiset verkot ja käsitekartat Merkittyjen graafien keskeinen sovellus hypermediassa (suunnittelu) ovat erilaiset käsitekartat Käsitekartalla tarkoitetaan graafista tiedon esittämisen tekniikkaa, jonka avulla objektista, ilmiöstä tai prosessista poimitaan tarkasteltavaksi osia ja suhteita Muita vastaavantyyppisiä termejä: mindmap, mielle(yhtymä)kartta, Käsitekarttojen piirtämistapoja ja on lukuisia erilaisia ( ). Tyypillisiä piirteitä: - pisteet kuvaavat objekteja tai ominaisuuksia, viivat näiden välisiä suhteita - pyrkimyksenä on täsmällisyyden sijaan esityksen havainnollisuus - kartta on aina vain eräs tiedon jäsennys (voidaan tehdä perustellusti eri tavalla useista lähtökohdista käsin) Erilaisia käsitekarttoja käytetään muistin ja oppimisen tukena, suunnittelu- ja ideointimenetelmänä, päätöksenteon tukena ja identifioinnissa Semanttisen verkon tai käsitekartan idea voidaan systematisoida osaksi kokonaista suunnittelumenetelmää (esim. OMT, UML) 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 38
Tyypillisiä käsitekarttoja "ERIKOISKARTAT": tarkkaan sovitun notaation käyttö erikoissovelluksessa, esim. ERdiagrammit (relaatiotietokant. suunn.) nimi näyttelijät nimi studiot osoite osoite tähtenä omistaa elokuvat "YLEISKARTAT": käsikartan käyttö esim. tietämyksen havainnollistamisessa nimi tyyppi ominaisuus tuoksu ohjaaja vuosi päällä kukka maljakko pöytä sisällä päällä matto lattia osa päällä jalka tuoli päällä selkänoja osa 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 39
Graafit & hyperteksti Hypertekstiin liittyy oletuksena kartta- tai paikkametafora; lukijan voidaan ajatella "sijaitsevan" lukemassaan solmussa; navigoinnissa käyttäjä siirtyy solmusta toiseen linkkejä seuraamalla Hypertekstin perusominaisuuksia: - yksinkertainen assosiatiivinen rakenne voidaan suoraan samaistaa suunnatun verkon kanssa - hypertekstin solmujen lukujärjestys ei (kenties alkusolmua lukuun ottamatta) ole ennalta määrätty (jos vastaava verkko ei ole lineaarinen) - hypertekstiä luetaan "erilaisella" tekniikalla kuin esim. kirjaa (lukutapaa voisi kärjistetysti verrata esim. ensyklopedian, käsikirjan yms. hakuteoksen lukemiseen) - lukemisen sopivan "loppukohdan" löytäminen saattaa olla hankalaa - lukeminen vaatii suurempaa keskittymistä kuin perinteisen tekstin - dokumenttien rajat saattavat olla epämääräisiä (erityisesti tietoverkoissa) 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 40
- lukijalla olemassa selkeä "eksymisen" mahdollisuus 2 Hypertekstin perusteet - navigoinnin tueksi tarvitaan apuvälineitä (esim. karttoja ja kirjanmerkkejä) - hypermediaan on liitetty "perinteisesti" myös vahva "toisten käyttäjien" rooli, ts. myös toiset lukevat hyperdokumenttia - ja saattavat tehdä siihen omia (julkisia) merkintöjään "Modernin" hypertekstin tyypillinen lukustrategia on yleensä yhdistelmä (tietokantatyyppisiä asiasana)hakuja ja navigointia: - 1) navigoinnin alkukohdan etsiminen hakukoneen avulla (esim. Google) 2) navigointi linkkejä seuraamalla ("mitäköhän tuolta löytyy") ja 3) paluu kirjanmerkin avulla takaisin hakukoneeseen ("uusi yritys")? "net - www" hakukone haun tulos "uuden navigoinnin" alkuna 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 41
Hypertekstin rakenteesta Yksinkertaisimmassa muodossaan hyperteksti on siis assosiatiivinen verkko, jossa linkit yhdistävät verkon solmut toisiinsa (huomaa, että linkkien suunnat ovat merkitseviä) Hypertekstirakenteita voidaan kuitenkin luokitella, esim. seuraavien ääripäiden avulla ( ): - puurakenne - peräkkäisrakenne (lineaarinen rakenne) - peräkkäisrakenne vaihtoehdoilla - peräkkäisrakenne sivupoluilla - hila - yhdistetty rakenne - verkko (kaikki edelliset ovat siis tämän erikoistapauksia) Ilmeisestikin "sama sisältö" voidaan jäsentää eri tavoin, näkökulmasta riippuen 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 42
Perusrakenteet puurakenne peräkkäisrakenne peräkkäisrakenne vaihtoehdoilla (eräs rakenne) hila yhdistetty rakenne (esim. puu vaihtoehdolla) peräkkäisrakenne sivupoluilla verkko ("yleinen rakenne") 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 43
Huomautuksia On syytä huomata, että käytännössä hyperteksti muodostaa em. ääripäitä huomattavasti monimutkaisemman rakenteen Monimutkainen linkitys johtaa helposti varsin sotkuisen näköiseen graafiin Hypertekstin rakennetta suunniteltaessa (ja esitettäessä) on kuitenkin hyvä pyrkiä esityksen havainnollisuuteen Havainnollisen esityksen perusidea on sieventää käytettyjä merkintöjä esityksen asiasisällön pysyessä samana Kaksi suoraviivaista lähestymistapaa joilla esitykseen piirrettävien linkkien määrää voidaan supistaa ovat - linkin perintä ja - linkkien yhdistäminen 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 44
Tällöin hypertekstin tiivistetty esitystapa on seuraava: - llinkin perinnässä ne solmut {A 1,A 2,,A N }, joista pääsee (mahd. muiden solmujen kautta) linkkejä seuraamalla tiettyyn solmuun B, ympäröidään suorakaiteella (solmuryhmä), eikä linkkejä (A k,b), k=1,..,n merkitä kuvioon näkyviin. Sen sijaan ko. suorakaide yhdistetään nuolella solmuun B - linkkien yhdistämisessä ne solmut {A 1,A 2,,A N }, joista suoraan johtaa linkki tiettyyn solmuun B, ympäröidään ovaalilla (solmuryhmä), eikä linkkejä (A k,b), k=1,..,n merkitä kuvioon näkyviin. Sen sijaan ko. ovaali yhdistetään nuolella solmuun B ~ ja vastaavasti toisinpäin: ~ Edellä viittaus voidaan siis yksittäisen solmun B sijasta tehdä myös toiseen solmuryhmään ja päinvastoin Sekä linkin perinnässä että ylitilojen merkitsemisessä hypertekstirakenteen esityksen luettavuus paranee kun solmuja ryhmitellään ja "tarpeettomat" nuolet jätetään piirtämättä ( ) 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 45
On tietenkin myös mahdollista, että hypertekstin rakenteen tiedetään noudattavan jotain yleisiä sääntöjä, mikä tarjoaa mahdollisuuden tapauskohtaisten sievennystapojen käyttöön Jos linkkien tiedetään esim. noudattavan järjestysrelaatiota, voidaan hyperteksti esittää kompaktissa muodossa ns. viivadiagrammin avulla (Hassediagrammi) ( ) Tyypillisessä hypertekstissä erilaiset hypertekstirakenteet esiintyvät päällekkäin, esim. - määritelmien assosiatiivinen verkko - johdanto-osan selkeä peräkkäisrakenne - yksityiskohtien ja huomautusten lineaariset sivupolut - jne. Näiden erityyppisten rakenteiden erottaminen toisistaan helpottaa lukijan työtä suuresti Suoraviivaisin apu lukijalle on erityyppisten solmujen ja linkkien (kuvallinen) koodaus joka hyödyntää jotain helposti hahmotettavaa perusrakennetta 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 46
Hypertekstin käsitteelliset tasot Hypertekstin tarkasteleminen johtaa väistämättä tiedon ja kielen ominaisuuksien (omituisuuksien?) tarkasteluun Hypertekstin laatimisessa, käytössä ja opiskelussa voidaan erottaa kolme (kielenkäytön) käsitteellisesti erilaista osa-aluetta: - syntaksi - semantiikka - pragmatiikka Semantiikka vastaa sisältöjä, joita halutaan esittää ja käsitellä (tietosisältö), syntaksi tarjoaa keinon tehdä asiat käytännössä (rakenne) ja lopulta pragmatiikka osoittaa, miksi asioita tehdään (käyttö) Esimerkki: HTML-sivu noudattaa HTML-syntaksia, jolla on HTML:n & selainten toteuttama (sovittu) semantiikka. Se, miksi sivu on tehty ja mitä sillä ajetaan takaa, riippuu laatijan ja käyttäjän näkökulmista ja työlle asetetuista tavoitteista Edellä esitetty "formaalinen" kolmijako nousee tärkeään rooliin yleensä vasta siinä vaiheessa, kun erottelu osataan (läh. "teknisesti") tehdä 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 47
Hypermediajärjestelmistä Hypermediasovellukseen liittyy aina kaksi näkökulmaa: lukijan ja laatijan näkökulma ( ) Hypertekstijärjestelmä (hypermediajärjestelmä) tarjoaa lukijalle ja laatijalle erilaiset näkymät ja työkalut Tyypillinen hypermediasovellusten (tekninen) jako on seuraava - integroidut sovellukset - alustaratkaisut, ts. yleiskäyttöiset "selain+dokumenttix" -sovellukset Esimerkki: Integroitu sovellus voi olla esim. Toolbookilla, Macromedia Directorilla tai Visual Basicilla toteutettu infokioski Esimerkki: Tuttu "alustaratkaisu"; WWW-selain + hyperdokumentti (selain tarjoaa käyttäjälle peruspalveluja, joista tärkein on ajonaikainen "takaisin"-toiminto) 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 48
Pelkistetyn hypertekstijärjestelmän rakenne (selainpohj.) Kolme arkkitehtuurin perustasoa on helposti tunnistettavissa: esitys akdj kasdklj aslk askdl aslkdlk akdj kasdklj aslk askdl aslkdlk erityyppiset solmut dokumentit ja mediaelementit, ikkunointi, linkkien esittäminen, navigointi, hakupyynnöt, haut & navigointi aineiston välittäminen asiakkaalle hyperdokumenttien looginen rakenne ja käsitteistö (=merkattujen graafien käsitteet) varastointi tietokanta tai tiedostojärjestelmä 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 49
Hypertekstijärjestelmien analysoiminen & vertailu Pelkistetyn hypertekstijärjestelmän rakennetta voi kuvata esim. HAMabstraktion ([Hypertext Abstract Machine]) avulla (v. 1988) ( ) - esitystapakerros ([presentation level]) - abstrakti hypertekstikerros ([HAM level]) (graph, context, nodes, links, attributes) - tietokantakerros ([database level]) User Interface Application Tools Hypertext Abstract Machine Host File System or Storage Mechanism 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 50
Hypertekstijärjestelmän osat voidaan myös "standardoida", ts. määritellä yleinen malli (referenssikuvaus), jonka kautta analysoida ja vertailla eri (todellisia) hypertekstijärjestelmiä Kenties merkittävin tällainen kuvaus on Dexter Reference Model (v. 1990) - esitystapataso ([run-time layer]) - rakennetaso ([storage layer]) - komponenttitaso ([within-component layer]) Dexterin pääpaino on rakennetason kuvailulla (hypertekstimäinen tieto) Dexter kuvaa myös - yhteydet eri tasojen välillä ([presentation specifications] & [anchoring]) - eri kerrosten peruskäsitteet (komponentit: atomit, linkit & koosteet, ) - eri tasojen funktiot ja operaatiot Dexterille ominaisia piirteitä: - hypertekstiä lukee yhtä aikaa monta käyttäjää (kullakin oma sessio) ja käyttäjät voivat tehdä hypertekstiin muutoksia 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 51
- hypertekstin "reaaliaikainen" muokkaaminen & päivittäminen on mahdollista (transaktiot tietokantojen tapaan) - jokaisella solmulla ja linkillä on oma yksikäsitteinen tunnisteensa - linkit ovat aina valideja (linkit ovat omia "konkreettisia" objektejaan) ja linkit voivat olla aidosti monensuuntaisia - hypertekstin kaikki solmut ovat aina reaalisesti saatavilla saantifunktion avulla - koko hypertekstistä voidaan etsiä solmuja hakufunktion avulla 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 52
Dexterin painotus: rakennetaso (Storage Layer) " Storage layer models a database that is composed of a hierarchy of data-containing components which are interconnected by relational links. Components have unique identifiers and links can be identified by a set of two or more component identifiers. Components correspond to the general notion of nodes and can contain text, graphics, images, audio, video etc. The components are treated as generic containers of data and the model does not specify any structure within the containers. Thus, the storage layer does not differentiate between text components and graphics components. It focuses mainly on the mechanism by which components and links are tied together to form hypertext networks." (Balasubramanian) 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 53
Dexter-malli on suunniteltu lähinnä hypertekstijärjestelmän suunnittelijan näkökulmasta. Referenssimallin idea on, että - erilaisten hypertekstijärjestelmien vertailu ja analysoiminen helpottuu (esim. etsimällä yleisestä mallista "pienin yhteinen tekijä") - standardointi tiedonsiirto eri hypertekstijärjestelmien välillä helpottuu - samalla oikeastaan myös täsmällisesti määritellään "mitä hypertekstillä tarkoitetaan" 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 54
Sisällöntuottajan näkökulmasta Dexter-malli ei nykyään ole kovinkaan ajankohtainen, standardien kehittäjät mallia kuitenkin käyttävät - multimedian huomioonottaminen: Dexter Amsterdam Hypermedia Model (AHM) - standardointi, tiedon abstrahointi & SGML Hypermedia / Time-based Structuring Language (HyTime) XLink(!) Soveltajan näkökulmasta referenssijärjestelmiä mielenkiintoisempia ovat yleensä kuitenkin konkreettiset hyperteksti- ja hypermediajärjestelmät esim. - multimedian tekeminen Multimedia ToolBook-ohjelmalla - multimediaohjelmointi Visual Basic -ohjelmointityökalulla - hypermedian tekeminen Macromedia Director-ohjelmistolla - HyTime SGML-standardin käyttäminen sisällöntuotannossa ja työhön liittyvät työkalut, - XML-standardiperhe ja ko. standardeihin liittyvät työkalut sekä - WWW:n HTML-standardi ja tähän liittyvät muut spesifikaatiot ja työkalut. 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 55
Käytännössä hypertekstiä ja -mediaa voidaan siis toteuttaa "miten tahansa", Dexteristä yms. hypertekstimalleista piittaamatta - kuitenkin esim. WWW hypertekstijärjestelmänä voidaan aika luontevasti jäsentää HAM-mallin avulla Dexter-tyyppiseen standardointi- & kerrosajatteluun päätyy kuitenkin myös "omassa työssä helposti", lähinnä taloudellisista ja tehokkuussyistä johtuen Standardoinnin tyypillinen tavoite on kuvattavan järjestelmän eri tasojen erottaminen käsitteellisesti toisistaan, tasojen yhdistäminen toisiinsa standardoitujen primitiivien avulla ja tasojen toteutuksen kapselointi, vrt. HAM: User Interface Application Tools Hypertext Abstract Machine Host File System or Storage Mechanism 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 56
WWW hypertekstijärjestelmänä Nykyään WWW/HTML -yhdistelmä on useimmille niin tuttu, että WWW:n voidaan sanoa toimivan hypermedian de facto referenssijärjestelmänä WWW ei kuitenkaan nykyisellään (ainakaan helposti & esim. suoraan HTMLspesifikaation muodossa) toteuta kaikkia niitä piirteitä, joita esim. Dexter hypertekstijärjestelmälle määrittelee - monensuuntaiset linkit, validi linkitys - universaali hakufunktio, Toisaalta HTML, WWW-hyperteksti sisältää ("määrittelee") muita nykyään hypertekstiin ja mediaan "luonnostaan" liitettäviä piirteitä & ominaisuuksia - kuvien yms. objektien liittäminen hypertekstiin - ohjelmien ja skriptien liittäminen hyperdokumentin solmuihin - hypertekstin solmujen (dokumenttien) rakenteen esittäminen elementtirakenteina - 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 57
On myös syytä huomata, että WWW "kokonaisuutena" ei ole varsinainen standardi - kyseessä on alati liikkeessä oleva muuttuva kokonaisuus, jonka standardeista, yleisistä sopimuksista tai käytännöistä yleensä kerralla "käytetään/sovelletaan" vain osaa, esim. - Yksittäisten dokumenttien & (suurelta osin rakenteettoman) hypertekstin esittäminen (HTML) - hypermedia multimediaelementtien esittäminen (kuviin, äänin & videokuvaan liittyvät standardit, kuten esim. GIF, JPG, AVI, AU, WAV & MPEG) - hyperdokumentin solmujen nimeäminen ja näihin viittaaminen linkeillä (URL) - solmujen noutaminen luettavaksi (HTTP) & HTTP-palvelinohjelmistojen ominaisuuksien hyödyntäminen (esim. index.html-tiedostonimen käyttäminen) - skriptien kirjoittaminen (ECMAScript, JavaScript, VBScript, Perl, ) - selainten dokumentteihin liittävien tietorakenteiden käyttö ohjelmointirajapintojen läpi (DOM), jne. WWW ei oikeastaan ota tarkasti kantaa siitä, millaista "hyvän hypermedian" tulisi olla, vaan tarjoaa leikkijöiden käyttöön legopalikat asenteella "tässä on kaikki tarpeellinen - tee lelusi itse" 73270 HYPERMEDIAN PERUSTEET (syksy 2002) 58