I live in an area where broadband internet access is extremely expensive and unreliable, and even phone lines are hard to come by. I currently do have broadband that lets me download at the phenomenal rate of 15 KB/s which costs.... $60/month! But I am going to be moving to an area where I will not have broadband, and I probably won't even have a phone line for dialup. So I will be depending on internet cafes for a while at least.
I do use Windows XP, and the #1 reason I like Windows is because I can download a program off the internet, install it, and it work without any additional hassle. Under Linux, it is much more complicated due to the nature of shared libs and re-use of code and helper programs. Unfortunately, Linux's architecture makes it almost impossible for people who don't have reliable internet at home. Why? Because if I go to a friend's house or to a cyber cafe to download programs, I can't just download x-program and put it on my USB drive and install it at home. I have to goto http://packages.ubuntu.com and dig around for the dependencies and download them too. But I can never remember if I have certain libraries and tools installed already. Worse, the dependencies themselves have dependencies. I have tried manually downloading dependencies, but when I get back home, I always find that I have left something out. A better method is needed.
MintInstall is a very nice start, with a web based interface and a single file to download. But obviously it still requires the shared libs and internet access. I think this could be improved for offline users. I am going to list two suggestions in order of difficulty, lowest to highest....
1. Create and distribute add-on CDs (local repositories) using http://aptoncd.sourceforge.net/ . I see that there are several dormant attempts to do this already. It's really quite easy, you just install Linux, install your packages, and then use apt-on-cd to create an ISO.
2. Allow the user to save his local dpgk list of installed packages to a file. Create a web interface that lets him upload his package list. Then create a web interface to the Ubuntu/Mint repos, then lets the user download a single bz2 archive that automatically contains a custom .mint file and all the needed .deb to run the program he chooses. Have the MintInstall file generated on-the-fly, and tell it to use the packages in ./packages, relative to wherever the bz2 is unzipped.
I know I'm not the only one who can't fully use Linux due to the complexity of the package system and the lack of good internet service. There are many millions who use computers but do not have broadband. But virtually all of them have broadband access in other places away from their home. I think these ideas would go a long way to resolving those issues.