Kun osallistuin 2022 VAKKI-symposiumiin, keskustelin yhden esitelmän päätteeksi esitelmöijien käsittelemistä dokumentaation käytettävyyden lisäämisen keinoista. Kyseessä oli sisällön vahvempi kohdistaminen käyttäjäkohtaisten tarpeiden mukaiseksi ja kuinka tämä turhan usein tapahtuu muiden kuin käyttäjän itsensä tekemiin oletuksiin soveltuvasta osaamistasosta. Käyn tässä artikkelissa läpi silloin heränneitä ajatuksia keinoista, joilla DoX CMS sallisi vastata tällaisiin haasteisiin.
Perusajatus on, että esimerkiksi HTML-muotoisena pidetyt julkaisut sisältävät edelleen sisällön ehdollistamiseen käytetyt tunnisteet ja että niihin perustuva suodatus on tehtävissä jälkikäteen käyttäjän valintojen perusteella. Heittelen lisäksi alla seinälle vaihtelevan realistisia esimerkkejä mahdollisista suodatusperiaatteista tällä tavoin käytettäväksi.
Käyttäjien Hallinnoima Ehdollistus
Sisällön ehdollistamisen perusperiaate on, että tietyille sisällöille on annettu tunnisteita, joiden perusteella ne joko sisällytetään tai jätetään sisällyttämättä julkaisuihin.
DoX CMS:ssä sisällön ehdollistaminen tapahtuu tageilla. Tageja voi käyttää joko sisältömoduuleihin tai niiden sisältämiin elementteihin. Kukin tagi kuuluu johonkin tagikategoriaan. Jotta merkityt sisällöt näytetään osana julkaisua, kyseisen julkaisun tulee olla merkitty ainakin yhdellä vastaavalla tagilla jokaisesta tagikategoriasta, mistä kyseisiin sisältöihin on käytetty tageja. Jos esimerkiksi sisältö on määritetty joukon malleja käyttöoppaisiin muttei niiden huolto-oppaisiin kuuluviksi, tulee julkaisun liittyä johonkin kyseisistä malleista sekä käyttöoppaisiin. Vain toisen ehdon täyttyminen ei riitä.
Ehdollistetut sisällöt pysyvät merkittyinä tunnisteillaan myös julkaisemisen jälkeen ainakin DoX CMS:ssä. Tämä sallii siirtää suodattamisen julkaisemisen jälkeiseen vaiheeseen. Tällöin se on tehtävissä käyttäjien itsensä määrittämillä ehdoilla. Tällainen järjestely vaatii kolmea tekijää, jotka on listattu alla.
Suodattamattomat Julkaisut
Kuten yllä mainittiin, ehdollistamiseen käytetyt tunnisteet säilyvät julkaisuissa niihin sisältyvillä elementeillä.
Täten julkaisu, joka sisältää kaikki ehdollistetut sisällöt, sallii myös näihin tunnisteisiin perustuvan jatkohallinnoinnin.
Käytännössä tällaiset julkaisut vaativat julkaisuvaiheessa kaikkien (ehdollistamiseen käytettyjen) tunnisteiden valitsemista kyseisen julkaisun käyttöön. Tällöin mitään ehdollistettua sisältöä ei suodateta pois vaan se kaikki tulee mukaan tällä tavoin kasattuun julkaisuun.
Vuorovaikutettava Julkaisuformaatti
Suodattamaton julkaisu on itsessään käytännössä käyttökelvoton, varsinkin mikäli osa ehdollistetusta sisällöstä koostuu kuvista ja/tai peräkkäisistä fraasielementeistä (ph).
Jos näytettyihin sisältöihin ei siis voi vaikuttaa jälkikäteen, ei tämä menetelmä toimi.
HTML on esimerkki julkaisuformaatista, joka säilyttää rakenteisen taustansa ja joka säilyy hallinnoitavissa olevana tällä perusteella.
PDF on esimerkki lukitusta julkaisuformaatista, jonka jatkohallinnointi tällä tavoin olisi… haastavaa.
Näkyvyyden Säätelyn Valikko
Kun kaikki vaaditut sisällöt ovat saatavilla ja kyseinen julkaisu on aktiivisesti muokattavissa, tarvitaan enää keino antaa käyttäjien hallinnoida kyseisiä sisältöjä.
Tämä vaatii valikkoa, jossa käyttäjät voivat säätää, mitä sisältöjä heille näytetään. Mahdollisia säädeltävien arvojen kokonaisuuksia käydään läpi tarkemmin alempana. Riippuen käytetyistä ehdollistamisen muodoista, tämä valikko voi kuitenkin sisältää esimerkiksi rapullisia liukusäätimiä tai monivalintakenttiä. Liukusäädintä voi käyttää esimerkiksi sisällön vaikeustason nostamiseen ja monivalintakenttiä esimerkiksi olosuhteiden listaamiseen.
Luullakseni yksinkertaisin menetelmä heijastaa yksittäisten käyttäjien valintoja perustuu käyttäjän välimuistiin tallennetun tyylitiedoston hallinnointiin, joka lisää (tai poistaa) tietyillä tunnisteilla merkittyjen sisältöjen piilottamiseen käytettyjä sääntöjä. Vastaavanlainen toiminnallisuus tulisi voida toteuttaa myös suoraan Javascriptiä käyttäen.
Tyylitiedostoissa käytettävän CSS:n osalta lisättävät tai poistettavat säännöt näyttäisivät tältä:
[data-doxattribute-categoryID="tagID"] {
display: none;
}
Kohta ’categoryID’ on tagikategorian tunniste ja kohta ’tagID’ tagin tunniste.
Tällainen valikko olisi helposti sisällytettävissä myös virtuaalisiin tai rikastettuihin ympäristöihin, missä niiden sisältöä hallinnoidaan VAD:in kautta.
Käyttäjien Hallinnoiman Ehdollistamisen Muodot
Kun ehdollistettu sisältö on näytettävissä ja piilotettavissa julkaisemisen jälkeen, voidaan ehdollistaminen toteuttaa eri tavalla kuin pysyvien julkaisumuotojen erottelemiseksi. Alla käydään läpi joitakin mahdollisia perusteita tällaisen sisällön ehdollistamiselle.
Aihekohtainen Ehdollistaminen
Tässä tapauksessa käyttäjä voi päättää, mitä aiheita koskeva sisältö näytetään hänelle. Tällaisia aiheita voivat olla esimerkiksi ohjetyypit kuten käyttöohjeet ja huolto-ohjeet tai ohjelmiston toiminnot kuten käyttäjänhallinta.
Jos useampaan ohjetyyppiin kuuluvat sisällöt saadaan näytettyä rinnakkain tällä tavoin, ei näitä ohjeita tarvitse erottaa toisistaan kuin ehdollistamisen tasolla. Käytetyn oppaan saa pidettyä asianmukaisesti kohdistettuna tällaisen käyttäjän tekemän hallinnoin avulla.
Keskeisyys
Keskeisyys tarkoittaa informaation oletettua käyttöastetta. Mitä keskeisempää kyseinen informaatio on, sitä luultavampaa on, että pääsyä siihen tarvitaan (säännöllisesti). Esimerkiksi ohjeet laitteen käynnistämistä koskien ovat (yleensä) keskeisempiä kuin ohjeet liittyen saman laitteen käyttäjäkohtaisten säätöjen muuttamiseen.
Tämä arvo on kytkettävissä erikseen kuhunkin aiheeseen. Tällä tavoin kukin aihe toimisi kategoriana, jonka puitteissa on tarjolla useampi keskeisyystaso. Esimerkiksi käyttäjänhallinnan osalta olisi siis mahdollista antaa käyttäjän sisällyttää hänelle näytettyyn oppaaseen vain ydininformaatio, vain lisäinformaatio, tai molemmat, riippuen toteutustavasta.
Monimutkaisuus
Monimutkaisuus koostuu informaation tiheydestä ja sen omaksumisen haastavuudesta. Mitä enemmän kuhunkin aiheeseen liittyy informaatiota ja mitä enemmän kognitiivisia resursseja kyseisen informaation käsitteleminen vaatii käyttäjältä, sitä funktionaalisesti monimutkaisempana kyseistä informaatiota voi kohdella. Useampivaiheiset prosessit ovat harvempivaiheisia monimutkaisempia, ellei kukin vaihe useampivaiheisessa prosessissa ole suhteessa helpompi ymmärtää.
Samoin kuin keskeisyys, monimutkaisuus voidaan valita aihekohtaiseksi muuttujaksi. Tällaiset aihekohtaiset muuttujat voidaan kukin järjestellä aihekokonaisuuksiin perustuvien otsikoiden alle. Jos esimerkiksi haluttaisiin siis erottaa toisistaan käyttöohjeen osuuden (1) yksinkertaiset ydinsisällöt, (2) monimutkaiset ydinsisällöt, (3) yksinkertaiset lisäsisällöt ja (4) monimutkaiset lisäsisällöt, niin se vaatisi kolmen kategorian tunnisteita. Sekä keskeisyyden että monimutkaisuuden osalta kullekin sisällön osalle tulisi tällöin valita vain yksi tunniste. Jos esimerkiksi valinnan näyttää monimutkaiset sisällöt ollessa käytössä halutaan näyttää myös yksinkertaiset sisällöt, ei se vaadi molempien tunnisteiden käyttämistä samaan sisältöön. Sen sijaan valinnan näyttää monimutkaiset sisällöt ollessa käytössä voidaan päättää olla piilottamatta kummankaan tunnisteen omaavia sisältöjä.
Kielimuunnelmat
Yleisesti ottaen kullakin kielellä on syytä ylläpitää vain yksiä versioita sisällöstä ja tämä versio on useimmiten laajimman käyttäjäkunnan ymmärrettävissä oleva. Periaatteessa tällaiset muunnelmat voi kuitenkin kirjoittaa erikseen ja ehdollistaa. Yksi todellinen esimerkki tästä on ero amerikanenglannin ja brittienglannin välillä.
Miksi käyttäjille olisi syytä koskaan antaa mahdollisuus valita amerikanenglannin ja brittienglannin välillä? Jos materiaalia ei ole käännetty kaikkien kansainvälisten käyttäjien omille kielille, on englanti monien käyttämä oletusversio. Kansainvälisen englannin oletusarvo on amerikanenglanti. Yksittäisten käyttäjien tapauksessa kuitenkin on täysin mahdollista, että osalle omempaa on brittienglanti. Jos molemmat sisällön versiot ovat jo saatavilla, ei tulisi olla syytä rajata kansainvälisiltä käyttäjiltä pois mahdollisuutta valita käyttöönsä haluamansalaista englantiversiota.
Olosuhteet
Mielenkiintoisempi käyttäjien hallinnoitavissa oleva ehdollistamisperuste ovat yksilölliset ja tilannekohtaiset olosuhteet. Normaalisti oppaissa huomioitaisiin enintään kaikkein olennaisimmat tällaiset olosuhteet, jotta mukaan ei tulisi liikaa tilannekohtaista sisältöä. Kun käyttäjät voivat hallinnoida näiden sisältöjen näkyvyyttä itse, voivat he sisällyttää oppaaseen kaikki itselleen soveltuvat osiot ja vain kyseiset osiot.
Henkilökohtaisia olosuhteita ovat esimerkiksi hiusten pituus, silmälasit ja allergiat. Kuhunkin näistä tekijöistä voi liittyä lisäaskelia tai varoituksia kuten ’peitä hiuksesi ja varmista, että ne eivät voi jäädä kiinni sahaan’. Normaalisti tällaisista olosuhteista huomioitaisiin vain kaikkein vaarallisimmat ja yleisimmät. Kun kaikki itseä koskemattomat osiot voi suodattaa pois, on kuitenkin mahdollista huomioida useammanlaisia henkilökohtaisia olosuhteita ja mainita niistä myös osana pääsisältöä kuten lisävaiheina toimintaohjeessa.
Tilannekohtaisiin olosuhteisiin kuuluu esimerkiksi keli. Se kannattaa jakaa useampiin tekijöihin kuten toisistaan erotetuiksi lämpötilaksi ja sadetilanteeksi. Erityisen kylmissä tai kuumissa olosuhteissa tai mudassa ajaessa tai niin edelleen on syytä ottaa käyttöön toimenpiteitä näihin olosuhteisiin vastaamiseksi.
Roolit
Eri toimenkuvissa toimivilla käyttäjillä voi olla erilaisia tarpeita tehtäviensä perusteella. Lisäksi eri rooleihin voi osaltaan liittyä erilaisia lupia tai velvollisuuksia, joita on myös mahdollista käyttää ehdollistamisen perusteina. Tällaisia lupia ovat esimerkiksi erilaiset ajokortit. Velvollisuuksien osalta esimerkiksi kuskille voidaan tarvita perustason huolto-ohjeita käyttöohjeiden lisäksi ja mekaanikolle tarpeeksi käyttöohjeita käyttökokeita varten.
Tarpeet
Koska käyttäjä voi hallinnoida sisällön näkyvyyttä tilannekohtaisesti, voi hän käyttää ehdollistamista myös eräänlaisena sisältöhakuna. Kun käyttäjä tarvitsee vain tiettyihin toimintoihin tai toimenpiteisiin liittyviä osioita oppaasta, hän voi suodattaa pois kaiken muun sisällön ja etsiä vastauksia tarvitsematta selata läpi aiheeseen liittymättömien osioiden.
Tarve voidaan määrittää esimerkiksi suhteessa ongelman luonteeseen: jos laite ei käynnisty, näytetään vain kaikki mahdolliset toimenpiteet tämän korjaamiseksi. Usein tällaisissa tilanteissa on tärkeää löytää vastaukset ja etenemiskeinot mahdollisimman nopeasti. Tarve voidaan määrittää myös ennakoivasti esimerkiksi ehdollistamalla ylläpidon toimenpiteitä käyttöasteen tai -vuoden perusteella: 100 000 kilometrin jälkeen tulee tarkistaa välityskaapelien kulumisaste ja niin edelleen.
Esikatselu
Periaatteessa käyttäjille olisi mahdollista tarjota pääsy myös sisältöihin koskien ominaisuuksia tai muita päivityksiä, jotka eivät vielä ole osa tuotetta. Tämä koskee ensisijaisesti ohjelmistoja ja muita toimittajan aktiivisesti ylläpitämiä tuotteita.
Tällaisen esikatselun salliminen vaatii työn alla olevien sisältöjen sisällyttämistä toimitettuihin oppaisiin ja näiden sisältöjen näkyvyyden ehdollistamista käyttäjien hallinnoitavaksi. Tällä tavoin käyttäjät voivat tutustua kyseiseen sisältöön ennakkoon. Kun heille tarjotaan tämä mahdollisuus, he voivat tutustua uusiin ominaisuuksiin ennen niiden käyttöönottoa eivätkä vasta muutoksien tapahduttua. Tämä nopeuttaa näiden ominaisuuksien käyttöönottoa. Jos käyttäjille tarjotaan myös palautekanava, voi se myös auttaa huomioimaan käyttäjän näkökulmasta ilmeisiä haasteita ja tarpeita ennen toimitusajankohtaa.
Muita Huomioita
Vähimmäisehtojen ja mahdollisten sovellustapojen lisäksi käyttäjien hallinnoimaan ehdollistukseen liittyy erinäisiä muita seikkoja, jotka on syytä huomioida. Alla käydään läpi vastaavan toimintamallin laajentaminen tyylittelyyn sekä keinoja varmistaa tällä tavoin hallinnoidun sisällön oikeanlainen asettuminen.
Tyylittelyn Hallinnointi
Sisällön näkyvyyden lisäksi käyttäjille voidaan antaa hallinnoitavaksi osia sisällön tyylittelystä. Esimerkiksi fonttien vaihtaminen dyslexian kannalta helpompilukuisiksi on tehtävissä vastaavalla tavoin kuin yllä esitetty ehdollistettujen sisältöjen näkyvyyden hallinnointi. Myös esimerkiksi kuvien kontrastin kasvattaminen yksinkertaisena apukeinona värisokeuden eri muotojen osalta on mahdollista tällä tavoin.
Tyylittelyn hallinnointi voidaan myös kytkeä tunnisteisiin samalla tavoin kuin sisällön näkyvyyden ehdollistaminen. DoX CMS:ssä tähän käytetään tunnisteina elementtiluokkia. Niiden avulla on mahdollista merkitä esimerkiksi avainsanoja tai muita osioita, joita käyttäjät voivat halutessaan korostaa niiden erottuvuuden lisäämiseksi. Yksi esimerkki tästä olisi väliaikaisesti käyttöön otettavissa oleva säätö, joka himmentää muita tehtävälistojen kohtia kuin joko valittuna olevaa tai osoittimen alla olevaa. Tällä tavoin käyttäjä voi varmistaa, että hän ei epähuomiossa lue väärään askeleeseen liittyviä ohjeita, kun hän varmistaa, mitä hänen tulisi tehdä.
Koska kyse ei ole tämän artikkelin varsinaisesta aiheesta, en kuitenkaan syvenny näihin mahdollisiin toteutustapoihin yksityiskohtaisemmin tässä yhteydessä.
Oikea Asettuminen
Kun käyttäjät voivat hallinnoida sisällön näkyvyyttä, on mahdollisia näkyvien osien yhdistelmiä lähes väistämättä enemmän kuin muutoin. Jos peräkkäisten osioiden suhdetta ei hallinnoida tarkkaan, voi käyttäjä tällöin epähuomiossa rikkoa dokumentin tekstiasun. Tämä on riski varsinkin tekstin sisäisten elementtien kuten fraasielementtien (ph) tai kuvien osalta.
Yksinkertaisin ratkaisu tältä osin on mahdollisten ongelmakohtien ehdollistaminen vain suhteessa yksittäisiin ehdollistamisen kategorioihin kuten käytettyihin yksiköihin. Jos käyttäjä voi kuitenkin näyttää samanaikaisesti useampaan saman kategorian tunnisteeseen liittyviä sisältöjä, täytyy kyseisten kohtien väliin lisätä merkkejä, jotka eivät saa olla osa itse ehdollistettuja sisältöjä, jos ne voidaan näyttää myös itsenäisesti.
Yksi ratkaisu tältä osin olisi käyttää erikseen ehdollistettuja osia näille kytkeville osioille kuten vinoviivoille (/) tai ’tai’-sanalle. Tällöin ne voidaan esimerkiksi merkitä ympäröivien kohtien tunnisteilla sekä tätä varten tehdystä kategoriasta valituilla tunnisteilla, jotka ilmaisevat niiden ensisijaisen tunnistekategorian. Näin kyseiseen kategoriaan liittyvät välimerkinnät, joilla on valitut kyseisen kategorian tunnisteet, voidaan asettaa näkyviksi, kun useampi kyseisen kategorian tunniste on käytössä samanaikaisesti.
Esimerkiksi siis yksiköiden tapauksessa on mahdollista näyttää sekä paunamäärät että kilomäärät samanaikaisesti. Näiden arvojen väliin voidaan lisätä vinoviiva (/) niiden erottamiseksi. Tällöin kyseiset kohdat koostuisivat kolmesta fraasielementistä (ph): 1. paunamäärästä, 2. vinoviivasta (/) ja 3. kilomäärästä. Kumpikin määrän ilmaiseva elementti olisi merkitty asianmukaisella yksiköihin liittyvällä tunnisteella. Vinoviivan (/) elementti olisi puolestaan merkitty tunnisteella, joka ilmaisee sen olevan yhdistävä osio liittyen painoyksiköihin, ja kummankin painoyksikön tunnisteilla. Jos käytössä olisi myös kolmas yksikkö, lisättäisiin sen muista erottavien vinoviivojen elementeille vastaavat tunnisteet perustuen kutakin ympäröiviin yksiköihin. Järjestelmä puolestaan ohjeistettaisiin näyttämään erottavat elementit useamman vaihtoehdon ollessa valittuna mutta vain kaikkia niille annettuja tunnisteita kyseisestä kategoriasta sillä hetkellä käytettäessä.
On hyvä huomioida, kuinka kyseinen toimintatapa ei sovellu yhteen DoX CMS:n tageilla ehdollistettujen sisältöjen suodatustavan kanssa. Tätä menetelmää ei siis voi käyttää DoX CMS:n kautta julkaistuihin perinteisiin julkaisuihin, vaikka kyseisenlaiset sisällöt voidaan kirjoittaa DoX CMS:ssä ja ne olisivat yhteensopivia tällaisen jälkikäteen suodattamisen kanssa. Syy tälle on, kuinka julkaisuvaiheen suodatus ei koskaan vaadi useamman saman tagikategorian tagin käyttämistä. Jos yksikin kyseisen kategorian tageista on käytössä ja muut ehdot täyttyvät, kyseinen ehdollistettu sisältö näytetään osana tällä tavoin kasattua julkaisua.
Lisäksi tämän ratkaisun toteutusta on syytä kehittää huomioimaan myös tilanteet, missä yhden tai useamman peräkkäisen osion yli hypätään suodattamalla (vain) ne pois julkaisusta. Valitettavasti en ole vielä keksinyt keinoa varmistaa oikeanlainen toimivuus kaikissa tällaisissa tilanteissa. Lisävaihtoehto voisi olla myös tyylitiedoston kautta annettu ohje, että kaikkien paitsi jälkimmäisen kyseisenlaisen peräkkäisen osion jälkeen lisätään välisisältö ::after-pseudoelementtinä.
Yhteenveto
Kun oikeanlaisessa formaatissa suodattamattomana julkaistu sisältö sijoitellaan järjestelmään, joka sallii käyttää ehdollistamiseen käytettyjä tunnisteita sisällön näkyvyyden hallinnointiin, voidaan käyttäjille tarjota mahdollisuus hallinnoida, mitä sisältöä he näkevät.
Tällä tavoin kirjoittaja ei joudu arvioimaan samoissa määrin, mitä sisältöjä on asianmukaista sisällyttää kuhunkin oppaaseen. Sen sijaan hänen tarvitsee vain arvioida kunkin tällä tavoin ehdollistettavan sisällön osan suhteellinen haastavuus tai olennaisuus. Käyttäjät voivat itse määrittää, mihin aiheisiin liittyen heille riittävät perusteet ja miltä osin heille on syytä näyttää myös vähemmän keskeinen tai haastavampi sisältö.
Lisäksi tällöin on mahdollista käyttää myös uudenlaisia perusteita sisällön ehdollistamiselle kuten erilaisia olosuhteisiin liittyviä seikkoja tai tarvekohtaisuutta. Kun huoltotöitä täytyy tehdä silmälasit päässä talviyössä, liittyy tähän tilanteeseen lisäohjeita, jotka käyttäjälle saadaan tällöin toimitettua täyttämättä kaikille näkyvää opasta muutoin yhdentekevillä tilannekohtaisilla huomioilla.
Vastaavanlainen hallinnoitavuus voidaan laajentaa myös tyylittelyyn käyttäjän tarpeiden mukaisesti. Esimerkiksi oppaita käytettäessä pelkän niiden selaamisen sijaan käyttäjät voivat hyötyä kyvystä häivyttää muut kuin sillä hetkellä ajankohtaiset ohjeen askeleet.
Kun halutaan näyttää peräkkäisiä sisältöjä, tarvitaan erillisiä erottavia osioita, jotka tulee ehdollistaa erikseen. Tällä tavoin ne näytetään vain useamman peräkkäisen arvon yhteydessä. Tähän voidaan käyttää omaa tunnisteiden kategoriaansa, jonka perusteella määritetään, mihin arvoihin kyseiset välisisällöt liittyvät. Kun kyseisille sisällöille annetaan tällainen tunniste sekä sitä ympäröivien arvojen tunnisteet, saadaan se näytettyä vain, kun kyseiset arvot näytetään samanaikaisesti.