blob: 0350010cf0f2187f13f1e96db1183828f9243542 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
==========
Principles
==========
This document describes the fundamental principles and design choices that
shape Femtokit.
Basic principles
================
1. Femtokit is designed to be *fundamentally simple*. The concepts that form
its basis are few and simple.
2. Despite being based on simple concepts, Femtokit intends to provide to its
users a fair amount of reasonably chosen behavior customization options.
3. Femtokit should depend (i.e. not be able to work without) few essential
libraries at most, for the purpose of having a common ground between
platform-specific APIs.
Results of its principles
-------------------------
The expected results of the principles listed above are:
1. Simpler data structures and code, which makes the code base more
maintainable and easier to expand.
2. Reasonable behavior customization options that ease usage in certain cases
(e.g. disabling all animations in case of a VNC connection; upscaling options
for larger displays).
3. Better portability due to fewer dependencies.
Look and feel
=============
1. The default look of the user interface is not expected to be the most
good-looking thing ever with amazing animations, just something fairly good
to look at that doesn't excessively tire the viewer's eyes. Animations are
not a priority.
|