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.
- Clean source with good source code documentation.
- Efficiency is important. However, when there is a choice between user experience/polish and efficiency, efficiency comes second.
- 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.
- 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
- 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.
- 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.