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

Compare with Current View Page History

« Previous Version 27 Next »

Design and Implementation

Main Page

Design    

The main page is the default landing page for users. It's main use is to keep track of the current active tasks.

Figure 1: An overall view of the main page.

Users are able to receive what is essentially a news feed of recent changes by looking at the "Recent Activity" column on the left. On the right, users may look up specific tasks and edit them as necessary.


Figure 2: When a task row is clicked, additional information about the task is displayed.


Figure 3: A close up of the notifications section.


Figure 4: After a task is created or edited on the Task Creation Page, that task will be highlight with a border for 5 seconds upon returning to the main page.


Figure 5: Showing off the possible filters that can be used.

Implementation

Task Creation Page

Design:

The form contains standard information that the dorm manager needs to fill out when a resident moves in or moves out of the dorm. There are two main tasks - 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 contains tabs which pop out buttons and search tools that help to autofill the information on the left, helping the user complete task creation quickly. One of the important decisions for this page was to fit the two panels into two separate scrolls views, so that the user can choose to scroll each panel separately without moving the whole window. This was necessary 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.

 

Figure 1: The start new task page

Another important decision was regarding the affordances associated with the right panel. Many users mentioned that there weren'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 the auto-fill information when the user hovered over that information. Figure 2 shows an example 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

The Floor Plan page was designed to address an issue that dorm management staff had noted about having difficulty determining positioning information about rooms on both macro- and micro-scales. As shown here, the page includes the navigation bar present throughout our entire interface for consistency, safety, and user control; the rest of the page is used for addressing the problem just mentioned. In the center we placed a large image of the floor for visibility, and because it is the most important part of this section of our interface - on the right side of that we horizontally aligned tables of useful on-hand information; on the left we placed extra UI elements (also horizontally aligned) for helping to navigate to other parts of the building besides the current floor; and above we placed a search bar for helping to navigate the floor plan.

The choices for alignment were mainly for the sake of aesthetics, since separation of the UI elements already seemed clear to us and users; however, positioning was important. We placed the search bar on top so that it'd be very visible, static on-hand information on the right since it fell into the same category and would be easer to process, and the floor switcher on the left since we wanted it to be both visible and because it was dynamic content.

Figure 1: A screenshot of the entire floor plan page. You can see each of the elements described on the image.

The image in the center shows current floor of the floor plan of the dorm being managed*;* it is annotated with colored labels (described with the legend) so that the user can gather information from quick glances as color is a good visual differentiator. Because floor plans might be large and difficult to understand at a glance, we also made sure to have the image be both pannable and zoomable, so that the user could examine particular areas of a floor more carefully if they wanted; we decided to make the interface work similarly to Google maps both for the sake of external consistency and efficiency (shoutout to Google). The zooming is done by moving the slider on the top left of the image, and the panning is done by either holding the mouse down over the arrows in the top left, or by using the mouse to do real-time panning.


Figure 2: A closeup of the image of the pannable, zoomable floor plan.

In addition to the other wonderful features of the floor plan we've already discussed, we also made the floor plan clickable, with click events over rooms generating dialog boxes (top left corner on center of room) displaying information about the room. The current interface had information only about the room number and the residents staying in the room, but it is likely in the future more relevant information will be included to help the management staff with making rooming decisions. From the dialog, a user can create a new task by clicking on the large button present on the dialog, and can also exit out of the dialog by clicking on the X-button. The dialog was created this way for external consistency; for safety, we made sure that multiple dialog boxes could not pop up on the screen and crowd each other - we also made sure that the dialog scales and moves with the image when panned or zoomed.

On the right you can see a floor-switcher; we created this piece of dynamic content for the sake of helping users navigate floors in a floor plan (as indicated by the name), since we felt that there was only space to put one floor in the viewport at a time. The selected floor is highlighted differently, and each floor is represented by a text box which has the affordances of a button, for external consistency. We chose the colors for the sake of unity with the rest of the interface, as well as because the blues we chose for selection, highlighting, and deselection were all discernible. 

                  

Figure 3: Screenshots of the dialog which pops up on clicking the floor plan (left) and the floor switcher (right).

So that the user would be able to discern the information provided by the color labels on the floor plan, we have a large legend on the right side - since color doesn't inherently indicate any meaning in floor plans or our context, our heuristic evaluators and users found that something like this was necessary (information scent).

For efficiency, we also included the floor statistics table - horizontally and vertically aligned with a large header and line width mostly for the sake of aesthetics and readability. We included the floor statistics table below the legend due to information scent - when viewers see the necessary legend, their eyes easily move to the table below.

Figure 4: Zoomed screenshots of the legend and floor statistics table.

Lastly, we have a search bar on this page for helping the user navigate the floor image efficiently. The search bar has the typical affordances and benefits of search bars, like autocomplete for safety, as well as border highlighting to indicate selection. The user can search by room number, or name of resident - on selection, the floor plan automatically pans so that the room selected (or room of the resident) is close to the top left corner of the image (next to borders so it's visible), and also pops out the dialog for the room (for visibility of the changes).


Figure 5: The search bar for the floor plan.

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

User 1: Desk Worker
  • Task 1:
    •  The user seemed surprises when he can search the tasks to find the name of the person in the main page.
    • After clicking on save changes, the user was confused if it's actually save.
  • Task 2:
    • The users quickly figured out the stats of the floor after navigating through the floor plan
  • Task 3:
    • The user seems confused at the beginning when he was ask to start a move task for Tina. He thought he can search to find the person as in task 1 (but since the task is not created, it's not there yet). After thinking for 30s, he navigated to the Start New Task button.
    • The user didn't pay attention to the useful information until he was stuck on finding certain information to fill out the form such as student ID, old address. He needs a reminder from the facilitator to figure out he can find those information from the useful information.
    • He also had problem with the Default Task button on the right because he thinks that will clear all of the information that he has filled in so far and put in the default information for the whole page.
  • Task 4:
    • Since the user knew about the start new task page, he navigated to it quicker than task 3. However, he didn't use the MIT directory to auto-fill other information until the facilitator suggested him to.
    • After clicking submit button, the user was taken to the main page, and was confused a bit if the information has gone through.
  • Task 5:
    • The user was confused on where to look for resident information. He tried the search function on the main page first and then follow the suggestion by the facilitator to explore other options on the page to click on Floor plan.
  • User's comment:
    • Overall, the user thought that the website would take a little bit of time to learn its functionality, but for the most part is intuitive
User 2: Dorm manager
  • Task1:
    • The user seemed confused about the filter options and need explanation on that.
    • She also didn't understand what the 0/4 on the progress bar represents.
  • Task 2:
    • The user spent 1 minute on the main page to look for floor information, and she tried to use the search function of the main page to look this up. After the facilitator's suggestion, she navigated through floor plan and figure the stats information.
  • Task 3:
    • The user took a while to figure out how to start a new task. The user suggested that room assignment is handled by the rooming chair rather than the house manager.
    • The user never used the auto-fill function on the right panel. She submitted the form and leave some of the options blank.
  • Task 4:
    • The user quickly navigated to the start new task page this time, but still don't use the auto-fill functionality.
  • Task 5:
    • The users tried to search for this information on the main page first. Then she clicks on floor plan after hearing the hint from the facilitator.
  • User comment:
    • User wants to have the room and resident information on the main page (resident centric rather than task centric) so that she can quickly look up information such as the requirement in task 5.
    •  Resident name should be separate into first Name and last Name.
    • The user thinks having room size (in square foot) might be useful.
    • The Overall reaction is positive.

Iteration Considerations

Reflections

  • No labels