Design
Overview
The main purpose of SkullWeb is to be an in-house website for the brothers of Phi Kappa Sigma. SkullWeb was designed to offer two main components for its users, house jobs and room reservations. The main design decision we adopted for the task of presenting both of these components was the use of tabs. After the initial sign in of a user they would be brought to the House Job page. At the top they could then click on the Room Reservation tab. This allowed for a quick and fundamentally easy movement between components. (picture of the tabs at the top of the page)
Another main feature that we changed was the overall color scheme of the website. Initially the site used a gray, white, and black lettered color display. However, the heuristic evaluations presented multiple problems with this including, diminished sight, blending of colors, and an overall uninspired look. We originally went with these design colors because the site was not meant to have flashy colors but was meant to be an effective working and observing environment. In our final design we decided to keep these goals in mind but to allow for a more engaging color scheme. The site now follows the colors of the fraternity Phi Kappa Sigma, black and old gold. (picture of main sign in page or just the main house job page?)
House Job Page
Within the House Job tab we chose to present the house jobs as a list for each week of a month. To navigate through the weeks a simple "Previous, This, Next Week" link system was implemented. A list of the house jobs was the most efficient way to present all jobs to the user. There are usually around 10 to 15 jobs a week, and to present this on a calendar would have created a cluttered interface, while one job at a time would have been very inefficient to see all jobs for a week. Within this list any job that belonged to the user would have a specific symbol and color to depict that it was completed or not. (possible picture or entire house job list?)
To help obey Fitt's Law, the whole row that pertained to a user job could be clicked on the change the status of that job. Along with this change in status was also a change in color (green for complete and red for incomplete) and a change in symbol. The final design change we had for this tab was the new placement of the symbol on a user house job. (picture of a single user house job row)
Originally positioned on the right side of the described job, the symbol has now been placed on the left side of the user's name. As described in one of our heuristic evaluations this now provides a consistent position for all symbols, possibly creating an easer user experience.
Room Reservation Page
The Room Reservation tab has greatly changed from our paper prototype design. Instead of having a persistent form, used to reserve a room, the form is now only visible after the user has clicked on the "Rerserve a Room" button. (picture of the "reserve a room" button and then a picture of just the form)
Another design decision that was made based on feedback from the heuristic evaluations was the position of the list of reserved rooms and the form described above. The final design now has the list above the form, which creates a more efficient user experience. Users are now able to log on and quickly view the upcoming events without first encountering an empty form and being required to scroll down to view the list. (possible picture of the whole rr tab?)
The final design changes that this tab had were adding a few functionalities to the reserved rooms list. As a user hovered over an event the row would now change color providing the affordance that it could be selected. Similar to the user house job row, each reserved room row obeyed Fitt's Law and could be clicked anywhere on to display all information. (picture of a row being colored and information under it)
Administration Page
The final page of SkullWeb is not a page that the majority of users will see or interact with, it is the Administration Page. For this reason, the Admin tab was designed with efficiency and control as the main goals. While still provding a clean and basic design, this tab includes many more links and options that the previous pages did not present. (picture of the main admin page)
Although built with an administrator in mind, the tab is straightforward and uses real world language to appeal to any and all users. The tab allows a user to add, delete, or edit any feature in the site including: user creation and deletion, room reservation editing, house job assigning, and status of each job.
Implementation
Skullweb was implemented using a combination of Ruby on Rails, HTML, jQuery/JavaScript, and additional Rails plugins. Rails served as the framework for the site, providing a strongly interconnected back and front-end.
Our work on the back-end consisted of implementing the functionality behind the house job management and room reservation systems. This consisted of writing Ruby code to dynamically change the UI based on the database and to perform data validation on user-submitted data. We used a Sqlite3 database and designed a relational schema to properly manage and persistently store the site data. We implemented a fully-functional user login and session authentication system using Authlogic and an extensive Admin Panel using Typus. The design decision to use a Rails framework was motivated by its ease of use, as well as the clearly-delineated framework it provided, which helped us mentally and physically separate our work on the user interface and the back-end. JavaScript and jQuery were used for AJAX server calls.
Work on the front-end user interface chiefly consisted of changing the HTML structure and CSS layout of the site. Rails allowed us to separate common site-wide elements to a single layout, helping us divide the user interface into separate components, useful for designing and debugging. This also spurred our decision to move the links to the user profile and to logout to the main navigation tab bar, in order to maintain visual consistency and to save space. We spent a significant amount of time working on the CSS, individually modifying elements on the site in order to improve site-wide visual consistency and clarity. We made extensive use of jQuery and JavaScript for animation and small visual touches to improve the feel of the site (e.g "Reserve a Room" button). We also spent some time in image editing programs to work on custom images for our site, such as the newly-added banner crest.
During implementation, we tested and retested our site, checking for usability problems and bugs, following the iterative pattern of design. Overall, we felt that using Rails helped us abstract our design into separate parts, helping us focus on different individual parts with ease.