Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Panel
Design:

The form contains standard information that the dorm manager needs need to fill out when a resident moves in or moves out of the dorm. There are two main tasks - including Move In and Move Out. The information on the page changes dynamically depending on the type of the task. This page will be visited very frequently by the user, so it's designed to be efficient for filling out information. The " Useful Information" information panel contains tabs which pop out buttons and search tools that help to autofill the information on the left, helping the user complete task creation quicklywill contains auto-fill information that help the user speed up the filling out task. One of the important decisions decision for this page was is to fit the two panels into two separate scrolls views, so that the scroll views without overflow the information to the whole page. The user can choose to scroll each panel separately without moving the whole window. This was necessary It's because we want to user to make good use of the auto-fill function; being able to scroll the two panes separately allows the autofilling to be done independently of the reading position of the form, something which we and users found to be simple. , so they can scroll the left panel up and down while keeping the right panel statically in the view port.


Figure 1: The start new task page

Another important decision was regarding the affordances associated with the One of the importance decision that effect the design is the affordances of this right panel. Many users mentioned that there werenwasn't enough affordances to show the auto-fill function of the information on the right. Therefore, we have decided to temporarily auto-fill the input boxes with grayed-out text with put a place holder on the input where the auto-fill information supposed to fill in when the user hovered hovers over that those information. Figure 2 shows an example the result of the auto-fill functionality. We chose this as our implementation for its simplicity over other methods such as having a tutorial pop-up or changing color or boxing around the auto-fill result.


Figure 2: Auto-fill information when hover over item.

Another important feature is when the user submits the form, if there are some missing fields, the user will receive a pop up noticing them about these fields. The user can have the option to go back and fill out those missing fields or save the form any way. Figure 3 demonstrates this functionality. This confirmation dialog will help prevent user from making mistake when submitting form. We choose this decision instead of preventing the user from submitting the form at all and have the missing fields highlighted at the beginning of the form because the user might want to leave those fields blank to fill in later. In addition, different dorms might have different requirement for required field, so providing them with confirmation dialog will help them decide on their own which field they want to keep.


Figure 3: Missing fields notification when submitting the form

In order to follow the CRUD model presented in class, we decided to let the user edit the task. The page will be pre-filled with the most recent updated information. Figure 4a and 4b demonstrates the edit task functionality of the website.

--------------->

Figure 4: Edit Task functionality

Implementation

This page follow the model view control (MVC) model. The database for MIT directory search is kept in a separate javascript file since this field is static, and the information of the resident is stored on the Parse database since it will be dynamically changed over time. We utilize the convenience of Jquery UI in creating dialog and drop-down menu. We also make use of twitter bootstrap for organizing the layout. All of the controller for listening to action are added separately in order to follow the MVC model and to keep the code modular.

In addition, since there are different information presented for each type of task (Move In versus Move Out), we decided to dynamically repaint the page instead of reload the page from scratch. This will help the user preserve some of the information that are shared between these two tasks.

The information about vacant room are update dynamically through parse. For example, if a person moves into a room, we update the current list of resident of that room and remove it from the list of the available room.

MIT directory is design to match with the current MIT directory on web.mit.edu/people to help user with recognition because most users are familiar with this interface already. After the information is generated, the action listener will be attach to the result to auto-fill the form.

The list of suggested tasks are static data collected from the suggestion of the users. We also decided to add the default task button to speed up the filling process.

The back end of this page is supported by Parse. There are three objects that currently present on the server: Resident, Task, and Room (See Figure 5). Each of this object will have a reference to the other objects so that whenever one object changes, it will also change the other. After the user submitting the task to the server, a task object will be created with each attribute corresponding to a field in the form. Then, the room and the resident will also be updated on the server to reflect the task i.e if a resident Move In to a room, the room becomes occupied and remove from the available room and the resident gets added to the system.

For the updated task, we also have to make sure that we do not created duplicate object on the server since Parse doesn't automatically check for that.

Since there are three main pages sharing the same source of information, we need to make sure that changes on one page will be reflect reflected on other pages too. For example, if a person move moves out, the main page will show that as a pending task and the floor plan also have to indicate that the room is now vacant. All of the information uploading to and downloading from the server are text-based, so the retrieving time is almost instantaneous which enable enables the user to see the current update from the server at no time. In addition, to respect the anonymity of 6.813, we also use fake data for our database which introduce some inconsistency among information. However, this doesn't present any usability problem for the user.

Figure 5: The current state of the parse server.

Floor Plan Page

Panel
Design

Image Removed

Figure 5: The current state of the parse server.

Image Removed
Figure 5: The current state of the parse server.

Image Removed                   Image Removed

Figure 5: The current state of the parse server.

Image Removed Image Removed

Figure 5: The current state of the parse server. Image Removed
Figure 5: The current state of the parse server.
Implementation

Evaluation

Test User Selection

...