You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

Design and Implementation

Main Page

Design      
Implementation

Task Creation Page

Design:

The form contains standard information that the dorm manager 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 panel will contains auto-fill information that help the user speed up the filling out task. One of the important decision for this page is to fit the two panels into two scroll views without overflow the information to the whole page. The user can choose to scroll each panel separately without moving the whole window. It's because we want to user to make good use of the auto-fill function, 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

One of the importance decision that effect the design is the affordances of this right panel. Many users mentioned that there wasn't enough affordance to show the auto-fill function of the information on the right. Therefore, we have decided to put a place holder on the input where the auto-fill information supposed to fill in when the user hovers over those information. Figure 2 shows the result of the auto-fill functionality.


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.
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

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 on other pages too. For example, if a person move 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 the user 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

Design
Implementation

Evaluation

Test User Selection

Test Briefing

Most of our users were the same ones we used for testing our paper prototype and so were already familiar with the scenario and the purpose of our interface. Nevertheless, we reminded them of the following scenario:

“You are a desk worker or dorm manager and you plan to use this interface to keep track of the progress of various tasks going on in the dorm. Right now, you’re focusing on helping residents move in and out, and keeping track of general housing information.”

Test Tasks

The following tasks were given to the user on paper. Additional prompting would given when it was observed that the user was having particular trouble completing a task.

Task 1: Document Completion of Subtask

  • Background: Frances Phillips is in the process of moving out of the dorm. He has just returned his key to you.
  • Task Detail: Update the system appropriately.

Task 2: Determine Information about a Floor

  • Background: The house master is curious about how many vacant rooms there are on the second floor.
  • Task Detail: Find a way to look up number of vacant rooms on the 2nd floor.

Task 3: Start Moving a Student In

  • Background: Tina Sullivan has requested to move into Next House on August 30th, 2013. You want to begin the move in process for her. Additionally, she tells you that she wants to live somewhere on the 2nd floor. Make sure all the fields are filled in and assume default subtasks.
  • Task Detail: Make a new task for Tina Sullivan

Task 4: Start Moving a Student Out

  • Background: Andrea Reyes wants to move out of Next House. She says she expect to move out on May 23rd, 2013. You want to begin the move out process. Make sure all the fields are filled in and assume default subtasks.
  • Task Detail: Make a new task for Andrea Reyes

Task 5: Identify Resident

  • Task Detail: Who currently lives in room 266?

Test Observations

Iteration Considerations

Reflections

  • No labels