Category Archives: Windows Phone

Windows Phone 8 ja parantunut HTML5-tuki

Windows Phone 7 -käyttöjärjestelmän yhtenä huonoimmista puolista on pidetty sen surkeaa selainta – Internet Explorer 9 -selaimen mobiiliversion tuki HTML5- ja CSS3-teknologioille oli aivan surkea. Myös suorituskyky vähänkin edistyneimmillä verkkosivuilla oli huono ja buginen. Windows Phone 8 käyttöjärjestelmä toi tähän selvän parannuksen, ja sen Internet Explorer 10 -selain tukee uusia web-teknologioita huomattavasti paremmin. Tämä tekee web-teknologioista yhä houkuttelevamman palveluntarjoajien näkökulmasta.

Parempi suorituskyky, sulavammat animaatiot, …

Mobiili IE9:n suurimmat ongelmat liittyivät toimimattomiin animaatioihin, mahdottomuteen rekisteröidä kosketus- ja raahaustapahtumia, puutteeliseen ja bugiseen CSS-tukeen sekä fiksatun positioinnin puuttumiseen. Näistä seurasi se, että mobiiliweb-sovellukset toimivat IE9:ssa parhaimmillaankin vain keskinkertaisesti. Tämän vuoksi esimerkiksi yksi mobiilimaailman tunnetuimmista ja vanhimmista frameworkeista, Sencha Touch, ei tue Windows Phone 7 -käyttöjärjestelmää lainkaan. jQuery Mobile -sovellukset ovat sentään funktionaalisia, mutta ne eivät toimi läheskään niin hyvin kuin Android- ja iOS-alustoilla.

Windows Phone 8 toi näihin edellä mainittuihin asioihin huomattavia parannuksia. CSS3-animaatiot toimivat – ja vieläpä erittäin hyvin. Esimerkiksi keskihintainen Nokia Lumia 620 -puhelin suoriutuu niistä erinomaisesti. Toinen huomattava parannus on elementtien positiointi pysyvästi sivun ylä- ja alaosaan CSS:n position:fixed; -määrittelyllä. Se toimii jopa paremmin kuin monissa iOS- ja Android-laitteissa. CSS3-tuesta myös mm. 3D-transformaatiot, geolokaatio ja fonttimäärittelyt ovat tuettuja.

jQuery Mobile toimii aiempaa huomattavasti paremmin, ja myös Sencha Touchista on tullut version 2.2, jolla tuotetut sovellukset toimivat hyvin myös Windows 8 -käyttöjärjestelmässä. Lisätietoja Windows Phone 8:n CSS3- ja HTML5-tuesta löytyy Windows Phone Dev Centerista.

Suurin ongelma Windows 8 -selaimessa tuntuu sen sijaan olevan interaktio raahattavien objektien kanssa. Verkkosivut kyllä ottavat kosketuksia vastaan, mutta ainakin jQuery Mobilen slider-komponentti toimii tahmeasti. Loppujen lopuksi Windows Phone 8 on web-kehittäjille erittäin tervetullut päivitys, joka mahdollistaa sovellusten kehityksen myös yrityspuhelimena suosituille Windows Phone -puhelimille.

Harmittavasti Windows Phone 7 -laitteita ei pysty päivittämään Windows Phone 8 -käyttöjärjestelmään, vaan WP8-laitekanta vahvistuu vain sillä että kuluttajat ostavat uusia WP8-puhelimia. Tästä johtuen WP8-markkinaosuus on vielä suhteellisen pieni, mutta vahvistuu tukevasti päivä päivältä.

Nokia tekee Suomessa Windows Phonesta suositun

Nokia on ollut perinteisesti vahvoilla Suomen markkinoilla, ja tekee Suomen markkinasta kansainvälisesti poikkeuksellisen käyttöjärjestelmien näkökulmasta. StatCounterin tilastojen perusteella (kuvat alla) Windows Phone -käyttöjärjestelmän markkinaosuus oli toukokuussa 2013 13.66%, kun Androidin luku oli 24.75% ja iOSin 23.71%. Suomen suosituin käyttöjärjestelmä on hieman yllättäen S40, joka toimii Nokian budjettipuhelinten käyttöjärjestelmänä ja on haukannut peräti 34.18% markkinaosuuden. Ero maailmanlaajuisiin tilastoihin on huomattava, Windows Phonen maailmanlaajuisen markkinaosuusuuden ollessa ainoastaan 1.33%.

Android ja iOS hallitsevat maailmanlaajuisia markkinoita. Windows Phone mahtuu juuri ja juuri kahdeksan käytetyimmän alustan joukkoon.
Suomessa Nokian puhelimissa käytetyt järjestelmät nousevat iOSin ja Androidin rinnalle merkittäviksi käyttöjärjestelmiksi

Nokian ja Windows Phonen asema Suomessa tekee palvelujen alustan valinnasta normaalia haastavampaa. Siinä missä Yhdysvalloissa sovelluksen tekeminen Androidille ja iOSille riittää kattamaan 95% markkinoista, Suomessa samanlaisen (älypuhelinten) markkinaosuuden kattaminen natiivisovelluksilla vaatii huomattavasti useamman alustan tukemista. Tämä korostuu yrityksille suunnattujen palvelujen suunnittelussa, sillä Nokian puhelimet ovat erityisen suosittuja juuri työsuhdepuhelimina.

Push-viestit ja push-palvelin – mitä ne ovat?

Viimeisen kahden vuoden aikana push-viestien osuus mobiiliviestinnässä on kasvanut räjähdysmäisesti uusien älykkäämpien palvelujen myötä. Seuraavassa pyrimme avaamaan mitä push-viestit ovat sekä niiden hyötyjä ja mahdollisuuksia. Tulemme julkaisemaan myöhemmin myös push-viestintäteknologiaa ja -arkkitehtuuria tarkemmin käsittelevän artikkelin.

Push-viestejä voitaisiin kuvata esimerkiksi seuraavalla virkkeellä:

Push-viestit ovat viestejä, jotka laitteeseen saapuessaan lähes poikkeuksetta herättävät käyttäjän huomion. Käyttäjä voi viestin otsikosta riippuen joko unohtaa sen tai perehtyä siihen ja saada mahdollisesti lisää tietoa asiasta.

Kuvauksen mukaisesti push-viestejä voitaisiin verrata tekstiviesteihin, sillä lisäyksellä, että ne aina liittyvät puhelimelle ladattuun sovellukseen.

Mainonnan ja markkinoinnin näkökulmasta push-viestit eroavat merkittävästi tekstiviesteistä tai muista digitaalisista viestintämuodoista. Digitaalinen mainonta tekstiviestien avulla saattaa monien mielestä olla tunkeilevaa ja sähköpostin välityksellä tapahtuvana persoonatonta sekä harvoin tunteita herättävää. Push-viestit sen sijaan saapuvat aina käyttäjän sallimana, näkyvät reaaliaikaisesti laitteessa ja voivat sisältää monipuolista interaktiivista sisältöä.

Henkilökohtainen merkityksellisyys

Yksilön profilointi on perinteisessä mainonnassa usein pulmallista ja sen toteutus sekä järkevästi että käytännöllisesti on hankalaa, sillä käyttäjien taustat pitää kartoittaa ja sen perusteella jakaa käyttäjät lokeroihin. Käyttäjien profiilitietojen muuttuminen puolestaan ei välttämättä koskaan saavuta palveluiden tarjoaa. Tällainen tilanne saattaa olla kaikille vahingollista. Mainostaja tekee turhaa työtä ja tuhlaa resurssejaan. Viestin saajan osalta roskaviestinnäksi muuttuneen yhteydenottojen käsittely voidaan kokea jopa ärsyttäväksi, mikä saattaa herättää negatiivisia tunteita palvelun tarjoajaa kohtaan.

Push-viestien vastaanottamisen sallimisen mahdollisuus mobiilisovelluksessa estää turhien viestien saapumisen loppukäyttäjille. Viestien lähettämisen salliminen myös ennakoi vastaanottavampaa suhtautumista asiasisältöön. Mobiilisovellus, joka on yhteydessä push-palveluun, voi kerätä ja pitää ajantasalla käyttäjien palvelutietoja, listaa kiinnostuksen kohteista ja sekä esimerkiksi paikkatietoja – käyttäjän sen salliessa. Erityisesti paikkatietojen hyväksikäyttö on vielä vähän käytetty “se suuri” mahdollisuus; paikkatietoisuus yhdistettynä käyttäjien kiinnostuksien kohteisiin tuo merkityksellisyyttä ja korostaa palvelun tarjoajan kunnioitusta yksilöä kohtaan.

Push-viestit saavuttavat kohdeyleisön välittömästi

Ihmisillä on nykyään hyvin usein monia sähköpostitilejä: todennäköisesti tietty tili varattuna henkilökohtaiseen viestintään ja jokin toinen tai toiset tilit yleisempään viestintään, kuten rekisteröitymisiin ja muihin harvemmin käytettyihin palveluihin. Viestin ja loppukäyttäjän kohtaaminen saattaa tapahtua vasta päivien tai viikkojen kuluttua itse lähetystapahtumasta, koska käyttäjät eivät välttämättä seuraa aktiivisesti kaikkia tilejään.

Push-viestit saavuttavat vastaanottajan viimeistään muutaman minuutin sisällä lähetyksestä. Käyttäjien voidaan olettaa saaneen ja huomioineen viestin lähes välittömästi, sillä puhelin värisee, soittaa mahdollisesti merkkiäänen ja ruudulla tapahtuu visuaalinen päivitys.

Pushin avulla sisältöä mobiiliviestintään

Niin massaviestit kuin käyttäjien profiloinnin kautta yksilöidyt viestit kannattaa muotoilla huolellisesti ja sisällyttää niihin jotain, joka oikeuttaa välittömän yhteydenoton käyttäjiin.

Pelkkä tekstitieto,esimerkiksi vaikkapa “Liikkeemme on auki tänäänkin klo 9-18” voi olla paikallaan sillöin tällöin muistuttamassa palvelun olemassaolosta. Suositeltavampaa olisi kuitenkin antaa käyttäjille arvokkaampaa informaatiota, jota epush-viestipalvelua käyttämättömät eivät tietäisi. Esimerkiksi “Muotisuunnittelijamme on tänään liikkeessämme klo 18 asti antamassa henkilökohtaisia vinkkejä. Skumppaa 50 ensimmäiselle!” -tyyppinen viesti tuo lisäarvoa viestiin ja on myös käyttäjille syy olla liittyneenä viestipalveluun. Varsinkin lyhytaikaiset kaikille tarjottavat tiedotteet ja edut houkuttelevat palvelusta kiinnostuneet liittymään palveluun saadakseen tiedon tapahtumista ensimmäisten joukossa.

Push-viestivaihtoehdot

Push-viestit ovat perusidealtaan samankaltaisia kaikissa laitteissa: viesti saapuu, se mahdollisesti avataan ja siihen sidottu mobiilisovellus käynnistyy ja näyttää lisätietoa asiasta.

Applen iOS-laitteilla push-viestit tulevat laitteen ruudulle ja käyttäjä voi reagoida siihen välittömästi tai palata asiaan myöhemmin uudelleen viestikeskuksen kautta. Näkyvän viestisisällön lisäksi viestiin liitetään usein myös käyttäjälle näkymätöntä tietoa, kuten mikä merkkiääni soitetaan viestin saapuessa tai mitä dataa palveluun halutaan välittää sisällönpäivittämisen mahdollistamiseksi.

Windows Phone -laitteille on tarjolla puolestaan usean tyyppisiä push-viestejä, joista perusvaihtoehto (“toast”) on samankaltaisin muiden alustojen push-viesteihin verrattuna. Windows Phone -laitteelle on mahdollisuus lähettää myös raw- ja tile-viestejä. Raw-viestit tarjoavat mahdollisuuden palvelulle syöttää tietoa (esimerkiksi kuponki) mobiilisovellukseen taustalla, ilman että sovelluksen pitää hakea tietoa erikseen.

Tile-viesteissä puolestaan palvelu voi syöttää sovellustiileen (vastaa muilla alustoilla suurin piirtein ikonia työpöydällä) taustakuvia, tekstejä ja numerotietoa. Tämän avulla voidaan toteuttaa esimerkiksi käyttäjän työpöydän uutissovelluksen ikonin sisällönmuutos tai vastaava tilapäivitys.

Android-laitteilla mahdollisuuksia on useita. Käytännössä kehittäjä voi päättää mitä tehdään push-viestin tullessa. Yleisin käytäntö kuitenkin on, että käyttäjälle näytetään notifikaatti, jonka hän voi avata silloin kun on siihen sopiva hetki. Voidaan kuitenkin tehdä monimutkaisempiakin toteutuksia — esimerkiksi käsketään laite lataamaan jokin iso tiedosto ja vasta sen jälkeen ilmoitetaan käyttäjälle notifikaatilla. Käyttäjälle ei ole pakko ilmoittaa push-viestistä mitään, vaan se voi pelkästään olla taustalla tapahtuvaa logiikkaa.

Toimintaympäristö

Push-viestipalvelun käynnistämisen jälkeineen tapahtuva viestien lähetys voi parhaimmillaan olla varsin yksinkertaista ja suoraviivaista. Palvelun tarjoaja luo uuden push-viestin syöttämällä lähettävässä palvelussa lomakkeeseen viestin tiedot. Lähetysnapin painamisen jälkeen tiedot siirtyvät push-viestipalvelimelle, joka lähettää viestin edelleen Applen, Googlen ja Microsoftin kautta mobiililaitteille. Edellä kuvattu toimintatapa vaatii kuitenkin sen, että palvelun kehittäjä on joko itse kehittänyt push-palvelimen viestien välittämiseen tai käyttää tarjolla olevia kaupallisia vaihtoehtoja.

Qvik on toteuttanut push-palvelimen ja tarjoaa sitä mielellään kaikkien asiakkaiden käyttöön. Jatkamme Push-teknologiasta ja viestintäarkkitehtuurista tarkemmin seuraavassa artikkelissa.

 

Kuva 1. Push -viestipalvelin lähettää viestit mobiilikäyttäjille

 

NPG Card julkaistu Windows Phone:lle

Night People Groupin suosittu jäsenkorttisovellus on saatavilla nyt myös Windows Phone -laitteisiin Windows Phone Store:sta!

Sovellusta käyttämällä voi saada jäsenille kohdistettuja etuja NPG:n yökerhoissa ja ravintoloissa. Edut näkyvät sovelluksessa uutisina ja sähköisinä etukuponkeina. Sovellus tarjoaa myös käytännön tietoja tulevista tilaisuuksista yhteystietoineen, paikkatiedot kartalla sekä virtuaalisen jäsenkortin oikeine nimineen ja voimassaoloaikoineen.

NPG Card pohjautuu Qvik Oy:n lanseeraamaan Qvik Card -white label -alustaan, joka voidaan räätälöidä persoonallisesti tilaajan tarpeiden ja brändin mukaiseksi.

Windows Phone:lle tehty Qvik Card eroaa vastaavista iOS- ja Android-sovelluksista huomattavasti ulkoasultaan ja käyttöliittymälogiikaltaan – säilyttäen kuitenkin alkuperäisen toiminnallisuuden.  iOS- ja Android -versioissa “ajankohtaista”, “kupongit”, “membertarjoukset”, “tapahtumat” ja “ravintolat” ovat erillisissä näkymissään, jotka haetaan erikseen Facebook-tyylisestä sivuvalikosta. Käyttäjä avaa ensin valikon ja valitsee sitten, mihin osioon haluaa siirtyä.

Windows Phone -versio käyttää hyväkseen Panorama-näkymää, joka esittää kaikki edellä mainitut toiminnot rinnakkain. WP-lopputulos on grafiikkaintensitiivisempi ja kenties luonnollisempi käyttää kuin muut versiot. Pyyhkäisyliikkeiden pintaan nostattama sisältövirta auttaa isompien asiakokonaisuuksien välillä luovimista.

Sovellus on saanut myönteisen vastaanoton: artikkelia kirjoitettaessa enemmistö arvostelijoista antoi sille arvosanaksi 5 tähteä.

Windows Phone markkinaosuus kasvaa ripeästi

Nyt

Suomessa Elisan myydyin puhelin vuonna 2012 henkilöasiakkaiden kategoriassa oli Nokian Windows Phone Lumia 800 ja yrityspuolella se oli toisena. Myös Soneralla Lumia 800 oli myydyin puhelin vuonna 2012.

StatCounter ilmoittaa Windows Phonen osuuden olleen Suomessa n. 18% joulukuussa 2012, ja nyt tammikuun alussa 20.24%, joten kasvu näyttää jatkuvan vahvasti.

Syksyn Windows Phone 8 -julkistuksen ja sen myötä myyntiin tulleiden WP8-puhelimien myynti näyttää lähteneen hyvin liikkeelle useiden lähteiden mukaan. Vaikka WP-laitteiden markkinaosuus maailman laajuisesti oli muutama kuukausi sitten marginaalista, muutos tilanteeseen on odotettavissa: Microsoftin Steve Balmerin mukaan myynti oli marraskuussa nelinkertaista ja jouluviikolla viisinkertaista verrattuna vuotta aiempaan tilanteeseen.

Vahvistamattomien tietojen mukaan myynti Kiinassa ja USA:ssa on erittäin hyvää eritoten Nokian Lumia-malliston ansiosta. Palkittua Nokian Lumia 920-puhelinta on kehuttu maailman innovatiivisimmaksi ja laitteen kysyntä on ollut huikeaa muihin saman käyttöjärjestelmän laitteisiin verrattuna.

Tulevaisuus

Ennustaminen on hankalaa, kuten vaikkapa IDC:n ennusteet osoittavat. IDC:n ennustukset Windows Phonen kohdalla ovat heitelleet maailmanlaajuisesta 11.4%:n osuudesta aina 19 prosenttiin. Vertailun vuoksi sanottaneen, että Apple iPhonen markkinaosuus maailmassa lienee noin 15%.

Selvää on kuitenkin, että suomalaiset ovat ottaneet Windows Phonen ja Nokian omakseen sekä ostavat laitteita innokkaasti.

Kuva 1. StatCounter Q4/2012 – Suomi.

Windows Phone -sovelluskehitys Androidin ja iPhonen rinnalla

Windows Phonen astuminen iOS:n ja Androidin rinnalle on saanut aikaan hieman hämmennystä joidenkin loppukäyttäjien ja sovellusten tilaajienkin mielissä. Siinä missä iOS (iPhone/iPad), Android ja jopa poistuva Symbian muistuttavat toisiaan yleisasultaan – kukin tietenkin erottautuen omilla pienillä eroavaisuuksillaan – Windows Phone on tietoisesti suuntautunut erilleen muista omalla Metro-suunnittelukielellään.

Ohje: maassa maan tavalla

Suunnitellessa uutta sovellusta mille tahansa alustalle, yleispätevänä ohjenuorana voitaneen antaa:

Kunkin tyyppisen mobiililaitteen käyttäjä haluaa systemaattisen käyttäjäkokemuksen ja käyttöjärjestelmälle tunnusomaisen sekä varsin yhdenmukaisen ulkoasun sovelluksille. Sovelluksen käyttöönotto on tällöin mahdollisimman luontevaa eikä vaadi syvällistä perehdytystä.

Tämä halu kumpuaa usein niin käyttäjien puolelta kuin myös käyttöjärjestelmien toimittajilta! Jotkut palvelujen kehittävät mieltävät ajattelevansa käyttäjän parasta pyrkimällä mahdollisimman yhdenmukaiseen käyttöliittymään laitteen käyttöjärjestelmästä riippumatta, mutta päätyvät tekemään käyttäjälle karhunpalveluksen. On poikkeustilanne, että ihmiset käyttävät samaa sovellusta eri käyttöjärjestelmillä, mutta varmaa, että he käyttävät sitä muiden saman käyttöjärjestelmän sovellusten lomassa.

Suunniteltaessa sovellusta usealle alustalle täysin samaa konseptia ei siis voi aina käyttää. Vaikka iPhone ja Android-sovellukset voivat muistuttaa toisiaan hämmentävän paljon, niillä on eronsa. WP:llä erot ovat muihin alustoihin verrattuna huomattavat.

Esimerkki

Alla käytännön vertailuesimerkki IMDB-sovelluksesta Applen iPhonelle ja Windows Phonelle.

Kuva 1. iPhone versio IMDB:n sovelluksesta.

Kuva 2. WP-versio IMDB-sovelluksesta.

Edellä esitetyt kuvat osoittavat selvästi, että iPhonen käyttäjät eivät pitäisi WP:n tyylisestä sovelluksesta puhelimessaan (mikäli se edes pääsisi Applen App Storeen), eivätkä vastaavasti Windows Phone -käyttäjät halua iPhone/Android-tyylistä sovellusta laitteilleen. Toisilleen vieraat esitystavat vaativat sovelluksen arkkitehdilta jo konseptin varhaisessa vaiheessa ydinidean hahmottamiskykyä ja näkemystä mitä kukin loppukäyttäjä haluaa siltä.

Microsoftin sivuilta löytyy (englanniksi) esimerkkejä erilaisista sovellustyypeistä Windows Phonella.

Päätelmä

Metro-tyyliohjeita noudattavat Windows Phone -sovellukset ovat niin toimintalogiikaltaan kuin ulkoasultaan selvästi erilaisia kuin iOS/Android-taustaiset sovellukset, vaikka tarjottava toiminnallisuus olisi sama.

Windows Phonen tarjoaman visuaalisesti rikkaan Panorama-näkymän avulla yritysten brändäys ja yleensäkin halutut teemat sovelluksissa voidaan saada muita alustoja vahvemmin esille (kuva 2). Tämä toki vaatii ylimääräisen graafisen aineiston luomista.

Vaikka Windows Phonella vältetään käyttöliittymäelementtien ylimääräisiä koristeita, kuten liukuvärejä, tekstuureita, varjostuksia ja kiiltoefektejä, sisältö pyritään vastaavasti tuomaan esiin niin, että lopputulos voi hyvin olla kauniimpi kuin muilla alustoilla.

 

 

Siirtyminen Windows Phone 7:stä 8:aan

Julkistus

Pitkään lisätietoa odotelleiden kehittäjien ja käyttäjien tuska helpotti viime viikolla, kun Microsoft julkaisi Windows Phone 8-käyttöjärjestelmän. Ristiriitaisia tunteita aiheutti monella nykyisten WP7-puhelimien päivityksen rajoittaminen ainoastaan uuteen 7.8-versioon, eikä nykyisiä laitteita voida siten päivittää WP8:aan.

Käydään läpi joitain julkaistuja tietohippusia ja mitä ne merkitsevät.

Päivitys 7.8:aan

Nykyiset WP7-puhelimet saavat 7.8-päivityksen, joka antaa käyttäjälle WP8:n uuden tuntuman käyttöliittymään. Tämä tarkoittaa, että alkuvalikon tiilien muokattavuus ja siten puhelimen käyttökokemus paranee ja monipuolistuu.  Päivitys antanee lisäksi jonkinlaista tyydytystä WP7-puhelimien käyttäjille, koska laitteiden ulkonäkö ja pintapuolinen käyttö pysyy vielä jonkin aikaa ajan tasalla verrattuna syksyllä 2012 tuleviin uusiin WP8-malleihin.

On selvää, etteivät radikaalimmat uudistukset, kuten NFC:hen, usean ytimen prosessoreihin, sekä grafiikkasuorittimien päivityksiin liittyvät uudistukset yksinkertaisesti voi toimia laitetason puutteiden vuoksi nykylaitteissa.

Ainakaan peruskäyttäjälle päivityksen rajallisuus ei tuone kummempia ongelmia, sillä nykyiset puheominaisuudet, sähköpostit, verkkosovellukset ja 100000+ sovellusta Marketplacella riittänevät joksikin aikaa. Kehittäjätkin voivat jatkaa vielä jonkin aikaa myös WP7:n parissa, sillä nykyiset sovellukset tulevat toimimaan WP8:ssa.

                             Kuva 1. WP7.8 / WP8 aloitusvalikko

Uusi Windows Phone 8-käyttöjärjestelmä ja mitä uutta se tarjoaa?

Julkaistut ominaisuudet:

  • Alkuvalikko uudistuu ja monipuolistuu
  • Yhteinen ydin Windows 8:n kanssa
  • Tuki usean ytimen piireille, tuki jopa jopa 64:lle
  • Uusia näyttöresoluutioita; nykyisen 800×480 lisäksi 1280×768 ja 1280×720.
  • MicroSD-tuki
  • VoIP-integraatio
  • Internet Explorer 10
  • Natiivikoodin käyttömahdollisuus
  • DirectX 9.3- ja Direct 3D-grafiikkatuki
  • NFC (“Near Field Communication”)
  • Lompakko / maksaminen
  • Nokian NAVTEQ kartat
  • Sovellusten sisäiset ostokset
  • + monia yrityspuolelle tärkeitä lisäyksiä, kuten Secure boot, bitlocker-salaus, etähallinta…

Monet edellämainituista ominaisuuksista eivät ole sinänsä ihmeellisiä ja niiden olisi pitänyt olla jo mukana WP7-versiossa. Toisaalta useat uudet ominaisuudet ovat todella mielenkiintoisia. Tartutaan muutamaan jäljemmin mainittuun:

Yhteinen ydin Windows 8:n kanssa

Tableteissa, kannettavissa ja pöytäkoneissa käytettävä Windows 8-käyttöjärjestelmä perustuu samaan ytimeen kuin Windows Phone 8 -käyttöjärjestelmä. Tämä yhdistettynä yhteisiin ajureihin ja oheiskomponentteihin – kuten grafiikkapiirien (DirectX) sekä natiivikoodituki – pitäisi ainakin teoriassa tuoda huomattavaa apua ohjelmien siirtämiselle alustalta toiselle. Näin voidaan odottaa entistä useamman korkean profiilin peli- ja hyötyohjelmajulkistuksen sisältävän myös WP-version, mikä lisää erinomaisesti Windows Phone 8:n menestymismahdollisuuksia.

VoIP-integraatio

VoIP (Voice over IP) tuodaan integroituna toiminnallisuutena. Tämä tarkoittaa sitä, että puhelut näkyvät täysin samanlaisina puheluina kuin perinteiset puhelut, eli VoIP-ohjelmaa ei tarvitse erikseen käynnistää toiminnon käyttämiseen. Kehittäjät saavat samalla rajapinnat omien Skype:n tyylisten sovellusten tekemiseen. Nähtäväksi jää, miten operaattorit suhtautuvat tähän edistysaskeleeseen.

Lompakko, NFC

NFC tuo sinänsä kätevän tavan tiedostojen jakoon laitteiden välillä, mutta yhdessä Lompakkotoiminnon ja SIM-kortin kanssa maksaminen ottaa harppauksen eteenpäin. WP8:ssa tulee olemaan mahdollista sisällyttää puhelimeen Debit-/luottokortti, jäsenyys- ja kanta-asiakaskortteja, alennuskuponkeja yms.

IT-tuki

“Company hub”, eli työpaikalle omistettu näkymä puhelimessa yhdessä BitLocker-salauksen ja etähallinnan kanssa luo oivat puitteet yrityksille, jotka käyttävät Windows-työasemia. Suurin osa yrityksistä ja ihmisistä maailmassa käyttää Windows-käyttöjärjestelmää, joten entiset järjestelyt muuntautuvat toimimaan melko kitkattomasti yhdessä Windows Phone -puhelimien kanssa. Yhteinen tausta käyttöjärjestelmillä tuonee ylläpidettävyyden suhteen helpotusta IT-osastoilla. Loppukäyttäjätkään eivät pitäne huonona johdonmukaista käyttökokemusta työaseman ja puhelimen välillä, sekä mahdollisen Windows-kotikoneen kanssa.

Kuva 2. Yritysvalikko WP8:ssa

Windows Phone – Listbox animaatiot

Taustaa

Animaatiot ja siirtymät (transitiot) ovat olennainen osa Windows Phone sovellusten maailmaa. Liikkeen ja vasteen lisääminen näytössä oleviin kohteisiin on sinänsä yksinkertaista, kunhan vain hallitsee työkalut ja menetelmät. Listauksiin (Listbox) kajoaminen on kuitenkin hiukan monimutkaisempaa kuin yksittäisten kohteiden, kuten esimerkiksi kuvan liikuttelu. Alla perehdytään Listbox-listausvalikon elävyttämiseen.

Rakennetaan ohjelman runko

Tarvitsemme Listbox-esimerkin, jota voimme animoida. Kohteena voi käyttää omaa Listbox:ia tai alla olevaa esimerkkiä. MVVM:ää ei ole käytetty esimerkissä yksinkertaisuuden vuoksi.

  • Luo uusi projekti (Silverlight for Windows Phone)
  • Kopioi alta koodikatkelmat uuden projektin MainPage.xaml- ja MainPage.xaml.cs-tiedostoihin.

MainPage.xaml:

        <!--TitlePanel contains the name of the application and page title-->
        <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
            <TextBlock x:Name="ApplicationTitle" Text="Listaus" Style="{StaticResource PhoneTextNormalStyle}"/>
            <TextBlock x:Name="PageTitle" Text="Kaupunkeja" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
        </StackPanel>

        <!--ContentPanel - place additional content here-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <ListBox Margin="45,151,33,43" x:Name="lista">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <Grid>
                            <StackPanel Margin="8,8,1,0">
                                <StackPanel Background="White" Width="380">
                                    <TextBlock Margin="8,8,1,0" Foreground="Black"  Text="{Binding}"/>
                                </StackPanel>
                            </StackPanel>
                        </Grid>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
        </Grid>

MainPage.xaml.cs:

List<string> nameList;

// Constructor
public MainPage()
{
InitializeComponent();
nameList = new List<string>();
nameList.Add("Helsinki");
nameList.Add("Oulu");
nameList.Add("Turku");
nameList.Add("Joensuu");
nameList.Add("Lahti");
nameList.Add("Tampere");
lista.ItemsSource = nameList;
}

Suorita ohjelma. Näkymän pitäisi olla alla olevan kuvan mukainen:

Kuva 1. Alkutilanne.

Lisätään vastetta listauksen kohteisiin – osa 1

Listauksen kohteiden koskettaminen ei anna erikoisempaa visuaalista vastetta kuvan 1 tilanteessa. Lisätään “tilt”-efekti erittäin vähällä vaivalla.

  • Lataa ja asenna Silverlight toolkit
  • Lisää projektiin viittaus (reference) Visual studiossa “Microsoft.Phone.Control.Toolkit.dll”-tiedostoon, joka ladattiin edellisessä kohdassa.
  • Lisää koodit:

MainPage.xaml-sivun alkuun:

xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"

sekä toolkit:TiltEffect.IsTiltEnabled=”True”- lisäys ListBox-määrittelyyn:

<Grid>
<StackPanel Margin="8,8,1,0" toolkit:TiltEffect.IsTiltEnabled="True">
<StackPanel Background="White" Width="380">
<TextBlock Margin="8,8,1,0" Foreground="Black"  Text="{Binding}"/>
</StackPanel>
</StackPanel>
</Grid>

Suorita ohjelma. Kosketa ListBoxin kohteita. Voidaan huomata, että listaus on muuttunut paljon elävämmäksi, koska listauskohta “antaa myöten” kosketukselle.

Lisätään vastetta listauksen kohteisiin – osa 2

Osa 1:ssä luotiin pieni kosketusvaste listauskohteisiin olemassa olevan työkalusetin (toolkit) avulla, mutta entäpä oman animaation lisääminen tai määrittely? Se onnistuu seuraavasti:

  • Avaa Expression Blend 4 (klikkaa hiiren oikeaa nappia MainPage.xaml-tiedoston kohdalta Visual Studiossa: “Open in Expression Blend”).
  • Valikosta (kuva 2) “Objects and Timeline” valitse “lista”, eli määritetty ListBox

Kuva 2. ListBox Blendissä.

  • Klikkaa oikeaa hiiren nappia lista:n kohdalla ja valitse “Edit Additional Templates” ja “Edit Generated Item Container (ItemContainerStyle)”, sekä viimeiseksi “Edit a Copy”.
  • “Create Style Resource”-ikkuna avautuu. Voit nimetä tyylin haluamaksesi. Muuta “Define in -> This document”-kohta “ListBox: lista”-vaihtoedoksi ja paina OK.
  • Valitse “ContentContainer” “Objects and Timeline”-lehdykästä.
  • Properties valikko ilmaantuu näkyviin (alavalikkoja: Brushes, Appearance, Layout, Common properties, Transform etc).
  • Viereisestä lehdykästä “States” valitse “Selection States”-kohdasta “Selected”.
  • Valitse jälleen “Objects and Timeline”-lehdykkä.
  • Paina “Show Timeline”-nappia ja aikanäkymä aukeaa. Siirrä keltaista pystyviivaa vetämällä sitä oikealla haluamasi määrä. Valitaan tällä kertaa 0:00,500.

  • Aukaise Transform-valikko Properties-ikkunasta painamalla kolmiota otsikon vieressä. Aseta Projection kohdasta Y:n arvoksi 360.

  • “Object and Timeline”-lehdykässä voit kokeilla saatua efektiä painamalla “Play”-kolmiota aikajanan yläkulmassa.
  • Tallenna työ: File/Save all.
  • Avaa Visual Studio. Työkalu huomauttaa, että tiedostoa on muutettu. Hyväksy muutokset (Yes to all).

Vilkaisemalla MainPage.xaml-tiedostoa voidaan huomata, että koodin määrä on lisääntynyt huomattavasti. Blend-työkalu on generoinut animaatiotoiminnallisuuden automaattisesti.

Suorita ohjelma. Klikkaamalla listauksen yhtä kohdetta voidaan huomata, että valittu kohde pyörähtää akselinsa ympäri ja palautuu alkupaikkaansa. Uudelleen samaa kohdetta painettaessa ei tapahdu mitään, koska valitsemisaktivointi on Selection-tilatyyppiä. Erilaisia aktivointi-triggereitä ja animointisekvenssejä voidaan määritellä helposti soveltamalla yllä annettua ohjetta.

 

Windows Phonen Push Ilmoitukset

Johdanto

Vaikka Windows Phone Push Notification Services on varsin hyvin dokumentoitu erinäisissä blogeissa ja msdn.com:ssa, selkeää suomenkielistä materiaalia on vähemmän. Toivottavasti ohesta löytyvä teksti auttaa alkuun pääsemisessä!

Microsoft Push Notification Services – Toimintaidea

Windows Phone (7.5) tukee kolmenlaisia Push notifikaatiotyyppejä (ilmoituksia); toast, tile ja raw. Mikäli käyttäjä on sallinut kyseiset viestit sovelluksessa, tästä seuraa:

  • Toast-ilmoitus näkyy, vaikka sovellus on suljettuna. Tekstimuotoinen viesti näkyy ruudun yläreunassa. Koskettamalla ruudulla näkyvää toast-ilmoitusta siihen liittyvä sovellus aukeaa.
  • Tile-ilmoitus näkyy kun sovelluksen ikoni kiinnitetty aloitussivulle “pin to start”. Tile-ilmoitus voi sisältää mm. uuden grafiikan tiileen sekä numeron esimerksi indikoimaan saatujen viestien määrää.
  • Raw-ilmoitus vastaanotetaan ainoastaan kun sovellus on käynnissä.

Windows Phone-ekosysteemissä push-ilmoitukset tarvitsevat käytännössä kolme eri osapuolta toimiakseen;

  • Windows Phone-laite, jossa asennettuna sovellus, joka osaa ottaa vastaan lähetettyjä notifikaatioita (+PushClient),
  • MPNS – Microsoft Push Notification Server, jonka kautta kaikki push-ilmoitukset kulkevat Windows Phone laitteille ja
  • Application Server, joka lähettää varsinaiset notifikaatiot julkaistavaksi MPNS:n kautta.

Toiminnon asetus käyttövalmiuteen tapahtuu seuraavasti:

  • Sovellus pyytää PushClientin avulla yksilöllisen tunnuksen itselleen MPNS:ltä eli rekisteröi itsensä. Rekisteröinti tässä yhteydessä tarkoittaa sitä, että on halukas vastaanottamaan viestejä. MPNS:ltä saatu tunnus on Uri ja muotoa (esimerkki; älä käytä):
http://sn1.notify.live.net/throttledthirdparty/01.0/AAHalLoyiJgtTaiDbJoSgmFiAgAAAAADAwAAAAQUZm52OjlzOEQ2NDJDRkl5MEVFMEQ
  • Sovellus lähettää MPNS:ltä saadun Uri:n sovelluspalvelimelle, jota käyttää sovelluksen ylläpitäjä. Sovelluspalvelin pitää listaa rekisteröityneistä laitteista (eli vastaanotetuista Uri-osoitteista). Kyseisiä Uri-osoitteita käytetään yhteydenpitoon PushClientien kanssa.
  • Perustoiminnallisuus on nyt asetettu käyttövalmiiksi.

Notifikaatoiden ja datan lähetys sovelluspalvelimelta tapahtuu puolestaan seuraavasti:

  • Kun sovelluspalvelin haluaa lähettää push-notifikaation laitteelle, lähettää se HTTP POST-muotoisen pyynnön laitteen antamaan yksilölliseen Uri-osoitteeseen. Pyyntö on XML-koodattu. Uri-osoite sijaitsee MPNS:ssä.
  • MPNS:n sovelluspalvelimelta saatu viesti välitetään edelleen kohdelaitteelle.
  • Mikäli kaikkea viestintää ei halua lähettää Microsoftin palvelimen kautta ja erityisesti kun kyseessä on dataintensiivinen sovellus, voidaan push-viestiin sisällyttää uusi Uri osoittamaan suoraan sovelluspalvelimen haluamaan osoitteeseen. Päätelaitteessa oleva sovellus voi tämän jälkeen käydä erikseen hakemassa kyseisen linkitetyn tiedon itselleen.

Testataan push-ilmoituksien toimintaa käytännössä

Kokeillaan push-ilmoituksia ilman rankkaa kopioi-ja-liitä-harjoitusta…

Lataa ja pura ZIP-paketti:Recipe: Push Notification Server Side Helper for WP7
Paketti sisältää toki lähdekoodien lisäksi Word-dokumentin, joka antaa yksityiskohtaiset käyttöohjeet, mutta käydään olennaisimmat osat läpi yhdessä.

Paketissa on kaksi meitä eniten kiinnostavaa komponenttia – PushClient ja Server. PushClientin voi kääntää ja ajaa emulaattorilla WP SDK 7.1:n mukana tulleella ilmaisella Visual Studio 2010 Express for Windows Phone-työkalulla, mutta Server sovellus ei toimi sillä. Mikäli koneelta ei löydy vaihtoehtoista Visual Studiota, lataa ja asenna esimerkiksi:Visual C# 2010 Express

Aja WindowsPhone.Recipes.Push.Client- ja WindowsPhone.Recipes.Push.Server- projektit. Huomioi, että Server-projekti vaatii, että se ajetaan ‘Administrator’-moodissa, eli se suoritetaan järjestelmänvalvojana. Tämä tapahtuu vaikkapa Start-valikon kautta (Windows 7): etsi Microsoft Visual C# 2010 Express ja oikean hiirinäppäimen kautta valitse “Suorita järjestelmänvalvojana”.

Saamme kaksi uutta näkymää, kun PushClient WP emulaattorissa ja Server-ikkuna käynnistyvät. Server-ikkunan kuvaruutukaappaus on nähtävissä alhaalla vasemmalla ja PushClient-kuvakaappaus oikealla:

Server-ikkunassa ollaan juuri lähetetty toast ilmoitus puhelimeen ja kyseinen tekstiviesti näkyy vastaanottajalla oikein. Kokeile eri push-ilmoituksia! Huomaa erityisesti “Ask to pin”- ja “Counter”-alalehdykät.

Lopuksi huomioitavaa

Mikäli tehdään tuotantoon asti menevä Push Notifikaatiopalvelu:

  • Windows Phone Push-sovelluksen julkaisemiselle on tietyt ehdot, jotka pitää täyttää ennen kuin sovellus julkaistaan. Esimerkiksi käyttäjällä pitää olla mahdollisuus estää viestien kulku.
  • Sovelluksen käyttäjän olisi hyvä esitellä itsensä sovelluspalvelimen kanssa (esimerkiksi käyttäjätunnus).
  • Sovelluksen olisi hyvä kryptata MPNS:ltä saatu Uri sovelluspalvelimelle lähetettäessä.
  • OS7.0-puhelimilla on puutteensa verrattuna Mango-puhelimiin. Kannattaa miettiä mitä tehdä asian suhteen.
  • Sovelluspalvelimen saaman Uri:n käyttötavat ja tallennusturvallisuus olisi hyvä kartoittaa.

Loppusanat

Push notifikaatiot eli ilmoitukset tuovat sovelluksen kehittäjien/ylläpitäjien ja loppukäyttäjien välille suoran yhteyden. Yhteydenpidossa käytetty viestintä ei ole välttämättä kuitenkaan liian häiritsevää, koska välittömään reagointiin ei ole pakkoa (vertaa puhelinsoitto) ja tiedon ilmoitustapaa on mahdollista säätää.

On varsin todennäköistä, että push ilmoituspalvelut lisääntyvät sovelluksissa. Tiedonvälitystapa tarjoaa yrityksille loistavan tavan erottautua toisistaan. Se antaa mahdollisuuden vaikkapa edulliseen täsmämarkkinointiin pienille kohderyhmille, laajaan joukkoviestintään tai vaikkapa erittäin lyhyen aikaa voimassa oleviin erikoistarjouksiin.