download Project Documentation (.pdf)

Interface Design Alternatives

Given the user descriptions from the personas and the user needs analysis, it becomes obvious, that a high level of flexibility in the presentation of the content must be possible. Since two user groups (secondary and tertiary) will only be viewing the content, while the primary user group will mainly edit the material, a web site that allows for both secure presentation and dynamic modification of the content must be developed. We hence propose three different prototype implementations: an implementation as an Angel group, a semi-static Java Applet, and a GWT implementation of the front end.

The online course management system Angel allows the support for groups in which members of faculty and students can interact and submitted material. Since Angel is powered by a back end database, and takes responsibility to maintain user authentication and editing rights, it is a good platform for the implementation of the ABET certification website. It is only necessary to enter the content manually – one does not need to be concerned with the creation and maintenance of a back end database. However, Angel is somewhat restrictive in the type of content that can be added and users logging in to review the degree program certification must have a user account with SUNY Oswego. This will make it necessary for ABET Reviewers to obtain a user account at SUNY Oswego prior to review. We will evaluate this prototype to gather an understanding of how the limitations and advantages of Angel can help implement the ABET certification review website.

A Java applet as a second design alternative was chosen, as it can be conceptualized as a hybrid between a deployable desktop application and a database powered web site. Also, maintenance and modification of the Applet's user interface can happen at a centralized location. Further, applets allow for a form-like design of input widgets and can hence present the content in a dynamic manner by keeping the overall structure simple; implementation of the interface is rather simple and quick. It can therefore be easily changed to adapt to any arising user needs. There are, however, certain disadvantages. Java applets require additional software (outside of a current browser) to be installed on the client computer. Although Java is widely distributed and should be available on all modern computers, it might cause an extra layer of potential problems to arise; should a Java version be installed on some client machine that is incompatible with the applet. Also, Java applets are widely assumed to be unaesthetic. Since no modern interface design capabilities, such as 3D-widgets, anti-aliased fonts, transparency, etc, can be used (or require additional software to be installed on the client machine), the interface may appear rather somber and unappealing. We will evaluate this option to understand how an appealing design and the ability of applets to display database-driven dynamic content can provide the functionality necessary for an ABET degree program certification.

The last interface prototype alternative we chose is a GWT (Google Web Toolkit) implementation of a dynamic website. GWT allows for the use of conventional Java code to implement a website that is entirely dynamically generated upon a client request. It works by converting the Java code into a set of JavaScript functions that can be used to enhance the HTML content of an actual website. Since it is AJAX powered and has massive database support, it is often used for Web 2.0 in-browser applications throughout the web. It was therefore necessary as a choice to implement the ABET certification website. Due to the dynamic nature of GWT, it is able to create appealing websites that can give full dynamic access to the content. However, since this requires a server-side rendering of the website, it is necessary to have a web server that is able to deliver such content. We will evaluate this prototype choice to identify the benefits over other prototype choices and potential pitfalls in the user interaction.