Frustrated Beginners
Although the original post for this was written over four years ago, it's still a relevant question. I'm going to give what I think is a short, current (April 2013) answer and then expand on it a bit.
Today, I would suggest RunRev's LiveCode. After many years of development and a recent successful Kickstarter funding, LiveCode is poised to make a real impact on how hard it is to learn to program for iOS.
My situation was similar to the original poster - I wanted to do cool stuff with the iPhone but was struggling with all the nuances of objective C and the iPhone environment. The closest thing I can compare it to is learning a very foreign language. It can take years to become conversationally fluent and unfortunately, computers are real sticklers for grammar, syntax and spelling let along style and content. Objective C takes that to new heights by introducing another layer of abstraction. It's no wonder newbies run from the building screaming.
I worked for Apple for ten years, but not as a programmer. During that time we released a neat little programming environment called HyperCard. It was really exciting because it was built on common metaphors, file cards, buttons, text fields, etc., which made sense, at least in English. To that was added a simple, mostly plain text scripting capability which made it easy to hook things together and respond to user actions. My "real" programmer friends, who were using Pascal at the time, thought HyperCard was a toy for sissies who didn't have the guts to become "real" programmers. Steve killed HyperCard and went on to develop the NextStep programming environment and Objective C (with a lot of help from some really good programmers). Today that is what we are getting in the xCode Integrated Development Environment.
Fast forward 30 years or so...
I'm old enough to remember when we programmed the first computers in binary, with switches. That gave way to machine languages and punch cards and languages like ALGOL, and FORTRAN. Then came Pascal and C. But along the way something else happened. As the layers of abstraction got deeper the art of programming became the arena of "experts". You needed a four year degree and 10,000 hours of coding to be considered functional - and from an entirely practical perspective that is still true. However, there is a shift going on in the industry which I don't think we should ignore.
Macintosh was supposed to be "the computer for the rest of us". It did that by making difficult, complex tasks, easy for the average consumer. It launched a revolution in desktop publishing, personal productivity, and individual creative expression. Today, that continues, even outside the Apple ecosystem. There is one area which hasn't been "userized" yet and that is writing software to run on "the computer/cell phone/tablet.
Now, some if you old school, hard core programmers may think I'm crazy. Let me ask you a question; would you like to go back to writing code in machine language? In another context, would you like to build your own car from a pile of iron and aluminum ore and crude oil? Some of you might, and you'd have the right to be very proud of your accomplishment. However, for the rest if us who want to be able to get from home to the store, or work, or grandma's in minutes, today, we'll be grateful to the Henry Fords and Clausings and Demings who developed steel mills and car factories so others could build cars for us.
But what about those of us who want something that hasn't been put into mass production yet? Those ordinary folks who don't want to have to go to school for four years to be able to take advantage of all the capabilities in their iPhones that someone else hasn't written the code to do? They (we) are out here and we don't want to pay $20,000 to develop and market an app, probably because its just for our own personal use. What about "the rest of us"? Why should we have to spend two to ten years and hundreds to thousands of dollars to be able to a know where a single frame of a home movie was shot or the temperature and humidity where we are currently standing?
There is a shift occurring in the world around user centered design and the democratization of creativity. It's happening in 3D printing and fabrication. The Maker Movement is gathering steam. It started in the fabrication of plastics and metals. It's also got a toe hold in electronics with FPGAs and fully customizable hybrid chips and SOMs. Every step brings us closer to empowering anyone with an idea to be able to more easily express it in form and function. That should be really exciting as it holds the promise to solve some very complex, global problems, and even daily, personal needs, which effect all of us.
What if programming your iPhone was as easy as using it? Why can't there be a "natural language" development environment for iOS with an understandable GUI? From what I've seen so far, LiveCode is a big step in that direction.
Sorry for the long rant. I just think its time to democratize programming too.
-df