From Fedora Project Wiki
(→‎Policy: - App launchers should have a 256×256 icon)
(Change wording and shuffle things around in an attempt to make the document look and sound more official.)
Line 1: Line 1:
{{admon/note|Note: not officially approved|This policy is presented here under a personal namespace as it is still a draft. It is not an official Fedora policy.}}
In the past, we've had efforts<ref name=purge /> 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.
This document is a draft of such policy.
== Guidelines for applications and launchers ==
== Guidelines for applications and launchers ==


Line 5: Line 11:
# Fedora Workstation uses GNOME by default.
# Fedora Workstation uses GNOME by default.


As such, if the WG would decide to switch desktops, this policy will need to be re-evaluated.
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.
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.
If other applications want to follow it it'd be great, because it will improve user experience, but I can't force them to.
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 ===
=== Policy ===
In the following policy, I differentiate between "app launcher" and "app".
The following policy differentiates between "app launcher" and "app":


An "app launcher" is a desktop file+icon that is shown in the application view, clicking on it would launch the 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<ref name=hig />.


An "app" is an application as defined by the GNOME 3 HIG (link TBD when HIG is published).
Mandatory items are marked with "MUST" and "MUST NOT", the rest is nice-to-have.


As always in policies, mandatory items are marked with the words "must" and "must not", the rest is nice-to-have.
====For launchers:====


App launchers in Fedora workstation '''must''':
* App launchers '''MUST''' have a ''unique'' 128×128 launcher icon with an alpha channel and a matching High Contrast icon.
* Have a ''unique'' 128×128 launcher icon with an alpha channel.
* App launchers '''MUST''' have a name that is either shorter than 15 characters or immediately recognizable even when elipsized.
* Have a matching High Contrast icon.
* App launchers '''MUST''' Have a comment field in the desktop file with a one line summary of what the app is.
* Have a name that is either short enough to not be elipsized by the shell (shorter than 15 characters) or immediately recognizable even when elipsized.
* App launchers '''MUST''' Be packaged separately (subpackages are okay) from other launchers - no more than one launcher per (sub)package<ref name=one />.
* Have a comment field in the desktop file with a one line summary of what the app is.
* App launchers '''MUST''' Have a 256×256 launcher icon.
* Be packaged separately (subpackages are okay) from other launchers - no more than one launcher per (sub)package.
* An app launcher '''SHOULD''' Launch software that is an actual app - see the GNOME 3 HIG for the exact definition<ref name=hig />
** If the launched app is not an actual app, the launcher '''SHOULD''' include <code>X-GNOME-Sundry</code> in it's launcher categories to be placed in the Sundry folder in GNOME Shell.


App launchers in Fedora workstation '''should''':
====For applications:====
* Launch software that is an actual app - see the GNOME 3 HIG on the exact definition (link TBD when the HIG is published)
* If the app is not an actual app, it should have the appropriate desktop file categories to be placed in the Sundry folder in GNOME Shell.
* Have a 256×256 launcher icon.


Apps in Fedora Workstation '''must''':
* Apps '''MUST NOT''' depend on / pull in other apps OR app launchers<ref name=one />.
* Not depend on / pull in other apps OR app launchers.
** As such, apps '''MUST''' be packaged separately (subpackages are okay) form other apps OR launchers.
* Have exactly ''one'' app launcher - ie. two launchers to two separate parts of the same app is not allowed.
* Apps '''MUST''' have exactly ''one'' app launcher - ie. two launchers to two separate parts of the same app is not allowed.
* Be packaged separately (subpackages are okay) form other apps OR launchers OR plugins.
* Apps '''MUST''' be installable<ref name=software-install /> and removable independently from within GNOME Software.
* Installable and removable independently from within GNOME Software, unless part of the "core applications" set, in which case they must NOT be removable.
** If an app is part of the agreed upon ''"core desktop experience"''<ref name=core />, it '''MUST NOT''' be removable from withing GNOME Software (eg. GNOME Software must not remove itself).
 
* Apps '''SHOULD''' have appdata<ref name=appdata /> metadata.
Default apps in Fedora Workstation '''should''':
* Apps '''SHOULD''' have a good, documented reason for being included in the default set.
* Have appdata metadata.
* Have a good reason for being included in the default set, especially if not considered part of the core desktop experience by the GNOME upstream.
* Start in under than 10 seconds (on modern hardware).


An app or launcher that fails to complies with these guidelines '''MUST NOT''' be included in the default install.
An app or launcher that fails to complies with these guidelines '''MUST NOT''' be included in the default install.
Line 47: Line 49:
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.
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.


=== References ===


* [http://people.freedesktop.org/~hughsient/appdata/ Appdata]
=== Refrences and Footnotes ===
* [[Design/F18 Launcher Purge|F18 Launcher Purge]]
 
* [https://github.com/hughsie/appstream-glib/blob/master/README.md#what-is-an-application appstream-glib application definition]
{{reflist|
* TBD: GNOME 3 HIG - Application Basics (when officially published)
refs=
* [http://en.wikipedia.org/wiki/Application_software "Application Software" on Wikipedia]
<ref name=purge>[[Design/F18 Launcher Purge|F18 Launcher Purge]]</ref>
<ref name=hig>HIG link TBD when the HIG is officially published</ref>
<ref name=one>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</ref>
<ref name=software-install>For an app to be installable from Software it must adhere to [https://github.com/hughsie/appstream-glib/blob/master/README.md#what-is-an-application appstream-glib guidelines]</ref>
<ref name=core>Core desktop experience is ''not'' "everything that is installed by default", and should be as minimal as possible.</ref>
<ref name=appdata>[http://people.freedesktop.org/~hughsient/appdata/ Appdata]</ref>
}}

Revision as of 19:52, 21 August 2014

Note.png
Note: not officially approved
This policy is presented here under a personal namespace as it is still a draft. It is not an official Fedora policy.

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.

This document is a draft of such policy.

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 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[3].
  • App launchers MUST 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 it's 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[3].
    • As such, apps MUST be packaged separately (subpackages are okay) form 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[4] and removable independently from within GNOME Software.
    • If an app is part of the agreed upon "core desktop experience"[5], it MUST NOT be removable from withing GNOME Software (eg. GNOME Software must not remove itself).
  • Apps SHOULD have appdata[6] 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. 3.0 3.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
  4. For an app to be installable from Software it must adhere to appstream-glib guidelines
  5. Core desktop experience is not "everything that is installed by default", and should be as minimal as possible.
  6. Appdata