1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/docs/design.txt Fri Jul 08 21:05:20 2011 +0200 1.3 @@ -0,0 +1,38 @@ 1.4 + ____ _ _ _ _ _ 1.5 + / ___| ___ | |__ __ _ ___ | |__ | | | || |__ _ __ 1.6 + \___ \ / __|| '_ \ / _` | / __|| '_ \ | | | || '_ \ | '__| 1.7 + ___) || (__ | | | || (_| || (__ | | | || |_| || | | || | 1.8 + |____/ \___||_| |_| \__,_| \___||_| |_| \___/ |_| |_||_| 1.9 + 1.10 + Europalab SchachUhr - Game clock graphical user interface client 1.11 + 1.12 + DESIGN (IEEE 1016) 1.13 + 1.14 + #D.01 SVG format is given preference... 1.15 + ...unless underlying software components fail to properly display it. 1.16 + #D.02 Two subclocks are displayed side by side like physical game clocks. 1.17 + #D.03 UI surface is layout optimized for mobile or semimobile devices. 1.18 + #D.04 Target surface size resembles the size of a phyical game clock. 1.19 + ...however all UI components scale to fill the entire screen. 1.20 + ...this conflicts with #D.01, but can be solved by maximizing 1.21 + use of scalable vector formats and fonts while programatically 1.22 + choosing the size of nonvector UI components. 1.23 + #D.05 UI occupies the full screen and no window decorations are shown. 1.24 + #D.06 The application starts by showing the initial screen, in which 1.25 + both subclocks are active but not running. This is due to the 1.26 + application now knowing which opponent will begin moving first. 1.27 + #D.07 To start, an opponent presses their clockface in the initial screen. 1.28 + This indicates which player moves first. After this exceptional 1.29 + step, the running subclock alternates regardless of which part 1.30 + of the UI surface is pressed. 1.31 + #D.08 To alternate the running subclock, the playing opponent presses 1.32 + anywhere on the UI surface (even in the nonplaying opponent's area.) 1.33 + #D.09 RSS indicated updates are automatically published on project homepage. 1.34 + 1.35 + OPTIONS 1.36 + 1.37 + #O.01 Main window is scalable and provides window decorations. 1.38 + ...this conflicts with #D.05 and must be implemented by 1.39 + scaling UI components as well as the UI surface. 1.40 + #O.02 Online update detection alerts user to pending new releases. 1.41 + ...this complements #D.09 but must be implemented separately.