Everyone knows how competitive the mobile space is. There are a wide range of platforms available for you as a developer to adopt and build your mobile app masterpiece, each with their pros and cons. So Microsoft introduces a new mobile platform (Windows Phone 7 and now the upcoming Mango update) which basically is a reset of the Microsoft mobile strategy and therefore started from scratch. In the many conversations I’ve had with mobile developers about why they should care about Windows Phone now and in the future, the most common questions I would answer revolved around the fact that Windows Phone was essentially net-new and therefore at a disadvantage from its competitor platforms.
Those types of questions are certainly fair and I’m sure many of you reading this post are even asking yourself the same questions. Hopefully by the end of this post, you’ll have a better understanding of Microsoft’s mobile strategy, why we are taking a long term vision approach to our platform’s success, how you as a mobile developer can take advantage of the fact that Windows Phone is for all intents and purposes “new” again and finally provide you with some resources to help you porting your apps from other platforms onto the Windows Phone platform.
Microsoft’s Mobile Strategy
Believe it or not, Microsoft has been in the mobile game for around 10 years. We started off with the Windows CE operating system and grew it from there. It was primarily seen as a business platform (strengths being email and calendaring) and Microsoft continued to evolve the platform along those lines. As smartphones became more consumer focused in the past 4 years, the popularity of the Windows Mobile (the old branding for Microsoft’s smartphone platform) waned. This decline created an opportunity for Microsoft to virtually set a completely new course and build a whole new mobile experience that focused on user experience. The result is what you see today: Windows Phone 7.
One of the key decisions that was made around this clean slate approach was how we work with partners in the new Windows Phone world. It’s a little known fact that Microsoft makes very little money from customers in direct channels; virtually all of the revenue Microsoft makes is through our partners. Clearly our partners, from OEM manufacturers to mobile carriers to app/game developers, were going to be front and center in our strategy. We have also learned very valuable lessons from our previous mobile platforms, specifically around what works and what doesn’t. At a very high level, this is what the Windows Phone team decided about going to market with partners:
- Developers are key partners in this journey: The platform easy to build for. The tooling allows you as a developer to build great apps without worrying about a lot of the underlying OS “gunk”. You can literally build a functional, usable app in minutes. Also, developers are guaranteed that a minimum bar of experience will be guaranteed regardless of which handset the user has, so you can focus on your functionality rather than the quirks of any specific device.
- Consumers prefer choice: We realize that everyone has preferences. We gave our OEM Manufacturers the freedom to build smartphone hardware that they feel will be popular with customers, while at the same time maintaining a level of experience that will delight users. In essence, we give OEM partners the ability to differentiate the experience with different hardware formats (such as a physical keyboard or lack of a physical keyboard). We also provide minimum standards for OEMs to adhere to in order to let them put the Windows Phone OS on their devices. Aspects such as RAM, storage, camera pixel size and others all have minimum quality bars that must be reached. Finally, every single device has a screen size of 800 by 480 pixels, guaranteeing developers to have a consistent screen size across devices.
- We work with Mobile Carriers, not for them: In past versions of Windows Phone, we built the OS, gave it to OEM partners without any material certifications on how the devices would perform and then both OEMs and the carriers would put whatever software they decided would be useful to the user. In theory, the extra software seems like a value add type of scenario but in reality it wasn’t tested thoroughly enough and the experience for the user was wildly different from carrier to carrier and device to device. In our new model, we do not allow anyone but the user to install apps on the phone (outside of the vanilla apps that are included on the OS, such as the browser and the Marketplace). Every single app that a user will install onto their phone must come from our central Marketplace – there is no preloaded third party apps on the phone. As a developer, this is important to you as you can be guaranteed that no apps that have not been properly tested will exist on a user’s phone that could potentially affect the performance of your app or game.
What about Nokia? Nokia is a very strategic partner with Microsoft. You’ve probably seen the media coverage and official press releases from Nokia and Microsoft stating that Nokia will be ceasing to install their Symbian OS on their smartphones going forward, instead adopting Microsoft’s Windows Phone OS for their smart devices from now on. This is a key relationship for both Microsoft and Nokia and is significant in a number of ways:
- Nokia has an incredibly large install base around the world, particularly in Europe, Africa, the Middle East and Asia. At Microsoft, we feel that the high quality of Nokia’s hardware combined with the unique and enjoyable experience of the Windows Phone OS will be a winning combination that will translate into large adoption of the Windows Phone platform.
- The relationship extends beyond just phones. It is also a deeper integration of Nokia and Microsoft technologies involving Nokia’s mapping assets and Bing, increased partnerships around Nokia’s billing infrastructure and agreements with carriers around the world (especially where credit card use is low) thereby making the barrier to entry for Windows Phone less, integration of content from Nokia’s marketplace with Microsoft’s Marketplace for a more compelling user experience, and even more.
- Sharing of knowledge and best practices between both companies thereby creating a more compelling offering to consumers and businesses that choose Windows Phone and other Microsoft technologies.
Making it easy for developers building apps on Windows Phone
As I had stated above, one of the main goals and a key factor to the success of Windows Phone is to make it as easy as possible to allow you as a developer to build apps and games for the platform and to monetize them. This means making the tools easily accessible (read: free) and getting up to speed quickly. It also means making it easy to publish your apps and games on our Marketplace yet making sure that quality is maintained on the apps. Finally, it means making sure that you have the tools and opportunity to both understand how your app is trending in popularity and making it fair so that the best apps get featured.
Making the tools easily accessible and getting up to speed quickly
If you register as a developer (roughly $99), you get more than just the ability to publish apps and games to the Marketplace. You also have the ability to publish XBOX Live Indie games on the XBOX Live Marketplace (a great opportunity to cross-pollinate your game if you’re so inclined). We also provide you with a large number of tools to help you analyze the performance of your apps and games in the marketplace. We also provide extra tooling for you for free to help protect your code assets from reverse engineering and the like as well.
Finally, even though the tooling is free and everything you need to build apps and games is included in that tooling, you may be interested in our paid tools as well (namely Visual Studio Professional and above, and Expression Studio Ultimate). These paid tools provide a great deal of extra value to you if you are interested in native source code control right out of Visual Studio, enhanced testing tools (including load testing and the like), SketchFlow (rapid wireframing and prototyping) and many other features that may make your job a whole lot easier.
Make it easy to publish apps and games
As long as you are a registered developer on the App Hub, you can publish Windows Phone apps and games. To make it as easy as possible to get you from an app/game idea to published in Marketplace, there’s more than just great tooling that you need to make it happen. First off, all of our certification guidelines are publicly available (all apps in the Windows Phone Marketplace are certified by Microsoft before they are published). If you follow those certification guidelines, you are golden. However, if you do fail certification for whatever reason, we provide you with a detailed report outlining what failed and what certification guideline was violated in the process. The report will also give you a failure consistency statistic (for example “Failed 8/10 times” or “Failed 10/10 times”) so you know how reproducible the error is. (By the way, in case you’re wondering, app and game testing goes through both automated/machine testing and human testing.)
Determining how successful your masterpiece is in the Marketplace
Once you’re published (congrats!), you’ll be able to keep tabs on how well your app/game is performing in the Marketplace. We provide reporting analytics for you to determine downloads, usage statistics and even app failure reports among other things. That way you can take action based on the information and make informed decisions on how to promote your app next.
Speaking of promotion, we try to be as fair as possible with the featured spots on our Marketplace. If you have an app or game that is great and popular, we do give consideration to your app/game in one of the featured spots. While nothing is guaranteed, I know this is a question that gets asked a lot and the answer is if you build something awesome that lots of users like (by downloading and actually using the app), there is a better chance of getting some Marketplace recognition for your work.
But I don’t build apps for Windows Phone today – in fact I have apps on competitor’s platforms. How do I start?
I’m glad you asked. We recognize that our competitors make great mobile platforms that allow developers to make awesome apps and games. We also believe that your apps and games on those platforms would look even more awesome on our Windows Phone platform! To that end we published some content and guidance on how you can port your masterpieces from iOS and Android onto our platform – again, all for free! While there is no one single bullet (or tool in this case) that will automatically translate iOS and Android code to .NET code for Windows Phone, the resources below provide some great guidance on how to get from A to Windows Phone more quickly.
Calling all iOS Developers!
If you build apps for the iPhone/iPod, we have some great information for you on how to port your app to Windows Phone. Below is a list of these resources:
- Main Windows Phone Interoperability Bridges Site: This site is the main portal to help you move your app from iOS to WP7. It includes case studies, resources and whitepapers for you to help you get your app/game to Windows Phone.
- iOS API to WP7 API Mapping Directory: This directory provides a mapping of iOS 4.2 API’s to the WP7 mappings. This is really useful especially if you are new to .NET.
- Windows Phone 7 Guide for iOS Developers: If you have been developing iPhone applications and are interested in building your applications for Windows Phone 7, this whitepaper guide is for you. The guide covers what you need to know to add Windows Phone 7 development to your skill set, while leveraging what you have already learned building iPhone applications.
Calling all Android Developers!
If you build apps for Android, we also have some great information for you on how to port your app to Windows Phone. Below is a list of these resources:
- Main Windows Phone Interoperability Bridges Site: This site is the main portal to help you move your app from Android to WP7. It includes case studies, resources and whitepapers for you to help you get your app/game to Windows Phone.
- Android API to WP7 API Mapping Directory: This directory provides a mapping of Android Gingerbread (v2.3) API’s to the WP7 mappings. This is really useful especially if you are new to .NET.
- Windows Phone 7 Guide for Android Developers: If you have been developing Android applications and are interested in building your applications for Windows Phone 7, this whitepaper guide is for you. The guide covers what you need to know to add Windows Phone 7 development to your skill set, while leveraging what you have already learned building Android applications.
There you have it. Windows Phone represents another channel for you to increase your app’s or game’s popularity across multiple platforms. You don’t need to abandon one platform in order to adopt another – this has been proven time and time again in technology. Clearly, co-existence can be a winner. So if you’re thinking of trying out Windows Phone as your next platform to adopt, hopefully the resources in this post can get you more than started.
Finally, if you are porting your app from another platform onto Windows Phone, let me know – give me a shout on Twitter!