Apply Online

apply online GUI thumbnail image apply online GUI thumbnail image apply online GUI thumbnail image

URL: https://apply.admissions.uiowa.edu/
(Go on and apply, The University of Iowa is a great school!)

Apply Online is one of the first web applications that prospective student use when thinking about attending The University of Iowa. Prospective students can create an account, fill out admissions applications, and submit them (along with payment) to the Office of Admissions.

The web site helps them with the process of filling out the application. Each application is broken down into reasonable sized sections which can be filled out all at once or a section at a time in between sessions. There are plenty of helpful instructions alongside the fields. Page by page validation also helps to highlight problems along the way.

Features and Functionality

Challenges and Lessons Learned

This was our first major application to take credit cards. We have administrative tools that the Admissions office uses to reconcile transactions and track down any questions regarding payments. While technically, this is very straight-forward (we use PayPal and they provide a very nice API), there are process and political ducks that need to be in a row. When we first started, it was mostly mostly just technical common sense such as forcing SSL, and not saving any credit card numbers. Since then, the PCI standard has taken effect and we have taken steps to isolate this system and do all the things that are required to meet PCI compliance.

Validation of incoming information greatly reduces support costs for the Office of Admissions. When paper applications are submitted, there often has to be some back and forth between the Office of Admissions and the applicant to resolve issues such as fields not being filled in correctly, being illegible, etc. We validate at two different levels. First each field is validated as the applicant moves from page to page, then the application as a whole is validated to make sure that all the required fields are filled out based on answers to certain key questions in the application.

Flexibility is important. We started out with 4 different applications, and currently are up over a dozen with a new form being added every couple of years. All of the forms, fields, validation rules, etc. are driven from simple XML representations of the forms. This allows us to role out new forms, or make modifications to the existing forms rather easily. I think this might be our only project where we embraced XML rather than cursed at it.