Blogs
The design of the new 64-bits version
28 February 2020
Why a new version? Since some time, there are two versions of
CHEAQS Next available on the website, the regular version and a
‘research version’. Let me tell you why I decided to write a new
version.
A few years ago, I realized that the version I was working on
would sooner or later be outdated, because it was a 32-bits
program. Upgrading the source to 64-bits was not as
straightforward as it might look, because the compiler I used
(Powerbasic) is not available in a 64-bits version and may never
be. So I had to re-write or convert the program anyway. I took
that opportunity to think about features I had not implemented
yet. Then I made a list of new functionalities I wanted the new
program to have. Let me share this list with you. First of all, some technical issues.
- The program should be 64 bits.
- The program should be entirely written in Unicode and be able to handle Unicode strings and folder paths.
- The program should be good looking also at high DPI-values (dots per inch).
For the calculation options I formulated the following requirements.
- The program should be able to handle different temperatures.
- The program should have an additional method for computing conditional constants at high ionic strength.
- An option had to be included to automatically adjust the charge balance in order to achieve an electrically neutral solution.
- A better or at least additional adsorption had to be implemented.
- The new version should have a larger database including citrate, DTPA and twenty amino acids.
- The program should have a mechanism to handle different databases.
- The program should have a real print preview.
- There should be an option to view two or more datasets at the same time to compare them.
- A check had to be made for additional ways to improve calculation speed.
- The program should have a mechanism for multi-language support.
Finally, a new interface for the main menu was needed.
With this wish list I started the design and planning of the new
version, in 2017. Since then, I worked on building the new version
and implementing these features. I am not there yet but I make
progress.