Due to the rather disapointing Java version of Brainstorm, my partner Chuck told our customer, Cyber Networks, Inc. we would do another version that wasn't done in Java and could be used by more browsers by using the standard CGI interface.
The new version was ready by mid July, '96, only two months after I started reimplimenting it in C. One of the things I did when developing this version was to stick as close to the original Java version as I could, but in C. Several things that Java handled for me, such as dynamic strings and retrieving a web page, I had to handle myself. And some things, such as threads (the original Java version was multithreaded) I had to do without.
Even so, I had followed the original design quite a bit. In the Java version, I had limited the number of concurrent connections to the search engines to five at a time, and I kept that limit in the new version (and it still has that limit) even though it could have been removed (or made larger). I needed to get it working as fast as possible, and that meant following the original Java code as closely as possible.
My concern at this time was with the actual programming, the layout of the web site wasn't my concern, although I did think the heavy frame useage of the original CGI based version was a bit much (this was an attempt to get the web page to look as much like the original Java version as possible, and as such, it not only used frames, but server pushes and huge graphics and at the time, was unusable by Lynx (a conscience design descision)).
By this time, the metasearch engine had its own website, Cyber411, and a few months later, its own server (it started life out running under the Apache Web Server running under the Red Hat Linux Distribution, but later changed to Apache running on an SGI challenger series, although development was still done under Linux). Over the next nine months the interface changed quite a bit, but the actual core of the program, the metasearch engine itself, changed little. Most of the changes were cosmetic, as I made the rather bad mistake of embedding HTML within the program itself, so changes to the output required recompiling the engine.
The name of the project itself changed, as Brainstorm was in use by another company. I eventually ended up calling this Cyber411, or C4 (an apt name in retrospect), after the name of the web site that hosted it, Cyber 411.
One thing this version had was logging. Lots of logging. Enough to be amazed at what most browsers sent. I followed the CGI spec, but I can't say the same for most other browsers, and Microsoft's Internet Exporer was about the worst in following the CGI standard.
Another interesting thing was how badly some people copied the
front end. It's not apparent (unless you examime the actual
HTML code) that
there are other options other than
Hyper, but when you check the HTML, you'll come across:
<select name="query type"> <option>Hyper <option>Fast <!-- <option>Super Duper Hyper Fast --> <!-- <option>So Fast It'll Peel Your Eyeballs --> <!-- <option>It's already done last week --> </select>
Yes, I admit, I put them there, but the actual form portion was about the only HTML I wrote for the site and these were there mostly for my own amusement (and for the amusement for anyone bothering to look at the code). They didn't do anything, and if enabled, C4 would complain (although I probably should have done something in retrospect).
Yet, some people blindly used this, and uncommented out the last three options! Amazing.
By the end of our involvement with Cyber 411 the frames were gone, it could be used by Lynx, key word based advertising had been introduced and the Dictionary and Thesaurus (the full story on those will have to wait) were no longer actively supported (although they'll still function).
By May of '97, Cyber Networks, who owned this and the Java version, were no longer our client, so my involvement with Brainstorm and C4 was at an end.
But it's hardly the end of the story.