Hi everyone,
I want to share my thoughts about the usability of urpm*'s command line interface (CLI) and I'm also curious about your opinions. My aim is really to discuss the topic in a sober manner so please do not get angry with me if you disagree with my opinion. Let us focus on the arguments.
Now to the topic: In my opinion the usability of urpm*'s CLI could be better. First of all, the names like "urpmi" are tongue-twisters for me. For me it feels really strange to pronounce it. What do you experience when you pronounce it? And even thinking "oh, ok, I can use urpmi for this..." becomes hard and feels strange for me because I have a complicated, unnatural pronunciation associated with it. This is one reason why I find it hard to get familiar with the urpm* tools.
An other thing which I find counterproductive is the "command nesting", for example "urpmi.addmedia" where you invoke the "addmedia" command on the "install" command. Every time when I just want to execute such a "child command" I have to remember its "parent command" first. This is hard to remember and counterintuitive.
Furthermore (in my opinion) the CLI violates some software principles. The "command nesting" which I mentioned above ignores the "separation of concerns" principle because adding a new media has nothing to to with the installation use case. You could also see "urpmi.addmedia" (or "urpmi.update") as a violation of the abstraction/encapsulation principle since the user just wants to add a new media. How this is handled internally does not matter. The analogy principle is also violated at some points because there are some commands which are modeled as high-level commands (e. g. urpmi) and some as sub-commands (urpmi.update) and some as options (--list-media). This "mess" also leads to unstructured man pages which are more confusing than helpful – especially to Mageia newcomers.
The software management tool (for the command line) is probably the most essential tool for experienced linux users. If this tool is not easy to use then it is a barrier for using the distro. And to be honest: urpm* scares me off of using Mageia because it is not user-friendly for me.
What do you think?
Best wishes,
Falco