Have you spent the time to understand the landscape of device distribution and decide how to prioritize the development of your application training curriculum?
Are you training or developing your courses to meet specific platform or versions?
The following pie chart below demonstrates how many different versions of Android are in use. The chart contains information relating to the number of devices and Android version that has accessed Android Market within a 14-day period ending on the data collection date noted below.
Data collected during a 14-day period ending on November 3, 2011 http://developer.android.com/resources/dashboard/platform-versions.html
So what does all this mean?
The purpose of this graph is to demonstrate the shear number of versions which you need to support if your developing apps for the Android market, unfortunately from a teaching perspective this casts a number of issues on which version and API to choose.
With Windows Phone its so much more straight forward
All Windows Phones must have a particular minimum specification, so these are the very least you can expect to find on a device.
The Windows Phone specifications ensure that every Windows Phone has a consistent set of features that customers can rely on. This also provides developers with a base set of features they can build rich and creative applications upon.
A key issue with teaching Android is that you need to develop your application for the version that is at the very top of the chart, then your application is compatible with 100% of active devices (and all future versions), because all Android APIs are forward compatible. Or, if you develop your application for a version lower on the chart, then it is currently compatible with only a % percentage of devices indicated.
Again a huge issue is the API Support from each device. The following table specifies the API Level supported by each version of the Android platform.
Windows Phone application development
You write Windows Phone applications in exactly the same way as you write other applications for the Windows desktop. You use the Visual Studio IDE (Integrated Development Environment). You can debug a program running in a Windows Phone device just as easily as you can debug a program on your PC desktop. You can also create solutions that share components across the desktop, Windows Phone and even Xbox platforms. You can take all your Windows Desktop development skills in Silverlight and your console skills in XNA and use them on the phone. If you learn how to use the Windows Phone you are also learning how to write code for the desktop (Silverlight) or console (XNA).
This is great news for you as it means that you can write programs for Windows Phone without having to learn a lot of new technologies if you have previously written programs for desktop computers then the move to Windows Phone.
The Windows Phone Emulator The Windows Phone development environment is supplied with an emulator which gives you a Windows Phone you can play with on your PC desktop. If you have a PC system that supports multi-touch input you can even use this with the emulator to test the use of multi-touch gestures with your Windows Phone programs.
While the emulator is feature complete, in that it behaves exactly like a real phone would in response to the requests from your software, it does not mimic the performance of the actual phone hardware. Programs running on the emulator are using the power of your PC, which may well be much greater than the processor in the phone. This means that although you can test the functionality of your programs using the emulator you only really get a feel for how fast the program runs, and what the user experience feels like, when you run your program on a real device.
The emulator will allow you to test motion controlled programs by allowing you to tip and turn a “virtual” phone on your PC screen. The inputs to the program will reflect the orientation that you see on your screen. You can also pre-record a set of movements to allow you to perform repeatable tests using particular movements or gestures. There is also provision for location emulation. You can select on a map where you want the emulated phone to “be”. You can also input paths for the phone to follow and then replay these, so that you can create journeys to test location aware applications.
So if your interested in developing for Windows Phone download the necessary tools from Microsoft DreamSpark
If your interested in teaching Windows Phone in your curricula see Microsoft Faculty Connection Resources Center for a complete set of resources
If your interested in porting existing Android applications to Windows Phone take a look Windows Phone Interoperability Bridges site http://windowsphone.interoperabilitybridges.com/