windows phone application development
DESCRIPTION
Alan Mendelevich, Founder & CEO of AdDuplex for Lotus conference 8.TRANSCRIPT
![Page 1: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/1.jpg)
Windows Phone AppDevelopment Overview
Alan MendelevichAdDuplex Founder
[email protected]://devblog.ailon.orgTwitter: @ailon
![Page 2: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/2.jpg)
Agenda
• Hardware• Metro• Development Overview• Publication
![Page 3: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/3.jpg)
Hardware
![Page 4: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/5.jpg)
Hardware Specification 2011
![Page 6: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/6.jpg)
Form Factors
![Page 7: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/7.jpg)
OEMs
![Page 8: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/8.jpg)
Metro
![Page 9: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/9.jpg)
Metro
![Page 10: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/10.jpg)
Inspiration
![Page 11: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/11.jpg)
Metro Principles
• Clean, light, open, fast• Celebrate typography• Alive & in motion• Content not chrome• Authentically digital
![Page 12: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/12.jpg)
12
Accent Colors
![Page 13: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/13.jpg)
Gestures
![Page 14: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/15.jpg)
Application Bar
• Up to 4 buttons• Only the main
actions• Use slide out
menu for less important items
![Page 16: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/16.jpg)
Pivot
• Grouping and filtering of information• Switching by tapping or swipe
gesture
![Page 17: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/17.jpg)
17
Panorama
• “Rich” content• Leads user to
the next screen
• Starting point for multiple destinations
![Page 18: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/18.jpg)
Metro & Your Own Style
![Page 19: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/19.jpg)
Development Overview
![Page 20: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/21.jpg)
Free Powerful Tools
• Expression Blend • Visual Studio
![Page 22: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/23.jpg)
Silverlight for Windows Phone Overview
![Page 24: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/25.jpg)
XAML
• eXtensible Application Markup Language• XML based• Used in WPF and Silverlight• Declaratively describes UI, animations,
etc.
![Page 26: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/31.jpg)
Data Binding
• Automatically binds object properties• Separation of concerns
(design/development)–MVVM pattern
![Page 32: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/36.jpg)
Publishing
![Page 37: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/37.jpg)
Publishing Options
![Page 38: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/38.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/39.jpg)
Summary
• Modern mobile platform• Metro design language• Silverlight or XNA or Silverlight+XNA• Centralized app Marketplace
![Page 40: Windows Phone Application development](https://reader036.vdocuments.us/reader036/viewer/2022062418/554a0019b4c905e56c8b4f5d/html5/thumbnails/40.jpg)
Additional resources
• App Hub– http://create.msdn.com
• Programming Windows Phone by Charles Petzold– http://www.charlespetzold.com/phone/
• Twitter - #wpdev