Grading Criteria for Project Phase I (GUI)

FEATURE POINTS
Overall Program Structure 20
File "gui.py" that loads without error 5
Correct "main" handling 5
Determine current user and display it (e.g., in title bar) 5
Ability to "fake" current user 5
Basic GUI Functionality 80
Working online user list
  • Good layout
  • Can "fake" list of online users
  • Should handle many users correctly (scale, scroll, etc.)
20
Working chat invitation control
  • Should retrieve selected user(s) from list
  • May launch an "invitation pending" window
  • May just launch the chat window directly
20
Working chat window
  • Provides chat transcript
  • Provides mechanism for entering new text
  • Text entered locally is displayed in the transcript
  • Window is dismissable
  • Should show list of current members
20
Multiple simultaneous chats should be supported 10
Working invitation window
  • Should provide controls to accept or reject an invitation
  • Accept should launch a chat widow
  • Reject should close window
  • NOTE: since this first version won't use the network, there should be some way to explicitly trigger the appearance of the invitation window. This could be a separate function in the gui.py file that I can call, or a button that launches it, etc.
10
Bonus 20
Allow icons to be associated with users 5
"Buddy list" management 5
GUI richness/novelty 10