Microsoft, obviously noting the sheer number of apps being written for the iPhone (and not Windows Mobile) has decided to take action, and try to convince developers that the "more mobile platforms, the better." It's written a case study
on how to port from the iPhone to Windows Mobile 6.5.
Now, Windows Mobile 6.5 has been seen by many as a stopgap release of WinMo, which is only being released at all because Windows Mobile 7 has been delayed for too long (and they can't keep relying on WM 6.1). At the same time that WM 6.5 releases, however, so will the App Store competitor Windows Marketplace for Mobile.
The case study uses on Amplitude
, an application by company Gripwire, which is described as follows on the App Store:
Amplitude enhances aural experiences by allowing you to hear distant and/or quiet sounds as if you were standing nearby. Amplitude uses the high quality hardware of the iPhone and iPod Touch to detect and amplify the faintest of sounds.
Microsoft wanted to pick something challenging that could provide a learning experience, as noted in a blog post
by Constanze Roman, a Windows Mobile community team manager:
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.
The project used an HTC Touch Pro which is a touch-screen Pocket PC (obviously you would have tons more issues and UI redesign trying to port to a smartphone instead of a PPC). Luke Thompson, Gripwire software engineer who ported the Amplitude application, said the following in the case study:
“What I’m finding is that it’s harder to mess up with C# than in Objective-C, which is used for iPhone application development. This makes any extra effort needed to customize the classes I want worthwhile.”
At the same time, however, you'd expect the UI to be the biggest gotcha, and Roman said:
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.
The obvious message is that iPhone developers can increase their revenue by offering their software to millions of Windows Mobile users. How that resonates in the wild remains to be seen.