Versions Compared

Key

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

GR6 - User Testing

Design

  • Describe the final design of your interface. Illustrate with screenshots. Point out important design decisions and discuss the design alternatives that you considered. Particularly, discuss design decisions that were motivated by the three evaluations you did (paper prototyping, heuristic evaluation, and user testing).

BucketList allows users to easily create Buckets, share their Buckets with others, add tasks, write notes, and view and organize all this information at once. The final design is centered around the bulletin board metaphor, giving the UI a clear and unique focus. Our design also prioritizes efficiency and simplicity, as this is what most users requested during initial surveys and user analysis (see GR1 for more detail on user analysis).

...

Figure 4: Multiple PapersFigure 5Figure 5: Zoom-in List of Tasks on a 'Bucket Paper'

...

Figure 5 shows a close-up of the left-side of a Bucket Paper, displaying the list of tasks in the bucket. It is extremely easy to add a task, simply by typing the name of the task and hitting enter. In early designs we considered having a form to fill out, but decided against it for the sake of simplicity. Users also have the option of assigning a due-date, or they can leave the due-date blank for ongoing tasks. Based on the Heuristic evaluation and another round of user testing, we also changed the layout and information presented on the paper. Specifically, we added the edit and calendar icons. The edit  icon icon (instead of having the task name always be editable), added the affordance of being editable and ensured users are aware that they can edit tasks. The calendar icon removed clutter on the paper, and allows users to easily select due-dates and view what day tasks are due.

Figure 7: Add Collaborators

Adding collaborators to Buckets or assigning tasks to users is also very easy. During evaluation, users commented that they did not want to be required to remember the user-name of all people they may want to add. To solve this problem, we implemented a drop-down menu of the user's 'friends' (anyone they have ever collaborated with before). They can simply check of users in this list to add them to the Bucket, begin typing to narrow down the list, or type a new name to add a collaborator they've never worked with before. Assigning tasks to users is similar, but the list is populated with collaborators on the Bucket instead of all the user's 'friends'.

Image Added     
Figure 8: Help Question-mark Button    

We also added a "help" button, based on the heuristic evaluation. This question-mark, seen in Figure 5 8, is always present in the bottom-left corner of the screen. Clicking it opens a new paper, with information about the main aspects of BucketList (including 'alerts', 'buckets', 'due-dates', etc). These topics were chosen by evaluating the website with users and observing what concepts confused them Image Removed     
Figure 6: Help '?'     
  .

      

Implementation

  • Describe the internals of your implementation, but keep the discussion on a high level. Discuss important design decisions you made in the implementation. Also discuss how implementation problems may have affected the usability of your interface.

...

We use node.js to allow clients to connect with the server. We use the Express framework , with Cradle to connect with our CouchDB database, for . These frameworks were chosen for the sake of simplicity. We also decided to use socket.io for server-client connections, even though a persistent connection isn't strictly necessary once the user object is transfered to the client. The reason we made this decision is to allow for more frequent client-server updates, and therefore less of a chance that two users editing at once will result in conflicts. The alternative was simply writing all relevant information to the server when the user logs out or closes the window, but we decided this was overly restrictive to the collaborative multi-user aspect of the application, as users would only see other users' new updates on login.

...