A while back we took a look at an iOS developer having a run on Microsoft’s new mobile platform, which was surprising since the majority of Apple users don’t particularly provide Microsoft with much leniency or praise. Frode "Nilzor" Nilsen, a post-Windows Mobile 6.5 developer, has written up a spectacular case study (seriously – it’s an epic read) of his short-lived experience on the Windows Phone 7 IDE, and making the important decision on which platform is a more worthwhile investment for projects to be developed. Android or WP7?
At the beginning Frode goes into detail about what one looks for when developing on any available platform, revenue. Of course, every developer needs to cover expenses (time, investment etc.) and to ensure that a steady flow of funds is received to continue with updates and further development. To accomplish this goal, you would need to publish your product (an app in this case) to the largest possible audience with as little competition as possible. However many forget, that as a developer, the tools available and the process in creating (and updating) your app needs to be both fun and logical, and be smooth to ensure little time is wasted and productivity is high.
Frode decided to perform a small experiment and build an app for both Android and WP7, recording how long each stage of the process took, how many sells he received and how the IDEs (Integrated Development Environment) performed against each other. Using Eclipse for Android and Visual Studio 2010 for WP7, he created a simple flag & country quiz. Posting his results in complete depth, I shall summarise below his findings for each platform without going into much detail through explanation.
Using Eclipse for the Android development, along with the Android SDK from Google as a plug-in (which also provides you with the software emulator), he commented on how smooth the installation carried through and how it was to run as the IDE. Moving onto a handful features including code inspection that are included in Eclipse, but not in Visual Studio prior to the 2010 version, Frode mentions that he has some usability complaints with the debugger, and when nearing the end of the project.
"The debugger has all the functions you'd expect, although I do have some complaints on usability here. I find inspecting variables and object hierarchies run-time easier in VS2010, but it might be that I haven't understood properly how to use it yet. But all in all the feel of Eclipse is good. It's fast and feels lightweight even though it isn't."
The main flaw he found in Eclipse - when compared to Visual Studio - is UI design & implementation. He states you literally have to rely on your XML ability to visualise the code as UI components. Something that many start-up developers may find difficult to perform. The total development time for building the app for testing purposes was around 35 hours and 30 minutes.
Using Visual Studio 2010, Frode explains the scale of the software. Being unbeatable in terms of size, installation process, resources requirement, features and more. An immediate, noticeable advantage of the Microsoft solution is how the phone emulator is integrated into the IDE as they develop both. There were no issues that he encountered nearing completion of the project, which he found with Eclipse and the Android emulator.
"Hard-core coders who frown upon using visual tools to do the design have no respect with me. I use whatever tool gets the job done quickest and with best result. If drag-and-drop creates code 10 times faster than I could write it, no matter how much intellisense support there is in the IDE, I use drag-and-drop."
Explaining how simple (and more efficient) it is to visually develop the UI for the app with pictures, graphics and objects on screen as opposed to XML code requiring imagination to produce picture-based thoughts. When designing the UI you can detect problems immediately, there is no need to compile and run. The core features of Visual Studio matches Eclipse, but for start-up developers with little coding experience will find the Microsoft highway easier to grasp at first than the Android back road. Total time Frode spent on developing the WP7 version came to around 18 hours. However, it should be noted (as he mentions after the results) that he already had the flags and data XMLs at the ready from the Android development, while reusing architectural principles and actual code through copy and paste coupled with quick alterations.
To conclude this interesting examination that Frode had spent hours on; development time came to be around the same when adding up time savers used in the WP7 process, which is surprising considering how Visual Studio emphasises on UI development over actual back-end coding. Moving onto the actual release, the submission process for both platforms are pretty similar with a few noticeable differences, which Frode lists:
- The android platform requires you to enter a content rating (Teen/Mature, etc)
- The WP Marketplace allows you to price the product differently in different countries.
- Android allows advanced copy protection with a licensing server. Takes some implementing. Unsure where WP7 stands here.
- WP7 allows support for trial mode
The Windows Marketplace allows for users (and potential buyers) to trial a developer's app to see how it runs on his (or her) device, if it performs desired tasks and looks good. I, personally, believe this to be an incredible touch for the platform that will certainly aid in keeping the Marketplace clean of multiple versions of one app (FREE, LIVE etc.).
Uploading and publishing the app, it was time for Frode to pull up a chair and watch the money roll in, well priced at $1 there wouldn’t be much of an earning but for test purposes it’s all good. This is when he began checking the report centre for both platforms to keep a close eye on how sells were going. His experience concludes that the Google reporting interface wins by a thread. Google publishes each purchase with full information about the buyer, while Microsoft provides a summary per country (only those who are available to access and download apps from the Marketplace of course). One huge bonus he found with the Google interface is error reporting, which provides access to a runtime report - with full stacktrace - on any Android phone in the world. This is something that Microsoft does not have on their platform (I would like to add yet).
Final results showed that his app sold more copies on the Windows Marketplace (36) compared to Android (15), but this could be influenced by competition present on Android from both paid and free alternatives. He was also impressed by both platforms and enjoyed devloping using both IDEs. So, there you have it, the summary of a Windows Mobile developer comparing Android and the new Windows Phone 7. Where has he chosen to develop his next project? Android. Will he be venturing onto the WP7 continent? Depends which direction the wind blows.
Source: Frode Nilsen