[General Questions and Answers] speed_pour:
Just a few corrections of opinion

First off, whoever thinks that attaching some pretty graphics to the screen in .Net/C# is challenging, you seriously need to take more than an introductory class at a community college. It's not hard, you just have to be willing to find the graphics to use. Animation in WM is certainly more daunting and would be far easier to do if MS would have added WPF to the CF 3.5...

...the abundance of abbreviations in that last line just goes to show that programming is getting too annoying :)

Anyway, to answer one particular point which everybody else glossed over, is that Android ALSO has a lot of pretty apps like the iPhone (even though people ignore it). What people don't talk about is that android actually has it's own interface mechanism a lot like WPF/XAML which is supposed to be very friendly (I haven't really checked yet, but it seems to be popular).

A lot of people blame it on different devices having such different specs. While that SEEMS like a good argument, everybody who says it is blindly babbling without realizing that in 4-5 years the iPhone and Android phones will ALL BE VGA!!!!! If they aren't VGA, then NOBODY WILL BUY THEM!!!!! Hint hint, that means that both of those platforms will suffer the same problem that WM is "credited" with now.

The different resolution quality (VGA vs QVGA) is little more than a matter of releasing the original graphics in multiple sets. The issue of different resolution dimensions (WVGA vs VGA vs other-weird-boxy-GAs) could actually be handled (in most cases) with a simple bit of programming logic in the OnPaint handler.

Now, my answer to the question.....

Fact is, look at the programming communities of Android and iPhone, they both have a massive amount of open source/dev kit type samples, especially focusing heavily on graphics (especially with the iPhone, which focuses almost exclusively on graphics). WM samples tend to focus heavily on systems programming.

One other issue that exists is that interface programming is historically complicated with low-level programming languages. Apple gets by it using a highly customized and extended form of Objective-C. Android solves it with their xaml-like language which makes building the GUI a lot like writing a web page (loose comparison for the less technically inclined, don't flame me over the inaccuracies). Windows Mobile has the .Net framework, which can be made pretty without too much effort, but it suffers from not being fully integrated with the OS, therefore a lot of apps can be sluggish when written in .Net. The other option is to write in C++, which leads us back to the much more complicated UI programming.

There's your REAL reasons. Most programmers either don't have access to (or awareness of) good samples for a lot of the better graphics tricks, and the rest of them don't want to build something that runs too slow that it's going to get tons of complaints. I think there's one other contributing issue, there's not enough people who are willing to get together and partition out the work. It would only take 5-10 decently skilled graphics programmers to work with the high number of skilled systems programmers on this forum and we could see a nearly limitless number of high quality apps that would blow away anything on any of the competing phones.

As a side note, another thought strikes me....I think a LOT of people are waiting on the Tegra chips to start circulating before they start writing a lot. I know that's had me reluctant to put too much work into a few projects.