Okay, so you're all a bunch of iPhone sycophants. (j/k sorta) But I've always despised the thing. Probably because of the ones that I have to service at my job. I can't stand typing on the screen. I always seem to hit the wrong keys. I've got a T-Mobile G1. Good mix of touch screen and qwerty keyboard.
Anywhoo... This topic is devoted to Android phones. As far as I'm concerned Android is the bees knees when it comes to smart phones.
The interface is slick. I've never seen anything like it. Windows Mobile and iPhone alike are lightyears behind. (IMHO) I'm sure there are individual apps with crummy UI, but that'll go for almost anything. (Admittedly iPhone apps generally have pretty awesome UI too, but with all the restrictions for building iPhone Apps you really have to try make a lame UI.) It's the little design details in Android that make it so fantastic. Like background images. On Windows Mobile you're stuck with one homescreen and that's it. The iPhone can let you set a background for the home screen but if you slide over to another page it's the same image duplicated over. Android is awesome in that it takes one wide image and spreads it across three pages so as you slide from one page of the "desktop" to another you reveal other parts of the image. This is actually much cooler than I make it sound. I should do a little video demo later.
The quality of the apps in the Marketplace is pretty damn awesome too. The only thing lacking is a REALLY GOOD MS Exchange app. Some of my favorite Apps include:
ShopSaavy - Clicks an image of a product barcode and finds info about the product online.
Locale - Changes the settings on my phone based on conditions such as location, time, battery, etc.
(The Friggin) Browser!!! - Yup, Android's browser is damn awesome with great JavaScript support. Missing flash, but supposedly that's coming soon.
I think the reason for the quality apps on Android has to do with the dev. environment. The SDK is robust but simple. You just need to know some Java to get started. The test environment is really cool. It puts a virtual phone up on your screen to play with your software and interact with the phone. In fact if you wanted to try out Android that's a pretty good way to do it for free. Just download Eclipse and the Android Dev Tools. (I've actually been using my Mac for using Eclipse. I didn't want it on my Windows box.) Windows Mobile is really friggin easy to work with as well, but I find that you're limited by the phones. The lack of standards on WinMobile phones makes it really hard to build a consistent UI. Don't get me started with iPhone Dev. Sure it's easy to build a UI. They basically have UI legos that you have to move around in a grid until you get a little shiny okay from Apple that your UI is acceptable. As for the code you're stuck with Objective C which is about as fun as a getting a lobotomy at the same time as a colonic. I know that Apple fans LOVE Objective C but as a programming language it's totally out of date. It's almost a punch card. It's amazing that people write software for Apple or iPhone at all.
All Done.