devel: TODO/ideas for future



__________KLEARNNOTES2_______ROAD______MAP__________


general ideas for future development; for details see TODO-details


**************************************
******************* IN VERSION 1.1
**************************************

=======
1. decreasing time of pauses between questions and leave only limited
        (and decreasing) time for an answer

   WHY? this should improve dynamics of tests and motivate user to work
        on speed/automatic answers

  WHAT? two kinds of exercises: without time decrease (introductory) and 
        with one

DANGER: don't over-do; this should not change KLN2 to a mission-impossible prog.


=======
1'. make comments textbox with permanent info about results

   WHY? if (1.) is implemented comments might vanish before user actually
        sees whether she answered right
      + it may enable some wiser after-test suggestions

=======
2.  individual testnotes selection and individually auto-design test

   WHY? if an user makes mistakes about particular notes it may be beneficial
        if the program designs for her a special exercise to train these notes

DANGER: user may make mistakes about a note only in particular combinations
        (e.g. after a note which is far away in the staff); thus these custom
        exercises may not actually address what really is a problem here

=======
3. calculate default length of test based on number of testnotes

   WHY? for 4 testnotes a 40-questions test seems reasonable; for all 23
        notes this is quite silly (probably, each note will be asked about only
        once or twice)


=======
MAYBE:
- internationalize (no f*****g way - too much work, no use)
- use volume (HOW??? open+write to /dev/mixer???)
- more fancy levels (at least: get rid of really stupid 2-notes levels for the
        bass clef)

CODE; MAYBE:
- clean up the code: give more consistent and shorter names to slots/actions;
        maybe extract all midi functions to a separate class
- use kdelibs (kmid) or TSE for midi (actually this should be a choice; some
        people may not have kde and most don't have TSE!)




**************************************
******************* IN VERSION 1.2
**************************************
COMPLETELY NEW EXERCISES' IDEAS  but based on similar interface

=======
1. add exercise in another direction: 
        user can see all testnotes;
        one button gets highlighted and she has to click on all notes with 
        it's name (if OK a note gets green, if wrong a note gets red + label
        comments with no.of remaining notes of this name);
DANGER: user may make mistakes about a note only in particular combinations
        (e.g. after a note which is far away in the staff); thus these custom
        exercises may not actually address what really is a problem here

=======
3. calculate default length of test based on number of testnotes

   WHY? for 4 testnotes a 40-questions test seems reasonable; for all 23
        notes this is quite silly (probably, each note will be asked about only
        once or twice)


=======
MAYBE:
- internationalize (no f*****g way - too much work, no use)
- use volume (HOW??? open+write to /dev/mixer???)
- more fancy levels (at least: get rid of really stupid 2-notes levels for the
        bass clef)

CODE; MAYBE:
- clean up the code: give more consistent and shorter names to slots/actions;
        maybe extract all midi functions to a separate class
- use kdelibs (kmid) or TSE for midi (actually this should be a choice; some
        people may not have kde and most don't have TSE!)




**************************************
******************* IN VERSION 1.2
**************************************
COMPLETELY NEW EXERCISES' IDEAS  but based on similar interface

=======
1. add exercise in another direction: 
        user can see all testnotes;
        one button gets highlighted and she has to click on all notes with 
        it's name (if OK a note gets green, if wrong a note gets red + label
        comments with no.of remaining notes of this name);
        user answers until she marks all the right notes;

        NOTE: this is probably simpler than notes' name recognition
        and might be suggested as an introductory exercise at each level

=======
2. add sequence reading exercise: 
        few notes visible in the staff;
        user has to click names of the notes in right order;
        correct names should be shown under the staff as she types 
        (in red if you type wrong, in green if right)

=======
3. idea (2.) the other way around:
        note's name and a range of the staff gets highlighted;
        user is to click on notes location (which would make the note appear);



**************************************
******************* IN VERSION 2.0
**************************************
NEW INTERFACE EXERCISES (sharps, flats, exe based not-on-notes)

=======
1. teach key signatures
   * order of sharps/ order of flats
        (exercise1: two lines of buttons(no staff):
                    drag letters to unscramble the order
         exercise2: sharps/flats are shown on staff on right pitch, but in
                    wrong order: sort it out
         exercise3; place N sharps/flats on staff) 
   * name key signature (both Major and minor)
   * find notes between which there is one-semitone separation

=======
2. teach major/minor chords writing in staff & recognition

=======
        user answers until she marks all the right notes;

        NOTE: this is probably simpler than notes' name recognition
        and might be suggested as an introductory exercise at each level

=======
2. add sequence reading exercise: 
        few notes visible in the staff;
        user has to click names of the notes in right order;
        correct names should be shown under the staff as she types 
        (in red if you type wrong, in green if right)

=======
3. idea (2.) the other way around:
        note's name and a range of the staff gets highlighted;
        user is to click on notes location (which would make the note appear);



**************************************
******************* IN VERSION 2.0
**************************************
NEW INTERFACE EXERCISES (sharps, flats, exe based not-on-notes)

=======
1. teach key signatures
   * order of sharps/ order of flats
        (exercise1: two lines of buttons(no staff):
                    drag letters to unscramble the order
         exercise2: sharps/flats are shown on staff on right pitch, but in
                    wrong order: sort it out
         exercise3; place N sharps/flats on staff) 
   * name key signature (both Major and minor)
   * find notes between which there is one-semitone separation

=======
2. teach major/minor chords writing in staff & recognition

=======
3. design somehow common interface to all kinds of exercises

=======
4. theory help (what is the order of sharps/flats etc.)