Here's an idea. Many packages have a logical structure in which certain parts of the structure change nearly independently from other parts. I suggest breaking these into independent .deb files, while having package managers like apt and dselect optionally only be aware of them as single packages. That way we don't have to be bombarded by lots of packages with virtually the same name (packa, packa-doc, and so on), but at the same time it would allow package maintainers to actually split their packages into even more little pieces, according to the logical structure of their package. This would allow apt and dselect to downloaded only the changed elements of a package.
So it would be a double winner: (1) since only the changed parts are downloaded, the total download time is brought down. (2) Since apt (or dselect) would ignore the multitude of .deb files, and only list the logical packages by default, package listings would be a lot shorter and easier to follow. And of course, anyone who wanted to could just tell apt or dselect to show all .debs regardless of logical connection. They could even have their own internal dependencies, so we'd be able to choose which parts of a package we wanted to install, without fear of unknowingly breaking the package. Taking this a step further (although I haven't thought about this part of the idea until now), it might be possible to layer this idea, so that depending on an option given to apt (or dselect), more and more packages could be logically linked, shortening the visible list of packages and making it easier to choose what you want to install. At the most extreme, this would result in something like what happens right before the debian installation runs dselect: it asks if you want to choose an umbrella-type set-up, including a lot of logically related packages. So this idea would allow a finer grain control over that kind of thing. As a further detail, it could be possible to specify that in general you want to see a particular level of logical abstraction, but that for certain packages you want to see a different level of logical abstraction, or even the individual .deb files themselves. I see a lot of ups but no downs for this idea. Am I missing something? Zack