"When asked whether you should install iOS 6 on an iPhone 3GS, we can say "yes" without hesitation or condition. When it comes to the iPhone 4 and iOS 7, our response is a more measured "do it if you like the new features, but have you considered a newer phone?"
iOS 7 on Apple's oldest-supported hardware is hardly a disaster, but it's apparent that the only reason Apple issued this update was because they were selling the iPhone 4 free with contract up until September 10. It has been their value option for a year, and in the Apple ecosystem, even people who bought a new iPhone 4 on September 9 will get at least a year's worth of updates. The A4 simply isn't up to the task of rendering iOS 7 as Apple intended, and the upgrade in general performance and apparent smoothness between even the iPhone 4 and year-newer 4S is significant (to say nothing of the iPhone 5, 5C, and 5S).
When it comes to launching apps, the iPhone 4's general slowness is only exacerbated by the too-long animation durations in iOS 7. This is also a problem on the faster phones and tablets, but at least there you've got faster underlying hardware to keep everything moving at a steady clip.
It's great that Apple isn't abandoning older iPhone owners really. People buying an iPhone 4 free with contract were still getting a phone that felt reasonably fast with iOS 6, and they weren't necessarily aware that they were getting an older single-core SoC with an older, slower GPU that would be ill-suited for Apple's new direction. At least they have the option to upgrade. That said, the iPhone 4 and iOS 7 just can't quite provide an experience that's up to Apple's usual standard. Apply the update if there's an iOS 7 feature (or an iOS 7-only app) that you need in your life, but our recommendation now would either be to wait for potential performance boosts in a future iOS 7 update or to start looking into a new iPhone 5C or 5S."