In this post-iPhone world, it’s all about the
apps. Unlike earlier iterations of Microsoft phone technologies (e.g.,
Windows Mobile), all software will have to go through Microsoft to get
installed on the device. While this may upset longtime Windows Mobile
developers, it is something we have always needed on Microsoft phones.
Users need a place to find good applications from a source that can
guarantee that the software will not interfere with the device’s ability
to run smoothly. That’s where the Marketplace comes in.
Distributing Your Application through the Marketplace
As a developer, you do not have a choice of how
to distribute your application; you must use the Marketplace. The
Marketplace is a partnership between you and Microsoft. It enables you
to deliver your application with very little work on your part. For
Microsoft’s part, the Marketplace does the following:
• Handles billing via credit card or operator billing (i.e., bill to provider)
• Gives you a 70% revenue share
• Allows your apps to be updated without cost, regardless of whether it is a paid, free, or ad-supported app
• Lets you deliver trial versions of applications and convert them on-the-fly to full versions
• Handles automatic updating of your application
To distribute through the Marketplace you have
to join the Marketplace so that it can validate who you are and set up
revenue sharing. It costs $99 per year to join the Marketplace, and
membership allows you to submit 100 free apps per year (without
incurring extra costs) and an unlimited number of paid apps. With
Marketplace membership you can also register up to five phones as
development phones. Microsoft wants Marketplace membership to enable you
to be successful, as the more applications you sell, the more money
both you and Microsoft make.
Marketplace Submissions
The Marketplace allows developers to
submit applications to be handled through an approval process. The brunt
of the approval process consists of certification testing to ensure
that the application does not violate the rules of the Marketplace. Figure 1 illustrates the approval process.
Figure 1. Marketplace application submission process
The process starts with you creating your application and packaging it as a .xap
file. At that point you would go to the Marketplace website and submit
the application. Microsoft then verifies that the .xap file is valid and
asks you to enter additional metadata (e.g., the publisher information,
a short description, etc.). Next, Microsoft runs the application
through a certification process to check the quality of the software (to
make sure it does not destabilize the phone) and check that the
application follows its Marketplace policies (explained shortly).
Finally, if the application passes certification, Microsoft signs the
.xap file and posts it on the Marketplace to allow it to be sold and/or
downloaded.
But what does certification
testing really mean? This step of the process is part quality assurance
and part content filtering. The quality assurance part of the process is
to ensure that your application is stable and does not affect the
reliability of the phone. The quality assurance part is based on the
following criteria.
• Your application must run on any Windows Phone regardless of model, keyboard hardware, and manufacturer.
• Your application must shut down gracefully even in the event of unhandled exceptions.
• Your application must not hang or become unresponsive.
• Your application must render within five seconds of launch and be responsive within 20 seconds.
• Your application must be able to resume after being paused without losing functionality or data.
• Your application
must handle access to the Back button correctly: Back on the first page
should exit the application; Back on subsequent pages should correctly
move backward in the application.
• Your application must not interfere with phone calls or SMS/MMS messaging in any way.
In addition to checking the quality of
the application, the certification also checks the application for
adherence to the policies of the Marketplace. There are two types of
policies: Application Policies and Content Policies.
Application Policies
Microsoft has detailed a set of policies
that every application must adhere to. These policies are meant to
protect the users, Microsoft, and the phone carriers. The application
requirements can be divided into basic policies that govern the size and
functionality of your applications, and legal policies that stop bad
people from doing things that will hurt the carriers, Microsoft, or the
users.
Basic Application Policies
A number of standard policies apply to application size, functionality, and usage.
• Your application must
be fully functional when acquired from the Windows Phone Marketplace
except if additional data is required to be downloaded as permitted (see
below).
• The size of
your application cannot exceed 500MB. If you want to enable installation
over-the-air (OTA), the size must not exceed 20MB. Larger applications
will be available to be downloaded via Wi-Fi or a tethered connection.
• If your application
requires the download of a large additional data package (e.g., more
than 50MB) to enable the application to run as described, the
application description must disclose the approximate size of the data
package and that additional charges may apply depending on connectivity
used to acquire data.
• If your application
includes a trial version, the trial version must reasonably represent
the functionality and quality of the full application.
Legal Usage Policies
Additionally, specific policies are related to payments, legality, and use of personal information.
• Your application may
not require the user to pay outside of the Windows Phone Marketplace to
activate, unlock, upgrade, or extend usage of the application.
• Your application may not sell, link to, or otherwise promote mobile voice plans.
• Your
application may not consist of, distribute, link to, or incentivize
users to download or otherwise promote alternate marketplaces for
applications and/or games.
• Your application must not jeopardize the security or functionality of Windows Phone devices or the Windows Phone Marketplace.
• If your application
includes or displays advertising, the advertising must comply with the
Microsoft Advertising Creative Acceptance Policy Guide (http://advertising.microsoft.com/creative-specs).
• If your application
enables chat, instant messaging, or other person-to-person
communication and allows the user to set up or create her account or ID
from the mobile device, the application must include a mechanism to
verify that the user creating the account or ID is at least 13 years
old.
• If your application
publishes a user’s personal information from the mobile device to any
service or other person, the application must implement “opt-in”
consent. “Personal information” means all information or data associated
with an identifiable user, including but not limited to the following,
whether stored on the mobile device or on a Web-based server that is
accessible from the mobile device:
• Location information
• Contacts
• Photos
• Phone number
• SMS or other text communication
• Browsing history
• To implement “opt-in”
consent, the application must first describe how the personal
information will be used or shared; obtain the user’s express permission
before publishing the information as described; and provide a mechanism
through which the user can later opt out of having the information
published.
• If your application
allows users to purchase music content, it must include the Windows
Phone music Marketplace (if available) as a purchase option. If the
application also allows music content to be purchased from any source
other than the Windows Phone music Marketplace, the application must
include its own playback functionality for that music content.
• If your
application uses the Microsoft Push Notification Service (PNS), the
application and the use of the PNS must comply with the following
requirements.
• The
application must first describe the notifications to be provided and
obtain the user’s express permission (opt-in), and must provide a
mechanism through which the user can opt out of receiving push
notifications. All notifications provided using PNS must be consistent
with the description provided to the user and must comply with all
applicable Application Policies and 3.0 Content Policies.
• The application and
its use of the PNS must not excessively use network capacity or
bandwidth of the PNS or otherwise unduly burden a Windows Phone or other
Microsoft device or service with excessive push notifications, as
determined by Microsoft in its reasonable discretion, and must not harm
or interfere with any Microsoft networks or servers or any third-party
servers or networks connected to the PNS.
• The PNS may
not be used to send notifications that are mission-critical or otherwise
could affect matters of life or death, including, without limitation,
critical notifications related to a medical device or condition.
Content Policies
In addition to the basic application
policies, Microsoft will also limit the types of applications based on
the content of the application. This means several types of applications
will not be allowed.
• Applications that promote illegal activities that are obscene or indecent as deemed under local laws.
• Applications that show or encourage harm to animals or persons in the real world.
• Applications that are defamatory, libelous, slanderous, or threatening.
• Applications that promote hate speech or are defamatory.
• Applications that could be used to sell (illegally or in excess) tobacco, drugs, weapons, or alcohol.
• Applications that allow the user to use a weapon in the real world (e.g., no remote hunting programs).
• Applications
containing adult content, including nudity, sex, pornography,
prostitution, or sexual fetishes or content that is sexual as it relates
to children or animals.
• Applications
containing realistic or gratuitous violence or gore. This also includes
no content that shows rape (or suggestions of rape), molestation,
instructions on injuring people in the real world, or glorification of
genocide or torture.
• Applications containing excessive use of profanity.
The use of these
policies is to promote a safe device for all ages. Since there currently
is no way to control the use of the device by people of age, some of
the content limitations are fairly restrictive. Microsoft seems
committed to help developers by making sure everyone knows the extent of
the policies and, when an application fails to be certified, to be very
clear about how the application failed and including suggestions on how
to change the application to allow it to pass.