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 EXERCISE 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 for each 
	testnotes set;
	simpler, because user can click e.g. every second note (C-G-C-G)

=======
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.)


**************************************
******************* ALWAYS
**************************************
before release check-list:

- add mouse-over tags and whatis-es
- include all pictures explicitly into pics.h
- update CHANGELOG
- re-indent
- spellcheck :(
- add copyright and licence