KDEEdu/Parley/Todo: Difference between revisions

From KDE Community Wiki
(Redesign of Multiple Choice Test is Done. see https://quickgit.kde.org/?p=parley.git&a=commit&h=5e27c8c3da7cd95d9bc84649babc9d045c97e109)
 
(214 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== General ==
== Parley Practice Rewrite for KDE 4.5 ==
* New rows are appended when pressing enter in the row above the last one, not in the last one - Qt 4.6 regression?


== Parley Practice NG 23rd attempt ==
=== General ===
Work on the parley practice happens in a branch here:
* TODO: does Paraphrase make any sense at all? yes, we got a bug and it should return!
[http://websvn.kde.org/branches/work/parley-practice/ Browse WebSVN online]
* 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


Check it out:
==== Synonyms ====
<code>
* TODO: get rid of current way of handling them in the lib? BIC!!!???!!!
svn co svn://anonsvn.kde.org/home/kde/branches/work/parley-practice/
* TODO: use a stringlist instead
</code>
* 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?):
* <strike>DONE: Check synonyms as part of written practice</strike> (BEN_SCHL)
** <strike>DONE: accept any synonym as correct</strike> (BEN_SCHL)
** <strike>DONE: ask to enter all synonyms</strike> (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)


=== General ===
==== LaTeX support ====
* does Paraphrase make any sense at all?
 
* does Synonym/Antonym make sense? Put them together?
* 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 ===
=== Configure Practice ===
* <strike>Currently check boxes and radio buttons are shown ->remove radios</strike> F
 
* is it OK to have options across all types of practice on the same page?
* TODO: Reimplement 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:
* Conjugations done right - argh
* TODO: Vocabulary test (school like) with good summary and "grade"
* 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?
 
 


Easy ones reusing the written front end should be:
==== Comparison Forms ====
* Comparative forms, articles
You know? Adjectives and adverbs - words that describe other words.
* Example sentences
* 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 ===


*Radio buttons make little sense here - I'd rather have 2-3 buttons - I knew it well, not good, not at all (?)
* URGENT: add sound and pronunciation, same as in written mode, only needs code in flashcardmodewidget.cpp to be changed


=== Multiple Choice ===
=== Multiple Choice ===
* Unset the selected choice after an answer (radio button)
 
* Showing the "I knew it"/"Did not know it" below the other radios looks bad
* <strike>DONE dani_l: hotkeys (maybe in menu? even configurable??) for the choices: 1 for first, 2 for second...</strike>
* Make number of multiple choice answers configurable in the config practice dialog
** TODO - KDE 4.6: use kactions and make sure they are configurable
 
* <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  ===


*<strike>Hint needs to be implemented in a sane way (now it shows the solution directly)</strike> - done (Frederik)
* 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.
*<strike>Feedback - when a new word is shown, it still says "Your answer was wrong"</strike> - done (Frederik)
** 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 ===
* Grading - how do we give grades, how do words advance? Especially when combining modes (doing FlashCard, MC and Written all in one go)


* no show solution button - not sure if it's needed - it is a bit irritating to press continue and not knowing if it will show the solution or not (it will)
* 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 ?)
* 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
 
== General (not practice related)==
* 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: <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: 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


* every word that was answered correctly is shown as "right on first attempt" in summary - no way to get anything wrong :D maybe change that...
=== Start Screen ===
* title could be "Parley - Vocabulary Trainer" use kqtitlewidget


=== Summary ===
=== Start Practice ===
* Needs detailed list of mistakes made in written, maybe other modes
*indent tenses below radio buttons
* On the first (tab?) show the edit and (configure?) practice buttons, it is half empty anyway
* 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 ?)
  • 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

General (not practice related)

  • 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