Lately I have observed Google Play (was Android Market) and the Apple iTunes App Store for iOS moving towards permitting the download of larger deliverable files for their platforms’ apps. What I see of this is a move towards PC-style app packaging where there is an executable image of the program along with separately-packed “library” or “resource” files.
This may yield a limitation with it taking a long time before the app becomes ready to use as well as increased pressure on the bandwidth. The latter issue will affect those of us who use wireless-broadband services because of reduced throughput and increased costs to use these services.
What could be achieved would be to allow the app stores to implement dynamic packaging where the user only downloads what they need rather than the same large package. This would be very handy with game franchises and similar programs which have the same runtime code but users download variants which “expand” the program further. Similarly, there could be developers who build function libraries such as peripheral-interface libraries and share these with other developers. It also appeals to app packages which may be packaged for particular device classes like a “smartphone class” app and a “tablet class” app that exploits the large screen of these tablets.
The app stores should then work towards the dynamic package model when they permit larger deliverable packages for the apps that they provide. This setup can work alongside the other mechanisms like background download or Wi-Fi-only downloading to ease the pressure on the devices and their networks.