HomeDigital EditionSys-Con RadioSearch Java Cd
Advanced Java AWT Book Reviews/Excerpts Client Server Corba Editorials Embedded Java Enterprise Java IDE's Industry Watch Integration Interviews Java Applet Java & Databases Java & Web Services Java Fundamentals Java Native Interface Java Servlets Java Beans J2ME Libraries .NET Object Orientation Observations/IMHO Product Reviews Scalability & Performance Security Server Side Source Code Straight Talking Swing Threads Using Java with others Wireless XML

EchoSearch is a Java-based, multi-search engine query assistant. Through its primitive interface, anyone can quickly develop queries to go against its seven predefined Web or Usenet search engines. The concept behind EchoSearch is great, and surely needed. However, execution leaves much to be desired, given other more powerful tools on the net.

Setup is fairly easy after downloading the 4MB executable and the online help is provided in HTML format. Other than some invalid internal links, the help text is very useful in describing interaction with the tool and ways to improve your query results. In searching the web, asking the right question is half the battle, knowing where to ask is part of the other half. Once you have the tool setup, you can enter terms and send EchoSearch on its merry way. The system simultaneously sends the query to the selected search engines and waits for the designated number of results to come back. The default is to search through AltaVista, Excite, HotBot, Infoseek, Lycos, OpenText, and WebCrawler, and to wait for the first ten hits to come back from any of them. The default mode seems to heavily favor AltaVista. I am not sure if that is because it is quicker or if EchoSearch just starts that thread first.After getting ten hits, the system automatically downloads the documents to the local hard drive, analyzes the results, and creates various views of the result set. The results can be viewed via concepts (basically proper nouns with some related text from document), qualified results (those concepts which contain something you looked for), an index (all concepts without related text), or summaries (single view of all resulting documents with some relevant content included). These views provide the interface to see the merged query results and are the added value of the program. (See Figure 1).

Figure 1
Figure 1:

Another view EchoSearch can generate is a 'Table of Contents' view of the result set. What this displays is a list of all headings (H1, H2, …) in the documents, with direct links to them. When the result set had headings in its documents, this view was very useful, but generation is disabled by default.

To review a document, you select a link from one of the views. When reviewing, you are shown which engine located the document and where the original document can be found, along with a local copy of the page. What this means is you can hop between resulting documents quickly, but you will not see any graphics or applets, although forms and external links may still work. Surprisingly, you do not see any alternate text provided for the graphics or applet. The style requires a little getting used to and the original document link is close at hand. Unless you are looking for alt.binary images from Usenet, you should have enough detail about the information available from the text provided. In addition to the simple queries, EchoSearch supports more advanced queries for the search sites that permit them. An extra screen is provided to generate queries with terms that you require in the result set, or must not have. Instead of using the extra screen, you can manually enter the advanced search using '+' for the terms that are a must, and '-' for those to be avoided. Similar to most Java forms, the advanced search input fields do not support tabbing between them.

Like most decent programs, the system does allow you to configure almost anything. The number of resulting documents can be changed in blocks of ten, or manually modified to any value; the different search engines can manually be turned on/off and automatically are disabled for query types that are not supported. Changing the scope of the query can be changed from the World Wide Web to Usenet, if you wish to search news articles, and you can preview the hit list before the system downloads the documents.

If speed isn't as important, and you are more interested in spreading the results across multiple search engines, you can change the search mode to 'relevancy'. This mode doesn't necessarily return more relevant results, just waits for slower/busier search engines to respond.

EchoSearch provides support for retaining result sets between sessions, so you don't have to rerun queries. Also, if you find certain specific URLs useful, you can create an EchoSearch-specific bookmark list that can be reused to generate the resultant views. It would be nice if one could easily import Netscape Navigator bookmarks or Internet Explorer favorites, but that capability isn't scheduled to be included until version 2.0 in 1Q97. (There will also be a basic scheduler in 2.0, that will be refined more in future upgrades.)

On the Java side, this ships with the complete Java run-time system; 1.5MB for classes.zip and another half meg or so for the .DLL files. It also comes along with Symantec's Java! ByteCode Compiler Version 1.02e, their JIT compiler. At least for the reader's of this magazine, most of this will already be on your hard-drive. It would be nice if they could ask if you already have it, and not install if you do. Granted, without the JIT-compiler, the performance would be intolerable. However, if every Java application delivered the entire runtime, you would be filling up your hard drive even quicker.

For something that is Java-based, EchoSearch surprisingly is only available for Windows95/NT. If interested in trying it out, you can download it from Iconovex's web-site for a 15-day trial period. Also, they offer a subscription service of $29.95 with 6 months of upgrades, or $49.95 for 12 months of upgrades. According to their email technical support (which responded fairly quickly), the subscription ensures you have the current version at the end of the time period. It will not stop working after that, but you will have to pay extra for additional upgrades. Their 3.0 release is scheduled for 3Q97, so plan accordingly.

The idea of a meta-search tool isn't unique to EchoSearch. Nothing it finds, can you not find without it. If you ask about 'commerce', EchoSearch finds things that contain 'commerce'. Once documents with 'commerce' are found, EchoSearch analyzes these results and highlights things like marketing, distribution, exchange, transactions and business. EchoSearch does not try to make your query smarter, it only present the results in a concept-oriented format. The ability to search seven of the most popular search engines at once is great. However, on a 16MB 133 MHz 486 with 28.8 modem, EchoSearch seems to take forever to get you to a results screen. How much of that lack of performance is a result of Java is unknown, and maybe EchoSearch just needs to use BufferedInputStream and BufferedOutputStream, but you will wait and hear your disk drive spin. Also, with things like ForeFront's WebSeeker available that search 23 search engines, seven seems like a drop in the bucket.

About the Author
John Zukowski is a Software Manager with MageLang Institute, a java training firm. He has been playing with Java since the late alpha stages of the language, is the author of "Java AWT Reference" and is the founder of the Mid-Atlantic Java User Group. He can be reached at [email protected]


All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.
  E-mail: [email protected]

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.