Jump to content

KDEEdu/Parley/Todo: Difference between revisions

From KDE Community Wiki
Vipwolf (talk | contribs)
Redesign of Multiple Choice Test is Done. see https://quickgit.kde.org/?p=parley.git&a=commit&h=5e27c8c3da7cd95d9bc84649babc9d045c97e109
 
(94 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Parley Practice NG 23rd attempt ==
== Parley Practice Rewrite for KDE 4.5 ==
Work on the parley practice happens in a branch here:
[http://websvn.kde.org/branches/work/parley-practice/ Browse WebSVN online]
 
Check it out:
<code>
svn co svn://anonsvn.kde.org/home/kde/branches/work/parley-practice/
</code>


=== General ===
=== General ===
* <strike>DONE:  remove old practice code</strike> F
* TODO: does Paraphrase make any sense at all? yes, we got a bug and it should return!
** there is still a practiceold folder: leave it until merge is done! Frederik
* TODO: does Paraphrase make any sense at all? no - remove paraphrase - it is not used in any single document we could find
* TODO: remove Antonym completely
* TODO: remove Antonym completely
* TODO: find an icon for stop practice (toolbar)
 
** idea: use the start practice with media-stop instead of media-play
* TODO: add grammar grade visualisation in the practice setup
* <strike>TODO: filter out empty entries for practice - F</strike>
 
* DISCUSS: timeouts during practice ???
* 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 29: Line 27:
** <strike>DONE: show already entered synonyms in list </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: 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)
** Check user options if he really wanted synonyms to be counted as correct by now we always accept them as correct (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?
** 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)
** <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)
Line 35: Line 33:
==== LaTeX support ====
==== LaTeX support ====


* TODO: write a class to convert latex code to images, with error handling etc
* TODO: create LatexLabel which behaves like a label and detects and renders latex automatically
* TODO: integrate LaTeX in written and flash card practice modes
* TODO: polish and test
* TODO: write a dock widget to support the user editing latex (line edit, preview, checkbox to toggle math mode?)
* TODO add documentation to manual
* check cantor, there is some rendering code
 
==== Fullscreen mode ====
* TODO: implement fullscreen mode (and add to toolbar?)
* TODO: implement auto-hiding of toolbar (like gwenview, firefox etc)


=== Configure Practice ===
=== Configure Practice ===


Main page:
* TODO: Reimplement Time limits: only let the user select if the time limit is active, use show solution after answering
 
* <strike>DONE: Currently check boxes and radio buttons are shown ->remove radios</strike> F
 
* <strike>DONE: move multiple choice options to advanced</strike> - Kolia
* <strike>DONE: move checkboxes in Practice->Options to Advanced page in config dialog</strike> - Kolia
* DISCUSS: Tenses - where should they be selected? only needed for conjugation practice
 
* <strike>DONE: language selection: instead of having two lists, just have one list containing "French → German" and "German → French" '''(Kolia)'''</strike> I'm sorry, I just did it - Frederik
** check if with 2 languages are always in the right order now!
 
The layout could be like this:
 
[[File:parley_practice_settings.png]]
 
* TODO: it would be nice to replace the checkboxes by listviews with multi selection  and icons (and optionally drag and drop to change the order)
 
Other pages:
 
* TODO: threshold: word types are broken here?
 
[[File:parley_practice_settings_advanced.png]]
 
Notes Advanced page:
* DONE: <strike>Remove direction switching checkbox until implemented</strike> - Kolia
* TODO: Time limits: only let the user select if the time limit is active, use show solution after answering
* TODO: enable button xyz: not applicable any more, only the hint button, so remove them from the ui file
* TODO: rearrange the widgets in the advanced page
 
* TODO: comparison forms: make no distinction between adjectives and adverbs
 
* IDEA/TODO: maybe it would make sense to put the most common options into the statistics page that is shown before practice is started
** maybe replace the checkboxes again with radio buttons -> it's so easy to change now
** only show one bar of grades - the one that corresponds to the current language selection
[[File:parley_start_statistics_with_options.png]]


=== Completely Missing ===
=== Completely Missing ===
Still missing are:
Still missing are:
* TODO: Conjugations
* 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 91: 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?


<strike>
Easy ones reusing the written front end should be:
* TODO: Example sentences (easy indeed) </strike> Frederik
==== Article/Gender of Nouns ====
Two cases: we have the articles in the grammar section or we don't
Example: German die Flasche is female == bottle
* a) We know the articles, this is presented:
** bottle
*** der Flasche
*** die Flasche
*** das Flasche
* b) We don't know the articles
** bottle
*** Flasche is masculine
*** Flasche is feminine
*** Flasche is neuter


Notes:
* definite articles by default, fall back to indefinite
For the implementation: just use the Multiple choice front end and subclass (if possible, otherwise make it possible!) the multiple choice backend


==== Comparison Forms ====
==== Comparison Forms ====
You know? Adjectives and adverbs - words that describe other words.
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
Example:
* URGENT do not randomly skip words when answer was wrong
* unordentlich
* URGENT: the summary table at the end is completely broken
* Absolute: chaotic (the base form)
* URGENT: are the grades displayed correctly?
* Comparative: [more chaotic] (user inputs more chaotic in line edit)
* Superlative: [the most chaotic] (user inputs most chaotic in line edit)
 
 
Implementation:
* caption (the word in the other language)
* 3 labels and line edits


=== Flash Card ===
=== Flash Card ===


* <strike>DONE dani_l: replace [Continue] with [I didn't know the answer][I knew the answer] in flash card mode</strike>
* 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 Kolia: Unset the selected choice after an answer (radio button)</strike>
* DISCUSS: Showing the "I knew it"/"Did not know it" below the other radios looks bad
** <strike>DONE dani_l: implement a toggle under the ✓/✗ image</strike>
*** DISCUSS: do we like it?
* <strike>DONE Kolia: Make number of multiple choice answers configurable in the config practice dialog</strike>


* keyboard focus?!?! if I press enter and no choice is selected, it will always be wrong
* <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


* hotkeys (maybe in menu? even configurable??) for the choices: 1 for first, 2 for second...
* <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>
** use kactions


* TODO: continue when a radio button is selected
* Adding sound pronunciation and comment would be nice here too
 
* TODO: check that only entries from the right languages are taken - I just had the choices taken from different languages (Frederik)


=== Written  ===
=== Written  ===


*<strike>DONE: 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>DONE: 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 ?  
* TODO: Ignore accent / capitzalisation mistakes is not implemented currently (BEN_SCHL)
* TODO: make sure that "I did (not) know it" actually does the right thing
* TODO: I think I just had an empty word shown - make sure they are filtered away
 
* TODO: Create a class that does voodoo on strings to correct answers: (BEN_SCHL)
** Takes into account the options above (accent/capitalisation)
** 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.
** 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
*** you have the accents all wrong
** how do we get this kind of feedback from the class to the ui?
*TODO when pressing enter and the input is empty, directly continue to solution. don't ask for another try. (BEN_SCHL)
* TODO dani_l: only show right/wrong when the solution is shown


=== All Practice Modes ===
* 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


* TODO: 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...
=== 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?


* TODO: remove statistics that don't make sense any more from the TestEntryManager (like "skip known")
=== 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


* TODO: feedback text: not "wrong idiot", not "I fear this was wrong.." but good sentences
=== All Practice Modes ===
 
* TODO: set grade to 1 when a word was answered incorrectly


* DISCUSS: define our terminology, e.g. is it grade or box, answer or solution, correct or right, incorrect or wrong etc.
* DISCUSS: define our terminology, e.g. is it grade or box, answer or solution, correct or right, incorrect or wrong etc.
* TODO: fix spacing and layouting issues in the ui


* TODO: implement support for showing pronunciation for every practice frontend
* TODO: implement support for showing pronunciation for every practice frontend
Line 184: Line 108:
* TODO: implement support for sound for every practice frontend
* TODO: implement support for sound for every practice frontend


* TODO: add a "Auto-play sound" option to the practice settings and implement it
* 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 ===
Line 192: Line 120:
* ...
* ...
* 7 best level
* 7 best level
 
* Words are answered correctly:
Words can be answered correctly or wrong.
** 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 word that has been answered correctly is not asked again
*** 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)
When answering in written mode, the user gets a chance to correct herself if the first answer was not right. She can edit the answer immediately after pressing enter again. If no changes were made, we assume the user doesn't know the answer and show the "wrong answer, continue" state. If on the other hand the answer is changed into the right answer, we still count it as wrong.
** 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 ?)
The feedback text reads something like "Your answer was right, but you needed more than one attempt to get there.".
* 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?)
A word is wrong when
* the user enters anything but the right answer in the first attempt (first pressing enter is all that counts)
* hint means it's wrong (may change policy here later if it doesn't work out)
* accent and capitalisation might be accepted as right if the option is chosen in the config
 
* TODO: implement grading as described above and make sure it works in all modes
* TODO: Respect Leitner option to ask for the correct answer three times in a row.
* 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)
* 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
=== Result States ===
 
* User hasn't entered anything
** Status image: ?
** Status image toggle: inactive
** Line edit: black
** Counted as: nothing yet
* User entered a wrong solution
** Status image: ✗
** Status image toggle: active (?)
** Line edit: black
** Counted as: nothing yet
* User entered a wrong solution, got feedback and pressed enter without changes
** Status image: ✗
** Status image toggle: active
** Line edit: red, disabled (Solution is shown)
** Counted as: wrong
* User entered wrong solution(s), got feedback and entered the correct solution
** Status image: ✓ '''(?)'''
** Status image toggle: active '''(doesn't make sense!)'''
** Line edit: green, disabled (Solution is shown)
** Counted as: '''wrong'''
* User entered correct solution on first try
** Status image: ✓
** Status image toggle: active
** Line edit: green, disabled (Solution is shown)
** Counted as: correct
* User revealed answer only using hints
** Status image: ✓ '''(?)'''
** Status image toggle: active '''(doesn't make sense!)'''
** Line edit: green, disabled (Solution is shown)
** Counted as: '''wrong'''


=== Summary Page (after practice is finished) ===
=== Summary Page (after practice is finished) ===
* <strike>DONE dani_l: One page only</strike>
* TODO for some practice modes the result is complete nonsense - eg conjugations show the normal words in the summary
* <strike>DONE dani_l: Bar on top with colors that indicate how good the practice was</strike>
** <strike>DONE dani_l: tooltips on the bar that indicate the meaning of the colors</strike>
** <strike>DONE dani_l: caption under the bar</strike>
* <strike> DONE dani_l: Table below (sorted, most mistakes on top)</strike>
* 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 265: 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 (or remove it)
* 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 282: Line 168:
* TODO: creating a new document: title is not carried over for root lesson and window title
* 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 ...
* 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 ===
=== Word types ===
* TODO: newly created sub word types should inherit their parent's grammar type -> Frederik?
 
* 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 ===
Line 291: Line 180:
* add images, sound and other media into the zip file
* add images, sound and other media into the zip file


== Missing Artwork ==
* TODO Icon for stop practice - idea: like start practice: flash cards with multimedia stop
* TODO Icon/image for states:
** User answered correct (✓)
** User answered wrong (✗)
** User has not answered yet (?)


TODO: screenshots that explain the above


== Regressions in trunk ==
== Regressions in trunk ==
* Title is broken (documents show up with 0 as title, chainging root lesson behaves weird, it doesn't get saved)
* TODO fregl: Auto-save in practice mode
* TODO fregl: Auto-save in practice mode


Line 329: Line 210:
* synonym/antonym: what to keep? what about semicolons?
* synonym/antonym: what to keep? what about semicolons?


== Merging to trunk - timeline ==
== Usability session with Leinir ==
Release blocker:
Dan, Lydia, Daniel and Frederik sat down in Randa and these are some notes on usability.
* lib-grammar grades do not work yet
 
** Frederik - until April 15th do the freaking lib!
 
** Daniel: implement grammar modes
Comments from Lydia:
** April 22: Frederik: conjugation done wrong again before
=== Start Practice ===
* synonyms and accents have to work in practice again
* 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


=== schedule ===
=== Start Practice ===
* April 20: Decide if branch gets released: tentatively
*indent tenses below radio buttons
* Frederik: away April 22-30
* always show tenses (both Daniel and Frederik are against this)
* Frederik: probably away May 12-17
* remove status bar
* edu sprint: (work work work on Parley) May 20-26
* remove tree indicator from tense selection
* April 26th - soft feature freeze - most things should be there, stop doing big new features
*enable practice checkbox by default in file dialog (depending on current component)
** Frederik: create packages with build service, get user feedback
* remove "Editor" from toolbar, make sure it is in the menu though
* May 11th -> Freeze - no new features, stabilize!
*  May 19th: Soft Message Freeze
** NO NEW STRINGS, NO STRING CHANGES ANY MORE (ask Frederik if you need to change strings and let him take the flames)
* June 2nd: Documentation/Handbook Freeze
** Have an updated documentation, work with Burkhart to get it from userbase to docbook

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