In my previous Blog post we looked at the philosophy behind the new Windows Phone 7 UI, we also saw what are the minimum hardware specifications for the manufacturer. In this post I am going to cover the Windows Phone 7 App Model.
What is a Windows Phone 7 App?
Silverlight is the Core application Dev Framework for Windows Phone 7. Application according to Silverlight is a signed XAP which is injected by the Marketplace. Any App developed has to be submitted to the marketplace, which gives it a license (More details provided below). Application license is a Crypto-verifiable object issued to grant rights to an application. Please note, if a unlicensed app is loaded in the phone, the host process will not launch the App.
App Hub is the Marketplace website where Developers can submit applications for Windows phone and Xbox 360. For a $99 USD annual subscription, the apps & games can be submitted to the App Hub for sale or free download in the Windows Phone Marketplace or Xbox LIVE Marketplace. DreamSparkstudents need not pay any registration fee.
Document explaining the Windows Phone 7 Application Certification requirements can be downloaded from here. This document outlines the content policies required to be followed by Developers for Windows Phone 7 App. Please go through this document carefully if you are developing Applications for Windows Phone 7.
App has to be submitted through the Seller account you have created in the marketplace. There are three account types: Company, Individual and Student. You will have to select the account type when you create the account and pay the registration fee.
Once the App is submitted to the marketplace, it goes through the following steps:
- It is validated for proper functionality.
On successful validation of the XAP, it has to pass the certification which involves the automated and manual verification.
Once it passes certifications, it is signed and then it is eligible for publication which can be done immediately or on the date decided by the publisher.
Please note that any future updates to the already submitted and passed application has to pass through the same process to maintain the consistency.
When the user selects an app from the marketplace, Phone handles the installation of the XAP package. There is a App manifest in the package which defines what the App will require to run correctly, for example services like access to network, WIFI or GPS. The Apps can only use the capabilities declared in the Manifest.
Application Data is accessible only to that particular application. Other Apps cannot access the data of another application. They run in a host process which is sandboxed from other applications. If capabilities are not declared for the App, then it runs in the least privileged mode, hence developer should ensure that that the App manifest clearly declares what App will require to run correctly.
You can checkout the Apps currently available for Windows Phone through the Zune software. Apps are added regularly. Below is a screenshot of the Free Facebook App available at the Marketplace
Certain missing features like background processing and features like copy, paste are expected to be the part of the future updates in the Windows Phone 7 OS.
In my next Blog post I will cover how the App runs in the OS and what are the different layers of the UI.