Sunday, August 9, 2009

Porting the Amplitude Application from the iPhone to a Windows Mobile Device – a Case Study

Many iPhone developers are discovering the potential for new markets and significant revenue opportunities within the Windows Mobile environment and are wondering how to port their Apple applications to Windows® phones.

This case study documents the efforts and experiences of an iPhone application developer in porting the iPhone application Amplitude to a phone running Windows Mobile 6.5. Based on his experience, it offers technical depth, code samples, useful links, observations, and tips to help accelerate porting projects. It is intended for developers who have written applications for the iPhone using the Objective-C language and would like to port their applications to Windows phones.

All opinions expressed are those of the developer and not necessarily those of Microsoft.

About the Developer

Luke Thompson is a software engineer who recently joined the Gripwire.com development team, led by Justin Arruda, Gripwire.com's lead software development engineer and Luke's former DigiPen classmate. Luke attends the DigiPen Institute of Technology and develops in many languages, including C/C++, C#, Objective-C, and several others. His application resume includes Gripwire’s BottleBlow and Pyramid Brewery for the iPhone, Amplitude for Windows phones, and Lock's Quest and Drawn to Life by THQ & 5TH Cell Media for Nintendo DS.

Gripwire.com

Gripwire.com is a mobile and social application development company located in Seattle, WA. Co-founded by MIT TR35 Innovator and former Amazon.com Mobile and Web Services Senior Manager Robert Frederick, Gripwire’s objective is to meet the gaming, graphics, and mobile access needs of users all over the world. Using the power of social media and friend networks, Gripwire is driving viral adoption and brand engagement, using their core platform to design, develop, and launch mobile solutions.

With five applications launched in the Apple App Store this year and seven more currently in review, Gripwire has been a strong advocate in developing portable software solutions on multiple platforms and devices. Earlier this year, Microsoft announced the availability of a mobile marketplace that will help make it easy for developers to manage and distribute their applications. Based on the excitement generated by the announcement, Gripwire decided to port one of its most popular applications, Amplitude, to Windows Mobile, thus opening their base to the millions of Windows phone users around the world.

About Amplitude

Amplitude is a fun application that enables users to amplify sound from their surroundings. With real-time graphical representation of sound picked up by the microphone, Amplitude users can adjust the volume/gain on their microphones to amplify sounds, such as animal heartbeats, environmental sounds, distant bird calls, tiny sounds from mechanical devices, and a host of other sounds that might otherwise go unnoticed.

Device Used

Gripwire used the HTC Touch Pro as the target mobile device. Development initially started with the HTC Touch Diamond 2, then switched because the HTC Touch Pro provides updated resolution specs to help support the display of audio. It also has increased hardware performance specs for testing code performance, and uses a more recent beta build of Windows Mobile 6.5.

The HTC Touch Pro (also known as the HTC Fuze for AT&T) includes 288 MB RAM and 512 MB ROM; with 480 x 640 pixels and a TFT resistive touch screen. In the current production release it runs Windows Mobile 6.1 Professional on a Qualcomm MSM 7201A 528 MHz processor.

An additional feature is a dongle that can plug into a standard headphone and does not require the use of an external microphone, which provides the headphone functionality that Amplitude requires.

Porting the Code

All code was developed entirely in C# because its managed language has superior memory management and many capabilities.

“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,” commented Luke Thompson, Gripwire software engineer porting the Amplitude application.

Click to read the rest of the article

No comments:

Post a Comment