Windows Phone: Introducing App Development

58
Windows Phone: Introducing App Development Sam George Principal Group Program Manager Windows Phone App Platforms 2-201

description

Windows Phone: Introducing App Development. Sam George Principal Group Program Manager Windows Phone App Platforms 2-201. Win a Nokia Lumia 928!. At the end of the session, we’ll be asking a question on something from the session Answer it first and correctly, and win a Nokia Lumia 928!. - PowerPoint PPT Presentation

Transcript of Windows Phone: Introducing App Development

Page 1: Windows Phone: Introducing App Development

Windows Phone:Introducing App DevelopmentSam GeorgePrincipal Group Program ManagerWindows Phone App Platforms2-201

Page 2: Windows Phone: Introducing App Development

Win a Nokia Lumia 928!At the end of the session, we’ll be asking a question on something from the session

Answer it first and correctly, and win a Nokia Lumia 928!

Page 3: Windows Phone: Introducing App Development

Great NewsKey Concepts for Getting StartedDemos

Agenda

Page 4: Windows Phone: Introducing App Development

Great News

Page 5: Windows Phone: Introducing App Development

Apps just in…

Source: Windows Phone Store. Period: 10/30/12 - 1/31/13

Source: Windows Phone Store. Period: 10/30/12 – 5/31/13

160k+Apps

Store available in 50 languages and 191 markets

102k+More developers

New registered developers

2.5xMore Revenue

Increase in daily app revenue

More Downloads200M

Monthly app downloads

More apps

52k+New apps submitted with Windows Phone 8 SDK

As of 6/21/13

Amazing Momentum Since Launch

Page 6: Windows Phone: Introducing App Development

42% of Windows Phone devices were upgrades from “feature phone” to

smartphone.

4 billion “feature phone” customers worldwide still do not have a smartphone.

23% of Windows Phone devices were bought by users upgrading from Android.

Page 7: Windows Phone: Introducing App Development

Windows Phone is growing 6x faster than the overall smartphone market

Page 8: Windows Phone: Introducing App Development

Let’s Get Started

Page 9: Windows Phone: Introducing App Development

We have an amazing amount of online training on all aspects of Windows Phone development

40 hours of video or audio training!

Slides, video, audio, self-assessments

It Has Never Been Easier to Learn

Jump Start http://aka.ms/wp8jsDesign Boot

Camphttp://aka.ms/wp8designbootcamp

Training Kit http://aka.ms/wp8holAbsolute

Beginners http://aka.ms/wpdevbegin

Page 10: Windows Phone: Introducing App Development

We Have a Full Featured App Platform

Design Principles XAML

Files and Storage

C#Native Code Reuse

App ModelApplication Lifecycle

Background Agents

Live Tiles

Lock Screen and Notifications

Lock Screen Wallpaper

Push NotificationsDirectX Interop

WebBrowser

App to App Communication

HTTP NetworkingSockets

Bluetooth

Proximity

Speech

MapsLocation

Wallet

In-App Purchase

TrialDevCenterEnterprise

Background Audio

VoIPVideo

CompassCamera

Lenses

File Associations

Controls

Launchers & Choosers

Data

Hubs

Pages & Navigation

C++

VB.NET

Page 11: Windows Phone: Introducing App Development

Dev Center & ToolsDesign PrinciplesUI Framework & XAMLControlsPages & NavigationLive TilesLaunchers & ChoosersWeb ContentMaking MoneyBuild for Both

Today’s Talk:

What You Need To Get Started

Page 12: Windows Phone: Introducing App Development

Dev Center & ToolsDev CenterDesign GuidelinesDeveloper Tools & SDKsVideos, Blogs, Samples, Publishhttp://developer.windowsphone.com/

ToolsVisual Studio, Blend, Emulator, Device Unlock, App Deploy, Store Test Kit

Page 13: Windows Phone: Introducing App Development

DemoDev Center & Tools

Page 14: Windows Phone: Introducing App Development

Dev Center & ToolsDesign PrinciplesUI Framework & XAMLControlsPages & NavigationLive TilesLaunchers & ChoosersWeb ContentMaking MoneyBuild For Both

Topics

Page 15: Windows Phone: Introducing App Development

Design Principles

Pride in craftsmanshipMore with lessFast and fluidAuthentically digitalWin as one

http://aka.ms/wpuxprinciples

Page 16: Windows Phone: Introducing App Development

To Learn MorePH 2-202: Windows Phone Design for DevelopersCorrina BlackHappening right now (watch it on demand later)North 135

Page 17: Windows Phone: Introducing App Development

Dev Center & ToolsDesign PrinciplesUI Framework & XAMLControlsPages & NavigationLive TilesLaunchers & ChoosersWeb ContentMaking MoneyBuild For Both

Topics

Page 18: Windows Phone: Introducing App Development

UI Framework & XAMLUI Framework• Signature & Standard Controls• Layouts• Tree based• Retained mode / composited

framework• Fully extensible• UserControl & Panel• Styling• Templating• Subclassing

XAML• eXtensible Application Markup

Language• A declarative, markup-based

language to define your user experience

• Everything you can do in XAML you can do in code – it’s just easier in XAML.

<StackPanel> <TextBox/> <Button/></StackPanel>

StackPanel stackPanel = new StackPanel();

TextBox textBox = new TextBox();stackPanel.Children.Add(textBox);

Button button = new Button();stackPanel.Children.Add(button);

Page 19: Windows Phone: Introducing App Development

Dev Center & ToolsDesign PrinciplesUI Framework & XAMLControlsPages & NavigationLive TilesLaunchers & ChoosersWeb ContentMaking MoneyBuild For Both

Topics

Page 20: Windows Phone: Introducing App Development

ControlsReusable & CustomizableEmbody the Windows Phone design principlesSignature ControlsPanorama, Pivot, LongListSelector, AppBar

Standard ControlsMap, WebBrowser, Ads, Intrinsic Controls (Button, TextBox, Grid, etc)

Toolkit ControlsDatePicker, TimePicker, Rating, AutoCompleteBox, etc

Page 21: Windows Phone: Introducing App Development

Signature Controls: Panorama

Page 22: Windows Phone: Introducing App Development

Signature Controls: Pivot

Page 23: Windows Phone: Introducing App Development

Signature Controls: LongListSelectorJumpListSticky Headers Grid View

Page 24: Windows Phone: Introducing App Development

DemoControls

Page 25: Windows Phone: Introducing App Development

To Learn MorePH 2-208: Windows Phone UI in XAMLShawn OsterToday at 5PM, North 134

Page 26: Windows Phone: Introducing App Development

Dev Center & ToolsDesign PrinciplesUI Framework & XAMLControlsPages & NavigationLive TilesLaunchers & ChoosersWeb ContentMaking MoneyBuild For Both

Topics

Page 27: Windows Phone: Introducing App Development

Pages & NavigationPages contain contentPhoneApplicationPage class and subclasses

Frame is the top level container control that performs navigationPhoneApplicationFrame class

Apps navigate between pages, passing data between themSimilar to web page model: frame is browser, pages are content

Page 28: Windows Phone: Introducing App Development

Pages & Navigation

*Screens Transient UI the user does not navigate to Shown in a Popup control by a Page.

*

*

Page 29: Windows Phone: Introducing App Development

Page Navigation

Each page identified by a URIEach page is essentially stateless

private void btnLongListSelector_Click(object sender, RoutedEventArgs e){ NavigationService.Navigate(new Uri("/LongListSelectorPage.xaml", UriKind.Relative));}

Page 30: Windows Phone: Introducing App Development

To Learn MorePH 2-204: Windows Phone App FoundationThomas FennelToday at 2PM, North 134

Page 31: Windows Phone: Introducing App Development

Dev Center & ToolsDesign PrinciplesUI Framework & XAMLControlsPages & NavigationLive TilesLaunchers & ChoosersWeb ContentMaking MoneyBuild For Both

Topics

Page 32: Windows Phone: Introducing App Development

Windows Phone Live TilesLive Tiles provide glanceable access to information users care the most aboutLive Tiles can be updated:• From within your app while it is running• As a scheduled task when your app is not

running• In response to Push Notifications

Page 33: Windows Phone: Introducing App Development

All apps have at least one tile, known as the default tile• Created by user pinning your app to the Start

Screen • Launches main app page

Apps can create additional (secondary) tiles• Created programmatically• Can launch to any page in your app

Static or Dynamic Content• Image / text Based• Apps can generate image from XAML content

In Windows Phone 8.0, you can support three different tile sizes

Windows Phone Live Tiles

Page 34: Windows Phone: Introducing App Development

Windows Phone 8 Supports Three Tile TemplatesFlipFlips from front to backSimilar to the WP 7.1 Tile template

IconicClean iconic layout designed to reflect Windows Phone design principles

CycleCycles through up to nine images

Page 35: Windows Phone: Introducing App Development

DemoLive Tiles

Page 36: Windows Phone: Introducing App Development

To Learn MorePH 2-206: Windows Phone Tiles, Lock and NotificationsThomas FennelThursday 11:30 am, North 134

Page 37: Windows Phone: Introducing App Development

Dev Center & ToolsDesign PrinciplesUI Framework & XAMLControlsPages & NavigationLive TilesLaunchers & ChoosersWeb ContentMaking MoneyBuild For Both

Topics

Page 38: Windows Phone: Introducing App Development

Launchers & ChoosersEnables an app to reuse common functionality from the phoneMicrosoft.Phone.TasksLaunchersSimply launches an experience, like the browser or a mapYou pass data to the launcher, but it does not return data to your appChoosersLaunches an experience to return data to your app, like a photo

Page 39: Windows Phone: Introducing App Development

Launchers & ChoosersAddressChooserTask MapsTask SaveContactTaskAddWalletItemTask MapUpdaterTask SaveEmailAddressTaskBingMapsDirectionsTask MarketplaceDetailTask SavePhoneNumberTaskBingMapsTask MarketplaceHubTask SaveRingtoneTaskCameraCaptureTask MarketplaceReviewTask SearchTaskConnectionSettingsTask MarketplaceSearchTask ShareLinkTaskEmailAddressChooserTask MediaPlayerLauncher ShareMediaTaskEmailComposeTask PhoneCallTask ShareStatusTaskGameInviteTask PhoneNumberChooserTask SmsComposeTaskMapDownloaderTask PhotoChooserTask WebBrowserTaskMapsDirectionsTask SaveAppointmentTask

Page 40: Windows Phone: Introducing App Development

DemoLaunchers & Choosers

Page 41: Windows Phone: Introducing App Development

To Learn MorePH 2-204: Windows Phone App FoundationThomas FennelToday 2pm, North 134

PH 2-212: Windows Phone Cross App CommunicationsSean McKennaFriday 2pm, South 222

Page 42: Windows Phone: Introducing App Development

Dev Center & ToolsDesign PrinciplesUI Framework & XAMLControlsPages & NavigationLive TilesLaunchers & ChoosersWeb ContentMaking MoneyBuild For Both

Topics

Page 43: Windows Phone: Introducing App Development

Web ContentWebBrowser controlStandard XAML controlEmbed in your app – can even “host” the entire app

IE10 BasedHTML5 supportHardware acceleratedBuilt for touch

Page 44: Windows Phone: Introducing App Development

IE10 Hardware-Accelerated Web PlatformCSS 2D TransformsCSS 3D TransformsCSS AnimationsCSS Backgrounds & BordersCSS ColorCSS Device Adaptation*CSS Flexbox*CSS FontsCSS Grid*CSS Image Values (Gradients)CSS Media QueriesCSS Multi-Column Layout*CSS NamespacesCSS OM Views

CSS Regions And Exclusions*CSS SelectorsCSS TransitionsCSS Values And UnitsData URIDOM Element TraversalDOM HTMLDOM Level 3 CoreDOM Level 3 EventsDOM StyleDOM Traversal And RangeDOMParser And XMLSerializerECMAScript 5FormdataHTML5 Application

CacheHTML5 Async ScriptsHTML5 BlobBuilderHTML5 CanvasHTML5 Drag And DropHTML5 Forms And ValidationHTML5 GeolocationHTML5 History APIHTML5 ParserHTML5 SandboxHTML5 SelectionHTML5 Semantic ElementsHTML5 Video And AudioJavaScript Typed ArrayICC Color Profiles

IndexedDBPage VisibilityPointer (Mouse, Pen, And Touch) Events*RequestAnimationFrameNavigation TimingSelectors API Level 2SVG Filter EffectsSVG, Standalone And In HTMLWeb MessagingWeb SocketsWeb WorkersXHTML/XMLXHR (Level 2)XHR CORS

Page 45: Windows Phone: Introducing App Development

DemoWeb Content

Page 46: Windows Phone: Introducing App Development

Dev Center & ToolsDesign PrinciplesUI Framework & XAMLControlsPages & NavigationLive TilesLaunchers & ChoosersWeb ContentMaking MoneyBuild For Both

Topics

Page 47: Windows Phone: Introducing App Development

Making MoneyPaid Apps Trial -> Paid In-App Purchase Ads

Page 48: Windows Phone: Introducing App Development

Payment Methods: More Than iOS & Android

List of MOs: http://msdn.microsoft.com/library/windowsphone/help/jj215902(v=vs.105).aspx

Leading Credit CardsMobile Operator Billing:• 3x greater sales than when

only credit card is available• More Mobile Operator

partners than Google Play• 30 Total!

• Access to markets with low credit card penetration

Alipay & PayPal:• 10x purchases in China!• Paypal option vs Credit Card

Page 49: Windows Phone: Introducing App Development

Tips on Making MoneyUse Trial API or Freemium (IAP)70x more downloads, 7x more revenue

Use Live TilesTop 50 apps are 3.7x more likely to have Live Tiles

Use Push NotificationsTop 50 apps are 3.2x more likely to use these – keeps users engaged

Use Ad Control with LocalizationMore local relevance drives more clickthroughs

Follow the Windows Phone Design PrinciplesConformant apps are featured in the store more frequently

Page 50: Windows Phone: Introducing App Development

Tips on Making MoneyLocalize Your AppLanguage, currency, symbols

Publish GloballyFastest growth occurring in new markets

Watch Your Memory UsageApps that use < 90MBs of memory work well on all devices – performance tools help

Act on FeedbackPrompt for reviews and feedback… and fix

Update FrequentlyTop 50 apps are updated every 2-3 months

Page 51: Windows Phone: Introducing App Development

To Learn MorePH 2-213: Maximizing RevenueBernardo ZamoraToday at 3:30pmNorth 135PH 2-221: Windows Phone Low MemoryAndrew WhitechapelThursday at 5pmNorth 135PH 2-216: Windows Phone Dev Best PracticesStefan WickFriday at 10:30amNorth 134

Page 52: Windows Phone: Introducing App Development

Dev Center & ToolsDesign PrinciplesUI Framework & XAMLControlsPages & NavigationLive TilesLaunchers & ChoosersWeb ContentMaking MoneyBuild For Both

Topics

Page 53: Windows Phone: Introducing App Development

Build For BothWindows and Windows Phone Shared CoreStraightforward to share code between appsMVVM - Model View ViewModelEasy to share Model and ViewModel for both appsViews are tailored to screen sizesEasiest if you build both apps at the same time

Page 54: Windows Phone: Introducing App Development

To Learn MorePH 2-215: Build for Both Windows 8 and Windows Phone 8Matt HidingerThursday 2pm, North 134PH 2-219: Story of Nokia Music from Windows Phone to Windows 8Matthew CooperThursday 3:30pm, North 134PH 2-205: Windows Phone: MVVM in PracticeMatthias ShapiroFriday 12pm, North 134

Page 55: Windows Phone: Introducing App Development

Wednesday Thursday Friday09:00 Keynote Keynote PH 2-222

WP NetworkingPeter TorrNorth 13409:30

10:00

10:30 PH 2-211Using Native in your appsTim LavertySouth 102

PH 2-216WP Dev Best PracticesStefan WickNorth 134

11:00

11:30 PH 2-201Intro to WP DevSam GeorgeNorth 134

PH 2-202WP Design for DevCorrina BlackNorth 135

PH 2-206WP Tiles, Lock, NotificationsThomas FennelNorth 13412:00 PH 2-205

WP: MVVM in PracticeMatthias ShapiroNorth 13412:30

13:0013:3014:00 PH 2-204

WP App FoundationThomas FennelNorth 134

PH 2-215Build for Both Win 8 and WP8Matt HidingerNorth 134

PH 2-212WP Cross App CommsSean McKennaSouth 222

PH 2-220WP Map AppsMike O’MalleyNorth 13414:30

15:0015:30 PH 2-210

WP Camera appBerthier LemieuxNorth 134

PH 2-213Maximize RevenueBernardo ZamoraNorth 135

PH 2-219Story of Nokia Music from WP to Win 8Matthew CooperNorth 13416:00

16:3017:00 PH 2-207

WP Game BasicsJoao RazaSouth 304

PH 2-208WP UI in XAMLShawn OsterNorth 134

PH 2-208WP MiddlewareJC CimetiereNorth 132

PH 2-221WP Low MemoryAndrew WhitechapelNorth 135

PH 2-218WP Contest PanelPanelNorth 12317:30

Page 56: Windows Phone: Introducing App Development

There Has Never Been a Better Time to Build a Windows Phone AppDev Center

Registration

US $19

Limited time promotion

Page 57: Windows Phone: Introducing App Development

Developer resourcesMSDN DOCS

Design http://aka.ms/wp8devdesignDevelo

phttp://aka.ms/wp8devdoc

Test http://aka.ms/wp8testingPublish http://aka.ms/wp8publishi

ngSamples

http://aka.ms/wp8samples

TRAINING CONTENT

Absolute Beginners http://wpdev.ms/beginvidsJump Start http://aka.ms/wp8js

Design Boot Camp http://aka.ms/wp8designbootcamp

Training Kit http://aka.ms/wp8hol

NEWS & UPDATES

Portal http://dev.windowsphone.comBlog http://wpdev.ms/developerblogChannel

9http://wpdev.ms/insidewp

Twitter http:/twitter.com/wpdev

Page 58: Windows Phone: Introducing App Development

© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.