hvordan lage en vellykket wp7 applikasjon

82

Upload: jonas-folleso

Post on 18-Dec-2014

920 views

Category:

Documents


3 download

DESCRIPTION

Erfaringer rundt hva som skal til for å lage en vellykket WP7 applikasjon.

TRANSCRIPT

Page 1: Hvordan lage en vellykket WP7 applikasjon
Page 2: Hvordan lage en vellykket WP7 applikasjon

HVORDAN LAGE EN VELLYKKET WINDOWS

PHONE 7 APP

Erfaringer fra 7 forskjellige appsutviklet høsten 2011 og vinteren 2012

MVP Live 2012, Trondheim

Jonas Follesø

23/02/2012

Page 3: Hvordan lage en vellykket WP7 applikasjon

LITT OM MEG

Scientist & Manager BEKK Trondheim

Microsoft MVP Silverlight

Jonas Follesø

Page 4: Hvordan lage en vellykket WP7 applikasjon

AGENDA

Metro Design Språk

Implementering av Metro

3 måter å lage Live Tiles

Testing og publisering

Spørsmål

Page 5: Hvordan lage en vellykket WP7 applikasjon
Page 6: Hvordan lage en vellykket WP7 applikasjon

APPS VI HAR JOBBET MED

Page 7: Hvordan lage en vellykket WP7 applikasjon

Metro designer viktig

Page 8: Hvordan lage en vellykket WP7 applikasjon

SLUTTBRUKERE LIKER METRO

“Great game. Love the looks, utilizing the Metro UI to the max, very clean looking.”

“Mycket bra spel kul att se Metro tänk även i ett sånt här spel.”

“Riktigt snyggt gjort med bra metro tema”

“Nice game, great Metro UI. Thanks!”

Page 9: Hvordan lage en vellykket WP7 applikasjon

SLUTTBRUKERE LIKER METRO

“Nyttig applikasjon, fint utseende også med Metro.”

“Fungerer svært bra og ser delikat ut.”

Page 10: Hvordan lage en vellykket WP7 applikasjon

SLUTTBRUKERE LIKER METRO

“Meget ambisiøs og vel gjennomført app. Innholder alle tenkbare features og alt er pent og føles skikkelig solid.”

Page 11: Hvordan lage en vellykket WP7 applikasjon

SLUTTBRUKERE LIKER METRO

“Bra design. Oversiktlig app som gir rask tilgang til de viktigste banktjenestene. Farvel til telefonbank :-D”

Page 12: Hvordan lage en vellykket WP7 applikasjon

“Etter å ha lekt oss litt med Mango noen dager, kan vi fastslå at Microsoft har lykkes med å lage et virkelig brukervennlig mobiloperativsystem som på mange områder overgår Apples iOS – samtidig som det er enklere og mer brukervennlig enn Android.”

PC Worldhttp://www.idg.no/pcworld/tester/programvare/operativsystemer/article222108.ece?curPage=3

Page 13: Hvordan lage en vellykket WP7 applikasjon

HVA ER METRO?

Page 14: Hvordan lage en vellykket WP7 applikasjon
Page 15: Hvordan lage en vellykket WP7 applikasjon

PRINSIPPER VS SPRÅK

The Metro Design Principles

the pillars (usually abstract concepts) that guide the creation of experiences for Windows Phone.

The Metro Design Language

set of concrete user interaction, visual design, motion and application flow elements and rules.

Page 16: Hvordan lage en vellykket WP7 applikasjon
Page 17: Hvordan lage en vellykket WP7 applikasjon
Page 18: Hvordan lage en vellykket WP7 applikasjon
Page 19: Hvordan lage en vellykket WP7 applikasjon
Page 20: Hvordan lage en vellykket WP7 applikasjon
Page 21: Hvordan lage en vellykket WP7 applikasjon
Page 22: Hvordan lage en vellykket WP7 applikasjon
Page 23: Hvordan lage en vellykket WP7 applikasjon
Page 24: Hvordan lage en vellykket WP7 applikasjon
Page 25: Hvordan lage en vellykket WP7 applikasjon
Page 26: Hvordan lage en vellykket WP7 applikasjon
Page 27: Hvordan lage en vellykket WP7 applikasjon
Page 28: Hvordan lage en vellykket WP7 applikasjon
Page 29: Hvordan lage en vellykket WP7 applikasjon
Page 30: Hvordan lage en vellykket WP7 applikasjon
Page 31: Hvordan lage en vellykket WP7 applikasjon
Page 32: Hvordan lage en vellykket WP7 applikasjon
Page 33: Hvordan lage en vellykket WP7 applikasjon
Page 34: Hvordan lage en vellykket WP7 applikasjon
Page 35: Hvordan lage en vellykket WP7 applikasjon
Page 36: Hvordan lage en vellykket WP7 applikasjon
Page 37: Hvordan lage en vellykket WP7 applikasjon
Page 38: Hvordan lage en vellykket WP7 applikasjon
Page 39: Hvordan lage en vellykket WP7 applikasjon
Page 40: Hvordan lage en vellykket WP7 applikasjon

Hvordan viimplementerte

Metro

Page 41: Hvordan lage en vellykket WP7 applikasjon

POSTEN SPORING

Page 42: Hvordan lage en vellykket WP7 applikasjon

SPAREBANK 1 MOBILBANK

Page 43: Hvordan lage en vellykket WP7 applikasjon

TELENOR FAKTURA

Page 44: Hvordan lage en vellykket WP7 applikasjon

WORDFEUD

Page 45: Hvordan lage en vellykket WP7 applikasjon

AVINOR

Page 46: Hvordan lage en vellykket WP7 applikasjon

BRUK THEME RESOURCES

<TextBlock Text="Large text" Style="{StaticResource PhoneTextLargeStyle}" /><TextBlock Text="Normal text" Style="{StaticResource PhoneTextNormalStyle}" />

http://mindre.net/Article/windows_phone_7_theme_resources

Page 47: Hvordan lage en vellykket WP7 applikasjon
Page 48: Hvordan lage en vellykket WP7 applikasjon

BenyttLive Tiles

Page 49: Hvordan lage en vellykket WP7 applikasjon

3 MÅTER Å IMPLEMENTERE LIVE TILES

1. Secondary Tiles

2. Live Tiles using Background Agents

3. Live Tiles using Push Notifications

Page 50: Hvordan lage en vellykket WP7 applikasjon

3 WAYS TO IMPLEMENT LIVE TILES

1. Secondary Tiles

2. Live Tiles using Background Agents

3. Live Tiles using Push Notifications

Page 51: Hvordan lage en vellykket WP7 applikasjon

LIVE TILES 1 – SECONDARY TILES

• Mulig for en app å ha flere tiles på startskjermen.

• Kan lenke til et bestemt område i appen.

• Kan oppdateres programatisk til å vise ny informasjon.

Page 52: Hvordan lage en vellykket WP7 applikasjon

CREATING SECONDARY TILES

private void OnAddTileClick(object sender, RoutedEventArgs e){ var tileUri = new Uri("/WeekNumberPage", UriKind.Relative); var data = new StandardTileData { Title = "Week Number" };

var tile = ShellTile.ActiveTiles.FirstOrDefault( x => x.NavigationUri == tileUri);

if(tile == null) ShellTile.Create(tileUri, data); else tile.Update(data);}

Page 53: Hvordan lage en vellykket WP7 applikasjon

LIVE TILES 1 – SECONDARY TILES

• Mulig å dynamisk generere grafikken til tile på telefonen.

Page 54: Hvordan lage en vellykket WP7 applikasjon

DYNAMIC TILE GRAPHICSprivate Uri GenerateWeekNumberTile(){ Rectangle background = CreateBackground(); TextBlock weekNumber = CreateWeekNumberTextBlock();

string tileImage = "/Shared/ShellContent/WeekNumber.jpg"; var isoStoreTileImage = "isostore:" + tileImage;

using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication()) { var bitmap = new WriteableBitmap(173, 173);

bitmap.Render(background, new TranslateTransform()); bitmap.Render(weekNumber, new TranslateTransform {Y=32});

var stream = store.CreateFile(tileImage); bitmap.Invalidate(); bitmap.SaveJpeg(stream, 173, 173, 0, 100); stream.Close(); }

return new Uri(isoStoreTileImage, UriKind.Absolute);}

Page 55: Hvordan lage en vellykket WP7 applikasjon

DYNAMIC TILE GRAPHICS

var data = new StandardTileData { Title = "Week Number", BackgroundImage = GenerateWeekNumberTile()};

Page 56: Hvordan lage en vellykket WP7 applikasjon

3 WAYS TO IMPLEMENT LIVE TILES

1. Secondary Tiles

2. Live Tiles using Background Agents

3. Live Tiles using Push Notifications

Page 57: Hvordan lage en vellykket WP7 applikasjon

LIVE TILES 2 – UPDATING TILES USING BACKGROUND AGENTS

• Mulig å oppdatere både primær og sekundær tile fra kode.

• Kan bruke en Background Agent til å oppdatere en Live Tile.

Page 58: Hvordan lage en vellykket WP7 applikasjon

BACKGROUND AGENTS

app logic

UI instance

app logic

agent instance

6 MB minne25 sekunder kjøretid

public abstract class BackgroundAgent{ protected internal BackgroundAgent(); protected void NotifyComplete(); protected void Abort(); protected internal virtual void OnCancel();}

Page 59: Hvordan lage en vellykket WP7 applikasjon

UPDATING PRIMARY TILE FROM BACKGROUND AGENT

protected override void OnInvoke(ScheduledTask task){ var data = new StandardTileData { Title = "My App", BackTitle = "Updated", BackContent = "Something interesting..." };

var tile = ShellTile.ActiveTiles.First(); if(tile != null) tile.Update(data);

NotifyComplete();}

Page 60: Hvordan lage en vellykket WP7 applikasjon

LIVE TILES 2 – UPDATING TILES USING BACKGROUND AGENTS

• Kan og oppdatere sekundær tiles fra bakgrunnsagent.

Page 61: Hvordan lage en vellykket WP7 applikasjon

3 WAYS TO IMPLEMENT LIVE TILES

1. Secondary Tiles

2. Live Tiles using Background Agents

3. Live Tiles using Push Notifications

Page 62: Hvordan lage en vellykket WP7 applikasjon

WP7 PUSH NOTIFICATIONS

Microsoft Push

Notification

Services

Your Web Applicatio

n

PUSH CLIENT

Push Library

Your WP Application

1Open Channel

2 Hand off channel

URL

3 Pushmessage

4Push message

Page 63: Hvordan lage en vellykket WP7 applikasjon

TILE NOTIFICATION PAYLOAD<?xml version="1.0" encoding="utf-8"?><wp:Notification xmlns:wp="WPNotification"> <wp:Tile> <wp:BackgroundImage>Background.jpg</wp:BackgroundImage> <wp:Count>3</wp:Count> <wp:Title>Title</wp:Title> <wp:BackBackgroundImage>BackBackground.jpg</wp:BackBackgroundImage> <wp:BackTitle>Back Title</wp:BackTitle> <wp:BackContent>Back Content</wp:BackContent> </wp:Tile></wp:Notification>

• XML pushes til telefonen for å oppdatere Tile.

• Støtte for både eksterne og lokale URL-er for bilder.

Page 64: Hvordan lage en vellykket WP7 applikasjon

LIVE TILES 3 – USING PUSH NOTIFICATIONS

• Standard tile.

• Tile med antall aktive spill og indikasjon om ulest melding.

• Profilbilde og navn på motstander på baksiden av tile, i tillegg til informasjon om siste trekk.

Page 65: Hvordan lage en vellykket WP7 applikasjon

SLUTTBRUKERE ELSKER LIVE TILES

“Love this game! Awesome with the live tile.”

“Dejligt tidsfordriv spil og cool det kom lidt tidligere end forventet. Udnytter live tiles godt”

“Fungerer perfekt, og udnyttelsen af 'live tile' og 'notification' er lige i skabet.”

“Love it! It runs great, has a nice interface and the live tile and push are excellent!”

Page 66: Hvordan lage en vellykket WP7 applikasjon

Panorama& Pivot

Page 67: Hvordan lage en vellykket WP7 applikasjon
Page 68: Hvordan lage en vellykket WP7 applikasjon
Page 69: Hvordan lage en vellykket WP7 applikasjon

PANORAMA VS PIVOT

Pivot

• Effektiv

• Fokus

• Tilbakevendende og vane

• Samme type informasjon i hvert panel

Panorama

• Omfattende

• Eksplorativ

• Dynamisk

• Forskjellig informasjon i hvert panel

Page 70: Hvordan lage en vellykket WP7 applikasjon

WORDFEUD PIVOT

Page 71: Hvordan lage en vellykket WP7 applikasjon

AVINOR FLIGHTS PIVOT

Page 72: Hvordan lage en vellykket WP7 applikasjon
Page 73: Hvordan lage en vellykket WP7 applikasjon
Page 74: Hvordan lage en vellykket WP7 applikasjon
Page 75: Hvordan lage en vellykket WP7 applikasjon
Page 76: Hvordan lage en vellykket WP7 applikasjon

Test tidlig& ofte

Page 77: Hvordan lage en vellykket WP7 applikasjon

WORDFEUD TEST OG UTVIKLING

30. JanLansering

22. Nov Første commit

23. DesBeta 1

08. JanBeta 2

14. JanBeta 3

22. JanBeta 4 &

publiseringsom skjult app

Daglige byggdelt via Dropbox

Page 78: Hvordan lage en vellykket WP7 applikasjon

Tips tiltesting

Page 79: Hvordan lage en vellykket WP7 applikasjon

REMEMBER TO TEST:

• Mørkt og lyst theme.

• Flight Mode ON.

• Data Network OFF.

• GPS slått av. Sjekk og at brukeren kan deaktivere lokasjon i appen din.

• Trykk «Win»-knappen, så«Back»-knappen og sjekk resume.

• Vis progressbar når data lastes.

• Test med både Norsk og Engelsk språk.

Page 80: Hvordan lage en vellykket WP7 applikasjon

Oppsummering

Page 81: Hvordan lage en vellykket WP7 applikasjon

OPPSUMMERING

Utnytt mulighetene i Metro – og husk at det er lov å være kreativ.

Ta Live Tiles på alvor og finn lure måter å bruke disse.

Test tidlig og ofte.

Page 82: Hvordan lage en vellykket WP7 applikasjon

Spørsmål?