Home > Development, Plans, Rant > The return of the … nothing.

The return of the … nothing.

お久しぶり! I haven’t posted anything for a while so I thought it’s time to do so. Not that I have too much to say. I was slacking off with the N list again for all this time, and didn’t do much work on zkanji either.

There is something though. I tried to add a feature to zkanji and spent a lot of time implementing it, but after struggling with it for 2 weeks I finally decided to give up on it. You probably don’t care about stuff that will never be implemented but as I want to show that I did work on something, you will have to read it through. (Or just go away from this blog and never look back, but let’s not be so negative.)

The feature I wanted to add was a way to group the groups! This meant that instead of the simple list (and checkboxes) for the kanji and word groups, there would have been a treelike presentation of them. I have many groups with similar names. In one such “group” the groups are numbered from 1 to 45 (so far), and I thought that it would be nice if I could place them under a single item, so they wouldn’t take up so much space when I’m working with other groups. Sounds nice, right? I thought so too, and started to implement it with great zeal. 2 weeks passed, and I still could only place a tree view window, fill it with my groups, and nothing more. There was no rename, no move from one place to other, no delete etc.

To be honest, it took so much time to get this far because I started to implement my very own tree view control. Windows by default has a tree view control with most functionality (adding new items and nodes, presenting them on screen, handling keyboard, mouse etc.), but it is not so nice to use if you want to add custom things into it that are not incorporated. For example I needed custom checkboxes that behaved a bit differently depending on their position. Also when a tree view is destroyed, everything placed in it was lost as well. You might not know (or care) about such details, but when zkanji starts up, it (still) has 3 different windows for the kanji list, study groups and dictionary. Those windows have to be docked on a single window to make up the main interface. Unfortunately docking doesn’t really exist in the system.  It is faked by destroying the windows being docked, and creating new ones that look exactly the same. All data that was stored in windows controls are lost as well unless someone manually saves them, and reloads them into the controls.

Fast-forward to today when I have an almost finished and working tree view control, and it’s time to start working on the real thing. Although I thought about how groups in a tree structure would work, but never spent time on the problem for real. (You can say now that I love tree structures, I bring them up all the time.) Today I did. And then restored the original source files. The reason is really simple. Once you sit down to seriously think over a problem, you start to see how complicated it really is. I would have to not just change how the groups are presented on the groups area, but also change every other window where groups can be selected, with the appropriate extra code. For example if a group was placed at the wrong location, there must be a way to move it elsewhere. It was simple with a single list, with only up and down buttons, but in a tree, the best way to do it is by drag-and-drop (and let me not start on how complicated (f*cked up, sorry but there is really no milder expression for this) drag-and-drop is in windows.) And should I only let moving groups in the main window or in group selection windows too? What if group selection spans over groups? etc.

There are just so many questions and so much work to make this little change, that I finally decided that it is not worth it.

You probably didn’t want to know about all this, but here it is. I had to give it all out.

Categories: Development, Plans, Rant
  1. Nelson Romano Neto
    February 27, 2012 at 9:17 am

    Quero dizer por este e-mail, que percebi que muitas leituras KUN de muitos kanjis do ZKanji são obsoletas e não mais utilizadas… Concordo que são muito úteis e não desejo que elas sejam eliminadas, pois todo conhecimento em língua japonesa é bom, mas digo que seria muito mais adequado que houvesse uma indicação nessas leituras, para que não utilizemos os Kanjis com leituras inadequadas e antiquadas. Além disso quero dizer mais uma vez que o ZKanji está perdendo muito com esta janela múltipla. Acredito que a interface do aplicativo está muito poluída e pouco prática. Sei que muitos usuários preferem desta maneira, mas se as janelas múltiplas fossem pelo menos opcionais me agradariam muito. (Caso haja alguma forma de pelo menos no meu PC funcionar assim a versão 0.717… ). Peço que vocês atentem para o fato de que o dicionário fica muito espremido na janela simples, e é pouco prático utilizar a lista de Kanjis e o Dicionário na mesma janela, sem contar a lista de estudos que atrapalha um pouco ali. Peço que me ajudem, por favor, pois a versão 0.717 tem a versão das sentenças de exemplo muito mais completa, para que eu a largue de mão. No demais o ZKanji está de parabéns e penso que vai demorar para aparecer um aplicativo à altura (se um dia aparecer…). Sou grato pela atenção, e quero que saibam que tudo o que digo é para o bem do ZKanji, que utilizo diariamente com muito interesse.

    Muito obrigado

  2. Nelson Romano Neto
    February 27, 2012 at 9:21 am

    Por este post quero dizer que estou trabalhando em um novo dicionário para o ZKanji (Português-Japonês). Já defini mais de 3500 Kanjis e traduzi mais de 1000 palavras para o dicionário. Digo que tenho muito interesse em compartilhá-lo com o os interessados quando ele estiver mais completo.

    Grato pela atenção

  3. jhack89
    April 24, 2012 at 6:22 pm

    I didn’t know you already spent so much time on this feature! In fact I thought the same as you, groups of groups would be excellent so solve the problem you cited above. Yet I didn’t dare to mention it as I guessed how hard to would have been to implement it… that is especially considering Zkanji is a C++-based application, which makes things even worse (with that said I’ll never express enough how much I love C++!). Who knows, maybe you’ll reconsider the thing in a couple of years, when we’ll reach v1.5! xD
    One question: exactly, what IDE, compiler and libraries are you using to develop Zkanji? It might be a quite irrelevant to most of people out there, but I’m really interested about it!

    • April 24, 2012 at 8:03 pm

      C++Builder with the VCL library. I don’t even use STL because I wanted source code that contains everything in itself if I move to some other environment. I don’t find C++ difficult, maybe because I use it for such a long time now. At least it is not comparable to the difficulties windows itself presents. But that wasn’t what stopped me implementing a tree structure of groups. It’s rather all the changes I would have to do in the user interface. Many windows contain selection box for groups, I would have to make up something usable for all of them and I decided it doesn’t worth the trouble.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: