SlideShare a Scribd company logo
1 of 63
Oliver Scheer
Senior Technical Evangelist
Microsoft Deutschland
http://the-oliver.com
The Windows
Phone Store
Topics
• Performance Analysis
• Creating an Application
• Configuring the application
• The Store Testing Tool
• Distributing an Application
• The Windows Phone Store
• Advertising Supported Applications
• Maximising Uptake
Performance Analysis
3
•The performance analysis tool will tell you
where your program is spending most of
its time
•Then you can consider optimising those
parts
•It is activated from the Debug menu
Starting Performance Analysis
4
•You can create and activate
diagnostic settings that you
can use and reuse as you
develop the application
Performance Analysis Settings
5
• The analysis provides plenty of good quality data
• You can focus on memory or execution speed
Analysis Data
6
Demo
Demo 1 – Performance Monitoring and Analysis
7
• The Simulation Dashboard is a tool which is
present in the Visual Studio SDK
• It allows you to configure the environment
that the emulator runs in
• You can test how an application responds to
poor/no network or cellular access
The Simulation Dashboard
3/19/2014Microsoft confidential8
• You can simulate poor network performance, observe how
your application behaves under the lock screen and trigger
reminders in the emulator
Using the Simulation Dashboard
3/19/2014Microsoft confidential9
Creating an
Application
10
•The XAP file brings together all the elements of your program application
•It is the item that is actually pushed onto the device when it is deployed
•The XAP file provides a common format for all Windows Phone apps & games
• Declarative, manifest-based installation
• Integrated into security model of phone
• Tied to your developer identity
• Signed by an Enterprise for enterprise deployment
The Windows Phone XAP file
11
• The XAP file is actually a zip file
• It contains manifest files that describe the contents and the application
XAP File Anatomy
12
• This file is built for you and identifies the components in the XAP file
AppManifest File
13
<Deployment xmlns=
"http://schemas.microsoft.com/client/2007/deployment"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
EntryPointAssembly="Thrasher"
EntryPointType="Thrasher.App" RuntimeVersion="4.7.50308.0">
<Deployment.Parts>
<AssemblyPart x:Name="Thrasher" Source="Thrasher.dll" />
</Deployment.Parts>
</Deployment>
• The other manifest file is very important
• It identifies the services that your application wishes to make use of
• It also configures the application itself
• The Windows Phone Store deployment mechanisms can use this to ensure that users know
what an application is going to do and which hardware it will work with
• An application that attempts to use a service which is not requested in the
WMAppManifest will throw an exception at runtime if that service is used
WMAppManifest.xml
14
• Visual Studio provides an editor which an be
used to configure the WMAppManifest.xml
file
• This removes the need to edit the XML
directly for most actions
• However you may need to make manual
changes to configure some application
options
Editing WMAppManifest.xml
3/19/2014Microsoft confidential15
• This is the name of the application and a
simple description
• You also identify the initial page of the
application, which is usually MainPage.xaml
Application Details
3/19/2014Microsoft confidential16
• This is a 300x300 pixel icon for your
application that will be used in the Store
• The icon is a PNG file which will be added to
the XAP file for the application
• It is loaded into the solution
• Use transparency on the background of the
icon, not a solid colour, so that the icon works
well over every colour scheme
Application Icon
3/19/2014Microsoft confidential17
• These are the resolutions of device that your
application can target
• You will need to provide a screenshot for
each of the resolutions that you select
Supported resolutions
3/19/2014Microsoft confidential18
• These options set the type of tile to be
displayed, whether large tiles are supported
and the title text to be displayed on the
bottom of the tile
• The tile title is always displayed in white on
the tile, so make sure your tile design does
not hide this text
• If you allow support for large tiles the user
will be able to resize the tiles on the start
screen
Tile Options
3/19/2014Microsoft confidential19
• This determines how the application appears
when it pinned to the Start Screen
• There are three types of tile template:
• TemplateFlip – flips from front to back
• TemplateIconic – clean icon
• TemplateCycle – cycles through up to
nine images
• For each different template you have to
provide a set of images to be used for your
application tile display
Tile Templates and Images
3/19/2014Microsoft confidential20
• You need to provide artwork in the required sizes
• You can browse for the artwork from within the manifest file editor
• The Windows Phone will perform some resizing and cropping if the sizes are not correct
• This may cause your tiles to look wrong though
Tile Sizes
3/19/2014Microsoft confidential21
• In Windows Phone 8 a default solution only has a limited
set of capabilities
• This is a change from Windows Phone 7, which had
all capabilities enabled by default
• Capabilities can be managed via a set of radio buttons
rather than by editing the XML directly
• If you do not enable a required capability the program will
throw an exception when it tries to use that particular
resource
Application Capabilities
3/19/2014Microsoft confidential22
• An application can also request specific
hardware elements
• Check only those that your app needs to
operate, not those it can optionally use
• This will prevent the application from being
deployed on devices that cannot support it
• Near Field Communication
• Front and Rear Camera
• Compass (Magnetometer)
• Gyroscope
Hardware Requirements in WMAppManifest.xml
3/19/2014Microsoft confidential23
• The Windows Phone 8 operating system imposes memory caps on the applications that
run on it
• The limit values are set according to the amount of memory in the device, the resolution of
the screen display and the memory footprint of the application environment
• XAML (Silverlight) applications are allowed extra memory for display buffering
• By default, your app memory usage is capped at the MIN_CAP value for your app type and
device installed memory
Application Memory Usage
Cap 512MB/768MB Device 1GB WVGA/720P/WXGA Device
MIN_CAP XNA/Native 150 MB 150 MB
MIN_CAP XAML 150 MB 300 MB
MAX_CAP 180 MB 380 MB
• These capabilities must be added to the manifest by hand
• To do this you can open the WMAppManifest.xml as source and then add them into a <Requirements>
section, [NOTE: Must be placed after closing </ScreenResolution> tag
Setting Memory Usage Capabilities
3/19/2014Microsoft confidential25
Manifest Capability Description Memory Cap
ID_REQ_MEMORY_300 Opts out of low-memory devices: the app
will be filtered out in Windows Phone
Store, and will not install on a 512/ 768MB
device
The default MIN_CAP (On 1GB devices,
150MB for XNA/Native apps, and 300MB
for Silverlight apps).
ID_FUNCCAP_EXTEND_MEM Does not opt out of low-memory devices
(installs on all devices), but is granted the
MAX_CAP memory allocation instead of
the default MIN_CAP.
The MAX_CAP (180MB on 512/768MB
devices; 380MB on 1GB devices).
<FunctionalCapabilities>
<FunctionalCapability Name="ID_FUNCCAP_EXTEND_MEM"/>
</FunctionalCapabilities>
• When an application is submitted to the Windows
Phone Store it will be tested to ensure it is well
behaved
• The Store Test Kit lets you perform the same tests on
your application before you submit it
• The test kit checks many aspects of the submission,
including the required assets
• It also itemises the manual tests
• Tests are automatically updated to reflect changes in
the tests performed in the Store
The Store Test Kit
26
• The Store Test Kit is located on
the Project menu for the solution
• The Store Test interface is where
you can perform the automated
tests and work through the
manual ones
• You can also use this to add
application screenshots
Store Test Interface
3/19/2014Microsoft confidential27
• The Store Tile is provided as a
300x300 pixel image that is used
for display in the Store
• You must provide one of these for
your application
Store Tile
3/19/2014Microsoft confidential28
• You must provide at least one
screenshot for each of the display
resolutions that your application
supports
• You can provide extra, optional
ones if you wish
• This is a good way to
promote your application
Application Screenshots
3/19/2014Microsoft confidential29
• The screenshots for BadApp include the frame rate counters on the display
• This is a bad thing to do – it makes your program look very amateurish
• You can disable the display by changing the above setting in App.xaml.cs
Improving Screenshots
30
// Show graphics profiling information while debugging.
if (Debugger.IsAttached)
{
// Display the current frame rate counters.
Application.Current.Host.Settings.EnableFrameRateCounter = false;
}
• Select the Automated Tests pane to view the tests that can be performed on the
application
Store Test Kit Automated Tests
3/19/2014Microsoft confidential31
• The first set of automated tests perform some static tests on the solution
• They ensure that the XAP file is an appropriate size and that all the icons and screenshots
are present
• The above test failed because for the 720p screen resolution there was no screenshot
provided for the application
Automated Tests
3/19/2014Microsoft confidential32
• Application Analysis performs tests on the application to ensure conformity with Store
policies
Store Test Kit Application Analysis
3/19/2014Microsoft confidential33
Demo
Demo 2 – Application Analysis
34
Distributing an
Application
35
• If you want to find your XAP file it is held alongside your binaries in the bin directory
• Remember to make a release build for the final version of your application
• The Store Test Tool will only work on the release build of your program
• Rename it to ZIP if you want to look inside
• XAP File sizes
• For Windows Phone OS 7.1 the maximum size of the XAP package file is 225 MB
• For Windows Phone 8 the maximum size of the XAP package file is 1 GB.
• A XAP file should not be more than 20Mb in size for Over the Air (OTA) distribution
XAP Files
36
• If you want people to try your app but you don’t
want to give them the source you can distribute the
XAP file instead
• You can deploy a XAP file directly onto an unlocked
device, or the emulator by using the Application
Deployment tool
• This is part of the Windows Phone 8 SDK
Sharing your XAP files
37
• With the Windows Phone 8 Store, all XAPs are transmitted over the network encrypted
• They are also compiled to executable code before transmission to a purchaser
• Consequently, it is difficult for someone to disassemble your application to unpick your
assemblies and find out how they work, or to steal your assets (images and sounds)
• If you send someone your XAP file for Beta test, you do not get this protection
• In Windows Phone 7.x, apps were more vulnerable to attack, so an obfuscator tool was
sometimes used which will change the layout and variable names in your code to make it
harder to decode the way a program works
• It is unrealistic to rely on the phone security to protect your assets and program code as
hardware is always vulnerable to direct attack
Obfuscation Not Required
38
The Windows Phone
Store
39
• The Windows Phone Store is the only way you can get executable content onto a “public”
phone
• Enterprises can register with Microsoft to allow them to distribute applications to
devices that have been enrolled into their Enterprise
• Users can buy applications and deploy them onto their devices
• Developers can write applications and deploy them to their own devices for testing
• Registered developers can use up to 3 devices
• Student developers can use one device
Windows Phone Store Rules
• Register to be a publisher in the Windows Phone Store for $99 per year
• Students can register for free via Dreamspark
• Registered developers can submit applications for approval in the Windows Phone Store
• Windows Phone dev account members have their identity validated when they join and are
allocated a unique digital signature to sign their Windows Phone Store submissions
• Join at: http://dev.windowsphone.com
Joining the Store
41
• Developers can set a price for an application or give it away free
• Developers receive 70% of the price paid for the application
• Payment starts once the developer has earned up to $200
• The payment is made by bank transfer
• All payments are from the USA, which can cause some issues
• Very good support on the developers site and the Windows Phone Forums for this
Payment
42
• Developers are limited in the number of free applications they can make available
• Only 100 (!) free app submissions per developer per year
• Can make additional free application submissions at an extra cost of $20 per
submission
• Developers can publish as many paid applications as they like
• Number of apps any one developer can have certified in a single day is limited to 20
• Avoids bulk publishing flooding the market
Free and Paid Applications
43
• Applications can be free or paid
• Developers can also allow customers to use an application in “try before buy” mode
• Your application can determine which mode it is running in by calling a status API
• Applications sold on a “try before buy” basis don’t show up as Free Applications
• This may reduce the number of people who will download it
• Some people only browse the free lists
“Try before Buy” mode
44
• It is easy for an application to determine whether it is running in Trial mode
• But remember that a paid application with Trial Mode will not show up as free in the
Windows Phone Store
• It might be more effective to also distribute a free “lite” version of your application
which can be upgraded by an in-application purchase
Detecting Trial Mode
45
using Microsoft.Phone.Marketplace;
LicenseInformation info = new LicenseInformation();
if ( info.IsTrial() )
{
// running in trial mode
}
• Windows 8 allows you to sell upgrades and additional features to users from within your
application
• There are two kinds of purchase
• Durables are bought once
• They can be used to activate program features or game levels
• Consumables can be purchased repeatedly
• They can be used to buy any resources (access time, in game currency) that will
expire and must be replaced
• Apps can be sold as a Free app or at a low initial purchase price but offer reduced
functionality, and then use in-app purchase to allow the user to buy access to additional
features
In-Application Sales
3/19/2014Microsoft confidential46
Store Submission
47
• When you submit your application for validation the Microsoft app ingestion service
performs a number of automated tests
• Checks if the application makes use of any capabilities that were not specified
• Checks for any unmanaged or disallowed libraries
• Ensures that all the required assets are provided
• Then the application is manually tested to ensure proper behaviour in a number of
scenarios
• Proper dormant/tombstone behaviour
Application Validation
• The testing process takes a few days and generates a testing report that you can use to fix
the problems
• This will include specific feedback on the issues that were identified
• When the application is resubmitted the retest will focus only on those parts of the
application that have changed
Validation Results
49
Private Beta Testing
• Apps can be submitted for Private Beta testing
• You can send invitation emails to up to 10,000 testers who will receive a deep link
to the beta application
• They have 90 days to test your application and give you feedback 50
• When you submit an application, you have the option of making it ‘Hidden’
• It will not appear in any Windows Phone Store listings or searches
• It is still verified and certified and published in the same way
• You can still link to the app – if you know the link
• You can create a dashboard app to distribute to your user community
which allows them to discover and install the hidden apps
• Keeps the link to the app in the Store undisclosed
• Safer than insecure ways of communicating the App location by email or
messaging
• Lightweight alterative to full Enterprise Distribution
Private Distribution
Advertising SDK
• The Advertising SDK is distributed as part of the Windows 8 SDK
• You need to add the assembly to any project that wants to include adverts
Adding the SDK to an Application
3/19/2014‹#›
• Very easy to incorporate ads into applications
• The Ad-Control SDK provides the adControl that can put adverts onto your application
• The AdManager can be added to XNA games
• Players can click through an advertisement to a web site or call the advertiser from within
your game
• Advertisements are specifically targeted at each player demographic
• You get 70% of the revenue
Adding Advertisements to Applications
AdControl adControl = new AdControl("test_client", // ApplicationID
"Image480_80", // AdUnitID
true); // isAutoRefreshEnabled
Microsoft pubCenter
• Sign up here so that you can incorporate ads in your games
http://pubcenter.microsoft.com
Microsoft pubCenter: 36 Developer Countries
17 new
Coming in
2012
Available
today
Maximising Uptake
10 Tips to Make More Money (1/2)
10 Tips to Make More Money Today (2/2)
Fastest growth occurring in new markets
Making your application as useful as possible
• You can increase the appeal and usefulness of your application by maximising the number
of contexts where it can be used
• Use Search Extensibility to ensure that your application appears when the user searches
for a related item
• Use background agents to provide useful functionality
• Add a Wallet behaviour if your application has any membership or transaction based
behaviour
• Provide customisable Live Tiles that are regularly updated
• Use deep links into applications to provide quick access to relevant functions
3/19/201460
Making your applications stand out from the crowd
• There are now quite a few applications in the Windows Phone Store
• But there is still plenty of scope for making a name (and some money) for yourself
• Here are some tips to help maximise the uptake of your applications
• Design to sell – the design of your application is important, make it count
• Target Localisations – if there are lots of English versions of your application, make yours
the only Spanish one
• Provide a free version – you can now use in application sales to “convert” free apps
• Release upgrades – regular upgrades keep customers engaged with your product
• Encourage good feedback – provide reporting mechanisms for problems and engage
with customers who report issues. They can be your sales team..
61
• You can test your applications before you submit them using the Performance Monitor
and Store Test Kit
• Applications are distributed as a single file that contains a manifest and lists capabilities
required on target devices
• Windows Phone applications are distributed by the Windows Phone Store
• Applications can be free or paid - developers get 70% of the price paid
• Registered developers can upload applications and test programs on their phones
• Developers can send test applications to beta-testers
• The Advertising SDK makes it easy to add advertisements to applications
Review
62
The information herein is for informational
purposes only an 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.
© 2012 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.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION
IN THIS PRESENTATION.

More Related Content

What's hot

Windows phone 8 session 11
Windows phone 8 session 11Windows phone 8 session 11
Windows phone 8 session 11hitesh chothani
 
Mobile game testing report
Mobile game testing reportMobile game testing report
Mobile game testing reportQA Madness
 
Universal Apps Oct 2014
Universal Apps Oct 2014Universal Apps Oct 2014
Universal Apps Oct 2014Joe Healy
 
View api analytics
View api analyticsView api analytics
View api analyticsSon Nguyen
 
Mob02 windows phone 8.1 app development
Mob02   windows phone 8.1 app development Mob02   windows phone 8.1 app development
Mob02 windows phone 8.1 app development DotNetCampus
 
359555069 aae-control room-usermanual
359555069 aae-control room-usermanual359555069 aae-control room-usermanual
359555069 aae-control room-usermanualBishnujitBanerjee
 

What's hot (8)

Windows phone 8 session 11
Windows phone 8 session 11Windows phone 8 session 11
Windows phone 8 session 11
 
Picaxe manual5
Picaxe manual5Picaxe manual5
Picaxe manual5
 
Mobile game testing report
Mobile game testing reportMobile game testing report
Mobile game testing report
 
Universal Apps Oct 2014
Universal Apps Oct 2014Universal Apps Oct 2014
Universal Apps Oct 2014
 
View api analytics
View api analyticsView api analytics
View api analytics
 
Mob02 windows phone 8.1 app development
Mob02   windows phone 8.1 app development Mob02   windows phone 8.1 app development
Mob02 windows phone 8.1 app development
 
359555069 aae-control room-usermanual
359555069 aae-control room-usermanual359555069 aae-control room-usermanual
359555069 aae-control room-usermanual
 
Jsp applet
Jsp appletJsp applet
Jsp applet
 

Viewers also liked

Windows Phone 8 - 14 Using Speech
Windows Phone 8 - 14 Using SpeechWindows Phone 8 - 14 Using Speech
Windows Phone 8 - 14 Using SpeechOliver Scheer
 
Windows Phone 8 - 13 Near Field Communcations and Bluetooth
Windows Phone 8 - 13 Near Field Communcations and BluetoothWindows Phone 8 - 13 Near Field Communcations and Bluetooth
Windows Phone 8 - 13 Near Field Communcations and BluetoothOliver Scheer
 
Windows Phone 8 - 15 Location and Maps
Windows Phone 8 - 15 Location and MapsWindows Phone 8 - 15 Location and Maps
Windows Phone 8 - 15 Location and MapsOliver Scheer
 
Windows Phone 8 - 16 Wallet and In-app Purchase
Windows Phone 8 - 16 Wallet and In-app PurchaseWindows Phone 8 - 16 Wallet and In-app Purchase
Windows Phone 8 - 16 Wallet and In-app PurchaseOliver Scheer
 
Signal Processing Course : Denoising
Signal Processing Course : DenoisingSignal Processing Course : Denoising
Signal Processing Course : DenoisingGabriel Peyré
 

Viewers also liked (6)

Windows Phone 8 - 14 Using Speech
Windows Phone 8 - 14 Using SpeechWindows Phone 8 - 14 Using Speech
Windows Phone 8 - 14 Using Speech
 
Windows Phone 8 - 13 Near Field Communcations and Bluetooth
Windows Phone 8 - 13 Near Field Communcations and BluetoothWindows Phone 8 - 13 Near Field Communcations and Bluetooth
Windows Phone 8 - 13 Near Field Communcations and Bluetooth
 
Windows Phone 8 - 15 Location and Maps
Windows Phone 8 - 15 Location and MapsWindows Phone 8 - 15 Location and Maps
Windows Phone 8 - 15 Location and Maps
 
Windows Phone 8 - 16 Wallet and In-app Purchase
Windows Phone 8 - 16 Wallet and In-app PurchaseWindows Phone 8 - 16 Wallet and In-app Purchase
Windows Phone 8 - 16 Wallet and In-app Purchase
 
Signal Processing Course : Denoising
Signal Processing Course : DenoisingSignal Processing Course : Denoising
Signal Processing Course : Denoising
 
Digital in 2016
Digital in 2016Digital in 2016
Digital in 2016
 

Similar to Windows Phone 8 - 17 The Windows Phone Store

Tips and Tricks to Troubleshoot and Support Your SAP CRM Mobile Sales System
Tips and Tricks to Troubleshoot and Support Your SAP CRM Mobile Sales SystemTips and Tricks to Troubleshoot and Support Your SAP CRM Mobile Sales System
Tips and Tricks to Troubleshoot and Support Your SAP CRM Mobile Sales SystemTom Leddy
 
Deploying to cloud hub
Deploying to cloud hubDeploying to cloud hub
Deploying to cloud hubSon Nguyen
 
07.Notifications & Reminder, Contact
07.Notifications & Reminder, Contact07.Notifications & Reminder, Contact
07.Notifications & Reminder, ContactNguyen Tuan
 
Android Performance Best Practices
Android Performance Best Practices Android Performance Best Practices
Android Performance Best Practices Amgad Muhammad
 
20 x Tips to better Optimize your Flash content
20 x Tips to better Optimize your Flash content20 x Tips to better Optimize your Flash content
20 x Tips to better Optimize your Flash contentElad Elrom
 
Synergy 2015 Session Slides: SYN320 Never Let Me Down Again - The Future of X...
Synergy 2015 Session Slides: SYN320 Never Let Me Down Again - The Future of X...Synergy 2015 Session Slides: SYN320 Never Let Me Down Again - The Future of X...
Synergy 2015 Session Slides: SYN320 Never Let Me Down Again - The Future of X...Citrix
 
Developing Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris NormanDeveloping Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris NormanRyo Jin
 
Hybrid Automation Framework Developement
Hybrid Automation Framework DevelopementHybrid Automation Framework Developement
Hybrid Automation Framework DevelopementGlasdon Falcao
 
Android Mobile Application Testing: Specific Functional, Performance, Device ...
Android Mobile Application Testing: Specific Functional, Performance, Device ...Android Mobile Application Testing: Specific Functional, Performance, Device ...
Android Mobile Application Testing: Specific Functional, Performance, Device ...SoftServe
 
Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011sullis
 
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...GoIT
 
Microsoft System center Configuration manager 2012 sp1
Microsoft System center Configuration manager 2012 sp1Microsoft System center Configuration manager 2012 sp1
Microsoft System center Configuration manager 2012 sp1solarisyougood
 
Windows Debugging Tools - JavaOne 2013
Windows Debugging Tools - JavaOne 2013Windows Debugging Tools - JavaOne 2013
Windows Debugging Tools - JavaOne 2013MattKilner
 
Windows Phone 7: How (Not) to Fail Marketplace Ingestion
Windows Phone 7: How (Not) to Fail Marketplace IngestionWindows Phone 7: How (Not) to Fail Marketplace Ingestion
Windows Phone 7: How (Not) to Fail Marketplace Ingestionukdpe
 
Android & iPhone App Testing
 Android & iPhone App Testing Android & iPhone App Testing
Android & iPhone App TestingSWAAM Tech
 
Installation Automation Tool - springer conference(ITool)
Installation Automation Tool - springer conference(ITool)Installation Automation Tool - springer conference(ITool)
Installation Automation Tool - springer conference(ITool)Nvk Chaitanya
 
m365_slides.pptx
m365_slides.pptxm365_slides.pptx
m365_slides.pptxadewad
 
Sinergija 11 WP7 Mango multitasking and “multitasking”
Sinergija 11   WP7 Mango multitasking and “multitasking”Sinergija 11   WP7 Mango multitasking and “multitasking”
Sinergija 11 WP7 Mango multitasking and “multitasking”Catalin Gheorghiu
 

Similar to Windows Phone 8 - 17 The Windows Phone Store (20)

Tips and Tricks to Troubleshoot and Support Your SAP CRM Mobile Sales System
Tips and Tricks to Troubleshoot and Support Your SAP CRM Mobile Sales SystemTips and Tricks to Troubleshoot and Support Your SAP CRM Mobile Sales System
Tips and Tricks to Troubleshoot and Support Your SAP CRM Mobile Sales System
 
Deploying to cloud hub
Deploying to cloud hubDeploying to cloud hub
Deploying to cloud hub
 
07.Notifications & Reminder, Contact
07.Notifications & Reminder, Contact07.Notifications & Reminder, Contact
07.Notifications & Reminder, Contact
 
Android Performance Best Practices
Android Performance Best Practices Android Performance Best Practices
Android Performance Best Practices
 
20 x Tips to better Optimize your Flash content
20 x Tips to better Optimize your Flash content20 x Tips to better Optimize your Flash content
20 x Tips to better Optimize your Flash content
 
Synergy 2015 Session Slides: SYN320 Never Let Me Down Again - The Future of X...
Synergy 2015 Session Slides: SYN320 Never Let Me Down Again - The Future of X...Synergy 2015 Session Slides: SYN320 Never Let Me Down Again - The Future of X...
Synergy 2015 Session Slides: SYN320 Never Let Me Down Again - The Future of X...
 
Developing Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris NormanDeveloping Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris Norman
 
Hybrid Automation Framework Developement
Hybrid Automation Framework DevelopementHybrid Automation Framework Developement
Hybrid Automation Framework Developement
 
Android Mobile Application Testing: Specific Functional, Performance, Device ...
Android Mobile Application Testing: Specific Functional, Performance, Device ...Android Mobile Application Testing: Specific Functional, Performance, Device ...
Android Mobile Application Testing: Specific Functional, Performance, Device ...
 
Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011
 
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
 
Microsoft System center Configuration manager 2012 sp1
Microsoft System center Configuration manager 2012 sp1Microsoft System center Configuration manager 2012 sp1
Microsoft System center Configuration manager 2012 sp1
 
Creating templates
Creating templatesCreating templates
Creating templates
 
Windows Debugging Tools - JavaOne 2013
Windows Debugging Tools - JavaOne 2013Windows Debugging Tools - JavaOne 2013
Windows Debugging Tools - JavaOne 2013
 
Windows Phone 7: How (Not) to Fail Marketplace Ingestion
Windows Phone 7: How (Not) to Fail Marketplace IngestionWindows Phone 7: How (Not) to Fail Marketplace Ingestion
Windows Phone 7: How (Not) to Fail Marketplace Ingestion
 
Android & iPhone App Testing
 Android & iPhone App Testing Android & iPhone App Testing
Android & iPhone App Testing
 
Firebase & QA
Firebase & QAFirebase & QA
Firebase & QA
 
Installation Automation Tool - springer conference(ITool)
Installation Automation Tool - springer conference(ITool)Installation Automation Tool - springer conference(ITool)
Installation Automation Tool - springer conference(ITool)
 
m365_slides.pptx
m365_slides.pptxm365_slides.pptx
m365_slides.pptx
 
Sinergija 11 WP7 Mango multitasking and “multitasking”
Sinergija 11   WP7 Mango multitasking and “multitasking”Sinergija 11   WP7 Mango multitasking and “multitasking”
Sinergija 11 WP7 Mango multitasking and “multitasking”
 

More from Oliver Scheer

Windows Phone 8 - 12 Network Communication
Windows Phone 8 - 12 Network CommunicationWindows Phone 8 - 12 Network Communication
Windows Phone 8 - 12 Network CommunicationOliver Scheer
 
Windows Phone 8 - 11 App to App Communication
Windows Phone 8 - 11 App to App CommunicationWindows Phone 8 - 11 App to App Communication
Windows Phone 8 - 11 App to App CommunicationOliver Scheer
 
Windows Phone 8 - 10 Using Phone Resources
Windows Phone 8 - 10 Using Phone ResourcesWindows Phone 8 - 10 Using Phone Resources
Windows Phone 8 - 10 Using Phone ResourcesOliver Scheer
 
Windows Phone 8 - 9 Push Notifications
Windows Phone 8 - 9 Push NotificationsWindows Phone 8 - 9 Push Notifications
Windows Phone 8 - 9 Push NotificationsOliver Scheer
 
Windows Phone 8 - 7 Local Database
Windows Phone 8 - 7 Local DatabaseWindows Phone 8 - 7 Local Database
Windows Phone 8 - 7 Local DatabaseOliver Scheer
 
Windows Phone 8 - 4 Files and Storage
Windows Phone 8 - 4 Files and StorageWindows Phone 8 - 4 Files and Storage
Windows Phone 8 - 4 Files and StorageOliver Scheer
 
Windows Phone 8 - 3.5 Async Programming
Windows Phone 8 - 3.5 Async ProgrammingWindows Phone 8 - 3.5 Async Programming
Windows Phone 8 - 3.5 Async ProgrammingOliver Scheer
 
Windows Phone 8 - 1 Introducing Windows Phone 8 Development
Windows Phone 8 - 1 Introducing Windows Phone 8 DevelopmentWindows Phone 8 - 1 Introducing Windows Phone 8 Development
Windows Phone 8 - 1 Introducing Windows Phone 8 DevelopmentOliver Scheer
 
Windows Phone 8 - 4 Files and Storage
Windows Phone 8 - 4 Files and StorageWindows Phone 8 - 4 Files and Storage
Windows Phone 8 - 4 Files and StorageOliver Scheer
 

More from Oliver Scheer (9)

Windows Phone 8 - 12 Network Communication
Windows Phone 8 - 12 Network CommunicationWindows Phone 8 - 12 Network Communication
Windows Phone 8 - 12 Network Communication
 
Windows Phone 8 - 11 App to App Communication
Windows Phone 8 - 11 App to App CommunicationWindows Phone 8 - 11 App to App Communication
Windows Phone 8 - 11 App to App Communication
 
Windows Phone 8 - 10 Using Phone Resources
Windows Phone 8 - 10 Using Phone ResourcesWindows Phone 8 - 10 Using Phone Resources
Windows Phone 8 - 10 Using Phone Resources
 
Windows Phone 8 - 9 Push Notifications
Windows Phone 8 - 9 Push NotificationsWindows Phone 8 - 9 Push Notifications
Windows Phone 8 - 9 Push Notifications
 
Windows Phone 8 - 7 Local Database
Windows Phone 8 - 7 Local DatabaseWindows Phone 8 - 7 Local Database
Windows Phone 8 - 7 Local Database
 
Windows Phone 8 - 4 Files and Storage
Windows Phone 8 - 4 Files and StorageWindows Phone 8 - 4 Files and Storage
Windows Phone 8 - 4 Files and Storage
 
Windows Phone 8 - 3.5 Async Programming
Windows Phone 8 - 3.5 Async ProgrammingWindows Phone 8 - 3.5 Async Programming
Windows Phone 8 - 3.5 Async Programming
 
Windows Phone 8 - 1 Introducing Windows Phone 8 Development
Windows Phone 8 - 1 Introducing Windows Phone 8 DevelopmentWindows Phone 8 - 1 Introducing Windows Phone 8 Development
Windows Phone 8 - 1 Introducing Windows Phone 8 Development
 
Windows Phone 8 - 4 Files and Storage
Windows Phone 8 - 4 Files and StorageWindows Phone 8 - 4 Files and Storage
Windows Phone 8 - 4 Files and Storage
 

Recently uploaded

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 

Recently uploaded (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 

Windows Phone 8 - 17 The Windows Phone Store

  • 1. Oliver Scheer Senior Technical Evangelist Microsoft Deutschland http://the-oliver.com The Windows Phone Store
  • 2. Topics • Performance Analysis • Creating an Application • Configuring the application • The Store Testing Tool • Distributing an Application • The Windows Phone Store • Advertising Supported Applications • Maximising Uptake
  • 4. •The performance analysis tool will tell you where your program is spending most of its time •Then you can consider optimising those parts •It is activated from the Debug menu Starting Performance Analysis 4
  • 5. •You can create and activate diagnostic settings that you can use and reuse as you develop the application Performance Analysis Settings 5
  • 6. • The analysis provides plenty of good quality data • You can focus on memory or execution speed Analysis Data 6
  • 7. Demo Demo 1 – Performance Monitoring and Analysis 7
  • 8. • The Simulation Dashboard is a tool which is present in the Visual Studio SDK • It allows you to configure the environment that the emulator runs in • You can test how an application responds to poor/no network or cellular access The Simulation Dashboard 3/19/2014Microsoft confidential8
  • 9. • You can simulate poor network performance, observe how your application behaves under the lock screen and trigger reminders in the emulator Using the Simulation Dashboard 3/19/2014Microsoft confidential9
  • 11. •The XAP file brings together all the elements of your program application •It is the item that is actually pushed onto the device when it is deployed •The XAP file provides a common format for all Windows Phone apps & games • Declarative, manifest-based installation • Integrated into security model of phone • Tied to your developer identity • Signed by an Enterprise for enterprise deployment The Windows Phone XAP file 11
  • 12. • The XAP file is actually a zip file • It contains manifest files that describe the contents and the application XAP File Anatomy 12
  • 13. • This file is built for you and identifies the components in the XAP file AppManifest File 13 <Deployment xmlns= "http://schemas.microsoft.com/client/2007/deployment" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" EntryPointAssembly="Thrasher" EntryPointType="Thrasher.App" RuntimeVersion="4.7.50308.0"> <Deployment.Parts> <AssemblyPart x:Name="Thrasher" Source="Thrasher.dll" /> </Deployment.Parts> </Deployment>
  • 14. • The other manifest file is very important • It identifies the services that your application wishes to make use of • It also configures the application itself • The Windows Phone Store deployment mechanisms can use this to ensure that users know what an application is going to do and which hardware it will work with • An application that attempts to use a service which is not requested in the WMAppManifest will throw an exception at runtime if that service is used WMAppManifest.xml 14
  • 15. • Visual Studio provides an editor which an be used to configure the WMAppManifest.xml file • This removes the need to edit the XML directly for most actions • However you may need to make manual changes to configure some application options Editing WMAppManifest.xml 3/19/2014Microsoft confidential15
  • 16. • This is the name of the application and a simple description • You also identify the initial page of the application, which is usually MainPage.xaml Application Details 3/19/2014Microsoft confidential16
  • 17. • This is a 300x300 pixel icon for your application that will be used in the Store • The icon is a PNG file which will be added to the XAP file for the application • It is loaded into the solution • Use transparency on the background of the icon, not a solid colour, so that the icon works well over every colour scheme Application Icon 3/19/2014Microsoft confidential17
  • 18. • These are the resolutions of device that your application can target • You will need to provide a screenshot for each of the resolutions that you select Supported resolutions 3/19/2014Microsoft confidential18
  • 19. • These options set the type of tile to be displayed, whether large tiles are supported and the title text to be displayed on the bottom of the tile • The tile title is always displayed in white on the tile, so make sure your tile design does not hide this text • If you allow support for large tiles the user will be able to resize the tiles on the start screen Tile Options 3/19/2014Microsoft confidential19
  • 20. • This determines how the application appears when it pinned to the Start Screen • There are three types of tile template: • TemplateFlip – flips from front to back • TemplateIconic – clean icon • TemplateCycle – cycles through up to nine images • For each different template you have to provide a set of images to be used for your application tile display Tile Templates and Images 3/19/2014Microsoft confidential20
  • 21. • You need to provide artwork in the required sizes • You can browse for the artwork from within the manifest file editor • The Windows Phone will perform some resizing and cropping if the sizes are not correct • This may cause your tiles to look wrong though Tile Sizes 3/19/2014Microsoft confidential21
  • 22. • In Windows Phone 8 a default solution only has a limited set of capabilities • This is a change from Windows Phone 7, which had all capabilities enabled by default • Capabilities can be managed via a set of radio buttons rather than by editing the XML directly • If you do not enable a required capability the program will throw an exception when it tries to use that particular resource Application Capabilities 3/19/2014Microsoft confidential22
  • 23. • An application can also request specific hardware elements • Check only those that your app needs to operate, not those it can optionally use • This will prevent the application from being deployed on devices that cannot support it • Near Field Communication • Front and Rear Camera • Compass (Magnetometer) • Gyroscope Hardware Requirements in WMAppManifest.xml 3/19/2014Microsoft confidential23
  • 24. • The Windows Phone 8 operating system imposes memory caps on the applications that run on it • The limit values are set according to the amount of memory in the device, the resolution of the screen display and the memory footprint of the application environment • XAML (Silverlight) applications are allowed extra memory for display buffering • By default, your app memory usage is capped at the MIN_CAP value for your app type and device installed memory Application Memory Usage Cap 512MB/768MB Device 1GB WVGA/720P/WXGA Device MIN_CAP XNA/Native 150 MB 150 MB MIN_CAP XAML 150 MB 300 MB MAX_CAP 180 MB 380 MB
  • 25. • These capabilities must be added to the manifest by hand • To do this you can open the WMAppManifest.xml as source and then add them into a <Requirements> section, [NOTE: Must be placed after closing </ScreenResolution> tag Setting Memory Usage Capabilities 3/19/2014Microsoft confidential25 Manifest Capability Description Memory Cap ID_REQ_MEMORY_300 Opts out of low-memory devices: the app will be filtered out in Windows Phone Store, and will not install on a 512/ 768MB device The default MIN_CAP (On 1GB devices, 150MB for XNA/Native apps, and 300MB for Silverlight apps). ID_FUNCCAP_EXTEND_MEM Does not opt out of low-memory devices (installs on all devices), but is granted the MAX_CAP memory allocation instead of the default MIN_CAP. The MAX_CAP (180MB on 512/768MB devices; 380MB on 1GB devices). <FunctionalCapabilities> <FunctionalCapability Name="ID_FUNCCAP_EXTEND_MEM"/> </FunctionalCapabilities>
  • 26. • When an application is submitted to the Windows Phone Store it will be tested to ensure it is well behaved • The Store Test Kit lets you perform the same tests on your application before you submit it • The test kit checks many aspects of the submission, including the required assets • It also itemises the manual tests • Tests are automatically updated to reflect changes in the tests performed in the Store The Store Test Kit 26
  • 27. • The Store Test Kit is located on the Project menu for the solution • The Store Test interface is where you can perform the automated tests and work through the manual ones • You can also use this to add application screenshots Store Test Interface 3/19/2014Microsoft confidential27
  • 28. • The Store Tile is provided as a 300x300 pixel image that is used for display in the Store • You must provide one of these for your application Store Tile 3/19/2014Microsoft confidential28
  • 29. • You must provide at least one screenshot for each of the display resolutions that your application supports • You can provide extra, optional ones if you wish • This is a good way to promote your application Application Screenshots 3/19/2014Microsoft confidential29
  • 30. • The screenshots for BadApp include the frame rate counters on the display • This is a bad thing to do – it makes your program look very amateurish • You can disable the display by changing the above setting in App.xaml.cs Improving Screenshots 30 // Show graphics profiling information while debugging. if (Debugger.IsAttached) { // Display the current frame rate counters. Application.Current.Host.Settings.EnableFrameRateCounter = false; }
  • 31. • Select the Automated Tests pane to view the tests that can be performed on the application Store Test Kit Automated Tests 3/19/2014Microsoft confidential31
  • 32. • The first set of automated tests perform some static tests on the solution • They ensure that the XAP file is an appropriate size and that all the icons and screenshots are present • The above test failed because for the 720p screen resolution there was no screenshot provided for the application Automated Tests 3/19/2014Microsoft confidential32
  • 33. • Application Analysis performs tests on the application to ensure conformity with Store policies Store Test Kit Application Analysis 3/19/2014Microsoft confidential33
  • 34. Demo Demo 2 – Application Analysis 34
  • 36. • If you want to find your XAP file it is held alongside your binaries in the bin directory • Remember to make a release build for the final version of your application • The Store Test Tool will only work on the release build of your program • Rename it to ZIP if you want to look inside • XAP File sizes • For Windows Phone OS 7.1 the maximum size of the XAP package file is 225 MB • For Windows Phone 8 the maximum size of the XAP package file is 1 GB. • A XAP file should not be more than 20Mb in size for Over the Air (OTA) distribution XAP Files 36
  • 37. • If you want people to try your app but you don’t want to give them the source you can distribute the XAP file instead • You can deploy a XAP file directly onto an unlocked device, or the emulator by using the Application Deployment tool • This is part of the Windows Phone 8 SDK Sharing your XAP files 37
  • 38. • With the Windows Phone 8 Store, all XAPs are transmitted over the network encrypted • They are also compiled to executable code before transmission to a purchaser • Consequently, it is difficult for someone to disassemble your application to unpick your assemblies and find out how they work, or to steal your assets (images and sounds) • If you send someone your XAP file for Beta test, you do not get this protection • In Windows Phone 7.x, apps were more vulnerable to attack, so an obfuscator tool was sometimes used which will change the layout and variable names in your code to make it harder to decode the way a program works • It is unrealistic to rely on the phone security to protect your assets and program code as hardware is always vulnerable to direct attack Obfuscation Not Required 38
  • 40. • The Windows Phone Store is the only way you can get executable content onto a “public” phone • Enterprises can register with Microsoft to allow them to distribute applications to devices that have been enrolled into their Enterprise • Users can buy applications and deploy them onto their devices • Developers can write applications and deploy them to their own devices for testing • Registered developers can use up to 3 devices • Student developers can use one device Windows Phone Store Rules
  • 41. • Register to be a publisher in the Windows Phone Store for $99 per year • Students can register for free via Dreamspark • Registered developers can submit applications for approval in the Windows Phone Store • Windows Phone dev account members have their identity validated when they join and are allocated a unique digital signature to sign their Windows Phone Store submissions • Join at: http://dev.windowsphone.com Joining the Store 41
  • 42. • Developers can set a price for an application or give it away free • Developers receive 70% of the price paid for the application • Payment starts once the developer has earned up to $200 • The payment is made by bank transfer • All payments are from the USA, which can cause some issues • Very good support on the developers site and the Windows Phone Forums for this Payment 42
  • 43. • Developers are limited in the number of free applications they can make available • Only 100 (!) free app submissions per developer per year • Can make additional free application submissions at an extra cost of $20 per submission • Developers can publish as many paid applications as they like • Number of apps any one developer can have certified in a single day is limited to 20 • Avoids bulk publishing flooding the market Free and Paid Applications 43
  • 44. • Applications can be free or paid • Developers can also allow customers to use an application in “try before buy” mode • Your application can determine which mode it is running in by calling a status API • Applications sold on a “try before buy” basis don’t show up as Free Applications • This may reduce the number of people who will download it • Some people only browse the free lists “Try before Buy” mode 44
  • 45. • It is easy for an application to determine whether it is running in Trial mode • But remember that a paid application with Trial Mode will not show up as free in the Windows Phone Store • It might be more effective to also distribute a free “lite” version of your application which can be upgraded by an in-application purchase Detecting Trial Mode 45 using Microsoft.Phone.Marketplace; LicenseInformation info = new LicenseInformation(); if ( info.IsTrial() ) { // running in trial mode }
  • 46. • Windows 8 allows you to sell upgrades and additional features to users from within your application • There are two kinds of purchase • Durables are bought once • They can be used to activate program features or game levels • Consumables can be purchased repeatedly • They can be used to buy any resources (access time, in game currency) that will expire and must be replaced • Apps can be sold as a Free app or at a low initial purchase price but offer reduced functionality, and then use in-app purchase to allow the user to buy access to additional features In-Application Sales 3/19/2014Microsoft confidential46
  • 48. • When you submit your application for validation the Microsoft app ingestion service performs a number of automated tests • Checks if the application makes use of any capabilities that were not specified • Checks for any unmanaged or disallowed libraries • Ensures that all the required assets are provided • Then the application is manually tested to ensure proper behaviour in a number of scenarios • Proper dormant/tombstone behaviour Application Validation
  • 49. • The testing process takes a few days and generates a testing report that you can use to fix the problems • This will include specific feedback on the issues that were identified • When the application is resubmitted the retest will focus only on those parts of the application that have changed Validation Results 49
  • 50. Private Beta Testing • Apps can be submitted for Private Beta testing • You can send invitation emails to up to 10,000 testers who will receive a deep link to the beta application • They have 90 days to test your application and give you feedback 50
  • 51. • When you submit an application, you have the option of making it ‘Hidden’ • It will not appear in any Windows Phone Store listings or searches • It is still verified and certified and published in the same way • You can still link to the app – if you know the link • You can create a dashboard app to distribute to your user community which allows them to discover and install the hidden apps • Keeps the link to the app in the Store undisclosed • Safer than insecure ways of communicating the App location by email or messaging • Lightweight alterative to full Enterprise Distribution Private Distribution
  • 53. • The Advertising SDK is distributed as part of the Windows 8 SDK • You need to add the assembly to any project that wants to include adverts Adding the SDK to an Application 3/19/2014‹#›
  • 54. • Very easy to incorporate ads into applications • The Ad-Control SDK provides the adControl that can put adverts onto your application • The AdManager can be added to XNA games • Players can click through an advertisement to a web site or call the advertiser from within your game • Advertisements are specifically targeted at each player demographic • You get 70% of the revenue Adding Advertisements to Applications AdControl adControl = new AdControl("test_client", // ApplicationID "Image480_80", // AdUnitID true); // isAutoRefreshEnabled
  • 55. Microsoft pubCenter • Sign up here so that you can incorporate ads in your games http://pubcenter.microsoft.com
  • 56. Microsoft pubCenter: 36 Developer Countries 17 new Coming in 2012 Available today
  • 58. 10 Tips to Make More Money (1/2)
  • 59. 10 Tips to Make More Money Today (2/2) Fastest growth occurring in new markets
  • 60. Making your application as useful as possible • You can increase the appeal and usefulness of your application by maximising the number of contexts where it can be used • Use Search Extensibility to ensure that your application appears when the user searches for a related item • Use background agents to provide useful functionality • Add a Wallet behaviour if your application has any membership or transaction based behaviour • Provide customisable Live Tiles that are regularly updated • Use deep links into applications to provide quick access to relevant functions 3/19/201460
  • 61. Making your applications stand out from the crowd • There are now quite a few applications in the Windows Phone Store • But there is still plenty of scope for making a name (and some money) for yourself • Here are some tips to help maximise the uptake of your applications • Design to sell – the design of your application is important, make it count • Target Localisations – if there are lots of English versions of your application, make yours the only Spanish one • Provide a free version – you can now use in application sales to “convert” free apps • Release upgrades – regular upgrades keep customers engaged with your product • Encourage good feedback – provide reporting mechanisms for problems and engage with customers who report issues. They can be your sales team.. 61
  • 62. • You can test your applications before you submit them using the Performance Monitor and Store Test Kit • Applications are distributed as a single file that contains a manifest and lists capabilities required on target devices • Windows Phone applications are distributed by the Windows Phone Store • Applications can be free or paid - developers get 70% of the price paid • Registered developers can upload applications and test programs on their phones • Developers can send test applications to beta-testers • The Advertising SDK makes it easy to add advertisements to applications Review 62
  • 63. The information herein is for informational purposes only an 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. © 2012 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. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.