Skip to content

Instantly share code, notes, and snippets.

@MggMuggins
Last active September 7, 2017 00:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MggMuggins/731adcf5b4029c477e5f225ba06f65c7 to your computer and use it in GitHub Desktop.
Save MggMuggins/731adcf5b4029c477e5f225ba06f65c7 to your computer and use it in GitHub Desktop.
A file that describes design goals for the Artemis desktop.

Preface

This document describes goals and rules for creating the Artemis desktop. It is written in plain english with an attempt to be clear and consice and is currently small enough to contain both internal design goals and user interface guidelines. It is a heavy work in progress.

We aim to create a desktop shell and applications for the desktop Linux experience. As such, no accomodations will be made specifically to support mobile platforms.

Design Goals

  1. Clean source with good source code documentation.
  2. Efficiency is important. However, when there is a choice between user experience/polish and efficiency, efficiency comes second.
  3. Modularity is key. Making components that can work apart from the whole as well as they can with it. This will allow multiple peices of our codebase to be reused easily.
  4. Consistency in both programming style and archetecture. Programming should be done in a similar way across our codebase. Also, archetecture should be consistent across all parts of the desktop.

User Interface Guidelines

  1. Polish is valued above extreme costumizability. As with anything, the more you are allowed to costumize it, especially at a low level, the less polish and more complexity it will have.
  2. Efficient use of screen space. Not all users have 24" or larger screens. Many use 12" laptops. App design and the shell should make efficient use of screen space in order to accomodate all possible use cases.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment