# Introduction

These guidelines are for interface designers, graphic artists, and software developers working on apps for elementary OS. They not only define specific design elements and principles, but also help instill a philosophy that enables you to decide when it is appropriate to deviate from the guidelines.

Adhering to the suggestions contained here provides many benefits:

* Users will **learn to use your app faster**, because it shares common elements that they are already familiar with.
* Users will **accomplish tasks more quickly**, because you will have a straight-forward interface design that isn't confusing or difficult.
* Your app will appear **native to the desktop**, and share the same elegant look as default applications.
* Your app will be **easier to document**, because an expected behavior does not require explanation.
* The **amount of support you will have to provide will decrease**—including the number of issues filed—for the reasons above.

To help you achieve these goals, these guidelines cover basic interface elements, how to use them and put them together effectively, and how to make your app integrate well with the desktop. The most important thing to remember is that **following these guidelines makes it easier to design a new app**—not harder.

{% hint style="info" %}
Keep in mind that this is a set of guidelines, not a rule book. New, amazing interaction paradigms appear every day and more are waiting to be discovered. This is a living document that can and will be changed.
{% endhint %}

For sections that have not yet been written, please refer to [The GNOME HIG](https://developer.gnome.org/hig).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.elementary.io/hig/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
