There's a feature I hope to see in a future version of iOS but before I explain, I think a little context is required:
I'm still using a 3GS.
The battery in the 3GS, like all phones of it's generation, takes a fair pounding when using 3G as opposed to 2G; even more so when cellular data is being used. This is a problem that has only been exacerbated by the age of the battery in my 3GS (bought on relase day here in the UK in late June 2009).
Even though I have unlimited data I rarely use much mobile data as I tend to be within range of a wifi access point at the places where I'm most likley to access the internet (home and work). It's not a money thing either- I'm on a SIM-only deal where a tenner a month bags me unlimited calls to others on the same network, 250 cross-network minutes, unlimited text messages and unlimted data- it's the network contention and poor battery life that has me avoiding using mobile data except when necessary.
It's odds on that my usage will change when I get the next iPhone, as it should contain one of the newer radio chipsets, which tend to be more energy efficient, but others are not so fortunate and some folks are still paying through the nose for their mobile data.
This is where my idea comes in- think of the current Notification settings in iOS 5, but for mobile data instead. The one place you can go to control which apps get to use data- data on/off; wifi or mobile; just wifi or just mobile.
I realise that some apps allow you to have this level of control but not all do (some are even nigh on unusable without a decent data connection- I'm looking at you Podcasts) and having one place to control this would make life much easier.
On a final, optimistic, note- I am aware of method in the latest iOS API that may help with the above and leads me to believe that Apple may even have something like this in mind, one day...