41
Windows Phone App Development Overview Alan Mendelevich AdDuplex Founder ailon @ailon.org http://devblog.ailon.org Twitter: @ailon

Windows Phone Application development

  • Upload
    vkalve

  • View
    983

  • Download
    4

Embed Size (px)

DESCRIPTION

Alan Mendelevich, Founder & CEO of AdDuplex for Lotus conference 8.

Citation preview

Page 1: Windows Phone Application development

Windows Phone AppDevelopment Overview

Alan MendelevichAdDuplex Founder

[email protected]://devblog.ailon.orgTwitter: @ailon

Page 2: Windows Phone Application development

Agenda

• Hardware• Metro• Development Overview• Publication

Page 3: Windows Phone Application development

Hardware

Page 4: Windows Phone Application development

Hardware Specification 2010

Display480x800 QVGA320x480 HVGA (future)

Capacitive touch4 or more contact points

Camera5 mega pixels or more

Hardware buttonsStart, Search, Back

GPUDirectX 9 acceleration

CPUARMv7 Cortex/Scorpion or better

Memory256MB RAM or more8GB Flash or more

MultimediaCodec acceleration

SensorsA-GPS, Accelerometer, Compass, Light

Page 5: Windows Phone Application development

Hardware Specification 2011

Page 6: Windows Phone Application development

Form Factors

Page 7: Windows Phone Application development

OEMs

Page 8: Windows Phone Application development

Metro

Page 9: Windows Phone Application development

Metro

Page 10: Windows Phone Application development

Inspiration

Page 11: Windows Phone Application development

Metro Principles

• Clean, light, open, fast• Celebrate typography• Alive & in motion• Content not chrome• Authentically digital

Page 12: Windows Phone Application development

12

Accent Colors

Page 13: Windows Phone Application development

Gestures

Page 14: Windows Phone Application development

Touch Target Sizes

• Minimum recommended touch target size – 9mm (~90 px)

• Minimum spacing between touchable elements – 2mm

• Visible element size – 60-100% of touch surface

Page 15: Windows Phone Application development

Application Bar

• Up to 4 buttons• Only the main

actions• Use slide out

menu for less important items

Page 16: Windows Phone Application development

Pivot

• Grouping and filtering of information• Switching by tapping or swipe

gesture

Page 17: Windows Phone Application development

17

Panorama

• “Rich” content• Leads user to

the next screen

• Starting point for multiple destinations

Page 18: Windows Phone Application development

Metro & Your Own Style

Page 19: Windows Phone Application development

Development Overview

Page 20: Windows Phone Application development

Flavors of Applications

High performance game framework

Rapid creation of multi-screen 2D and 3D games

Rich content pipeline Mature, robust, widely

adopted technology spanning Xbox 360, Windows, and Zune

Modern XAML/event-driven application UI framework

Rapid creation of visually stunning apps

Metro-themed UI controls

500,000 developers spanning Windows and web

Page 21: Windows Phone Application development

Free Powerful Tools

• Expression Blend • Visual Studio

Page 22: Windows Phone Application development

Free Powerful Tools

• http://create.msdn.com– Visual Studio 2010 Express–Windows Phone Emulator– Silverlight– XNA Game Studio 4.0–Microsoft Expression Blend for Windows

Phone– .NET Framework 4

Page 23: Windows Phone Application development

Silverlight for Windows Phone Overview

Page 24: Windows Phone Application development

Silverlight 4+

• Based on Silverlight 4• Plus specific modules (phone

functions, sensors, etc.)• XAML + C# (or VB.NET)• Optimized for performance on

smaller, less powerful devices

Page 25: Windows Phone Application development

XAML

• eXtensible Application Markup Language• XML based• Used in WPF and Silverlight• Declaratively describes UI, animations,

etc.

Page 26: Windows Phone Application development

Theming

• Users can switch system colors– Select black or white

background– Select “accent” color

• Standard Silverlight controls automatically adapt to selected theme

• Preset styles

Page 27: Windows Phone Application development

27

Navigation• Navigation is page

based– Similar to web

navigation– Pages are identified by

URIsprivate void hyperlinkButton1_Click( object sender, RoutedEventArgs e){ NavigationService.Navigate( new Uri("/SecondPage.xaml", UriKind.RelativeOrAbsolute) );}

Page 28: Windows Phone Application development

Back Button

• Returns to the previous page– UI shouldn’t duplicate this functionality

• The behavior could be overridden when going to the previous page isn’t logical– Closing a pop-up dialog, etc.– Can’t be used for actions absolutely

unrelated to “returning”, like shooting, etc.

Page 29: Windows Phone Application development

Application Bar

• Use AppBar instead of a custom menu system

• Up to 4 buttons + menu• Buttons for most

important tasks only• White color on the

transparent background (without circle)

Page 30: Windows Phone Application development

Orientation support

• Pages can be vertical, horizontal or change orientation automatically

• Set via SupportedOrientations property• PortraitOrLandscape value – automatic

orientation switching

Page 31: Windows Phone Application development

Data Binding

• Automatically binds object properties• Separation of concerns

(design/development)–MVVM pattern

Page 32: Windows Phone Application development

Pivot and Panorama

• The best starting point for apps

• Complies with Metro out of the box

• Present information in easily digestible portions

Page 33: Windows Phone Application development

Pivot vs. Panorama

• Can be used to display more information

• Supports programmatic switching

• LoadingPivotItem and UnloadingPivotItem events for delayed content loading

• Effective use of screen real estate

• More impressive• Background images

automatically stretched

• Horizontal PanoramaItem for vizualization of content of different width

Pivot Panorama

Page 34: Windows Phone Application development

Launchers and Choosers

• Each app runs in its own sandbox and can’t accept system resources or other apps

• Launchers and Choosers mitigate this by allowing indirect access to these features

Page 35: Windows Phone Application development

Application Lifecycle

running

deactivated

dormant

activated

Phone resources detachedThreads & timers suspended

Fast App Resume

Save State!State preserved!IsAppInstancePreserved == true

Restore state!IsAppInstancePreserved == false

Resuming .. .

Tombstone the oldest app

Tombstoned

Page 36: Windows Phone Application development

Publishing

Page 37: Windows Phone Application development

Publishing Options

Page 38: Windows Phone Application development

Publishing ProcessApplication and Game Submission

Sign

Windows Phone 7 Deployment Service

.xap

.dll

AppSubmission

AppPackaging &Validation

.xap

.dll

.xap

.dll

.xap

.dll

ApplyTest

Criteria

Marketplace

AddMetadata

.xap

.dll

.xap

.dll

.xap

.dll

.xap

.dll

Page 39: Windows Phone Application development

Summary

• Modern mobile platform• Metro design language• Silverlight or XNA or Silverlight+XNA• Centralized app Marketplace

Page 40: Windows Phone Application development

Additional resources

• App Hub– http://create.msdn.com

• Programming Windows Phone by Charles Petzold– http://www.charlespetzold.com/phone/

• Twitter - #wpdev

Page 41: Windows Phone Application development

Questions?

Alan MendelevichTwitter: @[email protected]