Having a iPhone 4 moved up to iOS 5, I see very little reason to upgrade today. I am overjoyed with the improvements to the iPhone now, and I am pretty confident that most developers will still keep the iPhone 4 in mind when writing apps for compatibility. Sure, there will be the odd app that needs the iPhone 4S, but that's why I have an iPad 2, which has better performance than the 4S anyway