by Randy Guthrie – Academic Developer Evangelist for Microsoft
blogs.msdn.com/MIS_Laboratory

The public availability of Windows Phone 7 (WP7) this season and the enthusiastic reception it’s received creates an exciting opportunity for technologists to create and sell mobile applications in the Windows Phone 7 Marketplace. In this post I will summarize the WP7 app developer ecosystem, and review the tools and resources available to students, faculty, and “pro devs” for building and selling apps.

Windows Phone 7 Ecosystem

The Windows Phone 7 is a radical departure from prior Windows Mobile platforms. Some of the key characteristics of the WP7 platform are:

  • Tightly-controlled hardware spec: every Windows Phone 7 has the same screen dimensionality, hardware layout, and core internal functionality. To the developer this means that you don’t have to do anything special to accommodate different device types.
  • Available for a variety of domestic and international carriers: in the US Windows Phones are/will be available for ATT, Verizon, Sprint, and T-Mobile. ATT & T-Mobile launch in November, Verizon and Sprint becomes available early 2011.
  • Five hardware models: Samsung, HTC, LG and Dell have WP7 models with features ranging from ultra thin to models with DNLA and surround sound.
  • WP7 OS is based on the great UI of the Zune HD “Metro” operating system
  • All Windows Phones have Zune HD functionality “built in”.
  • WP7 supports XBox Live games, achievements and community natively on the device.

The Windows Phone 7 app marketplace already has thousands of mobile applications, and more are added daily.  Apps can be purchased from any of three “hubs”. There is a “marketplace” link natively available in the device app list. There is also a link to the game marketplace in the XBox Live application.  Lastly, you can browse and purchase apps via the Zune client software and install them via a wireless or wired link to your phone.

The Zune client software is used to manage media, and can be used to purchase and download apps. The Zune client is a great multimedia management tool with a superior user experience. Its great for listening and managing music even if you don’t have a Windows Phone or Zune (yet). The Zune client software is required for unlocking devices for development so you can locally install and test your apps on your own phone.

The old XNA Creator’s Club and Windows Mobile Developer Portal have now been combined into a single developer experience. The professional developer portal is named simply the “App Hub” and can be found online at http://create.msdn.com.   The App Hub is the entry point for all things WP7 including your individual developer account, learning materials, and community.

App Developer Tools and Experience

The core programming languages for Windows Phone 7 apps are C#.NET for logic and Silverlight/XAML for the UI. The basic Windows Presentation Foundation constructs can also be used. The basic tools are Visual Studio 2010 (for C#) and Expression Blend (for XAML). Note: the WP7 tools will only work on Windows Vista or Windows 7. Windows XP is not supported for WP7 development even though Visual Studio will run on XP. If you already have Visual Studio 2010 Professional or Ultimate installed, then the WP7 tools will be added to your existing installation. If you don’t have either of those versions, then when you install the SDK express phone editions of Visual Studio and Expression Blend will be installed at the same time, along with XNA Game Creator 4.0.  The “Windows Phone 7 Toolkit” (SDK) can be download from the App Hub homepage at http://create.msdn.com/en-us/home/getting_started .

Learning WP7 Development

While the use of standard C#.NET as the core programming language is in itself a great developer advantage, a great deal of effort has been put into the creation of free, comprehensive learning resources. For students (and budding pros) who are starting out with little or no C# experience, there is the “Development for the Absolute Beginner” video series, a 64-part video series with open-source code that assumes little or no prior experience that is the equivalent of a four-day workshop. Sound like a lot? Not to worry; most of the videos are between 5 and 8 minutes long.

There is also a downloadable offline series of hands-on labs titled the “The Windows Phone 7 Training Kit”.  The training kit consists of eight scripted Silverlight labs and five XNA Game studio labs that will take between 1 1/2 hours to 5 hours each to complete. The labs start out with “Hello World” and end with building a 3-D Game with sounds, sprites, and textures. The labs come with step-by-step instructions with screen shots for each step and cut-and-paste code, as well as any additional resources needed for the project such as graphic and sound files.

For students and other developers with some experience, there is a collection of code snippets and how-to’s on the App Hub under the “Education” tab for developers looking for a simple explanation of a variety of WP7 programming techniques.

Developers who prefer to use a textbook approach, there is a free e-book available by Charles Petzold titled “Programming Windows Phone 7.  Other books are now available you’re your favorite (online) bookstore.

Selling Your Apps

In order to sell your apps or distribute them for free, you have to have a developer account.  Professional accounts cost $99/year, but students can get a pro account for free via Microsoft’s DreamSpark Program. Note: DreamSpark is for any registered college or high school student, but is ONLY for students. Verification of enrollment is required to get a free account.  The process is a little complicated but not difficult:

  1. Create a DreamSpark account at http://www.dreamspark.com
  2. Get verified (via the website)
  3. Begin the process for creating an App Developer account at http://create.msdn.com and select the student “type”. If you have a verified Dreamspark account the cost will be $0.00. 
  4. Upload a beta app to your account to complete the account creation project. Note: the beta app counts as one of your five “free” apps, so you might want to wait until you have an actual app to submit before going through this step.

Faculty and non-students will have to pay the $99 at checkout, but no app submission is required to complete the account creation process.

Getting WP7 Developer Software

 As I mentioned earlier, the Windows Phone 7 Developer Toolkit includes express editions of Visual Studio, Expression Blend, and XNA, and that they have to be installed onto a machine running Windows Vista or Windows 7. Students who are enrolled in science, technology, engineering, math or design courses can get Windows 7, Visual Studio Ultimate, Expression Blend, and over 100 other Microsoft titles through their department’s MSDNAA subscription (assuming the department has one; if yours doesn’t drop me a line).  Visual Studio and Expression Blend are also available on DreamSpark.com, for any college student (not just students enrolled in STEM-D courses) but (unfortunately) Windows 7 is not. The online student discount price for Windows 7 Professional is $64.00.

In my next post I will do a quick walkthrough of how to use the tools and deploy an app to a phone for testing.

Cheers!

-Randy