The iPhone is a great device (like the new iPhone 4G will b even better) but its hard to code for it, a big disadvantage.... You need to buy a Mac, learn Objective C or some other tool (like MonoTouch etc), pay the USD $99.00 per year (that isn't actually very bad if you got the money)
With the release of the new terms and conditions for the iPhone OS 4.0, Apple disallow applications not written in C / C++ or rather Objective C.... Development just got harder!
I just want Apple and everyone to remember, for us developers and companies its about USERS/CUSTOMERS... If we can't develop applications easily because a platform is closed down then its the USERS/CUSTOMERS that will suffer since they will not get the kind of applications that they want.
THE USER / CUSTOMER MUST B MORE IMPORTANT, ALWAY!!
I hope this will change for Apple else I will go for another platform like Android where I can actually use a tool like Java to code or go for Windows Phone 7 where you can use MS Visual Studio.Net 2010.