My Experience with App Development for Windows Phone

Some time back, I decided to become a Windows Phone developer. You have to sign up through http://dev.windowsphone.com and pay a small fee. For US based development the fee is $19 per year, while if you’re in India it is INR 860.

I developed 2 versions of a Photo Calendar. A free version that displays only the months in the current year and a paid version that is a perpetual calendar that allows you to jump to a random month or year. The app includes 60 stunning photos taken in the US, Cayman Islands and India.

The target platform is Windows Phone 7, so the app runs on both WP7 and WP8.

The process consists of uploading your XAP (app) file, your icons and 8 screenshots for potential users. The icons include an app tile that is 300 x 300 pixels and a background image that is 1000 x 800 pixels. The background image could be used by the Windows Phone Store to showcase your app.

WPSSubmitApp

The Windows Phone Store app submission page.

If your application targets Windows Phone 7, you can upload up to 8 screenshots in WVGA i.e. 480 x 800. If, however, you target Windows Phone 8, you may have to upload screenshots in higher resolutions as well e.g. 768 x 1280 and 720 x 1280.

These images are in addition to the standard icons that are part of the XAP. The standard icons include the ApplicationIcon.png file, the Background.png file and the SplashScreenImage.jpg file. These are not uploaded separately.

On the Windows Phone Developer website, some information is automatically read from your XAP file, such as the version and size.

Once all the screenshots, XAP(s) and icons have been uploaded, Microsoft will begin the app certification process. This took about 5 days for me. Microsoft probably checks for crashes and app responsiveness. Once the app passes certification, you will get an e-mail from Microsoft that your app has been accepted.

Congratulations

Message saying that the app has passed certification.

If you have a Windows Phone, you can check out the free version (Photo Calendar Single) here: http://www.windowsphone.com/en-us/store/app/photo-calendar-single/3800f2b4-f2bf-4a2d-8cf8-4d2b335e3652

Photo Calendar Multi (the paid version with more features) can be found here: http://www.windowsphone.com/en-us/store/app/photo-calendar-multi/b592482e-ecf6-4fc0-90d8-4de0eb175a83

Comments and feedback are welcome.

PhotoCalendarSingleWPStore

The Photo Calendar Single app on the Windows Phone Store.

PhotoCalendarMultiWPStore

The Photo Calendar Multi app on the Windows Phone Store.

P1020917

The Photo Calendar Single app ready to installed on a Samsung Windows Phone.

 

Developing for Windows Phone 8

The Windows Phone 7 SDK can be installed on Windows 7, but the Windows Phone SDK 8.0 can be installed only on Windows 8.

Also, in order to use the emulator for Windows Phone 8, certain conditions need to be met on the system that will host the development.

  • The system must support Hyper-V (virtualization software on Windows).
  • The processor on the system must support Second Level Address Translation (SLAT), also known as Extended Page Tables on Intel processors. These are supported by any processor that begins with I such as core i3, i5 and i7.
  • Virtualization must be enabled in the BIOS.
  • Data Execution Prevention must be enabled.

A tool called Coreinfo, available at http://technet.microsoft.com/en-us/sysinternals/cc835722 can be used to check if the above features are supported.

Coreinfo -v must be run  from a cmd prompt with administrative privileges.

coreinfo

Coreinfo output on a system with virtualization and SLAT, but with Hyper-V absent (the – indicates the feature is absent, while the * indicates it is present).

Some systems (e.g. laptops bought in “emerging markets” such as India) have a basic edition of Windows known as Windows 8 Single Language or Windows SL. However, Windows 8 SL does not support Hyper-V, a must for running the Windows Phone 8 emulator. As a result, you may have to upgrade your edition of Windows 8 SL to Windows 8 Professional. This can be done by going to Computer Properties and selecting “Get more features with a new edition of Windows 8”. You will then be prompted to purchase a product key online.

Once the key is purchased, you will get a dialog that says “Adding New Features”, “This might take a while depending on whether there are updates. Your computer might restart more than once”. That’s it. There are no ISOs to download, no DVDs to use – the additional features (including Hyper-V) are installed automatically from the local Windows 8 SL installation on your hard drive.

SystemInfo

The “Get more features with a new edition” link in System Info (from Computer | Properties), on a system running Windows 7.

WindowsFeatures

From Control Panel | Programs | Turn Windows Features on or off. A system with Hyper-V absent. Once Hyper-V is installed, it will show up here.

Once Hyper-V is installed, you should be able to run the Windows Phone 8 emulator.