If you’ve been curious about porting an iPhone app to the Windows Mobile platform, then I have exciting news for you! We have just published a new technical article on MSDN titled Porting the Amplitude Application from the iPhone to a Windows Mobile Device – a Case Study which outlines the real-world experiences of a developer who ported the popular Amplitude application.
Amplitude picks up any sound in a user’s surroundings through the microphone and then amplifies the sound, rendering it into a rich graphical representation on the device. Amplitude can be used to amplify any sounds, such as human or animal heartbeats, that usually wouldn’t be picked up by the human ear. Amplitude provides a cool user interface featuring an oscilloscope that allows users to view and visually quantify, signal voltages, as you can see the volume of the sound that you are listening to.
Amplitude is well suited for a porting project because it combines a rich user interface with features such as alpha blending and transparency with specific audio and sound requirements, which makes it challenging to port the app but, at the same time, provides a number of helpful learning experiences.
Luke Thompson, a software developer with Gripwire.com, a Seattle-based mobile and social application development company, took on the challenge to find out what it takes to port the iPhone version of Amplitude to a Windows phone. The case study now published on MSDN outlines Thompson’s experience, and provides some key takeaways for developers who want to get into the porting business.
Thompson’s account of his porting experience is especially interesting because it outlines the Community resources he has used to get the information he needs. In his conclusion, Thompson credits the Windows Mobile Developer Community for helping him resolve the issues he encountered along the road, stating that: “The large development community, both within Microsoft and outside, and the various whitepapers, blogs, virtual labs, websites, and other online documentation, offered a wealth of information that provided direction and greatly facilitated problem resolution. The only real challenge was assuring total portability between screens, and that was assured by utilizing the concept of aspect ratios.”
Although Thompson did encounter some roadblocks while porting the Amplitude app to Windows Mobile, he was able to successfully resolve all issues and get the application to work on a HTC Touch Pro phone that runs on a build of the Windows Mobile 6.5 operating system. One of Thompson’s main takeaways was that the Visual Studio 2008 Development Environment really made a difference for him because it provided most of what he needed at one place, such as the security certificates (certs.cab) for installing the application on your device. Thompson noted that the MSDN Virtual Labs were especially helpful in getting him started with the development process.
When porting the app from the iPhone to Windows Mobile, Thompson had to pay attention to major differences in the OS, such as the fact that the iPhone does not support running applications in the background, while background operation is a requirement for all Windows Mobile applications. Adjusting the screen orientation as well as accommodating phones with keyboards was another area which required additional investigation, which led Thompson to MSDN, which ended up providing a workable solution.
Porting the UI posed some challenges, especially since the UI for the Amplitude app on the iPhone makes use of transparencies and alpha blending. Since some of these functionalities are not available in the .NET Compact Framework, Thompson had to look for community resources to find the information he needed to complete this task. When searching for a resource, Thompson discovered the UI Framework, which is posted on Code Gallery and turned out to be a major asset for Thompson’s porting efforts.
Thompson depended on community content as well to help him port the audio and sound features of the Amplitude app to Windows Mobile. The Code Project turned out to be especially helpful for Thompson efforts, as he found an article that explained how to create a framework for implementing audio effects in C#.
Thompson’s case study shows, that even though there are some challenges in porting a multimedia-rich application from the iPhone to Windows Mobile, the task can be accomplished, especially with the help of developer-friendly tools like Visual Studio, the richness of community content that is available for Windows Mobile, and last but not least by planning the project ahead and doing all the necessary research in advance. Thompson’s experience should save you time as you port your own applications to Windows Mobile. With Windows Marketplace for Mobile getting ready to open its doors to millions of potential new customers, the opportunity is compelling.