During the time we were maintain C4 for Cyber Networks, Inc. I had mentioned to my partner Chuck that I wanted to rewrite the engine, but time and money prevented me, as I had other duties to perform at the time. This is why C4 still has some of the same limitations as the Java version, mostly due to lack of time for a re-engineering of the program.
But when Cyber Networks, Inc. left us to go their merry way, taking their metasearch engines with them, Chuck gave me the go ahead to do a reimplementation. And a reimplementation I did.
It took longer than anyone expected really, as I was rewriting our main CGI library from the ground up (after two years of development it was a bit of a mess, so I took it upon myself to clean it up—reimplementing it along the way) at the same time (and the current version of the CGI library is much better than the previous versions).
Also, I was rethinking about some of the limitations in the older versions, like the five concurrent connections, and the way they work (five at a time, it doesn't start on the next set of five until the previous set is done) as well as the mistake I made of embedding HTML into the program proper. I was also taking into consideration possible future enhancements I might like to do, as well as design changes that might drastically change the way the program works.
By May of '97 I had the new version up and running. It still had the five concurrent connections, but that was now the default value instead of a builtin limitation. I had also made the engine faster, always having the maximum number of connections going at any one time. I had also removed all HTML from the program itself, leaving it in external files.
Other changes were options to control the output, a selectable time out value and internal changes that make major changes easier to manage.
Changes to the code now no longer reflect cosmetic changes, but increased functionality and options.