KDEEdu/Parley/Todo: Difference between revisions
< KDEEdu
(Redesign of Multiple Choice Test is Done. see https://quickgit.kde.org/?p=parley.git&a=commit&h=5e27c8c3da7cd95d9bc84649babc9d045c97e109) |
|||
(146 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
== Parley Practice | == Parley Practice Rewrite for KDE 4.5 == | ||
=== General === | === General === | ||
* TODO: does Paraphrase make any sense at all? yes, we got a bug and it should return! | |||
* TODO: does Paraphrase make any sense at all? | |||
* TODO: remove Antonym completely | * TODO: remove Antonym completely | ||
* | * TODO: add grammar grade visualisation in the practice setup | ||
* TODO: show comments during practice | |||
==== Keyboard focus issues ==== | |||
* URGENT: make sure keyboard focus is set to the central widget in written mode after starting the practice | |||
*URGENT: make sure keyboard focus is set to the continue button in flash card mode after starting the practice | |||
*URGENT: mixed letter, example sentence: make sure it also works after fixing written mode | |||
*URGENT: multiple choice: set focus to the first radio button everytime | |||
*URGENT: gender of nouns: make sure it also works after fixing multiple choice | |||
==== Synonyms ==== | ==== Synonyms ==== | ||
Line 23: | Line 22: | ||
* TODO: change/rewrite dock widget | * TODO: change/rewrite dock widget | ||
* DISCUSS: practice options (is this really really needed?): | * DISCUSS: practice options (is this really really needed?): | ||
** accept any synonym as correct (BEN_SCHL) | * <strike>DONE: Check synonyms as part of written practice</strike> (BEN_SCHL) | ||
** ask to enter all synonyms (BEN_SCHL) | ** <strike>DONE: accept any synonym as correct</strike> (BEN_SCHL) | ||
** show already entered synonyms in list (BEN_SCHL) | ** <strike>DONE: ask to enter all synonyms</strike> (BEN_SCHL) | ||
** ask until the exact word that is wanted is there, but don't count other synonyms as wrong on the way there (BEN_SCHL) | ** <strike>DONE: show already entered synonyms in list </strike>(BEN_SCHL) | ||
** <strike>DONE: ask until the exact word that is wanted is there, but don't count other synonyms as wrong on the way there</strike> (BEN_SCHL) | |||
** <strike>DONE: Check user options if he really wanted synonyms to be counted as correct by now we always accept them as correct (BEN_SCHL) </strike> | |||
** Let other modes benefit from synonyms. Maybe similar to the hint button show a synonym if it exist? | |||
** <strike>DONE: If in written mode a synonym was entered, check if that synonym is in this practice mode and increase its good count ?</strike> (BEN_SCHL) | |||
==== LaTeX support ==== | ==== LaTeX support ==== | ||
* TODO: | * TODO: create LatexLabel which behaves like a label and detects and renders latex automatically | ||
* TODO: | * TODO: polish and test | ||
* TODO | * TODO add documentation to manual | ||
=== Configure Practice === | === Configure Practice === | ||
* TODO: Reimplement Time limits: only let the user select if the time limit is active, use show solution after answering | |||
* TODO: Time limits: only let the user select if the time limit is active, use show solution after answering | |||
=== Completely Missing === | === Completely Missing === | ||
Still missing are: | Still missing are: | ||
* TODO: Vocabulary test (school like) with good summary and "grade" | * TODO: Vocabulary test (school like) with good summary and "grade" | ||
** no button for hints | ** no button for hints | ||
Line 74: | Line 49: | ||
** DISCUSS: do we want to have some type of "grade" and if yes, how should it be calculated? | ** DISCUSS: do we want to have some type of "grade" and if yes, how should it be calculated? | ||
* | |||
* | ==== Comparison Forms ==== | ||
You know? Adjectives and adverbs - words that describe other words. | |||
* green/red for right answers make right answers disabled so they can't be screwed up again | |||
* URGENT show solution if wrong | |||
* URGENT do not randomly skip words when answer was wrong | |||
* URGENT: the summary table at the end is completely broken | |||
* URGENT: are the grades displayed correctly? | |||
=== Flash Card === | === Flash Card === | ||
* | * URGENT: add sound and pronunciation, same as in written mode, only needs code in flashcardmodewidget.cpp to be changed | ||
=== Multiple Choice === | === Multiple Choice === | ||
* <strike>DONE | |||
* <strike>DONE dani_l: hotkeys (maybe in menu? even configurable??) for the choices: 1 for first, 2 for second...</strike> | |||
** TODO - KDE 4.6: use kactions and make sure they are configurable | |||
** | |||
* <strike>DONE | * <strike>DONE: it would be nice to get rid of the radio buttons in favor of having something else maybe - a list? something that looks nicer</strike> | ||
* Adding sound pronunciation and comment would be nice here too | |||
=== Written === | === Written === | ||
* | * There is a class like this, "answervalidator.cpp" but it's ugly old and eats kittens. Cleaning it up would be ok. Things like word similarity are in there. | ||
* | ** Moved some of the code to the new WrittenPracticeValidator class maybe move more funtionality there ? | ||
* | |||
* | * how far do we want to go when comparing answers? what feedback should the user get? | ||
* | ** you made a spelling mistake (this can be done by running spellcheckers and comparing what they suggest for a word with the solution) | ||
** you wrote nonsense | |||
* | === Conjugation === | ||
** | * (optionally?) disable questioning of conjug forms that are blocked (individual forms) | ||
** | * also ask the infinitive | ||
** | * URGENT: result table after summary is completely broken | ||
** | * URGENT: are the grades displayed correctly? | ||
** | |||
*** | === Comparison Forms === | ||
* | * implement blocking | ||
=== Articles/Gender of Noun === | |||
* implement blocking | |||
=== Declensions === | |||
* research what froms make sense... | |||
** plurals | |||
** cases | |||
** gender | |||
** ??? | |||
* there is a dock widget started for this somewhere | |||
* write the entire practice mode from scratch | |||
=== All Practice Modes === | === All Practice Modes === | ||
* | * DISCUSS: define our terminology, e.g. is it grade or box, answer or solution, correct or right, incorrect or wrong etc. | ||
* TODO: | * TODO: implement support for showing pronunciation for every practice frontend | ||
* TODO: | * TODO: implement support for sound for every practice frontend | ||
* | * URGENT: implement the "enable hints" option | ||
* | * URGENT: implement the "enable sound" option to make the sound autoplay | ||
* TODO: | * TODO KDE 4.6: sound - rename "enable sound" to "autoplay sound" and implement it | ||
=== Grades === | === Grades === | ||
Line 126: | Line 120: | ||
* ... | * ... | ||
* 7 best level | * 7 best level | ||
* Words are answered correctly: | |||
Words | ** a correct answer gives grade += 1 | ||
* a correct answer gives grade += 1 | ** a word that has been answered correctly is not asked again | ||
* a wrong answer gives grade = 1 (reset to lowest level) | * Words are answered wrong: | ||
** a wrong answer gives grade = 1 (reset to lowest level). Wrong anserws are: | |||
* a | *** If a hint message has been used (may change policy here later if it doesn't work out) | ||
* words that were incorrectly answered will come up again until they are answered correctly (or the practice is stopped) | *** If an accent and/or capitalisation mistake was made (might be accepted as right if the option is chosen in the config) | ||
** If answer stays the same after enter is pressed a second time assume the user doesn't know the answer and continue. | |||
* when a word is answered after being answered wrong before, it ends up on level 2, if the practice is stopped before, it stays in level 1 | ** Just print a different message if the user corrected himself and the answer was right | ||
** words that were incorrectly answered will come up again until they are answered correctly (or the practice is stopped) | |||
** DISCUSS: when a word is answered after being answered wrong before, it ends up on level 2, if the practice is stopped before, it stays in level 1 (Leitner says it stays in 1 ?) | |||
* URGENT: make sure that grading is implemented correctly in every practice mode and respects the "3 correct answers" setting | |||
* DISCUSS: If you answer an unknown word wrong or right doesn't matter as by definition above wrong words get set to level 1 (from 0) and right words get increased to 1 (from 0). I changed that correct new words end up in level 2 ? (BEN_SCHL) | |||
* DISCUSS: what happens when practicing with multiple modes? does only the last mode affect the grading? make in configurable? (DOES THIS STILL APPLY?) | |||
* DISCUSS: what happens when practicing with multiple modes? does only the last mode affect the grading? make in configurable? | |||
* DISCUSS: find out if restricting the grading for each mode makes sense (e.g. saying "if i practice in multiple choice, the word can only rise up to grade 3") | * DISCUSS: find out if restricting the grading for each mode makes sense (e.g. saying "if i practice in multiple choice, the word can only rise up to grade 3") | ||
** TODO: figure out a sane way to configure this | ** TODO: figure out a sane way to configure this or give different grades for each practice mode ? | ||
* TODO: pass in 3 int from backend to frontend: current, good, bad (so that the selection of right/wrong can be previewed correctly) | |||
** note: basically it is already implemented, but in a quick and in some (most?) cases wrong way. we probably need some TestEntry::gradeIfWrong() etc or something like that | |||
** | |||
=== Summary Page (after practice is finished) === | === Summary Page (after practice is finished) === | ||
* | * TODO for some practice modes the result is complete nonsense - eg conjugations show the normal words in the summary | ||
* TODO fregl: add a button to print a list with $number words you should practice | * TODO fregl: add a button to print a list with $number words you should practice | ||
Line 196: | Line 149: | ||
* TODO: table: add column for grades (including combo box for changing the grade) | * TODO: table: add column for grades (including combo box for changing the grade) | ||
* TODO: summary dock widget: make word type work ( | * TODO: summary dock widget: make word type work | ||
** setting works | |||
** instead of the normal model use a flat list model (proxy would work) | |||
* TODO: remove leitner box classes | * TODO: remove leitner box classes | ||
Line 202: | Line 157: | ||
* TODO: check if the column visibility is saved correctly in all cases | * TODO: check if the column visibility is saved correctly in all cases | ||
* TODO fregl: there is a broken version of the 5 language document in the files on edu.kde.org (and there should be a version with and without images which you can clearly separate from each other, right?) | * TODO fregl: <strike>there is a broken version of the 5 language document in the files on edu.kde.org </strike> (and there should be a *version with and without* images which you can clearly separate from each other, right?) | ||
* Settings | |||
** TODO: the languages that will be practiced should be per document, not global | |||
** TODO: other practice options should probably be per document as well | |||
* TODO: implement undo support | * TODO: implement undo support | ||
* TODO: frederik be ashamed! Danish document -> 4000 words to sublessons a 20 doesn't work | |||
* TODO: creating a new document: title is not carried over for root lesson and window title | |||
* big todo: configurable special chars per language - come with language definition - configurable hotkey ... | |||
* I also found a bug, when deselecting the main lesson, it resets the title to "0". When clicking it again (to select all sublessons), it renames itself to "2". | |||
=== Word types === | |||
* TODO do not show word types in the table when clicking them (maybe on right click menu?) | |||
=== Profiles and config and zip === | === Profiles and config and zip === | ||
* DISCUSS: Instead of using current kvtml files, use the same with compression | * DISCUSS: Instead of using current kvtml files, use the same with compression | ||
* add images, sound and other media into the zip file | * add images, sound and other media into the zip file | ||
== Regressions in trunk == | |||
* TODO fregl: Auto-save in practice mode | |||
== libkdeedu == | |||
(Frederik does all of this unless someone else wants to punish himself) | |||
* Comparison forms: use keduvoctext for forms (make grades possible) | |||
* make grades for articles possible | |||
== Stuff to discuss today == | == Stuff to discuss today == | ||
Line 217: | Line 197: | ||
** write request with lots of screenshots? | ** write request with lots of screenshots? | ||
* correct/wrong states, it it ok how they are currently implemented (especially in written mode) | * correct/wrong states, it it ok how they are currently implemented (especially in written mode) | ||
** great, but: longer ? in written (see above) | |||
* what grammar modes do we need and how can they be implemented | * what grammar modes do we need and how can they be implemented | ||
** can we reuse/extend our frontend/backend modes? | ** can we reuse/extend our frontend/backend modes? | ||
Line 228: | Line 209: | ||
* timeline for merging, release schedule | * timeline for merging, release schedule | ||
* synonym/antonym: what to keep? what about semicolons? | * synonym/antonym: what to keep? what about semicolons? | ||
== Usability session with Leinir == | |||
Dan, Lydia, Daniel and Frederik sat down in Randa and these are some notes on usability. | |||
Comments from Lydia: | |||
=== Start Practice === | |||
* table is big and in your face, but maybe that is ok | |||
* check boxes should be tri-state - parent lessons should be half-checked if only some of their children are selected | |||
* only show the relevant column with grades instead of all of them | |||
* do not offer to start practices that contain 0 words! it's borked! | |||
** kind of fixed by daniel - now it shows a message box, but it's not the end of the world any more | |||
=== Practice === | |||
* flash cards: change continue button to "show backside" | |||
* pic placeholder is ugly in default theme | |||
* progressbar should maybe start counting at 1 | |||
* label: "I did not know it" "I know it" -- or "Did you know the answer?": "yes" - "no" | |||
* mixed letters are getting grey on grey -> generally font color is problematic | |||
* Multiple choice needs shortcuts (key 1-5 for example) and continue button should be disabled until a choice is selected. | |||
* conjugation mode: "Enter all conjugation forms" is a silly string and should be removed. | |||
=== Document Properties === | |||
* categories: test preparation makes no sense as category | |||
* tooltip for checkboxes | |||
Comments from Dan: | |||
* create video tutorials | |||
=== Start Screen === | |||
* title could be "Parley - Vocabulary Trainer" use kqtitlewidget | |||
=== Start Practice === | |||
*indent tenses below radio buttons | |||
* always show tenses (both Daniel and Frederik are against this) | |||
* remove status bar | |||
* remove tree indicator from tense selection | |||
*enable practice checkbox by default in file dialog (depending on current component) | |||
* remove "Editor" from toolbar, make sure it is in the menu though |
Latest revision as of 18:02, 22 April 2016
Parley Practice Rewrite for KDE 4.5
General
- TODO: does Paraphrase make any sense at all? yes, we got a bug and it should return!
- TODO: remove Antonym completely
- TODO: add grammar grade visualisation in the practice setup
- TODO: show comments during practice
Keyboard focus issues
- URGENT: make sure keyboard focus is set to the central widget in written mode after starting the practice
- URGENT: make sure keyboard focus is set to the continue button in flash card mode after starting the practice
- URGENT: mixed letter, example sentence: make sure it also works after fixing written mode
- URGENT: multiple choice: set focus to the first radio button everytime
- URGENT: gender of nouns: make sure it also works after fixing multiple choice
Synonyms
- TODO: get rid of current way of handling them in the lib? BIC!!!???!!!
- TODO: use a stringlist instead
- TODO: make it possible to edit them in the table - how to separate two of them? semicolon?
- TODO: change/rewrite dock widget
- DISCUSS: practice options (is this really really needed?):
DONE: Check synonyms as part of written practice(BEN_SCHL)DONE: accept any synonym as correct(BEN_SCHL)DONE: ask to enter all synonyms(BEN_SCHL)DONE: show already entered synonyms in list(BEN_SCHL)DONE: ask until the exact word that is wanted is there, but don't count other synonyms as wrong on the way there(BEN_SCHL)DONE: Check user options if he really wanted synonyms to be counted as correct by now we always accept them as correct (BEN_SCHL)- Let other modes benefit from synonyms. Maybe similar to the hint button show a synonym if it exist?
DONE: If in written mode a synonym was entered, check if that synonym is in this practice mode and increase its good count ?(BEN_SCHL)
LaTeX support
- TODO: create LatexLabel which behaves like a label and detects and renders latex automatically
- TODO: polish and test
- TODO add documentation to manual
Configure Practice
- TODO: Reimplement Time limits: only let the user select if the time limit is active, use show solution after answering
Completely Missing
Still missing are:
- TODO: Vocabulary test (school like) with good summary and "grade"
- no button for hints
- add buttons to "go back and forth"
- don't show if the answer was right
- DISCUSS: do we want to have some type of "grade" and if yes, how should it be calculated?
Comparison Forms
You know? Adjectives and adverbs - words that describe other words.
- green/red for right answers make right answers disabled so they can't be screwed up again
- URGENT show solution if wrong
- URGENT do not randomly skip words when answer was wrong
- URGENT: the summary table at the end is completely broken
- URGENT: are the grades displayed correctly?
Flash Card
- URGENT: add sound and pronunciation, same as in written mode, only needs code in flashcardmodewidget.cpp to be changed
Multiple Choice
DONE dani_l: hotkeys (maybe in menu? even configurable??) for the choices: 1 for first, 2 for second...- TODO - KDE 4.6: use kactions and make sure they are configurable
DONE: it would be nice to get rid of the radio buttons in favor of having something else maybe - a list? something that looks nicer
- Adding sound pronunciation and comment would be nice here too
Written
- There is a class like this, "answervalidator.cpp" but it's ugly old and eats kittens. Cleaning it up would be ok. Things like word similarity are in there.
- Moved some of the code to the new WrittenPracticeValidator class maybe move more funtionality there ?
- how far do we want to go when comparing answers? what feedback should the user get?
- you made a spelling mistake (this can be done by running spellcheckers and comparing what they suggest for a word with the solution)
- you wrote nonsense
Conjugation
- (optionally?) disable questioning of conjug forms that are blocked (individual forms)
- also ask the infinitive
- URGENT: result table after summary is completely broken
- URGENT: are the grades displayed correctly?
Comparison Forms
- implement blocking
Articles/Gender of Noun
- implement blocking
Declensions
- research what froms make sense...
- plurals
- cases
- gender
- ???
- there is a dock widget started for this somewhere
- write the entire practice mode from scratch
All Practice Modes
- DISCUSS: define our terminology, e.g. is it grade or box, answer or solution, correct or right, incorrect or wrong etc.
- TODO: implement support for showing pronunciation for every practice frontend
- TODO: implement support for sound for every practice frontend
- URGENT: implement the "enable hints" option
- URGENT: implement the "enable sound" option to make the sound autoplay
- TODO KDE 4.6: sound - rename "enable sound" to "autoplay sound" and implement it
Grades
Grades are equivalent to boxes (leitner), they are:
- 0 not practiced
- 1 lowest level
- ...
- 7 best level
- Words are answered correctly:
- a correct answer gives grade += 1
- a word that has been answered correctly is not asked again
- Words are answered wrong:
- a wrong answer gives grade = 1 (reset to lowest level). Wrong anserws are:
- If a hint message has been used (may change policy here later if it doesn't work out)
- If an accent and/or capitalisation mistake was made (might be accepted as right if the option is chosen in the config)
- If answer stays the same after enter is pressed a second time assume the user doesn't know the answer and continue.
- Just print a different message if the user corrected himself and the answer was right
- words that were incorrectly answered will come up again until they are answered correctly (or the practice is stopped)
- DISCUSS: when a word is answered after being answered wrong before, it ends up on level 2, if the practice is stopped before, it stays in level 1 (Leitner says it stays in 1 ?)
- a wrong answer gives grade = 1 (reset to lowest level). Wrong anserws are:
- URGENT: make sure that grading is implemented correctly in every practice mode and respects the "3 correct answers" setting
- DISCUSS: If you answer an unknown word wrong or right doesn't matter as by definition above wrong words get set to level 1 (from 0) and right words get increased to 1 (from 0). I changed that correct new words end up in level 2 ? (BEN_SCHL)
- DISCUSS: what happens when practicing with multiple modes? does only the last mode affect the grading? make in configurable? (DOES THIS STILL APPLY?)
- DISCUSS: find out if restricting the grading for each mode makes sense (e.g. saying "if i practice in multiple choice, the word can only rise up to grade 3")
- TODO: figure out a sane way to configure this or give different grades for each practice mode ?
- TODO: pass in 3 int from backend to frontend: current, good, bad (so that the selection of right/wrong can be previewed correctly)
- note: basically it is already implemented, but in a quick and in some (most?) cases wrong way. we probably need some TestEntry::gradeIfWrong() etc or something like that
Summary Page (after practice is finished)
- TODO for some practice modes the result is complete nonsense - eg conjugations show the normal words in the summary
- TODO fregl: add a button to print a list with $number words you should practice
- STILL VALID?: New rows are appended when pressing enter in the row above the last one, not in the last one - Qt 4.6 regression?
- TODO: changes in dock widgets are not reflected in table -> model needs to emit dataChanged for the view to update (not working since the editing happens without models knowledge)
- TODO: table: add column for grades (including combo box for changing the grade)
- TODO: summary dock widget: make word type work
- setting works
- instead of the normal model use a flat list model (proxy would work)
- TODO: remove leitner box classes
- TODO: get rid of old kDebug() messages that don't make sense out of context
- TODO: check if the column visibility is saved correctly in all cases
- TODO fregl:
there is a broken version of the 5 language document in the files on edu.kde.org(and there should be a *version with and without* images which you can clearly separate from each other, right?)
- Settings
- TODO: the languages that will be practiced should be per document, not global
- TODO: other practice options should probably be per document as well
- TODO: implement undo support
- TODO: frederik be ashamed! Danish document -> 4000 words to sublessons a 20 doesn't work
- TODO: creating a new document: title is not carried over for root lesson and window title
- big todo: configurable special chars per language - come with language definition - configurable hotkey ...
- I also found a bug, when deselecting the main lesson, it resets the title to "0". When clicking it again (to select all sublessons), it renames itself to "2".
Word types
- TODO do not show word types in the table when clicking them (maybe on right click menu?)
Profiles and config and zip
- DISCUSS: Instead of using current kvtml files, use the same with compression
- add images, sound and other media into the zip file
Regressions in trunk
- TODO fregl: Auto-save in practice mode
libkdeedu
(Frederik does all of this unless someone else wants to punish himself)
- Comparison forms: use keduvoctext for forms (make grades possible)
- make grades for articles possible
Stuff to discuss today
- artwork
- what/how/format
- who
- write request with lots of screenshots?
- correct/wrong states, it it ok how they are currently implemented (especially in written mode)
- great, but: longer ? in written (see above)
- what grammar modes do we need and how can they be implemented
- can we reuse/extend our frontend/backend modes?
- grading for grammar training
- create example document(s) making use of all our advanced features for testing
- grammar training
- multiple choice options
- two images per entry, pronunciation, sound
- ...
- blockers before merging the branch back to trunk
- timeline for merging, release schedule
- synonym/antonym: what to keep? what about semicolons?
Usability session with Leinir
Dan, Lydia, Daniel and Frederik sat down in Randa and these are some notes on usability.
Comments from Lydia:
Start Practice
- table is big and in your face, but maybe that is ok
- check boxes should be tri-state - parent lessons should be half-checked if only some of their children are selected
- only show the relevant column with grades instead of all of them
- do not offer to start practices that contain 0 words! it's borked!
- kind of fixed by daniel - now it shows a message box, but it's not the end of the world any more
Practice
- flash cards: change continue button to "show backside"
- pic placeholder is ugly in default theme
- progressbar should maybe start counting at 1
- label: "I did not know it" "I know it" -- or "Did you know the answer?": "yes" - "no"
- mixed letters are getting grey on grey -> generally font color is problematic
- Multiple choice needs shortcuts (key 1-5 for example) and continue button should be disabled until a choice is selected.
- conjugation mode: "Enter all conjugation forms" is a silly string and should be removed.
Document Properties
- categories: test preparation makes no sense as category
- tooltip for checkboxes
Comments from Dan:
- create video tutorials
Start Screen
- title could be "Parley - Vocabulary Trainer" use kqtitlewidget
Start Practice
- indent tenses below radio buttons
- always show tenses (both Daniel and Frederik are against this)
- remove status bar
- remove tree indicator from tense selection
- enable practice checkbox by default in file dialog (depending on current component)
- remove "Editor" from toolbar, make sure it is in the menu though