Task:Package categories

m (Defined top-level categories & application-specific subcategories)
m (Defined top-level categories & application-specific subcategories: Add `navigation' from above.)
Line 102: Line 102:
| Multimedia
| Multimedia
| Canola, mplayer, Kagu, UKMP, MediaBox
| Canola, mplayer, Kagu, UKMP, MediaBox
 +
|-
 +
| user/navigation
 +
| Navigation
 +
| maemo-mapper, Navit
|-
|-
| user/network
| user/network

Revision as of 08:46, 25 October 2008

This wiki page serves as a discussion page where we will try to find a better way to categorize packages in the repositories.

This proposal is coordinated by Niels Breet.

Contents

Proposal

This is a DRAFT UNDER DISCUSSION. You can help reaching conclusions. Please add your comments to the discussion page. This proposal is part of the Extras repository process definition.

Maemo Packaging Policy

The Maemo Packaging Policy lists the following sections:

  • accessories
  • communication
  • games
  • multimedia
  • office
  • other
  • programming
  • support
  • themes
  • tools

One of the benefits of using official categories from this list, is that they will appear correctly localized in the Application Manager.

Problem

People feel the need to create new categories, because the current list is too limited.

  • There is beauty in simplicity. Adding more categories would never solve the problem for some people. --timsamoff 18:34, 16 October 2008 (UTC)

Another problem is that some categories aren't very descriptive. What applications go in to tools, support or accessories?

  • This may be the better method, although "descriptive" is still subjective. --timsamoff 18:34, 16 October 2008 (UTC)

Proposed solutions

Additional categories

We could add more categories to the official list. To do this we need to define a list of categories that need to be added. If we have a list of categories, we need to discuss whether they are really beneficial.

Please add your proposed category, description and motivation here:

  • desktop: A category for desktop plugins. --xfade 15:13, 4 August 2008 (UTC)
Could be a good idea, but what makes this different from "Accessories"? --timsamoff 18:35, 16 October 2008 (UTC)
Accessories -> what would one expect there. I personally think that Accessories is just as bad as Other ;) --xfade 08:20, 17 October 2008 (UTC)
Well, I think the ambiguity comes from developers not using the categories properly, not necessarily from the category names not being descriptiove enough (e.g., currently, we can't even expect the "music" category to have every music-oriented application included anyway). In this case, enforcing the proper use of categorization is more important than the actual category names. --timsamoff 13:09, 17 October 2008 (UTC)
  • Is there a possibility of subcategories? Or, do they all need to be top-level? --timsamoff 18:36, 16 October 2008 (UTC)
To keep with Debian sections, it can only be top-level. (IIRC) --xfade 08:20, 17 October 2008 (UTC)
Eh? We're already not "keeping with Debian sections" by insisting on a "user/" prefix for applications to be exposed to the user. Why is changing that to support "user/multimedia/Canola/themes" (for example) any worse? Or does the Debian policy already allow for the "user/" prefix? --Jaffa 13:12, 17 October 2008 (UTC)
Debian uses the first part for the part of the repo in needs to be in. For example non-free/hamradio will make the package end up in the non-free part of the repo. So Maemo uses an adaption of that idea ;) --xfade 14:17, 17 October 2008 (UTC)
So there's nothing intrinsically stopping us from having extra slashes. Indeed, I can almost perform the mental gymnastics to say we're using it to further sub-divide the repo ;-) --Jaffa 14:22, 17 October 2008 (UTC)
  • languages: for packages that add support for other languages. --matan
I think this should be put in 'user/support', no need to add a category for that? --xfade 09:47, 23 October 2008 (UTC)
Yes, I don't think we'll really have enough packages to justify a whole new category just for translation and input support. user/support already covers that stuff anyway. —GeneralAntilles 17:26, 23 October 2008 (UTC)
  • navigation: Suggested by GA. --xfade 09:47, 23 October 2008 (UTC)
Nokia is already using it for a number of their own packages, and considering the type of device we have it makes sense. —GeneralAntilles 17:26, 23 October 2008 (UTC)
  • Utilities, maybe? Question is, what do we do with accessories/tools/utilities, and, perhaps, desktop? —GeneralAntilles 17:26, 23 October 2008 (UTC)

Debtags

Debian Package Tags: Faceted Classification

As stated on the debtags website:

Drawing a bit freely from the literature of Faceted Classification, a facet is a group of tags which describe the same quality of a package. Package Tags are organized in Facets, that represent different points of view from which to look at the package archive. For example, you could have a "Usage" facet with tags about what a program is intended to be used for, or you could have a "Media" facet with tags about what kind of information a program is able to process, a "Technology" facet about the technology a package uses, and so on. With this approach, every tag is situated in a specific context, and has a clear meaning. Also, tags from different facets shed light on packages from different points of view, giving "depth" to its categorization. Take something tagged with "Use::Chatting", "Technology::IRC", "Role::Server": it has a remarkable level of detail, and tells almost everything we need to know about what the package does.

I'm not sure if this will help us here. We would need to specify a lot of tags for packages. Question is: how are we going to display this in the application manager or website without being confusing --xfade 12:02, 5 August 2008 (UTC)

Defined top-level categories & application-specific subcategories

Top-level sections, based on the freedesktop.org menu specification:

Key Example English i18n Example apps
user/accessories Accessories Calculators, terminals
user/development Programming py2deb
user/education Educational Flashcard apps
user/games Games Doom
user/graphics Graphics Photo apps, GIMP, Inkscape, fonts
user/multimedia Multimedia Canola, mplayer, Kagu, UKMP, MediaBox
user/navigation Navigation maemo-mapper, Navit
user/network Networking Web browsers
user/office Office GPE, Claws, AbiWord
user/settings Settings USBControl
user/system System rotation-support, enhanced kernels, themes

If the package's section starts "user/", but is not any of the above, the Application Manager forces them into an "Other" section.

Within each of these, projects may want to group a number of packages together. For this, sub-sections can be used. For example, Canola may have:

Package Section
canola2 user/multimedia/Canola
canola2-theme-flatblack user/multimedia/Canola/themes
canola2-youtube-plugin user/multimedia/Canola/plugins
canola-tuning user/multimedia/Canola/settings

The rule is simple:

  1. If the portion of the section path starts with a capital letter, it is shown as-is
  2. Otherwise the portion of the section path must be one of the above sections or, additionally:
    • themes
    • plugins
    • translations

Reference

freedesktop.org

The basic, rationalised, set of high-level sections according to the freedesktop.org menu specification are: Accessories, Development, Education, Game, Graphics, Multimedia, Network, Office, Settings, System.

Debian

The Debian archive maintainers provide the authoritative list of sections. At present, they are: admin, comm, devel, doc, editors, electronics, embedded, games, gnome, graphics, hamradio, interpreters, kde, libs, libdevel, mail, math, misc, net, news, oldlibs, otherosfs, perl, python, science, shells, sound, tex, text, utils, web, x11.

Previous discussions

Bugs

1805MediumRESOLVEDnormal4.1.xDeveloper GuideMaking a package for the Application Manager in maemo 3.x does not list what apps should go to what section[1]
Warnings were generated during the execution of function
  1. Parameter columns=id, priority, severity, modified, product, status, summary, to is invalid using regex /^[\w,_+-~]*$/