                     Things to improve in parley
                     ---------------------------


================================================================
Before the release (bugs).


 * To investigate
    + Show pronounciation in the training
      https://bugs.kde.org/show_bug.cgi?id=150923
      This can be extended for other fields like
      comments, too.
      https://bugs.kde.org/show_bug.cgi?id=175241
      https://bugs.kde.org/show_bug.cgi?id=238893
    + Impossible to remove images
      https://bugs.kde.org/show_bug.cgi?id=263836
    + Modes like Conjugation, Gender etc. and				----
      Widgets like inflection, comparision forms
      haven't been implemented properly. Should
      they be disabled for now? (PS: If yes, also
      change the marketing for Parley to not
      include "8" modes in the tag line)
    + Removing grades can lead to misunderstanding			Done
      https://bugs.kde.org/show_bug.cgi?id=312995
    + Vocabulary does not expire after a given time
      https://bugs.kde.org/show_bug.cgi?id=261396

 * All crashes
    + parley crash when opening csv files                               Done
      https://bugs.kde.org/show_bug.cgi?id=268241
    + Parley crash while adding choice in multiple			----
      choice mode in editor (investigate)
      https://bugs.kde.org/show_bug.cgi?id=255647
    + Scripts need to sandboxed or atleast check 			----
      if data can be fetched and stop gracefully. Eg:
      https://bugs.kde.org/show_bug.cgi?id=252696
    + Investigate - large list causes crash?				----
      https://bugs.kde.org/show_bug.cgi?id=271695

 * Data loss
    + Second instance causes data overwriting.                          ----
      https://bugs.kde.org/show_bug.cgi?id=240552

 * Misfeatures
    + There seems to be no way to change the title.                     ----
      It works in the editor but it is never saved.
      Note: It can be changed in the menu, though.

 * Normal bugzilla bugs
    + Vocabulary does not expire                                        ----
      https://bugs.kde.org/show_bug.cgi?id=261396
    + Synonyms are not checked case-insensitively
      https://bugs.kde.org/show_bug.cgi?id=302733
    + Making two words synonyms does not mark file as modified          Done
      https://bugs.kde.org/show_bug.cgi?id=246189
    + Parley autosaves even when there is no change                     Done
      https://bugs.kde.org/show_bug.cgi?id=326429

 * Release work
    + Update the version!
      We have decided to call this version 1.0.


================================================================
                            Open issues


 OVERALL GOAL:
   Make the program more focussed around the learning process.
   Learning is the purpose of the program. All other functions are
   just to support that goal.


 * General
    + A library of active collections.
      Right now we only have a list of files. There is no concept of
      active collections/lessons (i.e. those you are studying) and
      ones that are just lying around.  See also the dashboard below.

    + A dashboard where you can see the status of your learning.
      It should contain info on all your active collections or lessons
      with how many cards they have, your learning status (percentage)
      and how many cards are due to practice right now.
      See thaipod101.com for this.

 * Usability
    + Set language you are learning and languages you know instead of
      language to language.
    + Disable those practice modes in the GUI that are not supported
      by the data in the selected lessons. This would be better than
      having all of them enabled and popping up a big warning dialog
      when the user starts the practice.
    + Bigger default font for practice contents

 * Practice
    + Enable sound in all practice modes (or at least flashcards)
    + Extended Leitner box method -OR- move to time based card selection.

      The Leitner box system that is currently implemented is not very
      good at the very beginning of the study. When you have a lot of
      new words to learn just getting it right once is not enough to
      solidify the knowledge. So instead of having a repeat time of 1
      day for the first box we should have system based on time that
      starts with just a few minutes until the card is shown next time
      and then moves up to a full day when you have shown that you
      know the words well.  Alternatively skip the concept of boxes
      altogether and have a purely time based system (which the
      leitner boxes are trying to emulate anyway).
      thaipod101.com uses this system and it works very well.
    + Sessions.  A session is a byte sized part of a lesson containing
      maybe 10-20 questions. It is automatically generated when the
      user starts to practice a lesson and is never saved anywhere.
      The reason we want this is that you will get a greater sense of
      achievement when you are done with a session than when you have
      just practiced 5% of the words in a big lesson.  It should also
      limit the number of new words in each session (5?).
      See thaipod101.com for this.
    + Mixed mode in all practice methods.
      This means that not just one direction is practiced, but
      known->learning, learning->known and maybe even sound of
      learning -> known
      See thaipod101.com for this (again! - that system is awesome).

 * Editor
    + indicators in the table for words whether they have an image      ----
      and/or a sound.
    + Drag & drop of images from other applications                     ----
    + Select whole regions of a table so that you can cut&paste them    ----
      into another parley or something else. Also support paste into
      lessons of a group of words.
    + Smaller issues                                                    ----
       - Buttons to open/close all lessons (wish in bugzilla)           ----
       - Button to remove all empty lines.
       - Button (menu entry) to check for duplicates
    + Always keep the primary (to be learned) language visible?

 * File formats
    + (Big) New container format with kvtml and all the                 ----
      images/sounds/whatever.  This should be modeled after ODF files
      and use a zip container, manifest, etc.  Lots of code for this
      in Calligra.
    + Enhancements in KVTML
       - Allow one image for a whole entry, not just for a word.           ----
         After all, all the translations in an entry mean the same thing.
       - Field for transcription of non-western scripts

================================================================

Below is old stuff, most of which is outdated (refers to KDE 4.1).
We will move appropriate issues up to the current ones above.

================================================================

Before releases:
 * Remove ModelTest!
 * Check that changes to the document result in a modified state!!!!
   Ask when quitting Parley!!!
 * Set version number to something not svn
 * Reenable synonym, false friend and antonym practices and synonym
   check in written practice! check if deletion of one of two synonyms
   crashes

When time permits:
 * update the dtd and validate some documents
 * write more unit tests
 * Add the ability to record sound files with phonon to a dock if
   possible. This depends on the state of Phonon - might be ready for
   4.1.
 * Use the container/lesson class for the leitner implementation
 * Drag and drop for several things:
   - Sound
   - Accept text drops (as new vocabulary?)
 * Give containers an image tag and display images in the lesson view

Gui
 * shortcut keys are badly assigned, they do not respect the focus
   (pressing del when a lesson was selected will attempt to delete a
   word anyways)
 * Image file open dialog: filter and preview. Maybe restrict to image files?
 * Sound file open dialog: filter and preview
 * Navigation (editing vocabulary).
   act as usual spreadsheet application. (especially useful if trying to edit more than 2 columns).
     Enter       -> move down.
     Shift+Enter -> move up.
     Tab         -> move right.
     Shift+Tab   -> move left.
 * Improve the search somehow to let the user continue typing instead
   of blocking (also not trivial?) - somewhat improved by performance
   gain - still desireable?
 * Enable the active field again? If the active field stays, use checkboxes
 * For some languages (with signs like chinese) it would be nice to
   have different font sizes in the columns
 * Validator/correction of user answers
 * Separators need to be implemented with the new corrector
   class. Possibly giving the user the chance to add more words when
   entering right answers but not all of them.
 * Analysis of sentences could be improved a lot

General
 * Open/Create file - maybe it makes sense to open/create file in new
   application window, and keep "current" document opened?
 * Warn about overwriting kvtml-1 files

 * declination support
   - the gui (dock widget) needs lots of polishing
   - implement configuration for grammatical cases in language dialog

 * articles are only singular so far
   - reader and writer
   - gui has to be extended

 * adjectives can have a gender and plural
 * tenses - make it possible to change their order and redo the dialog in general
 * Undo - KUndoStack

Pronunciation
 * option to display it along in the practice dialogs
 * is a pronunciation practice desirable? maybe together with sound
   (write after listening) also very much for chinese I'm told.


