Grading Criteria for Project Phase 3 (Web Services)

FEATURE POINTS
Overall Program Structure 20
GUI and Net code still works! 5
Correct "main" handling 5
Be sure to submit all Jython files I need in order to run your program (e.g., please include wiki.py and whatever other Jython files your code requires, even if you got them from me. No need to send JAR files, however). 5
Good modularity 5
Wiki Functionality 40
UI for looking up words in Wikipedia
  • Should contact Wikipedia when user selects a word in transcsript
  • Should contact Wikipedia once (at most!) per selection
  • Optional: disallow selecting "a," "and," "the," etc.
15
Correctly handle words with no Wikipedia entry
  • Looking up a word with no entry shouldn't crash or cause weirdness
10
Display results
  • Add GUI elements to display Wikipedia lookups
  • Should be well-behaved (e.g., ability to dismiss a Wikipedia lookup window)
  • Should strip HTML headers and internal formatting
15
Google Functionality 40
Automatically feed text in each exchange (i.e., both incoming and outgoing messages) in the transcript to Google
  • Correctly use the Google API to generate queries based on text
  • Optional: strip out "a," "and," "the," etc.
10
Properly display search results
  • Should display several (more than one) results per query, with the query displayed along with the results
  • Correctly handle searches that return no results
  • Show multiple (more than one) queries and their results, corresponding to multiple entries in the transcript
  • Results GUI should be well-behaved (e.g., ability to dismiss it, if it's in a separate window)
15
Display clicked Google links in Swing HTML window
  • Clicking should launch HTML browser
  • Links in browser should work
  • Optional: provide a back button, if it seems sensible given your GUI
  • Displayed information should be well-behaved (ability to close, etc.)
15
Bonus 10
Click on links in returned Wiki information to access new Wikipedia pages 5
Extreme graphical richness and novelty 5