Firstly, I think that one nice improvement would be to include support for 64-bit MPI implementations. In my case, the cluster that I run calculations on has a 64-bit Linux distribution as the operating system. 32-bit MPI implementations like OpenMPI don't run very well on this OS, causing Firefly to behave strangely and frequently causing it to crash. I realize that it might sound a bit selfish to ask for an improvement which solves my very specific problem, but with 64-bit computing becoming more and more popular I believe that many people will benefit here, if not today then certainly in the near future. I have no idea though if such an improvment can be accomplished easily, considering that the current version of Firefly is mostly 32-bit code.
Then, secondly, I think that a big improvement would be if Firefly could handle a larger maximum amount of memory. I found that, for example, with MP4 calculations the memory limit can be very constraining (whereas the CPUs and I/O of the computing system are sufficiently fast), causing the program to need many passes in each step of the MP4 calculation process. Again, I don't know if this can be accomplished easily since the memory limit stems from Firefly being mainly a 32-bit program. (Maybe the 32-bit limit can be worked around by dividing the memory requested across multiple instances of Firefly running in parallel? As in: 4 instances of Firefly, each with a 2 GB limit = 8 GB? Just a thought.)