Re-downloading a 600+mb file for a bug fix isn't exactly efficient. Not only for the end user, but for Apple as well. It carries some influence over the bottom line. How could we optimize this system? One way is by streaming dynamic updates. This would however require some rewriting of the ios file system, however small or large. I do suspect that eventually there will an automated way of having small updates streamed to your device and subsequently the app. This would also cut down on network traffic as it is still possible to download up to 20mb apps even on 3g. App developers know this so of course it makes sense to keep the app under 20mb. You have potential customers at any minute of the day.