Upgrading: ask me few questions, and ask them together
One of my current peeves is just how much time we spend maintaining and upgrading computer operating systems, even as ordinary users. The workload for this is unacceptably high, though it's not as though people are unaware of the problem.
Right now I'm updating one system to the beta of the new Ubuntu Feisty Fawn. (Ubuntu is the Linux distro I currently recommend.) They have done some work on building a single upgrader, which is good, but I was shocked to see an old problem resurface. In a 2 hour upgrade process, it asked me questions it didn't need to ask me, and worse, it asked them at different times in the process. OS distros really need to hammer down a discipline on this. I set up the upgrade to ran while I slept, but much of that time was wasted waiting for me to answer a question. (In this case, a question about whether my root filesystem needed to boot from software RAID. I'm surprised it couldn't figure that out on its own since it's upgrading and can see my filesystems.) Another question (about restarting SSH services after security fixes) was also inappropriate on an install or upgrade which will feature a full reboot at the end. That question is more aimed at people upgrading just the ssh libraries. And of course, the usual dreaded and horribly badly handled questions about what to do if I have dared to modify some package's configuration file, and the new package has updates of its own in that file.
I realize that Feisty is a beta, but these are old problems.
With upgrades taking as long as they do, it's vital that all questions be asked at once, so you can go away while doing the big upgrade. Nothing but a major error should pause the upgrade after the questions are answered. This should even extend to installing knowledge in the package database of what packages need to ask questions, and possibly downloading the question-asking code early, even before the package, so that the questions can be out of the way at the start.
But better than that, each question should be considered in a light of "Do I really need to ask this question of all users?" And if not, find the situations where it does not need to be asked, and don't ask it. Possibly have one initial configuration box that lets the user specify how much detailed config they want to get into during the install/upgrade, and bypassing questions if they set a low level. However, I realize sometimes