Constanze Roman -a Community PM with the Windows Mobile Community Team- has published an interesting article on the Windows Mobile Team blog with the title: “Ready to Port your iPhone App to Windows Mobile?“
Although I’m not a developer, nor having a formal Information Technology & Computer Science education, I would like to have a detailed look at this cool case study from a business administration- and entrepreneurial perspective. It might be a good starting point for discussion, so comments are welcome.
Apple Appstore, Android Marketplace and Windows Marketplace for Mobile
Let’s start builing this case with some details and background information about the Apple Appstore from Wikipedia:
“The App Store is a service for the iPhone and iPod Touch created by Apple Inc. which allows users to browse and download applications from the iTunes Store that were developed with the iPhone SDK and published through Apple.
And furthermore some details about the time frame:
“The App Store opened early in the morning on July 10, 2008 via an update to iTunes. The billionth application was downloaded on April 23, 2009.”
These numbers clearly show that since the launch of the first generation iPhone in June 2007 the mobile marketspace is disrupted with the result of high growth both for iPhone sales and as a result iPhone Application sales. Developers have massively addapted the platform, and simply move where the sales volumes are, right ? 🙂
In October 2008 Google hit the market with a similar concept called the Android Marketplace, and because of the Java-kind programming language the developers embraced this platform as well, and currently there are quite some freeware applications in the Android Marketplace. The Android platform however is in the early stage of it’s developments, but thanks to developments of HTC the platform has made some large steps in becoming mature.
Microsoft is currently working hard on the Windows Marketplace for Mobile and probably gains momentum from the Windows Mobile 6.5 release. In a sequence of articles on www.mobilityminded.com I have covered quite some details of the concept and the implementation of the payment mechanism:
In the articles you can read some concluding facts as well:
“This means that developers will have an opportunity to reach more than 30 million Windows Mobile devices. ”
This means that Apple iPhone developers have the opportunity to enter a second and third market, and scale their businesses significantly. As stated in the introduction, a real case study is conduced in collaboration with a developer for the application “Amplitude”.
Amplitude – A real(istic) case study !
On the gripwire website you can find the following product description of Amplitude (for iPhone):
“Amplitude is a fun application that enables users to amplify audio from their surroundings. By enabling users to adjust the volume/gain on their microphones, Gripwire has turned the iPhone into a high-tech listening device capable of picking up the sound of animal heartbeats, distant conversations, and a host of other sounds that you might never have noticed.”
Very cool that for the case study not a kind of fictive application is chosen, but an existing application from a “real” software-development-firm. Constanze Roman -a Community PM with the Windows Mobile Community Team- explained why Amplitude is an interesting application to use for the case study.
“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.”
However I have seen quite some interesting applications on the Apple iPhone where the build-in g-sensor is used. This could also be an additional challenge in the porting process, since these hardware parts become also very common in Windows Phones. However the Amplitude application covers already quite some parts of the spectrum.
Minimizing the learning curve by solid documentation ?
The article “Ready to Port your iPhone App to Windows Mobile?” already describes to broad overview of the research project, but on the MSDN network the whole case study is well documented in the article: “Porting the Amplitude Application from the iPhone to a Windows Mobile Device – a Case Study“
I think the article can be of great help since it offers a starting point, and it provides bits of code which could be helpful while porting your own application. However each application has its own structure and probably each developer has an own style and structure of coding, so a unversal approach probably is not applicable. Every application will have it’s own challenges and it’s up to the developer to tackle these. I also expect not all the developers to document their findings and put these online.
“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.”
The documentation is a good point, but in the MSDN article you can read there are some challenges due to the differences in platform requirements as well.
Wrap-up and idea’s
Let’s start by having a look at the main conclusions from the research:
“Porting an iPhone application proved both surprising and not nearly as challenging as had been expected. Once the frameworks and library decisions were finalized, the effort to port code essentially consisted of moving Objective C to C#, both of which are Java-like languages.”
Remark my introductary comment that I don’t have a formal Computer Science education, so I need to trust the developer’s word. I think that the available documentation helps, and it can even significantly decrease the learning curve.
Mary-Jo Foley -Editor at ZDNet All About Microsoft- described earlier this year a kind of chassis/reference concept in her article: “A Microsoft smartphone: No. A Microsoft phone chassis: Yes“:
“Think of what Microsoft is doing in phones as similar to what it has done in the PC market. Microsoft often develops reference implementations and encourages PC makers that they build PCs that adhere to a set of reference guidelines/specifications.”
To me it sounds a little like concepts I know from Mechanical Engineering: process- and product-standardization, modular architectures and -designs. These concepts, if there is some part of truth in it, could furthermore decrease the learning curve for developers since the standards are very clear and outlined (comperable with DIN-norms in Mechnical Engineering).
“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.”
I would like to make a final point here. Close friend and colleague Paul Willen concluded in the article: “Windows Mobile 6.5 Development – What about Developers?”
“[…] I think its sad to see that a very good developer has to do a great investment before his application can actually become a product in the Marketplace .That’s why I hope Microsoft will re-consider the choice and gives something to starting developers. Something that will make it easier and cheaper to start developing.”
While for the Apple Appstore and the Android Marketplace the development tools are free, developers need to invest even before they start developing. And despite the developer will get 70% of the revenue of the application, according to Todd Brix in the channel9 video, it might be a threshhold to start developers porting their Apple iPhone Applications !
I hope this article will provide some input to start a valuable discussion, and since I’m not an expert in the technical coding part, you developers out there might get my up to speed about the implications !
While many references are used as links in this article I would like to highlight the two most important references on this case study, which provide a great amount of information for developers: