Blame hig/C/application-basics.page

Packit 1470ea
Packit 1470ea
      type="topic"
Packit 1470ea
      id="application-basics">
Packit 1470ea
Packit 1470ea
  <info>
Packit 1470ea
    <credit type="author">
Packit 1470ea
      <name>Allan Day</name>
Packit 1470ea
      <email>aday@gnome.org</email>
Packit 1470ea
    </credit>
Packit 1470ea
    <include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
Packit 1470ea
    <desc>Basic application characteristics.</desc>    
Packit 1470ea
  </info>
Packit 1470ea
Packit 1470ea
<title>Application basics</title>
Packit 1470ea
Packit 1470ea

These Human Interface Guidelines are intended to help with the creation of applications. An understanding of what an application is will help you to distribute your software more effectively, as well as ensure effective and consistent system integration.

Packit 1470ea
Packit 1470ea

The application model allows users to understand how software is distributed, installed and removed, as well as how that software behaves when in use. Ensuring that your software behaves according to this model will therefore help to ensure that it is predictable and conforms to user expectations. It will also ensure correct integration with system tools for installing and removing applications.

Packit 1470ea
Packit 1470ea
<section id="application-definition">
Packit 1470ea
<title>Defining an application</title>
Packit 1470ea
Packit 1470ea
<quote>

An application is a distinct and independent piece of software that incorporates useful functionality, and which can be installed on a user’s system.

</quote>
Packit 1470ea
Packit 1470ea

This definition can be broken down into a set of characteristics, which describe an application in more detail. Applications:

Packit 1470ea
Packit 1470ea
<list>
Packit 1470ea
<item>

Can be individually installed and removed from the system.

</item>
Packit 1470ea
<item>

Do not rely on other applications in order to run.

</item>
Packit 1470ea
<item>

Contain functionality of their own.

</item>
Packit 1470ea
<item>

Provide at least one <link xref="primary-windows">primary window</link>.

</item>
Packit 1470ea
<item>

Do not affect or interfere with the behavior of other applications.

</item>
Packit 1470ea
<item>

Have a unique name and <link xref="icons-and-artwork#application-icons">icon</link>.

</item>
Packit 1470ea
</list>
Packit 1470ea
Packit 1470ea

At the heart of this definition is a model that allows the modular installation and use of 3rd party software, in a way that avoids dependency issues and ensures simplicity of use.

Packit 1470ea
Packit 1470ea

In GNOME 3, only software that conforms to these characteristics should install an application launcher.

Packit 1470ea
Packit 1470ea
Packit 1470ea
Packit 1470ea
Applications are launched and switched to via their launchers...
Packit 1470ea
Packit 1470ea
-->
Packit 1470ea
Packit 1470ea
</section>
Packit 1470ea
Packit 1470ea
<section id="application-names">
Packit 1470ea
<title>Naming your application</title>
Packit 1470ea
Packit 1470ea

An application’s name is vital. It is what users will be first exposed to, and will help them decide whether they want to use an application or not. It is a major part of your application’s public face.

Packit 1470ea
Packit 1470ea

An application name plays a number of functions:

Packit 1470ea
Packit 1470ea
<list>
Packit 1470ea
<item>

It must advertise your application to potential users.

</item>
Packit 1470ea
<item>

It should serve to reinforce a positive identity, and have expressive qualities.

</item>
Packit 1470ea
<item>

It needs to identify your application in the systems where it is installed and run.

</item>
Packit 1470ea
</list>
Packit 1470ea
Packit 1470ea

Ensure that your application name is short - fewer than 15 characters. This will ensure that it is always displayed in full within a GNOME 3 environment.

Packit 1470ea
Packit 1470ea

Additionally, choose an application name that is easy to understand and communicates your application’s functionality. Avoid references which will not be understood or be familiar to potential users, such as obscure cultural references, inside jokes and acronyms. Instead, pick a name that references what your application does, or the domain in which it operates.

Packit 1470ea
Packit 1470ea
</section>
Packit 1470ea
Packit 1470ea
Packit 1470ea
Packit 1470ea
</page>