From Fedora Project Wiki
No edit summary
(Adjust for Sundry folder removal in GNOME 3.22)
 
(17 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{admon/note|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<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.
== Guidelines for applications and launchers ==
== Guidelines for applications and launchers ==


Line 5: Line 9:
# 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''<ref name=unique /> 128×128 launcher icon with an alpha channel and a matching High Contrast icon.
* Have a ''unique'' 64x64 launcher icon.
* 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 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 '''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<ref name=hig />
** If the launched app is not an actual app, the launcher '''SHOULD''' include <code>X-GNOME-Utilities</code> in its launcher categories to be placed in the Utilities 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.


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) from 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 within 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 (soon to be turned into a must).
* 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 45: Line 47:
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 ===
=== Refrences and Footnotes ===
 
{{reflist|
refs=
<ref name=purge>[[Design/F18 Launcher Purge|F18 Launcher Purge]]</ref>
<ref name=hig>[https://developer.gnome.org/hig/stable/application-basics.html.en GNOME Human Interface Guidelines: Application basics]</ref>
<ref name=unique>The same icon '''MUST NOT''' by used by more than one launcher in the default installation.</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>
}}
 


* [http://people.freedesktop.org/~hughsient/appdata/ Appdata]
[[Category:Workstation guidelines]]
* [[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]
* TBD: GNOME 3 HIG - Application Basics (when officially published)
* [http://en.wikipedia.org/wiki/Application_software "Application Software" on Wikipedia]

Latest revision as of 15:09, 28 February 2019

Note.png
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-Utilities in its launcher categories to be placed in the Utilities 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 GNOME Human Interface Guidelines: Application basics
  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