Vielä tänä aamuna olin varma siitä, että ohjelman pääikkunan sulkemisnapin valitsemisen tulee sammuttaa ohjelma riippumatta siitä, onko ohjelmalla ilmoitusaluekuvaketta vai ei. Ajattelin, että sellaisen ohjelman, joka haluaa tarjota käyttäjälle mahdollisuuden sulkea sen pääikkuna sammuttamatta itse ohjelmaa, tulee tehdä niin vain erillisen valitsimen kautta. Tyypillinen esimerkki tällaisesta erillisvalitsimesta on Tiedosto
-valikossa oleva Pienennä
-kohta.
Sitten luin Launchpadissa tästä aiheesta käytyä keskustelua, joka pyörii Rytmilaatikon
pääikkunan sulkunapin ympärillä. Tämän kirjoitushetkellä Rytmilaatikko toimii niin kuin yllä mainostin vielä aiemmin vankkumattomasti uskovani ohjelmien pitävänkin toimia. Nähtävästi se on jossain vaiheessa toiminut toisinkin. Jotkut käyttäjät haluaisivat palata entiseen käytäntöön, ja yllätyin huomatessani pitäväni joitakin näiden käyttäjien argumentteja varsin pätevinä.
Olin ajatellut, että ohjelman pääikkunan sulkemisnapin tehtävä on sammuttaa ohjelma, ja niinpä tästä käytännöstä poikkeaminen rikkoo napin toiminnallisuuden. Mutta mikäli luen vastustajien argumentteja oikein, heidän tulkintansa on, että ikkunan kuin ikkunan sulkemisnapin tehtävä on sulkea ikkuna, eikä sen takia ole johdonmukaista, jos sulkemisnappi sulkee ohjelman silloin, kun sen graafisena ilmentymänä näytöllä on ikkunan lisäksi ilmoitusaluekuvake. Huomasin oman kantani alkavan horjua, kun en ainakaan ihan suoralta kädeltä kyennyt tyrmäämään tätä näkemystä perusteettomana.
Itse asiassa ajatus ikkunan sulkemisesta ikkunan sulkunapin ensisijaisena tehtävänä tuntuu niin viehättävän yksinkertaiselta, että haluaisin kääntää kelkkani tälle ajatukselle perustuvaan suuntaan. Sekään ei kuitenkaan ole täysin ongelmatonta, sillä sovelluksen pääikkunan sulkemisen assosiointi ohjelman suorituksen päättymiseen on sekin hyvin perusteltu ratkaisu: tarvitsee vain kuvitella sitä painajaista, jonka pääikkunansa sulkemisen myötä — siis kaikkien graafisten ilmentymiensä kadottuakin — käyntiin jäävät ohjelmat aiheuttaisivat.
Pääikkunan sulkemisesta kuvakkeeseen
-ratkaisun kannattajat eivät tietenkään aja takaa ikkunan sulkunapin toiminnan rajaamista ikkunan sulkemiseen näin puristisessa merkityksessä. Pääikkunan sulkemiseen assosioitavan toiminnon pysyvyys ei kuitenkaan heidän mielestään ole ratkaisevinta. Ratkaisevinta on ohjelman suorituksen jatkuvuuden assosiointi kaikkiin sovelluksen näytölle tuottamiin graafisiin ilmentymiin. Tästä perspektiivistä tarkasteltuna ohjelman suorituksen päättyminen silloin, kun sen kahdesta jäljelläolevasta ilmentymästä toinen suljetaan, ei ole johdonmukaista.
Ongelma on pohjimmiltaan kaksiosainen. Ensinnäkin tulisi luoda johdonmukainen käytäntö sille miten sovellukset, ikkunat ja ilmoitusaluekuvakkeet käyttäytyvät ja miten ne suhteutuvat toisiinsa. Toisekseen ohjelmien tulisi sen jälkeen sitoutua tähän käytäntöön. Tällä hetkellä käytäntö vaihtelee ohjelmasta toiseen siirryttäessä, sillä riittävästi perusteltua käytäntöä ei ole määrätty missään käyttöliittymien ohjenuorassa.
Olisiko tällaisen käytännön siis perustuttava ohjelmien pysyvyyteen ja kaikkiin graafisiin ilmentymiin tämän pysyvyyden kuvastimena, vai pääikkunan sulkemiseen assosioitavan toiminnon pysyvyyteen? Vielä tänä aamuna olisin vannonut ikkunansulkemistoiminnon assosiaatioiden pysyvyyden nimeen, mutta nyt en enää osaakaan sanoa varmasti. Ainakin näin tuoreeltaan ohjelmien pysyvyys kuulostaa ikkunansulkemistoiminnon pysyvyyttä elegantimmalta peruslähtökohdalta.