user queries spl (== surveyor.pl) spl queries user whether user wants to (1) complete a survey (2) view survey results (3) create a survey if complete a survey { spl returns list of current surveys (including # of questions in each) user chooses survey to complete spl sends first question user sends first answer spl saves first answer spl sends second question .... spl sends last question user answers last question spl saves last question spl thanks user for completing survey } else if view results { spl returns list of recent results user chooses which results to view spl returns results } else if create a survey { spl queries user for password user supplies password spl checks password happy path: password okay spl queries user for title user supplies title spl queries user for description user supplies description spl queries user for author user supplies author spl queries user for start date user supplies start date spl queries user for end date user supplies end date spl queries user for type of first question (yes/no, likert, free-form) user supplies type of first question spl queries user for first question user supplies first question ... how does this end?!?!? spl creates survey xml file }