Re: Trying to learn how to program
Runtime Revolution. Not free, but "compiles" to multiple platforms and uses a language similar to Hypertalk (from Apple's Hypercard). Has an interface designer.
It's a little bit lower-level than App Inventor, because you do write code in Runtime Revolution, but it's very easy to write in.
I try to treat the cause, not the symptom. I avoid the terminal in instructions, unless it's easier or necessary. My instructions will work within the Ubuntu system, instead of breaking or subverting it. Those are the three guarantees to the helpee.