I got a Droid X when it first came out. I mainly got it because I loved the idea of a big 4.3" screen – and I wanted to at least be familiar with the Android operating system. On a 10-point scale, I would rate this a 10. I am pretty anti-Verizon and had several difficulties with service and customer service, so it was unfortunate that I needed to switch providers – but overall my experience was ok. I apparently am in the minority where I never had any issues with AT&T and was with them for many years without incident and with very few dropped calls.
So present day, the world of "phones" has really fundamentally changed. Although there are people that say "I just want a phone for making phone calls", this is because they just haven’t fully grasped the significance of smart phones (well, most people). Smart phones today are not technology for technology-sake, they are genuinely valuable, effective, elegant "communication devices" that extend the reach of the Internet so effortlessly into the palm of your hand. When you include things like a 5-8MP camera, a GPS, and an accelerometer – these "phones" are really much, much more. The reason why this is significant now, is because the technology makes all of this really powerful functionality feel effortless. Sure, many of these things were available on Windows Mobile 6.5 for example, but the phones were hundreds of dollars, felt like a brick, and had clunky/heavy UI’s displayed on tiny screens.
Anyhow, things seemed to have leveled off where there is: Apple, Android, WP7, and arguably Blackberry – although I might argue that Blackberry is quickly becoming completely obsolete. I wanted to explore Windows Phone 7. Even though they were very late to the new "smart phone" party, this platform has been getting good reviews. So, let me try to compare/contrast my opinions of Android vs. Windows Phone.
Motorola Droid X / Android 2.2:
The "good" here is all over the place. Virtually every aspect of this phone and platform is great. The phone itself has a huge screen which makes it much more natural to use. I don’t feel like I have to bring the phone up to my face to use. The Android platform is very impressive. Lots of great functionality, the UI and features are smart, and the Android market has tons of useful, free applications.
If there are any down-sides to Android, it would be these two things: 1) development – I have dabbled enough and made a "hello world" application, and it was absolutely brutal. Typical Java-approach to coding where the development tools are stone-and-chisel. No unified IDE, no simple debugging – everything was way difficult, and brittle. I even tried the mono-droid approach which I got working, but that too was pretty clunky. This means just like Apples i*splat* platforms, development is left to niche developers and leaves out the common hobbyist – which I think is detrimental. 2) Although the Android UI is finger-friendly (versus mouse cursor-friendly) and well-designed, I found that the OS bogs down pretty frequently. It’s not a showstopper, but it’s common for me to be scrolling and for the UI to sort of glitch or hang for a second, then recover. It makes the OS "feel" heavy. Again, not a huge deal and I didn’t notice it much – unless/until you compare it to iPhone or Windows Phone 7.
HTC HD7 / Windows Phone 7:
This phone too has a nice, big 4.3" screen. The very first thing I noticed was how really effortless the UI appeared and how much more responsive the UI was to the slightest motion. What I mean by "effortless UI" is like when you go to press your finger to swipe, the tiniest movements of your finger "bend" and "push" the element that you are manipulating on the screen. It has been 100% glitch-free for me and just makes the "reaction" of the screen feel very natural, not like it’s a computer. The UI in general is just gorgeous – how they laid out "panoramic" screens for example, make for very mature user experience. It again seems like this very powerful UI works effortlessly.
Anyhow, these two phones are roughly similar. The good parts of Windows Phone 7 is obviously the UI, the integration with Zune and XBox, the absolutely gorgeous Google Mail app, etc. Another great thing is how easy it is to write applications for this. A .NET developer can get all the free tooling and write their first app inside of an hour. It’s a unified development experience and everything – including publishing to the "Marketplace" (akin to the App Store or Android Market) is really quite simple.
The "bad" of this platform is all non-technical. First, WP7 came about a year too late to the Smart Phone race. By the time these came out, iPhone and Android had tremendous momentum. This means that although many people and many reviews love the WP7 platform, it’s a little too late to be taken as a serious competitor for the front-runners (as of this writing). This means that there are not nearly as many free apps in the marketplace, and the apps that are there, aren’t really as good either. Popular games like Angry Birds hasn’t been ported either.
However, this is part of what my motivation was to dig more into this platform. It is so easy and so painless to write and publish apps, that I have a couple of specific apps I’d like to write – even if I only use them on my phone! In fact, my next blog post will talk about how I wrote my first legitimate app, what tools were needed, and how to get set up in Marketplace to be able to publish apps or games.
In the end, I think iPhone, Android, and Windows Phone 7 are all first-class platforms that enable great technology. From the technologist viewpoint though, I question the success potential of these other platforms because the development environment is so difficult. For a similar example, look at Flex/Flash – there is a very small number of developers who know how to write quality Flash applications. Because of that, they are extremely expensive to write, and you usually only see them in a professional context. There isn’t any sort of hobbyist movement behind it.
WP7 fills that gap though – a regular hobbyist could start development tomorrow with free tools, a simple/unified development environment, and be up and running in no time. This sort of availability I think keeps WP7 in the running and I think in the end will result in more success for the platform. Whether it can catch up to Android and iPhone remains to be seen, but developing on this platform in the meantime proves to be pretty fun!