I haven't looked at Android yet but my experience with Objective C and the iPhone SDK is exactly the opposite of his - I found everything about iPhone development painful. As far as I could tell, Objective C does not work the way my brain does. The Interface Builder does not seem well integrated or make interface design "a joy" - it felt like more a hindrance than a help. The SDK does not make simple or common tasks easy, and the DRM is an absolute nightmare, often preventing a project that worked yesterday from downloading to the phone today for reasons that are mysterious and inexplicable even when surrounded by official iPhone gurus willing to poke at it. ("try reinstalling your provisioning certificates" is for iPhone developers what "try rebooting" used to be for Windows users.)
So maybe Android would be just my thing.
Is it possible that having programmed for the Newton using Newton Toolkit/NewtonScript spoils you for all other mobile development environments?
I've just spent a couple of weeks putting together a simple iPhone app. While I have the benefit of having written some Cocoa apps in the past, I really didn't find it the nightmare that you described.
Of course, the DRM and signing up for the developer program is a complete pain, but waiting and following instructions means it's only a minor hindrance. Even if it's a big philosophical discomfort with the platform.
Maybe I need to work longer at it to discover all the pitfalls?
Having written Cocoa apps in the past probably makes a huge difference. They did make the DRM work somewhat better later - I actually started trying to develop the instant they made the SDK available so initially I was one of a huge number of people complaining about cryptic error messages and complex instructions that didn't work at all. They later replaced it with messages that were sometimes helpful and instructions that sometimes worked.
I tend to have a "knack" for breaking software - which is why I've done QA for a lot of my career. It's clear there exist people who got the iPhone DRM to work once and it just kept working after that; I don't know how they managed it or what if anything I did differently. As a workaround, I eventually got in the habit of treating the iPhone SDK much the way people used to treat word processors back in the day. That is: save often and make frequent backup copies of the whole project. When your project stops working for some mysterious reason, go back to the previous version that did work. In short, I applied "cargo cult" programming techniques.
I did ultimately manage to put an app in the iPhone store but that experience soured me on further iPhone development. Though I might try using Corona sometime.
That makes sense, a year or so of progress makes all the difference to a development environment. And yes, knowing a bit of desktop Cocoa makes it much easier to get into, but I didn't have much of a problem learning Cocoa once I found Hillegass' book.
Corona looks interesting. I could make fun of the spelling mistake on their home page though.
Provisioning is annoying but once you get used to it and setup, it doesn't take that much time. Interface builder doesn't have obvious documentation at first, but once you get used to it it's very quick to work with.
I find the iphone sdk rather obtuse in working with arrays & dictionaries, slicing and dicing strings around and parsing XML with.
So maybe Android would be just my thing.
Is it possible that having programmed for the Newton using Newton Toolkit/NewtonScript spoils you for all other mobile development environments?