Sunday, December 9, 2012

Going simple with 2.3.0

Most of the time, developers focus at adding features and fixing bugs (Ironic, Huh!). But sometimes, those features don't add up to the final product. While browsing the blogosphere of those talking about Mundus, I noticed some comments about users who could not get it work. They either found it hard to start, or what should have been done automatically, had to be made manually by them.

Although it seemed really simple to me, most of you out there downloading Mundus only want one thing. Most probably, you don't care about keeping your module index up to date, or reading what changed from one module's version to another.

This release focuses on fixing exactly that, I removed the Index Manager completely. Loading the index, and keeping it updated is done automatically under the hood. At the exception of the progress window shown when performing the update, you will not even notice that the modules are updated each time you start the application.
I also removed some setting that where simply pointless, and did not add up to the usage flow.

Another not so important change is a reduced startup time. While profiling Mundus, I noticed that the algorithm was not optimal, module files where being read form the disk several times, and some operations could be completely skipped. As a result, disk usage while reloading the modules (either at startup or online by refreshing the app) was reduced to 1/3 of the original, which also translates to the process being nearly 1.5x faster. There is still a bottleneck, however, when checking if each application is installed by looking for any of the executable files. But this can't be avoided nor optimized.

The last noticeable change is the inclusion of a filter text box in the main window. This way, if the application list is too long, or you just want to quickly find an app, just type the name and the list will be filtered out. If you know regexp, you can use much more powerful patterns to filter apps by their name.

The full changelog:
  • Removed the index manager. Modules are now automatically updated at startup.
  • Optimized startup time by reducing module loading and disk usage.
  • Fixed crash when pgrep has the -c argument disabled. (Fixes #1087189)
  • Allow the user to filter modules by a regexp pattern.
  • Automatic backups are now by default turned on.
  • Updated Spanish translation.

In accordance with the grace period, the module index for version 2.2 will be kept online until Dicember 24.