Discussion about the usability of urpm*

This forum is for general chat between members about Mageia.

Technical questions are supposed to be posted in support forums. Not here !

Discussion about the usability of urpm*

Postby iceflower » Mar 30th, '15, 18:17

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
iceflower
 
Posts: 6
Joined: Mar 29th, '15, 22:01
Location: DE

Re: Discussion about the usability of urpm*

Postby doktor5000 » Mar 30th, '15, 20:18

From my point of view it's pretty logical and also easy to use. urpmi for installation, urpme for deinstallation, urpmq and urpmf for queries. urpmi.update for operation on repositories, urpmi.addmedia for adding single or sets of repositories.
The only thing that should be done is to merge the functionality of urpmq and urpmf, as there's quite some overlap between those two.
To be honest I'd never considering the pronounciation for a tool to relate it to it's use case or for easier usage.

And FWIW, newcomers will probably not directly use urpm* tools, or read man pages at all - speaking from experience. This only applies for advanced users,
and usually those don't have much problems once they got the hang of it and used it a few times.
If you don't like the nesting or anything else, feel free to create an enhancement request via a bug report and attach a patch which changes it to your liking.
But you should probably discuss this beforehand on the development mailing list: https://ml.mageia.org/wwsympa-wrapper.fcgi/info/dev

If you want to have a look at some of the other things that urpmi can do, please check our software management MAQeia for more information on software and package management.

Totally apart from that, you can also try to use smart instead of urpmi. https://wiki.mageia.org/en/URPMI#smart
It has a pretty consistent and structured CLI interface and some neat features, like it's own dependency solver.
Check e.g. http://linux.die.net/man/8/smart
Cauldron is not for the faint of heart!
Caution: Hot, bubbling magic inside. May explode or cook your kittens!
----
Disclaimer: Beware of allergic reactions in answer to unconstructive complaint-type posts
User avatar
doktor5000
 
Posts: 17659
Joined: Jun 4th, '11, 10:10
Location: Leipzig, Germany

Re: Discussion about the usability of urpm*

Postby iceflower » Apr 2nd, '15, 22:23

Hi doktor5000,

I really appreciate your detailed reply. Thank you very much :)

Well, I am new to Mageia but I have been using linux distros for 5 or more years. I really like to use the command line package management tools. Despite this I experienced what I described above...

doktor5000 wrote:If you don't like the nesting or anything else, feel free to create an enhancement request via a bug report and attach a patch which changes it to your liking.
But you should probably discuss this beforehand on the development mailing list: https://ml.mageia.org/wwsympa-wrapper.fcgi/info/dev

Unfortunately, my programming skills aren't sufficient for providing a patch in perl and I do not want to point at something and say "this is bad, someone else has to do something about it". However I am currently working on a bash script which has its own commands but uses urpmi in the background. Aside from this I don't know if my point of view is balanced. That's why I looked for a discussion. The dev mailing list is a good idea by the way...thank you for the encouragement :D

doktor5000 wrote:Totally apart from that, you can also try to use smart instead of urpmi. https://wiki.mageia.org/en/URPMI#smart
It has a pretty consistent and structured CLI interface and some neat features, like it's own dependency solver.
Check e.g. http://linux.die.net/man/8/smart

Yeah, I will have a look at it. Thank you very much.
iceflower
 
Posts: 6
Joined: Mar 29th, '15, 22:01
Location: DE


Return to General discussions about Mageia

Who is online

Users browsing this forum: No registered users and 1 guest

cron