1-------------------------------------------------------------------------
2THINGS TO DO for GNU Typist
3
4See our latest TODO file at
5http://git.savannah.gnu.org/gitweb/?p=gtypist.git;a=blob_plain;f=TODO;hb=master
6
7If you are interested in helping for some of the below items, we will
8be glad to have you in the development team!
9
10You can contact us by writing to bug-gtypist@gnu.org. Your suggestions
11are welcome too!
12
13-------------------------------------------------------------------------
14
15FOR 2.9.2 RELEASE
16
17  * test UTF-8 character input on MinGW build
18
19  * fix this weird bug on the MinGW build:
20     - on Windows, run "gtypist.exe cs.typ"
21     - press ENTER 7 times (this should enter the lesson "Lekce T1")
22     - press ESCAPE, E, Y (to return to the menu)
23     - press ESCAPE (to go back to the previous menu)
24     - press ENTER (to select "Série T")
25     almost immediately, the first lesson on the "Série T" menu is
26     selected, automatically, without any further key presses.
27
28FOR 2.10 RELEASE
29
30  * support multibyte encodings other than UTF8??
31
32  * add a "beginner mode" which is enabled by default, and can be turned off
33    by --expert/-x
34    * this would explicitly show "return characters" (patch exists)
35    * this would set -e 10
36    * includes a help page that explains drills/speedtests, how to resize a
37      terminal window, ...
38    * how is that help page shown?
39      * either we have a beginner.typ that is executed before gtypist.typ
40        in beginner mode (requires switching of *.typ during runtime!), OR
41      * we have special T:[BEGINNER] commands that are only executed in
42        beginner mode
43
44  * Show correct line numbers when nonexistent label was hit in the M command.
45
46SHORT TERM
47
48  * Show the label of the last exercise on exit (so that the user can
49    easily return to it using -l). Currently, restarting at one of
50    these labels won't set the banner, though.
51
52  * Show a warning when caps lock is active
53
54  * I'd like an option that only enabled wordwrapping.  The -w option does
55    enable wordwrapping, but it also changes how paragraph breaks and
56    spaces after periods are handled, which I don't want.
57    Requested by Adam Olsen <rhamph@d2dc.net>
58
59  * Make sure that all source files come with a suitable copyright
60    statement (may be different with lessons?)
61
62  * Make sure that the numpad's [ENTER] key is accepted in numpad
63    lessons. (Reported by gherald@myway.com)
64
65  * Another idea is to generate our lessons files directly in our
66    format from spelling dictionaries, as they do in KTouch.
67
68  * Reuse lessons from dvorak7min and possibly other typing tutors.
69
70  * Replace 'getopt' by 'GNU gengetopt'
71
72  * Improve the French translation of "lesson file", which includes
73    both Drills (translated by "Exercice") and Speed tests ("Tests de
74    vitesse").
75
76  * Make a separate package for lessons, so that lessons compatible
77    with a given gtypist version can be released without having to
78    release the tool again.  This is already done by other packages:
79    gimp plug-ins or TeTeX fonts are released separately.
80
81    This is definitely need for this tool, for which tutorial files
82    are at least as valuable as the raw program itself.
83
84  * Provide a variant of the `n.typ' calculator keypad lesson, in
85    which the `.' character is replaced by `,'. Useful for some
86    european keyboards.
87
88  * Add configuration file support. Should be very useful, in
89    particular for teachers!
90
91  * allow strings from a .typ file to be translated (things like
92    "lesson: ")
93
94  * Mac OS X Package? => there is already macports or similar!
95
96
97  * Test wpemu option in combination with multibyte lessons
98
99MEDIUM TERM
100
101  * Windows installer, shortcuts for different lessons and manual?
102
103  * Improve the interface by adding 2 interfaces:
104
105    * Graphical interface (Probably GTK)
106
107      The benefits we can expect from a GTK interface are:
108
109      - Much attractive than the `ncurses' interface.
110      - Not using `ncurses' should avoid problems supporting different
111        terminal types.
112      - We could have a graphical control panel, to change settings
113        that are so far only available in the command line (keyboard
114        type, silent mode...)
115      - Easy access to help and manual
116      - Could still be compiled on Win32 on which GTK has been ported.
117
118    * Audio interface
119
120      Could use a system like Speech Dispatcher to read the lessons
121      for visually impaired people or people living in very dense fog.
122
123      We could also support audio typing exercises.  Users would type
124      from a text read by a speaker.  Several audio files would be
125      need, according to the language and the targeted typing speeded.
126      That would be useful for people like secretaries and
127      journalists.
128
129      All this could be implemented in a clean way by implementing an
130      event based mechanism. The core application could send interface
131      messages to a generic interface manager, which could according
132      to user settings, ask the graphical, text or audio interface to
133      send it to the user.
134
135      Specifications are on going.
136
137  * Add support for saving the last lesson (or part of a lesson) the
138    user was working on, so the user can easily pick up where s/he
139    left off.  (idea by Enrique Pedroso)
140
141  * Improve the documentation of course files
142
143  * Broaden our lesson database:
144
145    - Create new lessons for other languages and keyboard types.
146    - Translate lessons in other languages (for languages that share
147      the same keyboard, you can reuse instructions and drills)
148    - We can also look for teachers who are ready to contribute
149      lessons or let us reuse theirs...
150    - Reuse lessons from old typing teaching books which copyrights
151      have expired (how much time does it take?).
152    - This will most likely require UTF-8 support
153
154  * Better typing statistics.  Speed and accuracy for individual keys,
155    and individual fingers. This helps to indicate where extra
156    practice may be useful to the user (see Jtypist which displays
157    this as graphical bars, using color to indicate areas that need
158    work).  A measure of typing rhythm would also be useful.
159
160  * Emulate other keyboard types.  For example, Jtypist can pretend
161    that you have a French, German, or Dvorak keyboard on the system
162    even if you don't.  It will translate keypresses between keyboard
163    types before checking them for correctness, and registering
164    timings.  This work requires that the program should have keyboard
165    layout maps available to it, and arises as a result of maintaining
166    typing statistics by key and by finger (the program needs to know
167    what key is operated by which finger).
168
169LONG TERM
170
171  * While typing, graphically show the finger that is supposed to be used.
172
173  * Read lessons in the file formats of other free typing tutors (such
174    as Jtypist).
175