A7: Ready for testing

In this assignment, we prepare for user testing by finalizing the development of our app functionality. We continue to apply design heuristics to create an intuitive interaction. We apply templates to streamline our code. We debug. We fit the mobile form factor, but we refrain from focusing on aesthetics so that user testing doesn't nullify any work we have done. We expand the functionality of our app, if possible. We assess our progress by updating our development plan. We address bias and consistency in conducting our user testing by composing a user testing plan. We decide on design choices that are best suited for user testing.

The following rubric items are independently assessed. In general, evaluation works such that if the student/team meets, for instance, 9 out of 10 rubric items, then they have earned a grade of 90%. The assignment will not be graded unless it is submitted on a single, well-formatted, and easily readable PDF.

This assignment requires one submission per: team

Evaluation Rubric

Students earn 1/2 point for each binary criterion met.

    User Testing Plan
  1. Write step-by-step instructions on how to perform testing that any student could use to do the testing without help, comprising mostly of the tasks you will ask users to do and how you will guide them if they are really stuck. In most cases, these tasks will be similar to your user task in A6
  2. Instructions describe how you will gain informed consent using this form
  3. Instructions describe how your observations will be recorded
  4. Write the exact words that a facilitator will say to the testers, to ensure consistency across all tests
  5. Write a few detailed sentences why the instructions and scripts do not bias a user in one direction
  6. List three main research questions/design choices of interest in your testing
  7. Write a few detailed sentences justifying why you are interested in your main testing questions and how you will answer them
  8. Write three interview questions you will ask the testers as part of their debriefing
  9. Plan is less than 2 pages long

  10. Complete functionality
  11. Write a few detailed sentences assessing how ready your prototype is for user testing. If you used a different programming approach than in the labs, explain how you meet rubric items that assess code and functionality
  12. Write a few detailed sentences justifying the number of unique workflows or user tasks that your app supports
  13. Include facebook login
  14. Repeated header content included using partials rather than copy & paste.
  15. Your pdf should list the file path of your JSON file (or .js file that connects to MongoDB).
  16. Import data from your JSON data file. We will search for require...json in your code (or require('mongodb').MongoClient for groups using MongoDB).
  17. Use handlebars, e.g. #each loops, to template your app's pages, rather than duplicating code. We will search for "{{" in your code
  18. Utilize routes and jQuery selectors to asynchronously update your app's screens where appropriate. We will search for "$." and ".html" or ".append" in your code
  19. Prototype writes JSON data, which need not persist after node server restarts. We will search for ".put" or ".push" in your code
  20. In studio, we will verify that first-time users could go from screen to screen and know what functions they can perform
  21. We will test if your app is bug free and runs smoothly, so test on a separate machine/incognito
  22. We will review apps in Chrome’s mobile mode. Prototype should fit the mobile form factor on a contemporary smart phone (iPhone 7 or similar), and responsive mode in Chrome.
  23. Based on user tasks, your app has a justifiable number of unique workflows or user tasks that your app supports

  24. Development Plan
  25. All tasks are actionable, prioritized, assigned an owner, and given a time estimate
  26. In your comments column, identify tasks that were newly added
  27. Add two new columns identifying actual time taken to complete your tasks, and actual date of completion
  28. Upper left hand corner shows a Sum() of expected and actual hours with a similar-ish load for each team member; outliers should be justified.

  29. Submit
  30. Submit a clickable or easily typed link to your app of the form “a7-projectname.herokuapp.com”. If your app is changed before grading is completed, you will receive no credit for the assignment
  31. Add IxD teaching Heroku account ixd@ucsd.edu to your Heroku app as collaborator (Under “Access” tab in your app settings). username: ixd@ucsd.edu Invite: ixd@ucsd.edu
  32. Submit a clickable or easily typed link to your project repository on GitHub. Make sure the grader has access by the deadline
  33. Submit a clickable or easily typable link, or a readable, properly oriented, and complete snapshot of your dev plan. Make sure the grader has access


Here are some examples from prior years. Note assignments change from year to year, so use these examples as a reference, see where they succeed/breakdown, and make sure your final submissions adhere to the rubric for this year.

User Testing Plans: (1) (2)

Apps: (1)

App Demos (not required for this assignment): (1) (2)

Development plans: (1) (2) (3) (4)

Here is a cool video of the dynamic nature of implementation plans throughout the project.

Newly added! Here are some examples of feedback that has previously been given on this assignment.