I tried to collect a few specifics about the design changes I have in mind. This is not a complete list and it’s more like a listing of stuff rather than a well thought out blog post.
- Dictionary searches or the general features that can be accessed will stay, though might change a bit.
- I plan to remove study statistics of study groups (not the long-term study).
- I want to add some kind of “learned” status for words and kanji. For that I have to connect the stats of the long-term study and study groups, and the old stats are in the way.
- I want to remove the “kanji card” button, and the custom definitions that you could set there. I think nobody used that feature and there was no point to it.
- You’ll still be able to set custom definitions for words in the long-term study to make them easier to learn. The same definitions will be used in the simpler study groups.
- There will be as many long-term study decks as you like.
- If you finished studying for a day with long-term study, you’ll still be able to add more words and continue studying.
- No more checkboxes for groups, as those didn’t do anything.
- Everything will have its separate window to avoid the cluttered interface zkanji currently has, and I plan to make every dialog non-blocking.This is how zkanji started out originally but the windowing library in c++builder wasn’t really good for many main windows so I scrapped that idea. I hope it’ll work this time.
- As almost everything is re-written from scratch, all the windows will be different and the context-menu might look very different too. It’s kinda hard to make a good looking interface in Qt, so the first version probably won’t look too good.
The list probably goes on. For example I wanted an example sentences browser but it won’t be in the initial version.
I have no idea what to show in the kanji information window and how. It’s a cosmetic feature in my opinion. I sometimes (though rarely) use the “part of” and “parts” panel on it, and ignore the rest. When I was a beginner in Japanese I thought those numbers and the kanji’s meaning are so important for my study, but now I think otherwise. Learning vocabulary (with the correct kanji) is so much more useful than kanji readings and such. I still plan to make such a window (mostly for the stroke order diagram), but the format how the data is presented will probably be very different.
If you find anything wrong with the plans, please comment about it.
With every single feature I rewrite I always think about what should be changed to make it better. There are many decisions to be made, but changing stuff is not easy. I’m sure a lot of people will be angered if something is removed, and many others if things get changed. I could of course keep everything as it is. In a way this is the most appealing choice. It’s not surprising many developers and companies choose this path, but this is also why a lot of programs don’t get better.
Unfortunately there’s nobody I could ask about the changes I intend to make. If I only asked a single person they wouldn’t be able to help as they can’t possibly know the needs of all users either. So in the end changes will be made, features will be removed or completely reworked. People will get angry. This is not what I’m aiming for, but asking everyone on this blog what they want is difficult, as people rarely come to developer blogs. (I never intentionally visit such either.)
When a feature is completely changed, the data stored in user data files is usually changed (or removed) as well. Because of this in most cases there is no going back. I believe everything I change is for the better, but only time can prove that. Still, it will be difficult to change things back if a decision turns out to be wrong.
Basically what I’m trying to say is that if you want something to be in some way you can still get it while I’m working on the new zkanji. But it’ll be late to complain after the release.
(This is not the release yet.)
Here is the current “changes” for zkanji v0.719 compared to v0.717. I’ll update this list with dates as I’m fixing bugs and adding some small features I wanted before the next release. Take this as a preview of what to expect soon:
– Checking dictionary changes on startup, showing dialog if word changes affect the user data and there is need for user interaction.
– Brand new dictionary export and import:
- Entries can be exported from selected groups, or from the whole dictionary.
- Both word and kanji group export/import.
- Expanding dictionary from exported word entries, adding missing entries and resolving meaning differences.
- Creating new dictionary from exported file, or completely replacing an existing dictionary.
- Importing kanji definitions to a user dictionary.
- Aborting the import leaves the dictionaries untouched. (Actually they will be reloaded.)
- Wakan word groups no longer supported. Import with a previous version of the program before update.
– There will be dictionary updates beside rare program updates. Automatically downloading new dictionaries.
– New example sentences data format independent from the dictionary version making it unnecessary to update it when the dictonary changes.
– Possibility to change words in the main dictionary:
- Add word not currently in the dictionary.
- Edit existing words.
- Revert edits to match the original dictionary, or delete added words.
- Dictionary updates don’t corrupt edits.
– Updated backup:
- User data backup at selectable intervals.
- Backups don’t overwrite each other.
- Old backup files are deleted after a number of days, which can be configured.
– The kanji, group or dictionary areas in the main window can be hidden by dragging the corresponding sizing bar near the edge of the window.
– Added katakana input to the kana edit box. Any syllable which contains an upper-case character will be converted to katakana.
– Added kana input for てゃ,てぃ,てぇ,てゅ,てょ and でゃ,でぃ,でぇ,でゅ,でょ. tha, thi, the, thu, tho and dha, dhi, dhe, dhu, dho.
– Tool windows, like the kanji information window, paint their border in different color when they are active.
– When changing the word filters window’s size, the controls area grows to fill the space.
– Scrollbar thumb size reflects size of word list/kanji list windows.
– Only real changes cause the user files to be saved to disk, instead of always saving everything when something changed or even after a dialog was shown.
– Capitalized first letter of words in menu items.
– Limited possible meaning count of words to 100.
– Word meanings can be reordered in the word editor dialog.
– It is not allowed anymore for a word to contain the same meaning twice. The word editor shows a message box when this happens.
– Updated the settings window. Moved text (number) input boxes from the middle of text to the end of lines for better compatibility with planned internationalization.
– Preventing changes to the data files while the settings window is open.
(05.10) – Example sentences file import from the Tanaka Corpus, if user can access data folder. (Requires admin privileges if program installed in Program Files.)
(05.11) – Switched from handling virtual key codes to characters where possible. Hopefully this will work for people not on QWERTY keyboards.
(05.12) – Custom textual data can be stored for dictionaries to be used for licensing information or list of authors. This information can be entered when creating a new dictionary or in the dictionary rename dialog.
(05.12) – The “dictionary stats” dialog has been renamed to “dictionary information”. Besides statistics, it also displays the custom information stored for each dictionary.
(05.12) – Changed most exclamation marks to full stop/period characters in message boxes for a friendlier interface.
(05.14) – Random selection in word groups’ word list control.
(05.14) – Added “Translate Kanji” menu item to the kanji information window popup menu.
Fixed: inserting invalid character for some roomaji combinations in the kana edit box. Namely any vowel version of vy, fy, wy and cy.
Fixed: minimizing and restoring the program while the handwriting recognizer window was active caused the recognizer window to appear without being connected to an edit box.
Fixed: the small pause button on the kanji information window stayed down indefinitely once it was pressed, even though the play or stop button was pressed too.
Fixed: access violation when multiple kanji are selected at the top and one is deselected at the middle with ctrl+left mouse button.
Fixed: pressing Ctrl+D in a kanji list with multiple kanji selected makes the list deselect all kanji, without leaving at least one selected.
Fixed: when trying to add new words to user dictionary, the add button stayed disabled even after filling in the meaning field. It only became enabled when changing something else.
Fixed: for some kanji where the KUN readings hanged over the bottom gradient in the kanji information window (i.e. 生), the readings hid the gradient with white background.
Fixed: labels for some word group options had the up/down resize cursor, and undefined behavior when clicking on them.
Fixed: typo in long-term study test window (“coldn’t”).
Fixed: memory leak when reading ini files.
Fixed: changing a font in the settings did not update the example sentences panel.
Fixed: not initialized an object which was holding points of strokes in the handwriting recognizer.
Fixed: access violation when trying to filter a word group’s word list in the groups window.
Fixed: Used == instead of = when finding the reading of kanji (furigana) in words. The position of kanji within a reading block was not set in many cases. The algorithm still worked but less reliably.
Fixed: accessing the group of a dictionary being deleted, which caused an index out of bounds error.
Fixed: not repainting the kanji list background when it was resized.
(05.09) Fixed: if a tool window (kanji info or clipboard viewer) was on screen when the main window was minimized, restoring the window caused the tool window to reappear with an unresponsive close button.
(05.09) Fixed: not hiding the kanji hint tooltip when the control it is shown for becomes hidden.
(05.13) Fixed: access violation when the example sentences panel listed sentences from a dictionary being deleted and the mouse moved over it.
(05.14) Fixed: not hiding the “Selected Text” row in the popup menu for a word’s selected part, when no items were available for it