Ivolution - Development status 35

Here is my weekly post about the status of the Ivolution. During these last days, I have mostly been working on another project. But at the same time, I also progressed like crazy on Ivolution ! So here are the news :
  • Windows portability.

I have switched my main dev environement from Linux to Windows. This to ensure that my codebase is OS independant and to try to find new bugs. Up to know, everything went fine and I must say I am surprised things are going so well.
  • New user interface.

Originally, I developed my GUI in pyGTK and was running it under Linux. But the framework is not windows compatible yet, and I want my application to run on everything. Plus I was not happy with the style of the GUI, and wanted something more interacting with the user. So I redeveloped a new interface from scratch, this time using wxPython. Here is what it looks like right now :
New GUI of iVolution
It is still really raw, and some of the menus are not implemented yet. But I find it way simpler and catchy than the old one.
  • Real-time notifications on the interface.

The most time consuming part of the Ivolution is definitely the face detection part. One must expect a 1 to 4 secondes processing time for each image, depending on its size. I wanted the user to be aware of that, while showing him that progress were made when he waits. The last feature I developed is the centre panel of the application. When the algorithm runs, a list of al the images found is displayed. As they are processed, their color change: a green font if the image contains faces, and a red font otherwise. I am really happy of this, because now the user knows in real-time how the agorithm performs, and does not only wait for the end of the processing.
  • Multi-OS parameters.

I also added an OS detection feature, to give correct default parameters. On startup, the Ivolution will detect the OS you are running and present you correct options accordingly.

My objectives for next week:

  • Implement the settings frame. It will contain optional parameters, llike the type of face or the output location.
  • Implement the about frame. This one will give information about the license and version, . .. of the software.
  • Work on packaging. When the two first objectives will be done, I plan on spending some time on the setup.py file. I have to add dependencies to wxpython to it.

On a longer term:

  • Have a nice looking interface.
  • Package the application for Windows and Linux (Ubuntu for now). I want the simplest possible installation for users.
  • Update the documentation and web page
  • Allow the user to create/save/load projects.
To get the last version of the Ivolution, clone the gui_v2 branch on github.