The iPhone, light years ahead of other devices
Yesterday I read a rant about how the iPhone is a crappy Mac. The author is completely misguided; he's comparing a handheld device to a desktop saying what it doesn't do. It comes as no surprise that the author writes desktop applications and not handheld applications. I've been writing handheld applications for most of my career; I started writing Newton applications in 1994 and then started writing Palm OS applications around 1997, I think. In terms of a handheld device, the iPhone is not only a joy to use, but it is a joy to develop applications for it. While the Newton was way ahead of its time when it was canned, it didn't survive long enough to be a competitor in today's world. If you look at Palm OS, it is still so backwards. It has never (natively) supported different screen sizes (the Dana and the HandEra 330 had extensions to handle larger screens), it doesn't have protected memory, it has no where near the capacity of an iPhone and many applications don't look as elegant as iPhone apps.
Granted the Palm OS has some ability to have background tasks (at least through alarms and some people have actually gotten true background tasks working), but how stable are Palm OS devices? I know, people have had the iPhone crash, but it is leaps and bounds above the Palm OS in terms of stability. If you want to get into distribution of applications, the author rants about that as well. There are definitely pros and cons of having Apple control everything. For the most part, having centralized distribution is ideal for developers and users; users don't have to look around to tons of places to find stuff and for developers, they have a huge audience. At the moment, I think the pros outweigh the cons on distribution.
The iPhone does have some things that need to be improved, but its first (or second start) is so much better than what competitors have had years in the market to refine. Thinking of the iPhone as a desktop may lead to disappointment; thinking of it as a handheld will definitely make people smile (OK, at least me). For all those developers that complain about the iPhone, I think that they should write a Palm OS application and see what it is like to have to create jump tables because your application is over 16K and you have to have a launch code execute something not in the first 16K. Or create a table of data that scrolls. Or present a list of contacts in the address book? Or dial a phone number? I could go on and on. I really enjoy the iPhone and developing applications for it. My views might change later, but this has gotten me excited about writing handheld applications again.