Meillä oli koodikötinöissä Exoven perustaja ja nykyinen kasvujohtaja Janne Kalliola keskustelemassa vihreästä koodista (Nauhoite löytyy tämän linkin takaa tubesta). Vihreä koodi ja Janne itse ovat molemmat tulleet minulle tutuiksi Koodia Suomesta Ry toiminnan kautta. Molemmat olemme yhdistyksen hallituksessa ja vihreä koodi on isona osana agendaamme yhdistyksenä. Yhtenä konkreettisena tekona tiedon jakamisen lisäksi yhdistys on lanseerannut hiilineutraaliusmerkin, jonka avulla on mahdollista esittää organisaation hiilineutrauliuden edistämisen tahtotilaa. Tähän merkkiin vaaditaankin hiilijalanjäljen laskentaa, minimointia ja kompensointia.
Kaikilla ei ole kuitenkaan paukkuja ajallisesti tai rahallisesti lähteä tekemään suuria tekoja ekologisuuden, vihreämmän koodaamisen tai hiilineutraaliuden kanssa. Tai siltä se voi ainakin tuntua! Vihreä koodi on yllättävän suoraviivainen asia. Varastan nyt tähän Jannen esityksestä konkreettisia nostoja joita on hyvä lähteä peilaamaan omaan toimintaan. Ensimmäinen iso askel (tämäkin Jannelta varastettu) on jo aiheeseen liittyvän tiedon selvittäminen ja vaikkapa tämän blogin lukeminen!
Mutkia suoristaen koodin elinkaari jakautuu kolmeen osaan:
Näistä viimeiseen kohdistuu lähes kaikki hiilijalanjälkeä lisäävä etenkin jos käyttäjiä on paljon. Jos softaa käyttää vain sinä ja mummosi ei merkitys ole näin suuri. Yleensä koodituotoksilla on tavoite päästä useampien ihmisten käsiin. Tämän vuoksi softan käyttämiseen liittyvät ratkaisut ovat suurimmassa avainasemassa.
Tässäkin tapauksessa päästään vaikutuksia jakamaan ihanasti kolmeen osaan:
Jos käyttäjän laite huutaa punaisena (etenkin jos kyseessä on akullinen laite) voi kooditekele toimia hitaasti ja imeä akun laitteelta tyhjäksi vauhdilla. Ei kovinkaan optimaalista myöskään käyttäjäkokemuksen kannalta. Vältetään siis tilanteita missä käyttäjän laite joutuu tekemään tarpeettoman paljon töitä.
Jos käyttäjän verkko imee dataa täyttä kaistaa (etenkin mobiiliyhteydellä) on verkkoliikenteeseen kulutetut resurssit todella korkeat. Suuret tietomäärät voi lisäksi aiheuttaa tarpeetonta hitautta käyttökokemukseen.
Jos palvelimet huutavat hunajaa aina kun softaa joku käyttää vie tällöin sovellus palvelinpuolella paljon resursseja. Palvelimet on kuitenkin suunniteltu pyörimään vaikka täydellä teholla ja pitkiä aikoja! Siltikään vaikkapa erinäisiä synkronointeja ei kannata tehdä tarpeettoman raskaasti vaikkapa "Tee aina täysi varmuuskopio" tyyppisesti.
Se menee tutkitusti jopa näinkin suoraan. Beira Interiorin yliopistolla Portugalissa tehtiin tutkimusta jossa todettiin olevan erittäin vahva tai vahva korrelaatio suoritusajan ja sähkönkulutuksen välillä. Muistinkulutuksen ja energiakulutuksen välillä taas ei nähty mitään yhteyttä.
Joten arjessa jo sekuntikellolla pääsee todella hyvin kärryille siitä miten oman sovelluksen vihreys-asiat ovat kunnossa jos koodia jatkokehitetään. Jos tehtiin muutos jonka vaikutus käyttäjäkokemukseen on 5% parannus, mutta suoritusaika kasvaa 100% ei kyseessä ole kovin ekologinen ratkaisu. Tällä tavalla ei ole mahdollista suoraan tietää kuinka paljon sovellus itsessään kuluttaa - mutta voidaan tehdä vertailua sovelluksen kehitysvaihdeiden sisällä kuluttaako se enemmän vai vähemmän sähköä.
Lähtekäämme näillä askeleilla kohti vihreämpiä koodeja! Ja jos haluat aiheesta lisätietoa niin tuolta blogin alusta pääset katsomaan mainittua Jannen koodikötinää aiheesta. On nimittäin näitä käytännön vinkkejäkin nauhalla mukana!
Asiakkaalle selvä tieto mistä hän maksaa, tehdään ostamisesta helppoa ja automatisoidaan asiakaspalvelua sekä huoltopalveluita. Oispa ihana.
Kyllä meiltä nyt tukia viedään kun uusien (ja etenkin sen ensimmäisen) työntekijöiden palkkaaminen ollut muutenkin vaikkeaa ja sitten lähtee aikuiskoulutustuki ja vuorotteluvapailta tuki myös.
Yleensä parhaat ratkaisut löytyvät laatikon ulkopuolelta. Sieltä liian harva hoksaa lähteä sitä parasta juttua etsimäänkään.