Managing packages

The purpose here isn’t about the packages manager’s ability to find its way in the dependencies jungle, but how a linux distro user could manage easily the packages.
Linux is very flexible but to exploit its flexibility that requires some knowledge; packages manager are consequently flexible too but their front-end could present the things more clearly and distinctly. Because Windows and Mac close the hood for a better user experience, one has here a cultural misunderstanding : actually one installs « softwares » and nothing else. Is a « package » something else? The same about a library, a module, and so on. Looking at a front-end like Synaptic, one gets all this names at once which, hopefully, are categorized in several task area, but one could present all that through a higher level of category. The first level is the notion of package since this is a container, then, the second level is its content which is then related to a task area, the third level.

* package
** content (e.g library)
*** task area (e.g graphics)

At the second level, one has at least two categories: what is usually understood as « software » and the library. It doesn’t matter that the latter can be used by the user or only by some other programs, but it could be more interesting that the packages manager provides somes utilities for installing things more complexe, like desktop environment and servers, for example a LAMP. So, in this way, one has two other categories, lets say « desktop » and « server »

* package
** softwares | desktop | server | library
*** task area

One could as well put at this second level an utility related to the development, but as you understand one is just stripping out some task areas to the second level, either as an utility or a category. Legitimately, the system componments should be at the second level and, in this entry, one could have the utility to upgrade it entirely.

* package
** softwares | desktop | server | library | system
*** task area

The things are now a little bit more clear and distinct, one can go further by presenting the actions distinctly: updating, upgrading, adding and removing. Of course one can also downgrade and select the packages’location, but lets that as an option. Looking at Synaptic again, the stuff is presented whatever the status, of course one can filter all that. But if one wants to add something, one just wants to see the available packages and for the other actions, one just needs to see the installed packages. Hence, the GUI is more simple and understable: one has the list of the second level entries and the list of the actions.
However, a desktop environment has its own softwares and libraries, if one put them in their respective entry, one will find them at the third level and thus it’s a contradiction. The developement and server entries will lead as well to this problem. The solution isn’t a list but a matrix, something like « this for that ».

softwares | desktop | server | library | system
desktop   | desktop | server | library | system
server    | desktop | server | library | system
library   | desktop | server | library | system
system    | desktop | server | library | system

In this matrix some values don’t make sense, like server for library for example. Of course the GUI doesn’t have to show it, one could have three columns named « what », « for » and « action » or « do ». The content of the second column depends upon the selection in the first column. This way should cover all the combination, but there are not a lot indeed since only the entries « software » and « library » can be combined with the other. The GUI could look like this. Of course, one could arrange the order differently and/or change the labels, something like : « this »; optionally « for »; « to » update and else. Anyway, that won’t change the underlying scheme.

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s


%d blogueurs aiment cette page :