Muuttuvaan maailmaan sopeutumista rajapintojen avulla

27.03.2014

Mobiilikäytön kasvaminen on muuttanut lähtökohtia siten, että mobile first -tyylinen ajattelu on ottanut paikkansa hyväksi todettuna lähestymistapana. Aiemmin suurille näytöille ja tehokkaille koneille suunniteltu sivusto sisälsi hyvää, näyttävää sisältöä ja hienoja toiminnallisuuksia. Pienemmille näytöille mentäessä toiminnallisuuksia karsittiin ja mobiilissa ongelmia aiheuttavia elementtejä poistettiin.

Jani Kinnunen
Frontend Developer



Desktop first

Älypuhelimien ja tablettien osuus netin selailussa on ollut selkeästi nouseva trendi jo pitkän aikaa. Tästä huolimatta ajassa ei kuitenkaan tarvitse mennä paljoakaan taaksepäin, kun saitit suunniteltiin tietokoneiden näytöille, ja mobiilitoimivuus oli ominaisuutena "nice-to-have" - sellainen, jonka voi toteuttaa jälkeenpäin. Vaikka yhä useampi hoitaa surffailun liikkeellä ollessaan älypuhelimellaan, luodaan silti edelleen verkkosivuja, jotka eivät ole edes käyttökelpoisia mobiililaitteilla.

Tästä tilanteesta on kuitenkin onneksi siirrytty yleisesti ottaen askel eteenpäin ja nykyisin verkkosivu on oletusarvoisesti jo jossain määrin responsiivinen ja käytettävyys on mobiilissakin hyvä.

Mobile first?

Mobiilikäytön kasvaminen on muuttanut lähtökohtia siten, että mobile first -tyylinen ajattelu on ottanut paikkansa hyväksi todettuna lähestymistapana. Aiemmin suurille näytöille ja tehokkaille koneille suunniteltu sivusto sisälsi hyvää, näyttävää sisältöä ja hienoja toiminnallisuuksia. Pienemmille näytöille mentäessä toiminnallisuuksia karsittiin ja mobiilissa ongelmia aiheuttavia elementtejä poistettiin.

Kun suunnittelun lähtökohdaksi otetaan toimivuus ja näyttävyys mobiilissa, vältetään useita ongelmia. Vanhoihin tapoihin tottuneelle saattaa usein tuntua hankalalta suunnitella toimivaa sivustoa paljon pienemmälle näytölle ja tehottomammalle laitteelle, mutta kyseisen lähestymistavan hyödyt painavat vaakakupissa enemmän kuin harjoitteluvaiheen kompastumiset. Hyödyt tulevat esiin, kun sivustoa ruvetaan kehittämään isommille näytöille. Tässä vaiheessa lähtökohtaisesti täysin toimivaa sivustoa voidaan parannella alustoille, joilla on vähemmän rajoituksia, kun aiemmin mobiilikehitykseen siirtyessä on aina jouduttu karsimaan jotain alkuperäisistä ominaisuuksista.

Lisää laitteita tulee...

Kun yritysten verkkosivut muuttuvat pikkuhiljaa mobiiliystävällsiksi maailma ehti jo muuttua ympärillä. Verkkoon päästään televisiolla, älykellolla, autolla tai jopa jääkaapilla. Toimiiko mobiililaitteille optimoitu sivusto, vai pitääkö verkkopalvelu uudistaa taas? Vai kierretäänkö ongelma rakentamalla oma laitekohtainen sivusto. Hetkinen, kuulostaapa tämä tutulta...

Nämä kokemukset ovat saaneet meidät oivaltamaan, että käyttöliittymän nivominen yhteen itse palvelun kanssa tulee väistämättä aiheuttamaan ongelmia ennemmin tai myöhemmin.

Toiminnallisuuden ja käyttöliittymän erottelu toisistaan on ohjelmoinnissa kaikkea muuta kuin uusi ilmiö, mutta perinteisiä verkkosivustoja luodessa tällaista ajattelutapaa ei ole usein käytetty. Tämä aiheuttaa sen, että pieneltäkin kuulostava muutos, toiminnallisuudessa tai käyttöliittymässä voi vaatia suuren työn, koska et voi muokata yhtä vaikuttamatta toiseen.

API first!

Ensimmäinen askel kohti toimivaa ratkaisua on ajatella luovansa verkkosivuston sijaan sisältöä, jota pitää pystyä näyttämään kaikilla mahdollisilla pinnoilla. Luodaan palvelu, josta löytyvät ne sisällöt ja toiminnallisuudet, jotka halutaan tarjota asiakkaan käytettäväksi. Tämän jälkeen meillä on itse palvelun ytimessä saatavilla kaikki tarvittava, vain käyttöliittymä puuttuu.

Koko asian ydin on API eli tuttavallisemmin rajapinta. Rajapinnan avulla pystymme keskustelemaan palvelun ytimen kanssa ja pyytämään siltä tarvittavat rakennuspalaset kutakin käyttöliittymää varten. Näin pystymme luomaan käyttöliittymiä mille tahansa nykyiselle tai tulevalle laitteelle, käyttämällä samoja palvelusta löytyviä sisältöjä ja toiminnallisuuksia kutsumalla niitä rajapinnan kautta.

Rajapintojen avulla pystymme tuomaan palveluihimme tarvittaessa sisältöä myös ulkopuolisista järjestelmistä ja tietokannoista, jolloin palvelun kautta voi jakaa sisältöjä kaikille mahdollisille digitaalisille pinnoille.