Design

Our design consists of four major pages, the Main page, the MakeMeAvailable page, the FindPeople page and the View/Edit Status page.

       

Main Page

We wanted to make the Main page as simple as possible so we gave it three buttons and the title of the app. The most important design decisions on this page include the status bar at the top and the naming of the buttons. The status bar was placed there to increase the visibility of a user’s current status. The naming of the buttons has been changed multiple times because users found the names confusing in both paper prototyping and user testing with the completed design.

MakeMeAvailable

The only things on this page are the form to get a user’s information and the submit button. We decided to remove the cancel button after heuristic evaluation because of Android’s built in back button. We also decided to remove the MapMe button after paper prototyping revealed that users frequently skipped the button.

FindPeople

On this page we have a search bar and a list of users that are currently online. Our design has not changed much from our first design. The only change is an addition of a temporary Restart button which was added to make implementation easier.

View/Edit Status

This page consists of a text input, an Update Location button, an Edit button and a Become Unavailable button. We decided to add the Become Unavailable button so a user could easily tell how to go offline. After user testing we saw that users were often confused as whether to use Become Unavailable or the Edit buttons to remove themselves from a class.

Implementation

We implemented our design on Android and tested it on 4.0 Ice Cream Sandwich. We had the application interact with a database via scripts on an external server. This affects the usability of our interface because a user needs to be connected to a network to use the app and that any command that interacts with our database must wait for a response from the network. This sometimes results in long wait times.

Evaluation

User Testing

Our user tests start with a briefing of the project and its purpose. Then the user is reminded to voice their thought process while they are testing the application and to look for anything they don’t like about the app. We tell the user that this is a test of the application and its presentation and not a test of their skills before we start the test. To administer the test we hand the user a task card and then do not speak unless the user asks a question or completes the task.

   

Usability Problems

  • MakeMeAvailable** Cannot scroll the view to see all of the page while typing
      • Change the view type to a Scroll View
    • Cannot see the Location field while typing
      • Add extra space below the form so the user can scroll and see everything
    • User can’t tell what they group size field is for
      • Add a title above the field
    • Some options on the group size spinner are offscreen
      • Center a field on screen when a user clicks on it
    • User has to input all their information again if they accidentally leave the page
      • Save fields that have not been submitted while user types or save fields when the user leaves the screen* View/Edit Status
  • FindPeople
    • Pressing enter while in the class entry bar should search
    • Search button should close the keyboard if it is up while it’s pressed
    • Shouldn’t be able to find yourself in search results
    • User doesn’t know how to join a person in the search results
      • Could change the Contact button to a Join button, then on the compose message screen we could have a help dialog to tell the user to send a message and wait for an acceptance message
    • Restart button is confusing
      • Take it out and fix the way the search button works
    • Keyboard automatically pops up when page loads and covers screen
  • View/Edit Status
    • Keyboard pops up when page loads and covers screen
    • Confusion on whether to use the Edit button or Become Unavailable button to remove yourself from a group
      • Change the Become Unavailable button to reflect that it removes someone from all groups
    • Edit button currently doesn’t work
      • Implement this button so that a user can remove themselves from individual groups or change the Edit button to a Go Unavailable button

Reflection

The biggest thing we learned as a group is the importance of testing throughout the design and implementation process.  MIT does a great job of teaching concepts, but when it comes to implementing something that is going to be used by a specific population it is hard for most classes to get across how important the testing phases are.  With that said, the first thing we would change in doing this project again is to put more weight behind the initial rounds of paper testing and doing more of it in order to get as much user input as possible before the final implementation.

  • No labels

1 Comment

  1. "Overall Wiki presentation
    : Nice structure; easy to read and navigate
    Design description: Good overall, but would be nice to include more details about the design choice (instead of just ""this is a form"") and the changes (e.g., what did the MapMe button do? was the functionality removed, or just a method of getting to that functionality. If users weren't clicking on it, was it because they didn't want that feature or because they weren't sure what it was?)
    Implementation: A bit short on details
    Evaluation: Good list of usability problems found. Would have liked to see heuristic categories and severity levels, though. No mention of the user population tested: how many users was it? what were their backgrounds?
    "