Table of Contents

Deadline: Tuesday, December 8, by class time
Point Total: This assignment is worth 70 points (about 16% of your team project, 7% overall)

Note: this assignment goes with TA08 Usability Testing and Final Report and TA09 Final Video. The focus for this assignment in particular is on the design, engineering, and implementation of the final interactive prototype.

Assignment Overview
You've nearly made it. As Paul Laseau (1980) notes, the design process is a symbiotic relationship between idea elaboration and idea reduction. From the course-long project perspective, we are at the end of the elaboration phase, so your ideas are to be reduced/manifested into a final interactive prototype (though, of course, even here there will be a micro-elaboration/reduction phase as you go about your specific implementation). You have gone through multiple iterations of your designs across a range of mediums from paper to interactive prototyping tools and have received various forms of feedback from users to your fellow CMSC434 classmates.


The interactive prototype can be built in any programming language of your choice based on the needs of your application. Your grade will be based on the following:
(i) the way in which you apply IxD and visual design principles from class,
(ii) how you've integrated findings from previous assignments,
(iii) how well you support your three primary tasks,
(iv) the technical implementation and sophistication of your prototype.

Thus, the design choices you make for the interactive prototype must be well justified from the literature we've read, lecture content, and from user testing and design critiques of earlier prototype versions.

What To Do

  1. So far, you were working with two prototypes. It's time now to take the findings from your previous user studies and design critiques and settle on a final design. You should also apply IxD and visual design principles from lectures and the readings to create a usable, engaging, aesthetic, and enjoyable interface.

  2. Each team can decide on their own implementation strategy. As we are time constrained in this class, it might be best to settle on a programming language or framework that at least one teammate has experience using. Also, your choice of implementation should fit your project. If you are working on a mobile app, you could develop it in iOS7, Android, or HTML5. As most of you are seniors, these sorts of decisions will be similar to what you face in the "real world" as developers or project managers (and you'll face time constraints there too!).

  3. Your entire focus should be on supporting the three primary tasks identified in earlier project assignments. You do not have to implement anything beyond what is necessary to accomplish these tasks. It's up to you how you want to constrain user interaction. For example, you could disable buttons, show a "not-implemented" page or dialog box, etc. You can hard-wire data so that the app works for anyone as long as their name is "John Smith," for example. The important point is to try to convey a realistic experience of how the system would work for the specific tasks.

  4. Once you have the three primary tasks implemented, you need to perform a usability test with three individual users. See TA08 - Usability Testing & Report for more details on this. The final presentation will be in the form of a short video (see TA09 - Final Video).


The primary deliverable for this assignment is the interactive prototype itself. You must post your code to a Github repository (preferred) or upload a zip to Canvas along with a README, which describes how to run the code.

During the December 8th class period, your team will demo your prototype to me and Pallabi. Ideally, I will serve as a "participant" using your system to accomplish your project's three primary tasks. I'm happy to schedule an earlier meeting with you if you'd like some pre-due-date feedback. I'm available for that on Wednesdays, or before or after class.