zkanji TEST v1

July 26, 2017 2 comments

It took a while, sorry about that! I had to change some internal parts in the code since the last post, to make sure the program will compile in 64bit too. (The Windows version is still 32bit but this might change in the future. The Linux release will be 64bit from the start.) Figuring out what licenses must be mentioned and writing a readme took me a long time, and I can tell that I don’t enjoy that at all…

Instead of too much talk, let me present the first release! (In the future, you can visit this link for the latest versions as I upload them.) Before we start to celebrate, as it’s a first release, I can’t guarantee the quality of the software yet. It’s released for testing, so this stands to reason I guess.

Please add an issue to the issue tracker on the project page if you encounter a serious bug (program crashing, data getting corrupted etc.), but even if it’s just a small usability issue (for example windows not appearing where you want them to be, you see the wrong cursor or colors.)

There are some small new features not found in the original zkanji, but I’ll let everyone discover them first.

What’s missing: (I’ll only list the most important features)

  • No auto updater yet, so new versions must be downloaded manually for each release until it’s implemented.
  • Some settings have no effect. There’s a slider to increase the user interface size to 400%, but I haven’t gotten to it yet.
  • No kana practice. I’m not sure how well known feature this was, but it’s not present here. This is a planned feature too of course.
  • Missing statistics for the long-term study.

(And I already found a serious bug. The program sometimes crashes if you hover the mouse cursor over an example sentence.)

Categories: Uncategorized

First steps for the next release

July 15, 2017 1 comment

The short version: I’m still not done with the next release, but I have uploaded the source files to GitHub that are needed to compile and run the new zkanji. You can get it and try it right away on Windows IF you have Visual Studio 2013 or newer. It’s pretty easy to compile.

The long version: I spent a lot of time fixing errors and filling up holes in the program in the past many weeks, and it still contains bugs. There were several “game breaking” bugs I only discovered in the last moment. The last days were spent figuring out (again) how to release the program properly with an open source license. (I went for GPLv3.) It’s a complicated matter, especially since some files come from a different open source project with its own license.

Creating a release with the executable alone might be enough for those, who have the 2013 version of the Visual Studio redistributable, and the Qt DLLs, but this can’t be taken granted. I’ll need to include those too for everyone else, which means at least a primitive installer. I hope there’s some tool somewhere to make one quickly, because the free tool I used to create the installers for previous versions of zkanji, is everything but simple.

Because the Qt DLLs and the VS redistributable must be included, the file download will be at least 20 MB larger than previous ones were. On the other hand I won’t include the Japanese dictionary and example sentences data for now, which will save 20 MB. They can be obtained easily with the instructions I’ll include with the download. (I plan to include the data files in the final release.)

Before I forget, I still need to design a new icon for this version of zkanji. I could use the old one, but I want to make it clear in every design choice that it’s a new program. It was newly written after all. I will also need to add an about box to fulfill my obligations towards Qt and any other project which has a license that must be mentioned in the program. Then there’s the question of the name. I can keep it simply “zkanji,” but if I do that, I’m not sure what version number to use. It’s not a real continuation of the old version in the sense that they only share the same idea, but nothing of the program code.

Better late than even later.

May 19, 2017 4 comments

This is a fast update on the progress of the new zkanji. I won’t get into details much since I rather spend the time fixing bugs and improving the program, than writing a blog post, but it has been a considerable time since the last update.

tl;dr It’s not ready yet, but close to a first test release. I’ll post about it.

Long version:

My original plans were to finish the program last year (what a naive thought!) Just as usual for open source projects done in one’s free time, real life got in the way. While real life wasn’t in the way, Qt did really well to be a substitute for real life’s work. This in itself would be worth several blog posts but after all the struggle with it I just don’t care anymore.

I’ll try to give a fast summary of the current situation: The first test version of zkanji is almost ready. It’s currently in the stage where all I do are fixing bugs, and trying to clear  every point on the TO-DO list. It sounds easy, but there are many points that need refining, and even after this, the program won’t be good enough for release. First, I’ll upload a test version with source code somewhere as soon as possible. In order to get to the final release, I’ll ask people who are willing to test it for help.

In the first round, (as I plan a few,) this test version will only be released for Windows. In theory it’ll run on Linux just as well, but I haven’t compiled it there yet. You will be able to do it of course since I’ll release the source code. I expect many subtle bugs to come to the surface on Linux, that were not a problem under Windows. During this first round I’ll try to finish the Linux version as well. The second round will be the release of a fixed zkanji on both Windows and Linux for a very short test period. (I can’t promise a Mac release, since I don’t have access to one. I’ll need help with that too.) When that’s over, I’ll make an “official” release that everyone can use.

There’s also the question of an installer. I haven’t created an installer yet, and I’m not sure if I will make one very soon. During the development of the first incarnations of zkanji it was a great hassle to do so, and several releases got late because of this. We will see.

The last question remaining for me is where to upload the new zkanji. There have been problems with SourceForge in the past, and we can’t expect that to never happen again. (They bundled advertisement with untouched projects, against the will of the original authors.) Unrelated to this, a few months ago I was contacted by some guy working for a large online ad company with a similar idea. He was really surprised when I refused.

Categories: Uncategorized

First glance

October 2, 2016 21 comments

A long time ago I promised preview images of the new version I’m working on, so here are some first screenshots. The basic layout of these windows are now done but they are not finished yet.

Read more…


July 8, 2016 9 comments

Just posting here to say I’m still working on the new version. I didn’t spend as much time on it lately as I could have, but I’ve returned to it a few days ago. I thought that a library like Qt will take off the burden of working on the user interface, but I’m finding myself rewriting simple things like clicking inside a table and selecting multiple rows of words for example. (In case you were wondering why it takes so long, besides it’s being a complex project anyway.)

I’m also spending a lot of time thinking about how to change the old interface. Good design decisions can make a program easier to use… and bad ones can break it. People complained that the old interface was too complex and they couldn’t find anything, but I’m afraid of oversimplifying things. I have made significant changes though, but it’s possible these won’t work well.

For example in the new design, the user is able to open as many windows as they like. The windows only display a single feature (like dictionary only, or word groups only,) but can be docked into the main window anywhere. This has the side effect that resizing the main window resizes the docked interface elements equally. As opposed to the old interface, where the kanji list part (on the left) remained the same width. We will see whether this makes the program harder to use or not.

I wanted to post screenshots but I still don’t have icons for 99.9% of the buttons, and I don’t want to publish an interface design full of buttons of the wrong size and no clear role.

The future

April 4, 2016 10 comments

This post was cut in two because I know how much people hate to read. Skip to the next one if you want to read that first.

Most things I have to work on from now on are related to the user interface. Previous versions of zkanji were built for windows only, which made the interface much easier to create. I didn’t have to use external libraries that worked like an alien life form on top of the operating system. This time though, because I wanted to make zkanji run on Linux and Mac as well, I was forced to use such library. I have already written about how painful it is to use that library, but that’s not what I wanted to write about this time.

The new user interface was meant to be modern and stylish. More importantly, easier to use and simpler just by looking at it. But I guess I should just forget most of these dreams if I want to make a working version. Every interface element (text input, button etc.) seem to take up a lot of space now, and there is no way to use the empty spaces well. This became painfully obvious when, for example, I tried to make a good interface for the kanji search. (Still work in progress.) It wasn’t very elegant in the previous versions of the program, because there are many buttons, check boxes and text input boxes that needed to be placed for editing filters for the kanji.

Another layer of difficulty is the scaling of the interface. It’d be good if it worked on all kind of screen resolutions, from the 1000ish pixels wide netbooks (are those still around?) to 4k and beyond. For this reason I’m trying to make button icons in SVG format. Those can be scaled to any size and won’t become ugly and pixelized like “traditional” images. I’m not an artist though, and I’d rather work on the code more, so unless someone wants to donate some SVG images, the button icons will be hideous at best.

Last but not least there’s the popup dictionary, which activates in previous versions by a key combination installed in the system. It brings up zkanji when you press the set keys, even when you are playing a video or reading your favorite manga. There is an extension library for the user interface library I’m using, which allowed this to work on several systems. Unfortunately it seems to have been discontinued some time ago. I’ll try to get its source files and figure out what I need to copy to make it work, but in the worst case this will be a Windows only feature.

The next time I’m posting again, I really hope I can bring you some screenshots. I know the wait is very long, but I’m a single person and this is not a small project!

Categories: Plans, Progress report

The past

April 4, 2016 Leave a comment

It’s been a long time since I last posted, and I can’t say I’ve been busy with zkanji, because I was doing other things too. Don’t worry though, the program is now in a state when the basics are done. It still misses long hours of testing, or even user-error prevention, so it’s not ready for publication yet.

There’s a working dictionary search (obviously, as it was the first thing I had to implement,) filter for the search results, word grouping, kanji grouping, word printing, long term study test, the normal tests, “handwriting” recognition for kanji, JMDict/KANJIDIC importer (this is new in this version,) example sentences importer, dictionary exporter/importer. The things the program is missing don’t involve much change in the data handling itself. Collecting-words-with-selected-kanji for example will be able to use everything already written, as soon as the interface is done for it. There’s also no hiragana/katakana study yet, but that works solely on the user interface level. No user settings either, but that’s also just an interface.

I know that people hate to read a lot so I cut this post in two. Next one is about the future.

Categories: Progress report