1)Have you developed Apps for any other platforms before? If Yes What are they?
I have done some design work for an Android application, but I haven’t released anything yet. I’m waiting until MonoDroid is stable enough to use on Android. Also, although I’ve never worked with iPhone specifically, I did a little bit of Cocoa development (The API that formed the base of the iPhone development tools) back when I was an intern at Apple. I’ve also completed a couple of pet projects using Xna, but I never released them (I don’t have an xbox 360 to test on).
2)Why did you choose WP7 as a platform of your choice?
There were a few reasons. First, I am familiar and comfortable with the development environment, having done both silverlight applications and xna games previously. So, I knew I could get the most done in the shortest amount of time, which is a luxury for me as I have a full time day job and a 10 month old baby girl.
Secondly, the marketplace "story" makes the most sense for me from a business standpoint. Microsoft fully vets developers with full background checks, and each application submitted is run through a fairly rigorous testing process (much of it automated). What this means for me is that my potential customers are far more likely to trust that applications on the marketplace are going to work correctly and not be malware, so they are more likely to try applications and buy them. And, Microsoft’s marketplace policies are transparent, and not arbitrary/anti-competitive like many of Apple’s policies for iPhone, which means I still have some amount of freedom.
Also, since the barrier for entry is higher ($100 a year vs one time $20 fee), and developers are limited to only 5 free app submissions per year (after which they must pay for each additional application), the hope is that this will mean the platform will attract more serious developers, so my apps are less likely to get lost in a flood of free apps that are poorly written.
I’ve always had the belief that, when it comes to a distribution channel like the Windows Phone Marketplace, bad competition is your enemy and good competition is your friend. Bad competition gives customers a bad experience, which means they are less likely to even try other apps in the marketplace, let alone buy them. Good competition makes the customer happy and more willing to try other apps from the marketplace.
3)Which one do you think as the single most feature you liked in WP7?
I’d have to say it’s the .net runtime (in this case, the .net compact framework). If I only had low a low level API to work with, I could still make due as long as it was running on this solid base. That’s one of the reasons I don’t particularly like Android development. In order to get anything to run fast, you have to do it in native code with all the nastiness that comes with it, like the lack of full C++ support, the dalvik interop layer you have to build, and the fact that you need to build your native libs for at least two processor targets (three, if you want to run on some of the tablets).
4)Are you satisfied with WP7 Platform development tools?
Absolutely. Hands down, they are the best tools and API in the industry.
Android development in Eclipse can be sluggish at times, and frequently crashes, and you need a third party application to get a decent UI designer surface outside of manually editing xml (not that there is anything wrong with that). In addition, the emulator doesn’t support hardware accelerated graphics, and the last time I checked didn’t even have a software renderer for OpenGL 2.0-based applications, which makes game development near impossible without several expensive development phones. The WP7 emulator has full hardware acceleration.
Cocoa, the API that forms the base of the iOS tools, is interesting because it was way ahead of its time back when it was released on the NextStep platform in 1989. The problem is, today the technology is really showing its age in many ways. The XCode IDE is still pretty decent though.
The WP7 tools have a very stable, responsive IDE with full intellisense support, etc.. The emulator is fast and hardware accelerated. And, for silverlight applications, there are actually two good UI creation tools – one which is integrated into Visual Studio for simple edits, and a separate application, Expression Blend, which is much more full featured, designer-friendly application. Even the simplified integrated Visual Studio designer rocks the socks off of both the Android one (which is just an xml editor with a preview basically), and Interface Builder for iPhone.
5)What are the Apps you are developing now in WP7?Details on the Apps?
I have a few concepts I’d like to work on eventually, but right now I’m focusing on GigglePad and the WP7 launch. I’ll be doing a mix of productivity applications using Silverlight and games using the Xna framework.
6)In what way Microsoft can improve their WP7 or What does WP7 lacks from?
I would like to see some of the features of .Net 4.0 and Silverlight 4.0 back-ported to the .net CF 3.7 framework, which is what WP7 is running. I understand this was just a timing issue, so I expect a future version will include some of those features. I would also like to see something in WP7 similar to the Mono.Simd functionality, so that WP7 apps can directly take advantage of the NEON functionality of the ARM processors in the first generation of WP7 phones (and SSE when running in the emulator). This would greatly speed up a number of things, from game physics to audio/video processing to scientific applications. I think it would be a real win for the platform. And because, by its very nature, Simd instructions do more calculations with less instructions, it would also mean longer battery life while running those compute intensive applications.
7)Future Plans of you?
I am extremely satisfied with my development experience for WP7, so I am going to continue to work on the platform for some time. However, when MonoDroid is released for Android, I may work on some Android apps as well.
Also, going along with the "good competition is your friend" theme, I think I will eventually be releasing some library code to CodePlex using a permissive license, so others can take advantage of it and hopefully make some sort of positive impact on the quality of WP7 apps in general, even if it’s just a small one. I’ll also be creating a blog with some tutorials and how-to’s and example code.
Apart from these questions, Other things you want to share with the community?
You can follow me on twitter using @JeroMiya, where I’ll be periodically posting development updates and such. You can also subscribe to my YouTube channel for updated videos of GigglePad and preview videos of my future projects when they become available.