User Interface

The specific layout of the user interface is up to the designer, but it MUST contain at least the following elements:

  1. Entry field allowing the user to enter a query.
  2. ``Go'' button to initiate query processing. The system SHOULD bind ``return'' to the go function and possibly also a menu item, but a ``Go'' button MUST be present. The actual text of the ``Go'' button is up to the designer, so long as the meaning is clear.
  3. Presentation pane that displays results. The system MUST display each URL that matches the entire query, along with the TF/IDF score of t hat page, but it MAY also display additional information (such as a sample of the contents of the URL's targeted PAGE or the title of the PAGE). The system MAY simply display all relevant results in a single pane or it MAY show only a subset of them, but in the latter case it MUST offer a mechanism to page through all relevant results.
  4. ``Reset'' button that resets the presentation pane to empty (or the initial greeting message). The system SHOULD also provide a menu option to achieve this.
  5. ``Quit'' button that shuts down the Moogle client and exits. The system SHOULD also provide a ``Quit'' menu option. When the program exits through the ``Quit'' function, the program MUST return a 0 exit status.
  6. Minimal browser function that allows the user to click through any of the returned results to see the PAGE it points to. The level of HTML presentation supported by javax.swing.JEditorPane is sufficient.
  7. An ``I'm feeling random'' button, or equivalent, that immediately loads a random PAGE from the set in the WEB DATABASE.

The designer MAY implement additional UI functionality as well.

Terran Lane 2005-09-21