
If you know C++ you can probably do 100% of what you can do with Photoshop... it's just a bunch of pixels at the end, is it not?
The question is whether you can do it efficiently, that's to say with the least amount of effort and/or in the least amount of time. I would argue that GIMP just doesn't support the kind of complex workflows that professionals are accustomed to. It's not necessarily that a lot of thought has gone in designing Photoshop's UI (although that's certainly the case to a point), but the sheer depth and stride for consistency makes it easy to achieve the desired results faster than the competition.
... I hate the fact that on the iPhone the developer can turn off that display so you don't know if any connection has occured.
Just a quick note - that network activity spinner you talk about doesn't show up by default, it's entirely up to the developer whether he chooses to notify the users that data is being transmitted over the network (even when that's actually not true). So I guess you shouldn't be mad at evil develoeprs that turn it off, but instead should thank the benevolent ones that turn it on as appropriate.
And while we're on the subject, iOS' neutered multitasking makes it much harder for this type of quota-eating background transfer to even occur in the first place. Guess it's not all bad...
"The eleventh commandment was `Thou Shalt Compute' or `Thou Shalt Not Compute' -- I forget which." -- Epigrams in Programming, ACM SIGPLAN Sept. 1982