Table of Contents 

Scenario

It's the second day of the new semester, and Sally Student decides that it's time to get organized. She loads up HAAG, and goes to add a new class. She types in 6.005, but notices that someone else has already added the assignments for that class. She subscribes to this feed, saving her the work of entering all of the assignments. Sally also wants to keep track of her assignments for 6.813, but it appears that no one has created an assignments feed for this class. Sally decides to spend 10 minutes adding all of the assignment for the term, and then makes the feed public for others in the class. Sally now has all of her assignments in one location, and saved herself a bit of work.

A few hours later, after finishing her first pset, Sally goes on her laptop and marks that assignment as done. She decides to include a personal milestone for the 6.005 project, and creates a private assignment, hidden from everyone else.

The next day, after finishing a pset with a friend, Sally visits HAAG with her iPhone, and crosses off her assignments list the pset she just finished. She can see that she doesn't have anything else to do until the next week, and decides to go watch tv instead.

Design 1 - Tabbed UI

This design is centered on a main view that presents most of the items required during daily use. This view – the dashboard – is composed of the following main items: 

  1. A tabs panel, corresponding to the classes subscribed by the student;
  2. A messages panel, aggregating information from different sources (other students, instructors, system messages, etc.);
  3. An assignments panel, listing the next due assignments for the student.  

New classes and assignments can be created with the “+” icons, located in the tabs row and at the bottom of the assignments list. 

The message panel aggregates information from different sources, such as notifications of new assignments entered by others (which must be accepted or declined by each student), news, reminders, and system messages.

The assignments panel lists the tasks already accepted by the student. An assignment can be added to the list in two different ways: by accepting it when it appears in the message window, or by creating a new assignment via the UI. Most of the times, only due assignments will be shown in the list, usually ordered by their due date or urgency.

This designed is well-suited for a web application, especially if techniques such as AJAX are used to provide high-level feedback and to improve UI responsiveness. In a typical dashboard layout, a large part of the user’s time should be spent on the main page (i.e., the dashboard). In the proposed design, frequent and simple actions will be performed in modal dialogs, while some specific tasks (especially those involving larger data entry) will be carried out in specifically designed pages.

This design also contemplates a smartphone interface, which will be used mainly to mark completed items when the student is not at a desktop computer. 

Storyboard

Sally decides to get organized for the semester that just started. She logs into Haag and is presented with the dashboard; for the moment, it is mostly empty except for a welcome message and a sample assignment prompting her to read the application FAQ.

She decides starts to start with course 6.005 – Elements of SW Construction, and clicks the (+) icon to add the new class. In a dialog, she is prompted the class name and whether she wants to keep its feed public (default) or private.

As she enters the course name, she is told that a class with a similar name already exists. After viewing its details and seeing that it was created by her friend Jill, she simply subscribes to this class.

As a result, all assignments on that feed appear on her messages list. She is given an option to add all assignments at once or to review them individually. She decides to add all assignments, knowing that she can always edit or delete individual items later.

Verifying that no class feed exists for 6.813, Sally decides to create this new class and enter the corresponding assignments into Haag. Now she faces the most laborious in the entire application. With a list of assignments in hand, she need to feed them to the system. The UI is designed to make this task very efficient, with no need to navigate back and forth while adding each new assignment. To create a task, she just needs to click a date in the calendar and type in a short description. When she clicks the button Add to preview list, the new assignment is included in the preview panel on the right. At his moment, her new assignments are not available for everyone to see. Only when she clicks the Done adding assignments button will the new entries be added to the class feed.

Now Sally just finished a Pset, and wants to cross that assignment off her list. On the assignments panel, she marks the checkbox and the assignment appears crossed of in the UI. The completed assignment will linger around in the list for a while (to give the user a sense of accomplishment), but the next time she logs in it will not be shown (unless she explicitly asks to see all assignments).

The next day, Sally finishes another Pset, but she is not at her laptop right now, so she picks her smartphone and uses Haag to cross that assignment off the list. She sees that there are no assignments due that week and decides to watch some TV.

Analysis

Learnability,
positive points

  • The tabs metaphor used for classes makes it clear how to switch between different courses
  • The "+" icon on the last tab is easily perceived as a way to add a new class
  • Names from the problem domain are used whenever possible (class, assignment, student, etc.)
  • The preview panel for new assignments offers feedback allowing a user to learn the effect of each field when creating an assignment

Learnability,
negative points

  • It may be unclear to use the same icon (“+”) for both actions:
    • subscribing to a class when it already exists
    • creating a new class when it does not yet exist

Efficiency, 
positive points

  • The most burdensome task is handled in a carefully designed dialog, optimized to require no gratuitous input or commands
  • When subscribing to an existing feed, an option allows adding all assignments at once
  • Reminders are created and sent automatically by the system, based on criteria such as due date, difficulty, and average time to complete

Efficiency, 
negative points

  • When many assignments exist, it is not possible to see all of them in a single page (which would be useful to compare and prioritize assignments)
  • The smartphone application layout may be practical only for marking completed assignments

Safety, 
positive points

  • New assignments are not immediately committed to the system. Instead, they are kept in a preview list, where the user can check their appearance before submission

Safety, 
negative points

  • After dismissing a message, there should be a way to retrieve it or see its contents if wanted;
  • After an assignment has been shared online, it may be difficult to undo any changes

Design 2 – Calendar View

This view uses the metaphor of a calendar. The main view displays a large calendar, with color-coded assignments visible at a glance. The search function shows a mini-calendar for each result, allowing the user to quickly asses if it has correctly-timed assignments. The assignment creation view allows the user to select a day from a calendar, allowing the user to work with the model (psets that are due every Friday, for example, become very easy to input).

Storyboard

Sally logs in at the start of the semester, and decides to get organized. At the moment, she sees a blank calendar, as she hasn't added any assignments yet. She selects the + button next to classes, and goes to add her first class.

She searches for 6.005, and sees that Tim the TA has already created a feed for this class. She selects it, adding all of the assignments with the click of a button.

The calendar view allows her to confirm that it's the right schedule: she remembers that 6.005 has psets due every Tuesday, and the pattern is prominently displayed.

Sally goes to add her second class, 6.813. It doesn't exist yet, so Sally decides to enter the due dates. She is the first to input the assignments for this class, so she opts to make it public and let others subscribe. She quickly adds all of her assignments from this one page, selecting the due date with the calendar. After just a few minutes, she has added everything for 6.813.

Sally now has the assignments for her classes organized. She can easily see what is due over the coming weeks, and can, with a glance, see when she will have a busy week. She can use the arrows to view the next month or go back and see old assignments.

A little while later, after Sally has finished her first pset for 6.813, she goes on and clicks on it. This marks it as finished, and it gets crossed out.

Sally decides to add another assignment to her 6.813 calendar. This is a personal reminder to study for the nanoquiz, so she decides to make it a private event. No one else will see it, but she can still cross it out when finished with it.

Later that night, Sally finishes another pset. She is away from her laptop at the moment, so she goes on her iPhone. She marks the pset as finished, and can also see what else she has due next week.

Analysis

Learnability -
positive points

  • Easy to see everything at once
  • Color makes it clear what assignments belong to each class
  • Combining search & creation makes it easy for users to find pre-entered results

Learnability -
negative points

  • No obvious way to interact with scheduled assignments
  • Combining search & creation might be confusing for a user who explicitly knows what they want

Efficiency -
positive points

  • Quickly select the date when adding assignments -- calendar format is natural
  • Easy to see if a pre-existing class has the right assignments
  • Month view allows user to easily get a visual feel for their schedule

Efficiency -
negative points

  • Removing an assignment takes 2-3 actions
  • Have to switch between months, instead of seeing everything at once
  • No way of creating repeating events

Safety -
positive points

  • When creating assignments, calendar allows user to easily & visually check the correct date
  • Seeing due dates in search allows user to confirm that it's the correct class

Safety -
negative points

  • To change an event after creation, it has to be deleted and remade
  • Could accidentally make something public instead of private
  • No way to change the name of a class

Design 3 – Sliding Panels

This design is centered around four panels:

  • Task List - Displays upcoming assignments in chronological order, optionally filtered by feed, with assignments past their due date at the top of the list. From here, users can mark assignments as completed or skipped.
  • Add Assignments - Lets users add assignments to public class feeds or the users private feed(s)
  • My Subscriptions - Lets users see the feeds they are currently subscribed to, along with recent edits for each.
  • Find Classes - From here users can search for class feeds, or create a new one.

Users can click on the label for each panel to switch to that view, or drag the label in order to see two views simultaneously.

The goal of this UI is to allow for efficient use of screen space on both small and large screens. However, this efficiency will likely be lost on screens in the portrait orientation.

Storyboard

Sally signs up on the HAAG website. Once she logs in she is greeted with an empty task list, except for an encouragement to start adding classes. Sally wants to add 6.005 to her classes, so she clicks on the Find Classes Label.



Searching for 6.005 brings up two results, and Sally clicks the subscribe button next to the feed for the current semester's version of the class.



Unfortunately, Sally's search for 6.813 doesn't turn up any results, so she clicks on the New Class button and is greeted with the following screen. She enters the information for the class and clicks the Create! button.

After creating the new class feed, Sally is automatically brought to the Add Assignments panel, where she enters some assignments for the class. Once she has finished adding assignments, she clicks on the Submit button to add them to the class feed.

Going back to the Task List view, Sally can see the upcoming assignments for 6.005 and 6.813. Checking the Show Completed Assignments checkbox lets her see that the assignments Add Some Classes! has automatically been marked completed.

Since Sally has already completed the HW1 assignment for 6.813, she decides to mark it as completed by clicking the Complete button next to the task. She is given the option to rate the assignment's difficulty and record how many hours it took her to complete it.

To remind her to study, Sally decides to add a private assignment for each 6.813 nanoquiz. She drags on the Add Assignments label until her view is split between it and the Task List. She then creates an assignment that repeats every Monday, Wednesday, and Friday.

Later, Sally remembers that she completed a 6.005 assignment the night before. She doesn't want to pull out her laptop, so she uses her iPhone to mark the assignment as completed.

Analysis

Learnability -
positive points

  • Seeing two views at once lets users see the results of their changes. For example, they can add assignments while seeing the task list, and add classes while seeing their subscription list
  • Widgets clearly describe their resulting action

Learnability -
negative points

  • Sliding the panels is an unfamiliar action; users might not learn how to properly use the feature on their own
  • Similar feeds will probably not be easily distinguishable while searching for classes
  • New users who want to immediately made a new class feed might not be able to find the New Class button

Efficiency -
positive points

  • Assignments that are due the earliest will be shown at the top of the task list
  • Repeating events are easy to create

Efficiency -
negative points

  • Users will have to scroll very far to see more than a couple of weeks into the future
  • Entering the due dates for assignments can be slow

Safety -
positive points

  • Putting the New Class button under Find Class makes it less likely that users will make duplicate feeds
  • Assignments are submitted as a group, giving the user additional chances to catch mistakes
  • The assignment rating popup gives users a chance to make sure they want to mark an assignment complete
  • Completed assignments can be "uncompleted"

Safety -
negative points

  • Deletes cannot be easily undone
  • No labels

1 Comment

  1. Great diversity and creativity in designs. Good use of color in report, although be careful using red/green as some people may be colorblind. Presentation was a pleasure to read, appreciate "overview" paragraph for each design.