Giovanni Campagna wrote:
While we do have two nice UIs (gpk-application and apper) for
package
management, having to deal with packages, with no icons and no
translations is not appropriate for end users.
We do have translations of the fields that it's meaningful to translate –
summary and description – and the translations are displayed by RPM, Yum and
Packagekit. (Of course all the translations need to be written by someone, and
that work isn't complete.)
One thing that we surprisingly don't have is titles on the packages. With
"title" I mean the name of the program or library as it would be written in
normal English prose with English grammar taken into account. An application
installer GUI for nontechnical users should display the title of each
application, but it's currently impossible to write an algorithm to find out
the title of a Fedora package.
The package name is a technical name that often contains structure showing how
the package is related to other packages. It's restricted to English letters,
digits and a selected few other characters. The name is often an abbreviation
of the title witten in all lowercase, whereas the title should be written in
title case and may contain spaces, apostrophes, accents et cetera.
I think it makes sense to write the full title in the summary field, together
with a very short description showing what the package is used for. Some
packages have this, but many others have only a generic description in this
field.
For GUI applications it may make sense for the application installer to look
in the desktop file, but not all packages have a desktop file, and even when
they do it doesn't always contain the title.
In some cases only the description field contains the full title. This field is
meant for a somewhat long description that you wouldn't want to display in a
list of packages, and programmatically extracting the title from the text is
unreliable.
A few case studies:
Name: Zim
Summary: Desktop wiki & notekeeper
Description: Zim is a WYSIWYG text editor written in PyGTK [...]
zim.desktop: Name=Zim Desktop Wiki
zim.desktop: Comment=Edit text files "wiki style"
zim.desktop: GenericName=Text Editor
Here the package name is the title, in title case even. The summary shows what
the program is for. This may seem like the best way to do it, but the problem
is that not all packages can use their title for their package name. The
desktop file makes it look like the full title is "Zim Desktop Wiki", which I
don't think is what the author of Zim intended.
Name: totem
Summary: Movie player for GNOME
Description: Totem is simple movie player for the GNOME desktop. [...]
totem.desktop: Name=Movie Player
totem.desktop: Comment=Play movies and songs
The package name is the title in lowercase. Only the description contains the
title capitalized. The summary and the desktop file describe what the program
does, but are completely unhelpful to users who care about which video player
they use. The best way to get the title would be to take the package name and
convert it to title case.
Name: angrydd
Summary: Falling blocks game
Description: In Angry, Drunken Dwarves (ADD), you are an angry, [...]
fedora-angrydd.desktop: Name=Angry Drunken Dwarves
This title contains spaces and a comma, so the package name is an abbreviation
of the title. The summary is very generic. The description contains the full
title, but there's another word before it so an attempt to take the beginning
of the description to get the title would fail. The desktop file contains the
title except for the comma.
Name: alex4
Summary: Alex the Allegator 4 - Platform game
Description: In the latest installment of the series Alex travels [...]
fedora-alex4.desktop: Name=Alex the Allegator 4
fedora-alex4.desktop: Comment=Old school platform game
Again, the package name is an abbreviation of the title. The summary contains
the full title and also shows what the program does. This summary is all that
is needed in a list of packages. Displaying both the name and the comment from
the desktop file would also work. The description does not contain the title.
Name: zile
Summary: Zile Is Lossy Emacs
Description: Zile is a small Emacs clone. [...]
Regardless of whether "Zile Is Lossy Emacs" or just "Zile" should be
considered the full title, this summary contains the title and also describes
fairly well what the program does. At least anyone who might possibly want to
use it will get an idea of what it is. Displaying only the summary in a list
would be quite sufficient. There is no desktop file.
As you can see, there's no one field that always contains the title, and
there's no way a program can try them one at a time to arrive at the best
choice. This is in my opinion the most important thing to improve when it
comes to package management.
Björn Persson