Päätelaitetunnistus

**Päätelaitetunnistus** tarkoittaa internetin yhteydessä sitä, että kun päätelaite ottaa yhteyttä johonkin palveluun, sen tyyppi tunnistetaan tavalla tai toisella. Joskus tätä tapahtumaa kutsutaan historiallisista syistä myös selaintunnistukseksi (). Kuitenkin päätelaitetunnistus kuvaa tätä toimintaa parhaiten, koska käytettävä laite voidaan tunnistaa myös muutenkin kuin käytettäessä selainta. Esimerkiksi MMS-viestejä haettaessa matkapuhelin lähettää vastaavia tunnistetietoja kuin selain web-sivuja selattaessa.

Selaintunnistuksella ja päätelaitetunnistuksella pyritään usein eri lopputulokseen. Selaintunnistuksella on aina 1990-luvun puolesta välistä lähtien pyritty erottamaan eri valmistajien internet-selaimet, jotta niiden erilaiset tavat toteuttaa muun muassa JavaScript-koodia tai käsitellä muuten HTML-koodia voitaisiin korjata. Päätelaitetunnistuksella pyritään taas selvittämään itse laitteen ominaisuuksia, kuten esimerkiksi näytön fyysistä leveyttä tai tukea DRM, Java, Flash ym. ominaisuuksille.

## Ongelma
Päätelaitteiden kirjo etenkin matkapuhelimissa on aiheuttanut ongelmia sisällön tuottamisessa niihin. Web-sivuja toteutettaessa PC:ssä käytettävissä selaimista usein löytyy tuki Flash-animaatioille ja sivujen suunnittelussa voidaan olettaa näytön resoluution leveydeksi lähemmäs tuhatta pikseliä. Matkapuhelimissa näytön resoluution leveydet vaihtelevat hieman yli sadasta Nokia Communicatorin 800 pikseliin yleisempien resoluutioiden ollessa kahden ja kolmen sadan paikkeilla puhumattakaan laitteiden muista ominaisuuksista, jotka vaihtelevat niiden kyvystä käsitellä web-sivuissa yleisiä CSS-, JavaScript- ja Flash-komponentteja.

Web-sivujen toteuttamisen lisäksi päätelaitteiden moninaisuus vaikeuttaa ladattavien sisältöjen toteutusta aina lataustapahtumasta formaatteihin. Soittoäänten ja logojen kohdalla ongelmaksi muodostuvat tekijänoikeudet ja niiden suojaaminen. DRM (Digital rights management) ominaisuudet vaihtelevat päätelaitteittain ja mikäli jokin tiedosto on suojattu eri suojauksella kuin mitä päätelaite tukee, ei tiedostoa voi avata. Vastaavasti esimerkiksi Symbian-alustasta ja Adoben Flash lite -teknologiasta on useita eri versioita, jotka vaativat oikean formaatin ladattavasta sovelluksesta yhteensopivuuden mahdollistamiseksi.

Päätelaitteiden moninaisuus (device fragmentation) muodostaa sen perusongelman, jota päätelaitetunnistus (device detection) pyrkii ratkaisemaan.

## Päätelaitetunnistusteknologia
Päätelaitetunnistus perustuu useimmiten HTTP-otsakkeiden tulkintaan. Otsakkeista luetaan pääasiassa user-agent, accept, ja x-wap-profile kenttiä, mutta hyvä päätelaitetunnistus hyödyntää lukuisia muitakin kenttiä. Näitä kenttiä verrataan päätelaitetietokannassa oleviin tietoihin ja päätellään mikä päätelaite on kyseessä.

## Ratkaisut
Päätelaitetunnistus voidaan ratkaista useassa eri paikassa sisällöntuotantoketjua ja usealla eri tavalla. Eri paikkoja ovat selain, sovelluspalvelin, välityspalvelin ja operaattorin verkko. Päätelaitetunnistuksen antamia tietoja hyödynnetään sisällön sovituksessa (content adaptation) tai uudelleenohjauksessa.

### Selain
Selaimessa ei itse päätelaitetunnistusta voi tehdä, koska päätelaitetunnistus tarkoittaa lähtökohtaisesti nimenomaan sen päätelaitteen tunnistusta, jossa selain sijaitsee. Selain voi kuitenkin toteuttaa sellaisia toimia, joilla helpotetaan päätelaitteiden moninaisuuden aiheuttamia ongelmia. Tunnetuin näistä toiminnoista on sisällön sovitus. Selain voi muokata web-sivun rakennetta esimerkiksi niin, että sivuttaissuuntainen vieritys poistetaan, jolloin sivun selaaminen helpottuu. Selain voi myös lisätä tietoa päätelaitteesta HTTP-otsakkeihin, joita palvelin voi hyödyntää sisällön muokkaamisessa.

### Välityspalvelin
Välityspalvelimella tarkoitetaan kolmannen osapuolen palvelinta, jonka kautta HTTP-liikenne kulkee. Välityspalvelin voi muokata web-sivun rakennetta, pienentää kuvia ja jopa vaihtaa kuvan formaattia, poistaa sellaisia komponentteja, jotka eivät toimi päätelaitteessa. Välityspalvelimet tekevät tunnistuksen päätelaitetietokannasta hyvin samaan tapaan kuin sovelluspalvelimet. Välityspalvelimen tekemä sisällön sovitus tuottaa kuitenkin huonompaa laatua kuin sovelluspalvelimen tekemä johtuen geneerisestä rakenteesta. Välityspalvelin tekee sovituksen samojen sääntöjen mukaan kaikelle sisällölle kun taas sovelluspalvelin voi tehdä muutoksen sisällöstä riippuen yksilöidysti.

### Sovelluspalvelin
Sovelluspalvelin tarkoittaa sitä palvelinta, jolla julkaistava web-sivu tai ladattava sisältö sijaitsee. Web-sivut julkaistaan useimmin julkaisujärjestelmän (CMS) kautta. Sovelluspalvelimella tapahtuva päätelaitetunnistus antaa web-sivun omistajalle tai muun aineiston haltijalle parhaan mahdollisuuden vaikuttaa päätelaitteen saamaan sisältöön ja käyttökokemukseen. Mikäli päätelaitteen tunnistaa ja sisältöä muokkaasiihen sopivaksi aineiston omistaja, lopputulos on luultavasti parempi kuin silloin, jos muokkauksen tekee ulkopuolinen, joka ei tunne sisältöä.

Sovelluspalvelimella päätelaitetunnistus voidaan tehdä monella eri tavalla. Yleisimmät tavat ovat verkosta ladattavien profiilien käyttö, skriptien käyttö ja päätelaitetietokantojen käyttö (device repository).

### Operaattori
Operaattori ja välityspalvelin kuvaavat toiminnoiltaan samankaltaista päätelaitetunnistusta. Oikeastaan operaattoriratkaisussa operaattori yleensä käyttää jotain kaupallisista välityspalvelinratkaisuista. Ero operaattorivetoisen päätelaitetunnistuksen / sisällön sovituksen ja kolmannen osapuolen välityspalvelinratkaisun välillä on se, että operaattorin tapauksessa kuluttaja ei voi itse valita käyttääkö hän ratkaisua vai ei. Operaattorin käyttämistä sisällön pakotetusta muokkauksesta on syntynyt paljon keskustelua sisällönkehittäjien keskuudessa. Esimerkiksi Vodafonen käyttämä Novarran välityspalvelinratkaisu on vaikeuttanut monien Britanniassa toimivien mobiilisivujen ansaintamallia.

## Kaupalliset ratkaisut
### Selain
* Opera Mobile
* Doris Suomalaisen Anygraaf Oy:n selain

### Välityspalvelin
* Novarra
* Openwave Openweb 
* Infogin
* Volantis transcoder 

### Sovelluspalvelin
* Movila Detection Suomalaisen Movila Oy:n päätelaitetunnistus
* DetectRight 
* DeviceAtlas

## Ilmaiset ratkaisut
### Selain
* Opera Mini
* Minimo
* Skyfire 

### Välityspalvelin
* Google gwt
* Yahoo OneSearch
* PhoneFavs
* Mowser
* Skweezer
* Mobleo 
* loband 

### Sovelluspalvelin
* DetectFree  Suomalaisen Movila Oy:n päätelaitetunnistus
* WURFL