From bd0e40c89ff50b0ff7b89481f6ff29adc230e7e6 Mon Sep 17 00:00:00 2001 From: Edoardo La Greca Date: Fri, 9 May 2025 21:26:00 +0200 Subject: add principles --- doc/PRINCIPLES | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 doc/PRINCIPLES 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. + -- cgit v1.2.3