Sometimes when a user opens a package manager, the user knows ahead of time what software package they need to install. In other cases, the user is merely browsing the repository to see what is available, or has a specific task they need to complete but they do not know what software is available to perform that task. All of the package managers examined in the study provide some means of finding relevant software from the repository.
This seemingly simple tasks becomes complex as the number of packages increases: Users are then faced with the task of finding the single, desired application among the many alternatives.
As a concrete example of these issues, there are 56 music players available in Ubuntu Software Center. While the software distribution service has done the job of centralizing all (or most) of the alternatives in one spot, the user is now faced with the challenge of finding the package they desire, whether it is already known, or must be discovered among the alternatives.
|Ubuntu Release Date||Number of Packages|
The problem is likely to only increase over time as more packages are added. Although packages are sometimes removed, the overall trend is upward. In the case of mature repositories, like those for Ubuntu, the growth has been more-or-less linear, while newer repositories for platforms without a base of pre-existing software, such as Apple’s App Store, are growing at a roughly quadratic rate.
Package managers must provide some mechanism to navigate such vast collections of software. In future posts, I will discuss the two strategies used by current package managers to help users find the software they want: browsing categories and search.