Jason A. Guild CS 470 Presentation

16
Jason A. Guild Jason A. Guild CS 470 CS 470 Presentation Presentation B.S. Computer Science B.S. Computer Science Information Systems Information Systems

description

Jason A. Guild CS 470 Presentation. B.S. Computer Science Information Systems. Background. Hired by Dept. of Natural Resources Lead permitting agency for the State We manage all State-owned land, water, and natural resources, except fish and game, on behalf of the people of Alaska - PowerPoint PPT Presentation

Transcript of Jason A. Guild CS 470 Presentation

Page 1: Jason A. Guild CS 470 Presentation

Jason A. GuildJason A. GuildCS 470 CS 470

PresentationPresentationB.S. Computer ScienceB.S. Computer Science

Information SystemsInformation Systems

Page 2: Jason A. Guild CS 470 Presentation

BackgroundBackground

Hired by Dept. of Natural ResourcesHired by Dept. of Natural Resources Lead permitting agency for the StateLead permitting agency for the State We manage all State-owned land, water, and We manage all State-owned land, water, and

natural resources, except fish and game, on natural resources, except fish and game, on behalf of the people of Alaskabehalf of the people of Alaska

My position is part of a team charged with My position is part of a team charged with making business with DNR easier for the making business with DNR easier for the publicpublic Emphasis on streamlining permit application Emphasis on streamlining permit application

and adjudication processesand adjudication processes

Page 3: Jason A. Guild CS 470 Presentation

DNR PermittingDNR Permitting

Process involves many phasesProcess involves many phases Starts with customer applying with a Starts with customer applying with a

description of what they want to dodescription of what they want to do DNR adjudicates their request based DNR adjudicates their request based

on a number of factorson a number of factors Request is put out for review by other Request is put out for review by other

agencies as well as the publicagencies as well as the public If request is deemed to be in the best If request is deemed to be in the best

interest of the State, a permit is issuedinterest of the State, a permit is issued

Page 4: Jason A. Guild CS 470 Presentation

Applying for a permit is Applying for a permit is complexcomplex

Customers often do not know what type of Customers often do not know what type of permit is requiredpermit is required

Paper forms we use are confusing and Paper forms we use are confusing and contain unfamiliar jargoncontain unfamiliar jargon

Permit applications we receive are often Permit applications we receive are often incomplete or filled out incorrectlyincomplete or filled out incorrectly

Adjudicators spend large amounts of time Adjudicators spend large amounts of time interviewing the applicant over the interviewing the applicant over the telephone to get the necessary informationtelephone to get the necessary information

The collected data then has to be entered The collected data then has to be entered into LASinto LAS

Page 5: Jason A. Guild CS 470 Presentation

The GoalThe Goal An assisted environment that provides a step-An assisted environment that provides a step-

by-step interactive approach to applying for by-step interactive approach to applying for permitspermits

Make use of carefully constructed lines of Make use of carefully constructed lines of questioning to:questioning to: Help applicant determine required permit typeHelp applicant determine required permit type Make complicated applications manageable by Make complicated applications manageable by

eliminating parts that are not applicable to eliminating parts that are not applicable to customer’s intended activitiescustomer’s intended activities

Increase the likelihood of getting accurate Increase the likelihood of getting accurate information the first timeinformation the first time

Save adjudicator time by letting applicant do Save adjudicator time by letting applicant do the bulk of data entrythe bulk of data entry

Page 6: Jason A. Guild CS 470 Presentation

Online ApplicationsOnline Applications

DNR would like to allow electronic permit DNR would like to allow electronic permit applicationsapplications Delivered via the Web as well as via kiosks Delivered via the Web as well as via kiosks

located in DNR Public Information Centerslocated in DNR Public Information Centers Collects all pertinent data that describes the Collects all pertinent data that describes the

customer’s intended activitiescustomer’s intended activities Integrated with our GIS applicationsIntegrated with our GIS applications Allows attachment of supporting Allows attachment of supporting

documentation (like maps, surveys, etc.)documentation (like maps, surveys, etc.) Accepts payment of application fees by credit Accepts payment of application fees by credit

cardcard

Page 7: Jason A. Guild CS 470 Presentation

Desired FormatDesired Format

A “wizard-like” interface that operates A “wizard-like” interface that operates like those seen in popular tax filing like those seen in popular tax filing software would seem like a good software would seem like a good solutionsolution Use of contextual help and informational Use of contextual help and informational

resources to educate applicantresources to educate applicant Ability to “pause” an application and Ability to “pause” an application and

continue it at a later timecontinue it at a later time Review history of sections completed and Review history of sections completed and

ability to revise earlier answers ability to revise earlier answers

Page 8: Jason A. Guild CS 470 Presentation

The RealityThe Reality

DNR has several permit typesDNR has several permit types Many share commonalities in information Many share commonalities in information

requirementsrequirements Building a special-purpose system for each Building a special-purpose system for each

one is cost prohibitiveone is cost prohibitive Interviews have to be easy to alter and Interviews have to be easy to alter and

expand as neededexpand as needed It would be ideal if adjudicators could It would be ideal if adjudicators could

maintain interviews without aid of analyst maintain interviews without aid of analyst programmersprogrammers

A generalized system is needed A generalized system is needed

Page 9: Jason A. Guild CS 470 Presentation

OptionsOptions

Off-the-shelf solutions are practically non-Off-the-shelf solutions are practically non-existentexistent What I found were products that were too What I found were products that were too

simplisticsimplistic Focused on creation of surveys and testsFocused on creation of surveys and tests

I saw this as an opportunityI saw this as an opportunity Satisfy my senior project requirementSatisfy my senior project requirement Gain experience with the problem domain and Gain experience with the problem domain and

allow me to make recommendationsallow me to make recommendations Without committing State resourcesWithout committing State resources

Page 10: Jason A. Guild CS 470 Presentation

Interview ModelInterview Model

Interviews are composed of one or Interviews are composed of one or more broad activitiesmore broad activities

Each activity is then composed of Each activity is then composed of one or more data collection screensone or more data collection screens One is designated as the starting point One is designated as the starting point

for the activityfor the activity Screens are arranged in a directed Screens are arranged in a directed

graph that comprise the flow through graph that comprise the flow through the activitythe activity

Page 11: Jason A. Guild CS 470 Presentation

Interview SessionsInterview Sessions

When user begins interview a session is When user begins interview a session is established that retains all important established that retains all important information about their interaction with the information about their interaction with the interviewinterview

Interview sessions are composed of:Interview sessions are composed of: Timestamps that record when interview was Timestamps that record when interview was

begun and when it endedbegun and when it ended A schedule of activities to completeA schedule of activities to complete Data collected from encountered screensData collected from encountered screens A history of the user’s path through each A history of the user’s path through each

completed activitycompleted activity

Page 12: Jason A. Guild CS 470 Presentation

Interview ScreensInterview Screens Each data collection screen is composed Each data collection screen is composed

of the usual user interface widgetsof the usual user interface widgets Data is entered into the screen and Data is entered into the screen and

validated for syntactical correctnessvalidated for syntactical correctness Validation failures cause screen to be Validation failures cause screen to be

redisplayed with error messagesredisplayed with error messages All validated data then becomes input to All validated data then becomes input to

conditional branching logic which:conditional branching logic which: Determines next screen to displayDetermines next screen to display Causes scheduled activities to be skipped or Causes scheduled activities to be skipped or

additional activities to be scheduledadditional activities to be scheduled

Page 13: Jason A. Guild CS 470 Presentation

Interview FlowInterview Flow

When user completes an activity, they When user completes an activity, they proceed to the next scheduled activityproceed to the next scheduled activity

When no activities remain, user is done When no activities remain, user is done with interviewwith interview

Session information is saved and Session information is saved and processed at a later timeprocessed at a later time Currently, session information is simply Currently, session information is simply

dumped to an XML file and written to disk.dumped to an XML file and written to disk.

Page 14: Jason A. Guild CS 470 Presentation

Environment & PlatformEnvironment & Platform Interviewing system written in Java as a J2EE Interviewing system written in Java as a J2EE

web applicationweb application Deployed on Apache TomcatDeployed on Apache Tomcat Interviews are marked up in an XML-based Interviews are marked up in an XML-based

languagelanguage Actual displayed content is combination of the Actual displayed content is combination of the

interview markup, JSP pages, and client side interview markup, JSP pages, and client side scriptsscripts

Server-side validation and conditional Server-side validation and conditional branching logic can be native Java or any branching logic can be native Java or any scripting language supported by the scripting language supported by the integrated IBM Bean Scripting Frameworkintegrated IBM Bean Scripting Framework

Page 15: Jason A. Guild CS 470 Presentation

The ResultThe Result

A reusable object model that provides an A reusable object model that provides an abstraction for all key elements of an interviewabstraction for all key elements of an interview

A flexible rendering model based on XML A flexible rendering model based on XML stylesheets that supports Web forms as well as stylesheets that supports Web forms as well as other potential delivery mediums other potential delivery mediums

A runtime that can “play” interview A runtime that can “play” interview descriptionsdescriptions Without significant programming, reducing the Without significant programming, reducing the

effort and level of expertise required to get resultseffort and level of expertise required to get results Allows interview authors to focus more on structure Allows interview authors to focus more on structure

and content rather than technical detailsand content rather than technical details

Page 16: Jason A. Guild CS 470 Presentation

ConclusionConclusion Producing an interactive interviewing Producing an interactive interviewing

system was an ambitious senior projectsystem was an ambitious senior project All core functionality is presentAll core functionality is present Work to date is certainly classified as a Work to date is certainly classified as a

prototype, and a number of rough edges prototype, and a number of rough edges and incomplete features remainand incomplete features remain

What I’ve done can serve as a useful What I’ve done can serve as a useful vehicle for experimentation and vehicle for experimentation and discussion that I can take back to DNRdiscussion that I can take back to DNR