UX-suunnittelu - mitä se on ja mistä asioista se koostuu?

Mitä on UX-suunnittelu? Kuinka UX- ja UI-suunnittelu eroavat toisistaan? Onko UX-suunnittelusta mitään hyötyä? Tässä artikkelissa pyrimme vastaamaan tällaisiin kysymyksiin, jotta sinä tietäisit paremmin, mitä UX-suunnittelu todellisuudessa tarkoittaa ja miten voit siitä hyötyä.

Natiivisovellus vai verkkosovellus -vertailu

Oletko miettimässä mobiilisovelluksen tuottamista? Tässä tapauksessa eteesi on tullut varmasti seuraava kysymys: kannattaako minun tuottaa sovellus natiivisovelluksena juuri tiettyjä laitteita tai käyttöjärjestelmiä varten vai verkkosovelluksena, joka on suoraan yhteensopiva verkon välityksellä kaikkien laitteiden kanssa? Tähän kysymykseen pyrimme vastaamaan tässä artikkelissa tehden vertailua näiden kahden sovellustyypin välillä.

Ohjelmistokehitysprojektin osa-alueet

Ohjelmistokehityksen projektit pitävät sisällään useita eri osa-alueita, joilla on oma tarkoituksensa ja tarpeensa. Käymme tässä artikkelissa läpi näitä eri vaiheita, että mitä nämä yksittäiset osa-alueet pitävät sisällään.

Apache HTTP Server 2.4.48 haavoittuvuuden vaikutukset Haltun ylläpitämiin järjestelmiin

Tammikuun 31. päivä havaitsimme, että muutamissa asiakkaidemme tuotantoympäristöissä oli hyödynnetty Apache HTTP serveriin liittyvää haavoittuvuutta. Haavoittuvuus oli tyypiltään palvelunesto, eli järjestelmät oli saatettu tilaan, jossa niitä ei voitu käyttää normaalisti. Käytännössä järjestelmä palautti käyttäjälle ikävän näköisen Error 503 sivun.

Haavoittuvuuden aiheutti ympäristöissä käytössä oleva Apache HTTP Serverin versio 2.4.48, johon ei enää tarjota tukea.

Havainto tehtiin aamulla 07:04 ja kaikki tietoomme tulleet palvelunestot korjattiin tilapäisellä ratkaisulla 07:56 mennessä. Asiakkaitamme on tiedotettu haavoittuvuudesta, sen vaikutuksista sekä suositelluista korjaustoimenpiteistä.

Lisätietoa Apachen haavoittuvuudesta: https://nvd.nist.gov/vuln/detail/CVE-2021-40438

Mistäs ne venepaikat varataan?

Kuntien välinen kehitysyhteistyö on synnyttänyt monia avoimen lähdekoodin tuotteita, joita kunnat ovat omien kumppaniensa kanssa räätälöineet käyttöönsä. Kehittämisen keskiössä on ihannetilanteessa yhteistyö, jota koordinoimalla verorahat menevät tehokkaaseen käyttöön ja palvelut kehittyvät ajanmukaisesti.

Yksi tällainen projekti on Respa/Varaamo-tuotteen päälle rakennettu venepaikkojen varaus- (ja myös MAKSU!)järjestelmä, jota mm. Hämeenlinnan kaupunki käyttää. Keskusteltuani monien potentiaalisten asiakkaiden kanssa, on usein noussut esiin se, että kunnalla/kaupungilla on jo työkalut satamainfran hallintaan. Ja hyvä niin, pitääkin olla!

Tästä kuitenkin käy nopeasti selväksi se, että infranhallintaan tarkoitetut työkalut eivät ole tehty asiakkaita eli kuntalaisia varten. Eikä kyllä oikeastaan myöskään kunnan työntekijöitä - varsinaisen satamatyön ulkopuolelta - varten.

Esimerkiksi Hämeenlinnassa vapautui paljon venepaikkoja, joihin aiemmin jouduttiin jonottamaan, koska järjestelmä vaati asukkaita aktiviisuutta ja vahvistaa oman varauksensa ja myös maksamaan sen suoraan verkossa. Näin kaikki nukkuvat ja "perintöpaikkaa" pitävät venepaikkojen haltijat tippuivat pois ja paikat vapautuivat niille, jotka paikkaa aidosti tarvitsivat.

Lisäksi järjestelmä hallitsee myös venepaikoille jonottamisen, jolloin jälkeen yksi hallinnollisesti täysin turha käsityö saatiin automatisoitua.

Ylläpidämme ja kehitämme lukuisia julkisen sektorin palvelua helpottavia avoimen lähdekoodin palveluja ja asiakkaitamme ovat mm. Hämeenlinna, Turku, Helsinki, Janakkala, Parkano, Kangasala, Tampere, Lohja, ... Olemme tunnettuja siitä, että ajattelemme asiakkaidemme etua ja kiinnitämme erityistä huomiota palvelujen käyttäjien (esim. kuntalaiset) kokemaan laatuun.

Samalla varausjärjestelmä teknologialla voidaan varata ja maksaa myös julkisia tiloja vaikkapa kirjastoista tai kouluilta. Myös esim. kunnan omistamat mökit voidaan tuoda järjestelmään.

Voimme hoitaa myös järjestelmien pelkän ylläpidon, kuten toimimme mm. Hämeenlinnan kirjastojen tilavarausten kanssa, toimitusprojekti tuli toiselta kumppanilta.

Tsekkaa Hämeenlinnan varausjärjestelmät täältä: https://varaukset.hameenlinna.fi/

Apache Log4j 2 haavoittuvuuden vaikutukset Haltun ylläpitämiin järjestelmiin

Perjantaina 10.12 Haltun tietoon tuli nollapäivähaavoittuvuus Log4j 2 komponentissa. Arvioimme parhaillaan haavoittuvuuden vaikutuksia ylläpitämiimme järjestelmiin. Tiedotamme asiakkaitamme tilanteen etenemisestä sähköpostitse ja tätä blogipostausta täydentäen.

Taustaa

9. Joulukuuta raportoitiin nollapäivähaavoittuvuudesta komponentissa Log4j 2.14.1 ja osassa sen vanhemmissa versioissa. Haavoittuvuus antoi hyökkääjälle mahdollisuuden ajaa mielivaltaisia komentoja hyökkäyksen kohteena olevalla sovelluspalvelimella.

Arviomme vaikutuksista Haltun ylläpitämiin järjestelmiin

Haltun toteuttamat asiakasjärjestelmät eivät ole java-pohjaisia sovelluksia, joita haavoittuvuus koskettaa.

Haltu käyttää Log4j 2 kirjastoa omassa keskitetyssä lokienhallintajärjestelmässään, joka on ollut altis hyökkäyksille. Käsityksemme mukaan haavoittuvuutta ei ole ehditty hyödyntämään ja olemme rajoittaneet ongelmaa poistamalla kyseisen kirjaston käytöstä 12. päivä sunnuntaina.

Lisätietoja aiheesta: https://log4shell.com ja https://www.kyberturvallisuuskeskus.fi/fi/haavoittuvuus_38/2021

Päivitys: 14.12.2021 kello 14:06 Olemme jatkaneet vaikutusten arviointia ja selvittäneet onko haavoittuvuudella vaikutuksia asiakkaidemme järjestelmiin. Emme ole havainneet haittoja ylläpitämissämme asiakasjärjestelmissä. Tutkimme edelleen asiaa.

Päivitys: 17.12.2021 kello 16:48 Emme ole havainneet haittoja ylläpitämissämme asiakasjärjestelmissä. Seuraamme Kyberturvallisuuden haavoittuvuustiedotteita sekä viestintää ja reagoimme tarvittaessa.

Haltulle uusi toimitusjohtaja

Haltun perustajaosakas Mikko Sävilahti jättää toimitusjohtajan tehtävät 1. joulukuuta. Uudeksi toimitusjohtajaksi on valittu Mikki Aalto-Ylevä. Nimityksen taustalla on yhtiön hallituksen ja uuden toimitusjohtajan yhdessä asettamat kasvutavoitteet, joiden saavuttaminen edellyttää tavoitehakuista ja määrätietoista otetta.

"Tunnen markkinan ja Haltun toimintatavat erittäin hyvin ja minulla on jo pitkään ollut hyvä asema tässä työyhteisössä. En voisi kuvitella parempaa lähtökohtaa omalle nimitykselleni", kuvaa Mikki,

Mikko jatkaa Haltun riveissä sekä Haltun että asiakkaiden liiketoimintaa kehittäen. Järjestelyn ansiosta hän voi keskittää oman energiansa puhtaasti sellaisiin asioihin, jotka häntä innostavat ja kiinnostavat.

"Minulla on ilo ja kunnia ojentaa kapula eteenpäin Mikille. Olen toiminut Haltun toimistusjohtajana jo lähes 12 vuoden ajan ja koko ajan ajautunut kauemmaksi siitä, missä olen aidosti paras. Koen, että olen saanut Haltun siihen pisteeseen, kuin omilla johtamisresursseillani on mahdollista ja odotan innolla, että voin vapauttaa enemmän aikaani siihen, että meidän asiakkaamme menestyvät entistä paremmin. Tämä muutos tuntuu ennen kaikkea luonnolliselta seuraavalta askeleelta itselleni ja samalla on mukava antaa tilaa innokkaalle ja erittäin lahjakkaalle uudelle toimarille. Näen, että tässä muutoksessa kyse on uudistumisesta, mutta myös tietyllä tavalla hienolta paluulta entiseen", kertoo Mikko.

Haltun kasvutavoitteet on määritelty tulevalle kolmelle vuodelle. Kehitystä haetaan erityisesti yhtiön käyttökatteeseen mutta myös liikevaihtoon. Henkilökunnan määrää kasvatetaan hyvin maltillisesti ja aikomuksena on pysyä entisessä henkilöstömäärässä myös jatkossa. Yhtiölle ja toimitusjohtajalle asetettujen tavoitteiden saavuttaminen edellyttää entistä paremman palvelun tuottamista asiakkaille. Olemassaolevien asiakkuuksien säilyttäminen ja pitkäaikaisten kumppanuuksien rakentaminen on edelleen toiminnan ytimessä.

Isojen muutosten nopea toteuttaminen ei ole välttämätöntä sillä erinomaisia tuloksia voidaan saavuttaa tekemällä useita asioita pikkasen paremmin. Muutoksen tarpeellisuutta kuvaa hienosti se, että niin yrityksen johto kuin hallituskin olivat kaikki sitä mieltä, että Mikin nimittäminen toimitusjohtajaksi on erinomainen idea. Nimitysuutiset on otettu vastaan henkilöstön keskuudessa kauttaaltaan positiivisessa valossa.

Fuzzing suomeksi

Fuzzing on suomeksi pörrötys. Fuzzer on pörrötin tai pörröttäjä.

Työpöytätoteutusten teknisestä ratkaisusta.

Dream-alustaan pohjautuvat työpöytäratkaisut kuten Airo-työpöytä ja Edison-työpöytä tukeutuvat Haltun toteuttamaan ja ylläpitämään Dream-teknologiaan. Työpöydän suhteen on esitetty huolta siitä, että teknologia vanhenee ja se ei ole enää tuettu. 

On totta, että työpöydissä käytetään Angular.js versiota 1.X, jolta loppuu pian yhteisön tuki kokonaan. Tätä kirjastoa ei kuitenkaan käytetä lainkaan taustajärjestelmäpuolella (Backend) vaan ainoastaan käyttöliittymäpuolella selaimessa (Frontend). Käyttöliittymäkerros käyttää taustajärjestelmiä yksityisen käyttöliittymärajapinnan (Private UI API) läpi. Tämä API-kerros on toteutettu REST-teknologialla ja käytettävä teknologia on DRF (Django Rest Framework). 

Tämä API-kerros ja teknologia siitä alaspäin on ajantasaista ja pitkään tuettua teknologiaa (Django 2.X ja Python 3.X), jota päivitetään aina tarpeen mukaan ja jonka tietoturvapäivitykset pidetään palveluissa ajantasalla säännöllisesti. 

Käyttöliittymäkerroksessa käytetty Angular.js on valittu siksi, että se tarjoaa työpöydässä käytettäville laatoille parhaan mahdollisen UI-toteutuksen laattojen siirtelyyn ja asetteluun liittyen sekä kirjasto on erittäin hyvin tuettu kaikilla käytössä olevilla selaimilla sekä päätelaitteilla. Angularia käytetään siis ainoastaan visuaalisten elementtien asetteluun. Minkäänlaista tietoturvariskiä Angularin käyttö tällä tasolla ei aiheuta ja Haltu arvioi jatkuvasti päivitystarvetta suhteessa muuttuviin käyttötapauksiin. 

Dream-alusta on kokonaisuudessaan erittäin helposti laajennettavissa ja alustalla on myös avoimia rajapintoja, jotka on dokumentoitu osoitteessa dreamplatform.fi. Käytännössä kuitenkin ulkoiset palvelut eivät ole käyttäneet näitä rajapintoja, jotka ovat toteutettu myös DRF:lla ja joiden teknologia on ajantasalla. Lisäksi rajapinta toteutus on Backend-tasolla, jolloin mahdolliset uudet toteutukset on helppo toteuttaa ilman vaikutusta käyttöliittymäkerroksiin. 

Lisäksi Dream-alustan arkkitehtuuri on rakennettu sellaiseksi, että asiakaskohtaiset räätälöinnit rakennetaan pääasiassa Dream-alustan päälle ja näin mahdollistetaan uusien asiakaskohtaisten toteutusten rakentaminen ilman muutoksia perusteknologiaan. 

Djangoa kohtaan on myös esitetty huolta sen harvinaisuuden suhteen. Haltun kanta kuitenkin on, että Django on erittäin elinvoimainen ja suosittu teknologia erityisesti nuorten yritysten ja uusien kehittäjien keskuudessa. Lisäksi Django on tosiasiassa yksi suosituimmista web-kehitysalustoista ja sitä tukee, kehittää ja käyttää erittäin isot organisaatiot. Lue lisää: https://steelkiwi.medium.com/django-for-product-development-questions-answers-on-django-in-2019-72eaa8230d6b

Tettiläisen kokemuksia Haltusta

Meillä oli ilo saada nuori, ohjelmoinnista kiinnostunut Reko Valtaoja seuraamme viikoksi tekemään työelämään tutustumisjaksolle. Sen pidemmittä puheitta Rekolta pyydetty kirjoitusta TET-viikon kokemuksista:

Sain hienon mahdollisuuden tutustua softakehitysalaan työelämään tutustumisjaksollani Haltulla. Olen 9. luokalla oleva kangasalalainen. Harrastan käyrätorven soittoa ja koodausta (itsekseni). Erityisesti tietotekniikka ja koodaus on aina kiinnostanut, ja olen käynyt koodauskursseilla, joissa on käyty koodauksen perusteita ja tutustuttu erilaisiin ympäristöihin. Haaveammattini on sovellus-/pelikoodaus.

Tilaisuus TET-jakson suorittamiseen avautui jo 8. luokan keväällä, mutta sitten tulikin korona-aalto ja kaikki peruttiin. Tänä syksynä kuitenkin kun lukuvuosi alkoi ja syksyllä oli uusi TET-jakso, niin asia otettiin uudestaan esille.

Ensimmäisenä päivänä tietysti vähän jännitti ja olin epävarma vähän kaikessa, mutta haltulaiset opastivat hyvin ja olivat avuliaita ja ystävällisiä, ja sain paljon tekemistä. Alussa minulle annettiin tehtäväksi tutustua heidän toteuttamaansa sovellukseen, Harrastuspassiin. Minun piti etsiä siitä asioita, joita voisi parantaa. Löysinkin lopulta muutaman, Ja tämän jälkeen sain korjata ne yhdessä muutaman haltulaisen avulla. Seuraavina päivinä jatkettiin siitä, mihin eilen jäätiin. Mielenkiintoista tekemistä oli aina! Kun nämä taskit saatiin hoidettua, loppuviikon tein omaa, yksinkertaista bmi-laskurisovellusta, jonka sainkin tehtyä valmiiksi ennen viikon päättymistä.

Opin paljon erilaisia asioita TET-viikon aikana. Työt olivat aika lailla sellaisia, mitä olin etukäteen kuvitellut ja mitä voisin tehdä isona, ja pidin niistä valtavasti. Kunpa kaikki työt olisivat noin mukavia!

Haluaisin välittää valtavat kiitokset Haltulle ja kaikille sen työntekijöille, jotka olivat viikossa mukana. Kaikki ottivat minut hyvin vastaan ja olivat muutenkin ystävällisiä. Ilman heitä kaikkia ei tuo viikko olisi onnistunut! Lisäksi Haltulla on mahtavat työtilat ja kaikki vaikuttivat tyytyväisiltä.

Reko Valtaoja

Ja todellakin tyytyväisiä olimme, heti jakson päätteeksi alettiin keskustelemaan jo kesätöistä! Yrittäjänä on mahtava päästä osaksi tämänkaltaisia mahdollisuuksia ja tarjota aidosti kokemuksia nuorille alasta kiinnostuneille. 

Värivaltaus

Emme tiedä oliko Värivaltauksella tällainen mainoslause kun sitä pystyi pelaamaan Aapelissa, mutta mielestämme se kuvaa hyvin Värivaltauksen ideaa. Värivaltaus on kiehtova peli ja myös erittäin koukuttava.

Löytyykö äppisi Huaweista?

Long story short: Trump ja Kauppasaarto --> uusissa Huawein malleissa ei ole enää Googlen ydinpalveluja (Google Mobile Services, jatkossa GMS) käytössä, ei vaikuta vanhempiin malleihin, kuten esim. Huawei P10, P20, P30, mutta esim. P40 ja P40 Pro eivät sisällä Googlen ydinpalveluja.

Eikö kosketa sinua käyttäjänä tai sovelluksentekijänä?

Kokeillaas toista lähestymistapaa:

Puhelimestasi ei löydy enää Google Play -kauppaa!

Eikä Youtubea. Eikä Gmail-sovellusta!

Alkoiko jo kiinnostamaan?

Eli jos sinulla softan tekijänä tai julkaisijana, startuppina tai yrityksenä on Android-sovellus, niin jatkossa se on ladattava saataville myös Huawei AppGalleryyn, jotta se olisi suoraan ladattavissa Huawein puhelimiin. AppGallery on siis kuten Play-kauppa nykyisissä Android-puhelimissa (tai AppStore Apple-laitteissa.)

Tämän lisäksi tulee huomioida muutamia asioita kehityksessä:

  • Sovellus kannattaa alusta lähtien suunnitella siten, että se on ladattavissa sekä Huawein että Googlen kauppaan. Tämä koskee mm. seuraavia toiminnallisuuksia:

    • Push-notifikaatiot: Jos käytät Googlen Push -palvelua, niin Push-viestit eivät tule perille Huaweissa olevaan sovellukseen.

      • Ratkaisu: Toteuta erillinen Huawei variantti sovelluksesta ja käytä siinä Huawein omaa Push-palvelua. 

      • Tämän puutteen ratkaisu ei ole mikään iso homma ja kannattaa myös miettiä, että voiko sovellusta julkaista AppGalleryyn ilman toimivia Push-ilmoituksia, koska moni käyttäjä voi olla tilanteeseen tyytyväisempi kuin sovelluksen täydelliseen puuttumiseen.

    • In-App -Maksutoiminnallisuudet

    • Kartat sovelluksissa

      • Google Mapsista on luovuttava, mutta rehellisesti sanottuna, on olemassa paljon kauniimpiakin toteutuksia, joita voisi käyttää sekä Google että Huawei -versioissa.

        • Esim. Here Maps -SDK:ta voisi ymmärtääkseni käyttää molemmilla alustoilla ja välttää kahden eri version välillä kikkailua.

      • Huaweilta toki löytyy tähänkin oma karttatoteutus, johon siirtyminen on erittäin suoraviivaista: https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/hms-map-migrate

      • Lisäksi itselleni vieraampi https://www.mapbox.com/ pitäisi olla hyvä ratkaisu tarjoilemaan kartat alustariippumattomammin.

Nopea summaukseni onkin, dokumentaatioita tutkittuani, että teknisesti kyseessä ei ole valtava ponnistus seuraavista syistä:

  • Googlen ja Huawein -palvelujen tekniset toteutukset ovat koodin näkökulmasta lähes identtiset, joten erillinen "variantti" on helppo toteuttaa.

  • Voi johtaa hyvään sekä kehittäjän että käyttäjän kannalta, koska muitakin ekosysteemitaisteluja on käynnissä, mm. Googlen ja Amazonin välillä.

  • Johtaa parempaan arkkitehtuuriin, koska komponentit tulee suunniteltua siten, että käytettävät palvelut on helppo korvata / vaihtaa.

Suurimmat ongelmat:

  • Päättäjät eivät ymmärrä, että sovelluksien tulee olla molemmissa kaupoissa, koska käyttäjät alkavat jakautumaan entistä tasaisemmin eri sovelluskauppojen välille

    • esim. Säästöpankin tunnistussovellusta ja Säästöpankkisovellusta ei ole tällä hetkellä Huawein AppGalleryssä. Sieltä puuttuu myös EasyPark ja Parkman.

    • Huawei-yhteensopivuudella olisi nyt helppoa ottaa kärkipaikka sovelluskaupassa ja myös positiivinen markkinointikulma edelläkävijuudesta.

    • "Katellaan mitä muut tekee, ei me tehä nyt mitään"

    • Jos kohderyhmänä ovat nuoret, niin esim. Honor-sarjan puhelimet ovat asiakassegmentissä erittäin suosittuja. Älä siis tee päätöksiä perustuen omaan iPhone-kaveripiiriisi perustuen. 

  • Negatiivinen käyttäjäpalaute yritystä kohtaan, koska sovellus ei ole saatavilla puhelimeen

    • Tämä ei sinänsä ole julkaisijan vika, mutta ei myöskään Huawein vika.

  • Huawei on tällä hetkellä 2. suurin Android-puhelinvalmistaja heti Samsungin jälkeen, Huhtikuun tilastoissa Huawei ohitti valmistajana Samsungin. Molemmilla n. 20% osuus. Lähde: https://www.statista.com/statistics/271496/global-market-share-held-by-smartphone-vendors-since-4th-quarter-2009 ja uudempi lähde: https://www.forbes.com/sites/zakdoffman/2020/06/15/samsung-and-apple-beaten-by-huawei-in-huge-new-smartphone-surprise/

  • Ylläpidettävä kehityshaara (joka ei oikeasti työllistä niin paljon)

  • Hieman enemmän testattavaa

Lyhyt yhteenveto: Älä stressaa liikaa, mutta ota tämä asia huomioon, ennen kuin negatiivinen palaute osuu tuulettimeen.

Jos mielestäsi kirjoitus oli hyödyllinen, niin arvostaisin sen jakamista, jotta tämä tietoa saadaan mahdollisimman monen mieliin.