Cyber Networks, Inc., offers the ultimate Reference Tool to the individual user and business community of the Web, a Meta-Search Engine with a Dictionary and Thesaurus called Brainstorm.
Two versions of Brainstorm are being released. A Frames version, to run with Windows 3.1 using Netscape and a Java version to run within Windows 95, utilizing all browsers that support Java.
The Java version of Brainstorm can be used a s permanent fixture to your existing browser, being minimized when it is not in use, and maximized when needed with one click of the mouse.
The most important feature to remember is that it is FREE to the user which makes it the perfect Marketspace Platform for the advertiser.
From the Promotional Liturature for Brainstorm,
The Ultimate Billboard On The Information Superhighway
(I am not making any of this up)
This began back in late '95, when one of our customers, Cyber Networks, Inc. approached us to do a metasearch engine. Being the Vice President of Research and Development for Armigeron Information Services, Inc. I jumped at the chance to do this in the then hot new language Java.
I originally asked for four months to develop the program, but the customer wanted it sooner, so a two month (actually 65 days) schedule was developed, which was fairly tight, given that I had to actually learn Java at the same time. Due to contract negotiations took longer than expected, and when I started on March 1 of 1996, I was faced with a 56 day deadline in order to meet a computer expo in late May.
The idea was to download the processing to the client side, to avoid strain on our server. Well, as it turned out, the remaining bugs in Brainstorm were all implementation bugs of Java under Windows 95 (if you aren't technical, or aren't interested in the numerous bugs I encountered in the Java implementation under Windows 95, you can skip this section):
User could resize the Brainstorm window, even though I expressly called the appropriate routine telling the Java system not to allow the window to be resized.
Clicking on the “Close Window” control on the window frame would not close the window (or the applet).
The first time the applet is run, the layout (it was a complicated layout, including two custom layout managers) would be screwed up. The second and third times the layout would still be screwed up, yet the fourth time it would layout properly. Oh, and between each time I ran the applet, I would have to restart Netscape each time.
Brainstorm would occationally read an outdated configuration file (from the server), due to caching by Netscape.
There was a problem in the
MediaTracker.classwhereby the images required to run the program would load faster if the user moved the mouse over the applet really fast, otherwise, it would take forever for the applet to load the images.
There was a problem with the security exceptions that would cause the program to crash. What happened is that the applet would attempt to contact the search engines directly, but if the “sandbox” was set up not to allow network connections for applets (except to the server delivering the applet), Brainstorm should have caught the exception, then attempt to go through our server. Only the exceptions didn't quite work so I had to remove that part of the code and go exclusively through our server to get to the search engines.
Even though the applet opened up its own window (Frame as it's called) and would run asynchronously (at the same time) with the browser, you could only send the browser a URL when the page with the actual applet was ran from was in the browser. So that means if you selected a link from within Brainstorm, to select another link, you had to go back to the Brainstorm home page.
I now know a (admittedly lame) workaround for that, but at the time I didn't.
A bug in
java.net.URLin that if a URL is given without the port number (i.e.
http://www.cyber411.com/), a value of
-1is assigned as the port number to the URL object.
Okay, maybe that isn't exactly a bug, but it is a poor design.
List.clear()didn't work under Windows 95.
Thread.destroy()wasn't implemented. This from the actual source code for the Thread class. Thanks, Sun.
Network connections would never be fully freed, thus slowly consuming network connections from the rest of the system. They were only freed when you exited Netscape.
Netscape, Java, 95
Shotgun is nearby
Haiku in Easter Egg. Brainstorm, Java Version
It's an exausting list of bugs to work around. And even then there were bugs I couldn't work around. And some of the workarounds (for instance, the network congestion problem) influenced the design for the later versions, but I'm getting ahead of myself there.
I just love the whooshing sound of deadlines as they fly overhead
As it was, D-Day came, and D-Day went and I was still no closer to finishing the program, as it often the case in software development. Most of the functionality existed, but the most important part, the actual metasearch part, I was still franctically working on, even as the expo was in full swing out in California.
The program did make a big hit out there, crippled as it was. The marketing aspect, the rotating banners updated every minute, worked, as well as the dictionary and thesaurus so there was something to show the throngs of people out there, although sad to say, no one actually saw it working, although if you feel brave enough, you can try it yourself. If you can't, or won't try it, you can get a feel for what it looks like by viewing this “screen shot“ of it running, as it was shown in the brochure given out at the Expo. Note that even though the version I wrote ran under Windows 95, and the version being demoed was being run under Windows 95, the version in the brochure was a mockup done on a Macintosh. It's close enough.
The program was finally finished 69 days after I started—four days late according to my original estimate, but about a week after the expo. Such as life in the computer industry.
In fact, I think only a handful of people actually saw the finished project working (well, just barely). Shame really, as Java is a nice concept, just poorly executed. And because of this poor execution of Java, my partner Chuck consoled the customer, telling them we would work on a version that would work with any browser using the Web standard Forms interface.
I should note that the last time I actually ran the Java version of Brainstorm in early '97, using the then latest version of Netscape, it still had the same problems. I've yet (mid '97) to try it again, using Netscape 4.0.