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