From Fedora Project Wiki

Revision as of 13:05, 19 March 2015 by Mclasen (talk | contribs) (→‎For applications:: typo fix: form -> from)

Note: Officially Approved
This policy has been approved as a Fedora Workstation specific policy in the Workstation WG meeting on 2014-08-27.

In the past, we've had efforts[1] to clean up the default set of installed launchers in Fedora, but we never had a documented policy about what should stay and what should go.

Guidelines for applications and launchers

This policy is written with two facts in mind:

  1. Fedora's default desktop offering is Fedora Workstation.
  2. Fedora Workstation uses GNOME by default.

As such, should the WG would decide to switch away from GNOME, this policy will need to be re-evaluated.

Furthermore, this policy does not aim to apply to all applications in the distribution. It's meant to apply to anything we include by default in our default desktop product. Non default applications are welcome and encouraged to follow these guidelines to improve user experience, but will not be forced to follow them for the forseeable future.


Policy

The following policy differentiates between "app launcher" and "app":

  • An "app launcher" is a desktop file+icon that is shown in the application view.
  • An "app" is an application as defined by the GNOME 3 HIG[2].

Mandatory items are marked with "MUST" and "MUST NOT", the rest is nice-to-have.

For launchers:

  • App launchers MUST have a unique[3] 128×128 launcher icon with an alpha channel and a matching High Contrast icon.
  • App launchers MUST have a name that is either shorter than 15 characters or immediately recognizable even when elipsized.
  • App launchers MUST Have a comment field in the desktop file with a one line summary of what the app is.
  • App launchers MUST Be packaged separately (subpackages are okay) from other launchers - no more than one launcher per (sub)package[4].
  • App launchers SHOULD Have a 256×256 launcher icon.
  • An app launcher SHOULD Launch software that is an actual app - see the GNOME 3 HIG for the exact definition[2]
    • If the launched app is not an actual app, the launcher SHOULD include X-GNOME-Sundry in its launcher categories to be placed in the Sundry folder in GNOME Shell.

For applications:

  • Apps MUST NOT depend on / pull in other apps OR app launchers[4].
    • As such, apps MUST be packaged separately (subpackages are okay) from other apps OR launchers.
  • Apps MUST have exactly one app launcher - ie. two launchers to two separate parts of the same app is not allowed.
  • Apps MUST be installable[5] and removable independently from within GNOME Software.
    • If an app is part of the agreed upon "core desktop experience"[6], it MUST NOT be removable from within GNOME Software (eg. GNOME Software must not remove itself).
  • Apps SHOULD have appdata[7] metadata.
  • Apps SHOULD have a good, documented reason for being included in the default set.

An app or launcher that fails to complies with these guidelines MUST NOT be included in the default install.

Furthermore, if an app that doesn't follow this policy is included by default, it should be considered a Final Release blocker until the app is fixed to conform the policy or removed from the default install.

Refrences and Footnotes

  1. F18 Launcher Purge
  2. 2.0 2.1 HIG link TBD when the HIG is officially published
  3. The same icon MUST NOT by used by more than one launcher in the default installation.
  4. 4.0 4.1 To prevent cases in which the user tries to install one app from GNOME Software, and gets more apps than they asked for. Similarly, it also prevent cases where removing one app removes another, which is something a user will not expect
  5. For an app to be installable from Software it must adhere to appstream-glib guidelines
  6. Core desktop experience is not "everything that is installed by default", and should be as minimal as possible.
  7. Appdata