summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/PRINCIPLES38
1 files changed, 38 insertions, 0 deletions
diff --git a/doc/PRINCIPLES b/doc/PRINCIPLES
new file mode 100644
index 0000000..0350010
--- /dev/null
+++ b/doc/PRINCIPLES
@@ -0,0 +1,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.
+