Mobile Devs: Why Windows Phone Matters to You


    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

    This is simple.  Literally, everything you need to start building apps is on our App Hub.  This includes the tools download page, tutorials, partner resources, and community support.

    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!

  • Go DevMENTAL

    We’re on LinkedIn!


    You use Facebook/Google+ to connect with your friends and Twitter to tell the world about what’s on your mind. But what do you use when it comes to connecting with industry professionals and looking for future career opportunities? LinkedIn is a business-oriented social network, where you do just that!

    I’m pleased to announce that we opened the official Canadian Technical Students group on LinkedIn.

    Join us in discussing the latest in the technical student space, find out about the latest resources and share some of the stuff you’ve been working on. You can use the group to connect with the Microsoft Canada Developer and Platform Evangelism team for all concerns and questions. We are scouting the space on a regular basis and look forward to engaging in your discussions.

    See you on LinkedIn!

  • Go DevMENTAL

    Premiere Training on Mango – And it’s free!


    If you find you aren’t busy on Tuesday, August 23 and Wednesday, August 24, you may be interested in attending free an online training event that will bring you to speed on how to build Mango apps. If you’re new to building apps on the Windows Phone 7 platform or a veteran looking to understand the new and exciting features of Mango you can add to your app, this training event will be worth your while.

    The event, Building Applications for Windows Phone Mango Jump Start, is literally a premier deep dive training event that is yours for the taking.  It’s being run by two of the most renowned Windows Phone 7 developers in the world, Rob Miles and Andy Wigley.  You may know them from the previous course they ran, the 19-Part Windows Phone 7 Jumpstart Training course which is available here on-demand for free.  This new course, however, is more than just a rehash and update of the content found in that first jumpstart.  This event will provide you with net-new material that will teach you how to build start of the art Windows Phone applications and games using the new features found in Windows Phone 7 Codename Mango.  Sounds interesting?  Well, here are the details:

    Day One August 23, 2011 | 8am-4pm PDT | Live online training

    • Building Windows Phone Apps with Visual Studio 2010
    • Silverlight on Windows Phone – Introduction
    • Silverlight on Windows Phone – Advanced
    • Using Expression to Build Windows Phone Interfaces
    • Windows Phone Fast Application Switching
    • Windows Phone Multi-tasking & Background Tasks
    • Using Windows Phone Resources (Bing Maps, Camera, etc.)

    Day Two — August 24, 2011 | 8am-4pm PDT | Live online training

    • Application Data Storage on Windows Phone
    • Using Networks with Windows Phone
    • Windows Azure and Windows Phone
    • Notifications on Windows Phone
    • XNA for Windows Phone
    • Selling a Windows Phone Application

    Despite this new training being free, you do need to register to attend, so be aware and register here.  Also, if you aren’t able to attend the live broadcast, don’t worry because it will be recorded and available on-demand after the fact.  I will create a follow up post when the on-demand content is available.

    So why should I attend this online training (or watch the event on-demand)?

    Well, one of the things that I and my colleagues have heard over and over again is that Windows Phone is the easiest platform to build for.  I can attest from my conversations with the Windows Phone product teams and engineers that that this is not by accident – making the easiest platform to build amazing mobile experience on was a significant goal for the team.  What this means is that you can get up to speed really quickly on building awesome apps and games on the Windows Phone platform and training courses like this one will allow you to leverage the unique features of the platform that you may not have even known existed and implement them in your app or game very quickly.

    Enjoy the training!

  • Go DevMENTAL

    Free resources and SDK-mania!


    What do Microsoft Visual Studio 2010 Professional Edition and Windows Phone 7 Marketplace registration have in common? They both cost money. Money that you, as a student, don’t have to pay!

    As a reminder, DreamSpark (http://www.dreamspark.com) is your number one stop when it comes to getting great stuff at no cost. Simply verify your student identity through your school email and you’re all set to get free stuff including Windows Phone 7 Marketplace registration fee waiver. And guess what? After your fee is waived, you are free to monetize on the apps that you publish with no restrictions!

    Aside from free stuff that you can get as a student, keep in mind that SDKs for pretty much anything that you want to build are always free!

    The Windows Phone SDK gives the complete toolset required to begin developing for Windows Phone 7. In fact, right now you can also get the BETA SDK to test your Mango apps before the official release of Mango. And the best part, the two SDKs can be installed side by side so that you can continue your development with both streams. For those of you who develop games with XNA, keep in mind that XNA Game Studio is included with the SDK package.

    The Windows Azure SDK will get your development up in the cloud fast! The SDK includes the tools for Visual Studio, Visual Web Developer 2010 if you choose not to use Visual Studio, ASP.NET MVC, and more. Also included in the package is an emulator that can be used to test your cloud app without actually having to deploy it to the cloud.


    WebMatrix is a neat little tool that is designed to get your web project going minutes after installation. WebMatrix offers complete support for web development from project creation to deployment. You have quick access to the latest version of your favourite web applications including WordPress, Joomla! and DotNetNuke, Once you are ready to deploy your web project, you can do it directly from WebMatrix. To make the publishing process even easier, a hosting gallery is provided to help you find a hosting provider that is guaranteed to run your site smoothly.

    And there you have it. Great resources and tools designed to accelerate your development. Oh and, don’t bother pulling out your credit card as they are all free!

  • Go DevMENTAL

    Mango RTMs! Now what?


    A week and a half ago, we announced that Windows Phone 7 Codenamed “Mango” RTM’ed (RTM = Release to Manufacturing).  This is great news for a number of reasons because Mango represents a very enticing update to Windows Phone 7 that in essence puts it at least on par with our competitors from a phone capability and experience perspective and even exceeds our competitors in a number of areas.

    Some of you may have put Mango on your phone already (if you weren’t aware you could do this, check this link out as it provides some details around this process – just be aware that you need to be registered as a developer on the App Hub before you get an invite to the Beta program).

    Below is a refresher of some of the great end user features that Mango introduces to Windows Phone 7:

    • Multitasking: Even though Windows Phone 7 was always a multitasking OS, we have opened up the capability for third party vendors (that’s you!) to leverage multitasking in their apps
    • Internet Explorer 9: Yup, the browser engine on our phone is basically the same browser engine that sits on your desktop (if you’re using IE9, of course!).  Bring on the HTML 5 goodness!
    • Conversation View:  Have conversations with friends that span multiple services in a single thread.  Start on Facebook, switch to text message and then to something else.  It’s all reflected in a single conversation thread.
    • Office 365 and deeper SkyDrive Integration: Share your documents and photos in the cloud with ease (and securely)
    • Contact Groups: Have a lot of contacts in your address book? You can now group them into buckets (for example, family, co-workers, fantasy football league, etc.) which makes it easier to contact them either as a group or individually
    • Improved Live Tiles: Get even richer notifications from the tiles on your home screen, including the use of agents which can give you timely information based on location, alarms, etc.
    • Deep Linking into Apps: You can now pin an app to your homescreen and have that tile send you to a specific area of your app (for example, a flight status tracker for a flight you’re taking later that day within an airline app).
    • Local Scout: Integrate search results for your app with Bing search.  A great example for this would be a movie app integrating local scout search for finding movie theatres near you and displaying when the next showing of a movie your thinking of seeing starts

    There’s a whole lot more that users will love and that you as a developer can leverage, but you get the idea.

    So what exactly does the Mango RTM mean?

    Basically, the build for Mango has gone gold and has been sent to OEM manufacturers  to test and prepare their phones with the build for general availability to the consumer.  We have also sent this build to our carrier partners around the world so they can certify the build and prepare their infrastructure for Mango so that their Windows Phone 7 customers can download the update when the carrier is ready.  We are working very hard with both our OEM and carrier partners to make sure that Mango is available to consumers quickly and so far everything is very much on schedule so I’m pretty confident that anyone that wants Mango on their phone will be able to get it in a very reasonable timeframe.

    For those of you wondering when Mango will officially launch, there is no one answer as we will be launching Mango via the carriers and each carrier will have its own timeline (and before you ask, I don’t have any info as to when that will be for Rogers, Telus and Bell Smile). The general target we are all looking at globally, however, is later in the 2011 calendar year.

    By the way, any phone that has Windows Phone 7 on it today will be upgradeable to the Mango update.  And the update is free.

    As a developer what can I do?

    If you have apps in our Marketplace today, you may want to take advantage of the new features that Mango introduces to make your apps more attractive to your users.  Mango will be delivered to phones around the world soon, so if you want to take advantage of the new Mango features in your app by the time Mango is available to the average consumer, implementing some new functionality in your apps today would be a good idea.

    If you don’t have an app/game in the Marketplace today or you intend to build another app that takes advantage of Mango in time for launch, then I would suggest start coding your app/game soon! 

    If you are completely new to Windows Phone 7 and want to start from scratch, there are some Windows Phone 7 Developer tutorials listed in a post by my Microsoft colleague in Lebanon that teaches you how to build apps and games on the non-Mango platform.  Please note that these tutorials are still relevant in the Mango world (they just don’t take advantage of the features new to Mango) and are a great place to start!

    If you’re a seasoned veteran in creating Windows Phone 7 apps, then the you may want to take a look at the amazing list of resources that Larry Lieberman, a Senior Product Manager on the Windows Phone teamdocumented to get you started on Mango.  You can check out his post but I’ve also reproduced it here in case you don’t want to leave this site:

    1. Official Windows Phone Developer documentation on the MSDN Library. This is where we publish all of our official documentation. Quite a bit of new content was added here concurrent with our release of the new SDK, including:
      1. What’s new in the Windows Phone SDK
      2. Code Samples for Windows Phone; includes 26 new samples just for Mango
      3. Our ‘How To’ index. This is where we link to all of the specific pages within the documentation that explicitly spell out ‘how to’ implement a specific type of developer scenario. Many of these actually map to and spell out the execution of the sample code in the code samples. Some of the most interesting How To documents for Mango features include:
        1. SL & XNA together: How to: Combine Silverlight and the XNA Framework in a Windows Phone Application
        2. Profiler: How to: Improve the Responsiveness of Your Application Using the Windows Phone Profiler
        3. Fast App Switching: How to: Preserve and Restore Application State
        4. Database: How to: Create a Basic Local Database Application for Windows Phone
        5. Sockets: How to: Create and Use a TCP Socket Client Application for Windows Phone
        6. Sockets: How to: Create and Use a UDP Socket Client Application for Windows Phone
        7. Camera: How to: Create a Base Camera Application for Windows Phone
        8. Camera: How to: Extend the Pictures Hub with App Connect for Windows Phone
        9. Audio: How to: Play Background Audio for Windows Phone
        10. Periodic Agent: How to: Implement Scheduled Tasks for Windows Phone
        11. Motion API: How to: Use the Combined Motion API for Windows Phone
        12. Search Extensibility: How to: Extend Search with App Connect for Windows Phone
        13. Tiles: How to: Create, Delete, and Update Tiles for Windows Phone
    2. Windows Phone Mango Training Course. Now updated for beta 2 of the SDK. The Windows Phone Mango Training course, (like our previous training course for the initial release of Windows Phone 7), provides you step by step guidance, with complete sample code, demonstrating how to leverage the new developer scenarios in Windows Phone Mango to create a variety of real world applications. For the new training course, we decided to have the various labs all revolve around a single, more useful application, a task manager we called ‘Tidy’. You can get a video introduction to the ‘Tidy’ application here on Channel 9.
    3. The Inside Windows Phone Show on Channel 9. This show is our home on Channel 9, where we’ll provide you video walkthroughs of our new developer features, on a periodic basis. So far, we’ve conducted a number on Mango functionality, including the following:
      1. Inside the Mango Camera APIs
      2. Search Extras in Mango
      3. Sockets in Mango
      4. Inside the Mango Documentation
    4. App Hub Game Developer Resources, updated for Mango. This page is where we centralize all of our Windows Phone game developer resources, and we’ve updated it for Mango. Here you’ll find the following items, (among others):
      1. What’s new for games in Windows Phone OS 7.1
      2. Game State Management
      3. Migration Guide: From the Game Class to Silverlight/XNA
      4. Model Viewer Demo

    Finally, if you’re building a Mango app or game right now – I’d love to talk to you!  Give me a shout via the comments area of this post, use our contact page, or send me a note on Twitter!


Page 1 of 2 (8 items) 12