December, is near to its end and 2017 is finally coming. The last month was hectic though. I had my semester exams in the first half of the month and I didn’t get much time in between to concentrate on my project. But the later half was quite productive. Half time has already passed by and this month was important as I made couple of changes to my UI and code which were important and required for long-term benefits. Another important news for this month is that GCompris had its 0.70 version release this month and we have finally replaced the GTK+ version in Windows with the Qt version. :smile:

I learnt a lot in these two months. I now understand the famous quote by Martin Fowler “Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” Yes, that’s the lesson I learnt. It’s not necessary always to make things work but its also necessary to make your code readable/maintainable after those things work. My mentor Emmanuel Charruau played an important role in teaching me those lessons who taught me to always think the ways you can refactor your code. What is refactoring? Wikipedia defines it as: Process of restructuring existing code without changing its external functional behaviour to improve nonfunctional attributes of the software. But why do we think of refactoring the code when you already have the functions you need working? Well, Its not necessary for the customers or the people using it but its really important for the devolpers in order to maintain your code in longer run. Though the processing of refactoring results in new bugs but I think that’s the process of software developement :wink:

I have made various modifications to the design to make my activity better. There was a problem of stacking of images earlier i.e when you drag the images to the left or right you might end in placing the images one above the other resulting in a problem of popping/removing all the images from that stack in order to drag the image trapped at the bottom. Now the problem is solved. I made three zones for the user to drag the images which arrange the image on their own in the form of a grid. It appends and removes from the respective zones when the user drags or drops the image thus giving a better UI and no stacking.

Categorization Before: Before

Categorization Now: After

That’s all for now. More about categorization and my SoK progress in my next blog post. Happy new year 2017 :wink: