During this past few weeks I have been working on modernizing Hydrobuddy in order to get it to compile with the latest versions of Lazarus and the Free Pascal Compiler (FPC) so that other people can more easily build the software from source. Today I want to talk about the latest release for Hydrobuddy (v1.6) that comes with some important changes that take the software a step forward and seek to make usage and building of the program much easier. If you're interested in downloading the source or binaries for the new version of Hydrobuddy please visit its official page here.
I have decided to greatly simplify the program in order to remove sections and features that were complicated and really not used very often. This helped eliminate libraries that were previously required, some of which are no longer compatible with the latest version of the Lazarus IDE. I have therefore removed the program's ability to automatically update on startup and have also completely eliminated the data log section of the program. The elimination of the automatic updating makes the program much easier to compile as it eliminates some complicated requirements that were significantly difficult to install for those unfamiliar with the Lazarus RAD environment.
In addition to these changes I have also eliminated the Windows and Linux installers since these two made the overall setup and building process more complicated while they provided little additional benefit. The elimination of the installer means that the program can now be installed by simply extracting a zip file - how it was installed in the very beginning - something that makes it suitable for portable applications while before there might have been permission issues when attempting to run the installers on Windows/Linux.
In addition to the above I have also created separate versions of the program databases for Linux and Windows since these files are not compatible between operating systems and trying to build on Linux/MacOS - with the databases present that were Windows files - caused issues when testing the program. There are now suitable conditional headers that use the appropriate table files depending on the operating system being used.
I have also implemented a few additional features that improve some practical aspects when using the program. The substances used form now allows for multiple selects within the two substance columns so that you can perform multiple substance additions and deletions at the same time. This becomes very useful when you're changing your substance selections all the time since it allows you to easily add/delete multiple substances at the same time. In addition to this I have also implemented a "Zero all targets" button in the home page which basically sets all the ppm targets to zero. This can be very useful when you want to target particular single nutrients or you want to write targets from scratch.
Hydrobuddy's source is also now available via a github repository to enhance the level of contributions from other programmers. This means that others can now checkout the source, modify it and contribute their own code changes to the program so that we can implement additional features or functionality.