Artikkelin "Out of contex: Computer systems that adapt to, and learn from, context" esittely Santtu Toivonen, VTT Tietotekniikka Käyttöliittymien ja käytettävyyden seminaari (T-121.900)
Sisältö (artikkelin ja tämän esityksen) 1) Johdanto, teoreettinen tausta ja väitteet kirjoittajien näkemys siitä mitä konteksti on ja miten tärkeää on sen huomioonottaminen 2) Projektien esittely pääasiassa omia (MIT) 3) Kontekstuaalisuus muilla (tieteen)aloilla Viite: Henry Lieberman, Ted Selker (2000): Out of context: Computer systems that adapt to, and learn from, context. IBM Systems Journal 39(3&4): 617-632.
Ongelma: Tietokoneet ja softa hankalakäyttöisiä Laitteiden ja ohjelmistojen käyttämisen opetteluun kuluu liikaa aikaa verrattuna siihen, mitä varsinaiseen ratkaistavaan tehtävään kuluu Ratkaisu ongelmaan: konteksti otettava huomioon Käyttäjää opastetaan kontekstisidonnaisesti Resepti: AI (koneet älykkäiksi) + HCI (käyttäjäkeskeinen suunnittelu) + Konteksti = Ratkaisu ("doing the right thing")
Mitä konteksti kattaa Tyypillisiä: aika, paikka käyttäjän ominaisuudet, preferenssit, tila ja käyttöhistoria tietokoneen ja verkon ominaisuudet Beyond the "black box" -määritelmä: kontekstitietoa on kaikki muu paitsi eksplisiittinen syöte ja tuloste INPUT OUTPUT APPLICATION
Mitä konteksti kattaa Tyypillisiä: aika, paikka käyttäjän ominaisuudet, preferenssit, tila ja käyttöhistoria tietokoneen ja verkon ominaisuudet Beyond the "black box" -määritelmä: kontekstitietoa on kaikki muu paitsi eksplisiittinen syöte ja tuloste CONTEXT EXPLICIT INPUT CONTEXT-AWARE APPLICATION EXPLICIT OUTPUT
Konteksti-abstraktio -vaihtokauppa Perinteisesti tieteissä, eritoten matemaattisissa, on pyritty pääsemään eroon reaalimaailman sekavuudesta ja satunnaisuudesta ja kohti "ideamaailmaa" esim. matemaattiset funktiot ovat tehokkaita juuri siksi, että ne ovat tosia kaikissa konteksteissa ja asiaintiloissa kontekstisensitiivisyys vs. abstraktisuus Kirjoittajat: heiluri on notkahtanut liian kauas abstraktion suuntaan ja nyt on aika ryhtyä toimiin kontekstisensitiivisyyden puolesta ja nimissä kolme syytä näihin toimenpiteisiin: 1) eksplisiittinen syöte on raskasta, aikaavievää ja turhauttavaa 2) samoin eksplisiittinen tuloste; se voi esim. häiritä keskittymistä 3) syöte-tuloste -silmukka ei ole sekventiaalinen vaan jatkuva
Kaksi rinnakkaista trendiä HW erilaisten sensorien valmistaminen ja käyttö entistä halvempaa tehokkaampaa laskentaa ja kommunikointia voidaan mahduttaa yhä pienempiin laitteisiin kontekstin ymmärtämistä tarvitaan, jotta suuresta määrästä sensoridataa voidaan erottaa ja hyödyntää mielekäs osa SW ohjelmistoagentteja tuotu käyttöliittymiin (vs. direct manipulation) osa kontekstin ymmärtämisestä siirtyy käyttäjältä tietokoneohjelmille näiden kahden trendin yhdistyminen näköpiirissä (artikkeli vuodelta 2000 miten on?)
Projekteja Projektien taustalla Liebermannin "Programming by example"-näkemys "Tee näin!" Mondrian käyttäjällä kaksi tapaa olla interaktiossa systeemin kanssa: graafinen (annotaatioiden lisääminen kuvaan) puhe (ohjelmistoagentin ohjaamiseen) näitä molempia yhdessä tarvitaan yleistyksien aikaansaamiseksi Letizia observational learning Letizia seuraa käyttäjän surffailua käy tutkimassa linkkejä sivulta ennen käyttäjää pähkäilee mitkä saattaisivat sisällöltään kiinnostaa käyttäjää ehdottaa käyttäjälle joitain sivuja
Projekteja (2) Grammex, "Grammars by Example" etsii teksteistä yleisiä hahmoja sellaisen tunnistaessaan ehdottaa käyttäjälle menun, joka pitää sisällään mahdollisia vaihtoehtoja (esim. email-osoite vs. plain text) käyttäjä valitseen niistä jonkun Emacs Menus ohjelmointiympäristö, joka ehdottaa ohjelmoijalle vain mahdollisia tai mielekkäitä vaihtoehtoja (esim. tietynlaisia muuttujia)
Välikommentti: kontekstimallit 1) Järjestelmämalli kuvaus järjestelmästä ja sen tilasta 2) Käyttäjämalli käyttäjän tila, historia ja preferenssit 3) Tehtävämalli käyttäjän päämäärät ja suoritettaviksi aiotut toiminnot (esim. Wizardien lineaarisuus ei kovinkaan sofistikoitunut tehtävämalli)
Projekteja (3) DWIM, "Do What I Mean" järjestelmämalli joka muuttuu käyttäjän kirjoittaessa ohjelman odottamattomasta syötteestä ei heti herjaa vaan yrittää etsiä (syntaktisesti?) vastaavanlaisia koodinpätkiä COACH (COgnitive Adaptive Computer Help) auttaa käyttäjiä parantamaan kykyään oppia ohjelmoimaan adaptiiviset tehtävä-, käyttäjä- ja järjestelmämallit Context-dependent help Talking Coutch sohva juttelee istujalle niitänäitä, mm. muistuttaa tapahtumista Talking Trivet jos objekti lämpenee hitaasti, uuni aistii, että kyseessä ei ole pizza ja varottaa kokkia liian kuumasta lämpötilasta (550F) esim. paistille
Muut alat & konteksti Matemaattiset ja formaalit lähestymiset tekoälyyn Maalaisjärkeä on hankala aksiomatisoida (frameongelma) McCarthy: circumscription CYC (Texas!) monotonisuus: todeksi osoitetut väitteet säilyvät aina tosina vs. ei-monotoninen logiikka (ajalliset muutokset) vs. modaalilogiikka (mahd. maailmat, ja ) Kirjoittajat: tällä hetkellä ei niinkään yritetä aksiomatisoida koko maalaisjärkeä etukäteen, vaan parsia ja koostaa mielekästä materiaalia olemassaolevasta esim. tiedonlouhintaa webistä Toinen ääripää Brooks: representaatiota ei tarvita Kirjoittajat "keskitien kulkijoita" (vs. Brooks, vs. kaiken aksiomatisointi)
Muut alat & konteksti (2) HCI ja konteksti käyttöliittymäelementin ulkonäön tulisi riippua kulloisestakin kontekstista Sosiologia ja käyttäytymistieteet situated action, jaetun sosiaalisen kontekstin vaikutus käytökseen activity theory (Venäjä)
Johtopäätös? Tavoite: Simplifying interfaces without "dumbing them down" Kertauksena: laitteen tai softan käytön opettelemiseen menee liikaa aikaa verrattuna siihen, mitä jonkin tehtävän suorittamiseen menee vaan eipä hätää Kun tietokoneet ja muut laitteet havaitsevat automaattisesti, muistavat käyttöhistorian ja adaptoituvat muutoksiin ympäristössä, tarpeettoman eksplisiittisen interaktion määrää voidaan redusoida Kontekstitietoiset agentit ja kontekstisensitiiviset laitteet käyttäytyvät sofistikoituneesti kuormittamatta käyttäjää komplekseilla käyttöliittymillä contra "dumbing down"