The package managers we used had two main methods of interaction for installing software once the user has found it. In one paradigm, there is an install or un-install button provided, and the installation or un-installation begins immediately when the user clicks. In the other, users mark changes to be made, and a separate apply button is used to make the marked changes effective.
Most participants who used Synaptic had issues with the paradigm of marking changes and then applying them.
“I really hate how they do this mark thing. What is marking? It’s not really a good fit for my mental model.”
In a follow up with the participant who gave the preceding statement, the participant elaborated on their mental model of marking:
“If I mark a package, does synaptic grab its dependencies for me and mark them as well? Is there a place for me to go and find out which packages I’ve marked? How can I un-mark something I marked before? Do I have to search for it again? What operations can I perform on marked packages? What do these operations do? To me, marking a package means ”install this”. To me, once I’ve marked something, it should be installed, unless there’s some explicit cancellation of that by me. Performing other operations on marked packages is kind of an alien concept to me… what would I want to do other than install them?”
One user who was experienced with console package managers explained that the ability to mark changes separately from applying them was useful because sometimes the dependencies that are marked for upgrade automatically do not strictly need to be upgraded, and upgrading them may break other packages dependent on the old version.
The core problem here is that novice users are forced to understand something about functionality that is only required by very advanced users. The issue is aggravated by the fact that the users in our study (admittedly a small sample) who knew enough to understand why you might want to mark and apply separately, preferred not to use graphical package managers at all. Instead these users opted to use package managers at the command line, or in the case of aptitude, using it’s text user interface. Synaptic’s usability is bogged down by a design decision that benefits very few of it’s users.