Project Details (25%)


(dates are examples)


In this project, you will gain further hands-on experience applying concepts learnt in class, as well as experience designing and developing medium and high fidelity prototypes. You will also learn how to program using a graphical user interface toolkit, and how to do a heuristic evaluation. Your design can either continue the interface you prototyped in Assignment 1, or you can develop a new design.

A note on organization.

You must hand in the entire portfolio when requested, including your Assignment 1 work, as this will show us how your work is progressing. As before, keep your project in a 3-ring binder, beginning with an assignment grading sheet. Major sections should be indicated by index tabs.

What you do

  1. Implement a horizontal prototype, plus re-design Rationale.
    • Redesign your interface. To do this, you should review your Assignment 1 prototypes and walkthrough results. You should also apply the design knowledge you are gaining in class to your design. You may want to develop a few more paper prototypes here and do further walkthroughs to check your ideas out. This part is up to you.


      Come up with a novel system design that stretches your team's creative talents.
    • Implement your design as a medium fidelity horizontal prototype. Using Visual Basic, implement your primary screen(s). Most of this will involve widget selection and placement, although you may have to do some more sophisticated coding if your interface has esoteric components.
    • Presentation, in lab: You will present and discuss these snapshots in lab.
    • Deliverable: Hand in your portfolio. It should contain

a two page redesign rationale that describes your main reasons behind the changes made illustrations of your screens, which you can generate by a screen snapshot tool of your choice

  1. Implement a Vertical prototype, and do a heuristic evaluation
    • Redesign your interface. To do this, you should evaluate your interface, selecting from the evaluation techniques you now know e.g., walkthrough, usability study, heuristic evaluation, and from applying the interface design techniques described in class (representations, information visualization, etc.)
    • Implement a substantial part of the vertical functionality of your interface. 'Substantial part' means that examples of the more interesting features (screens, error messages, handling of unexpected input, defaults, robustness, ...) should be demonstrable. (You may program in 'stubs' for sub-tasks you are not implementing at this time (e.g., certain actions may return some kind of 'Under development' message).
    • Perform a heuristic evaluation of your final interface.
    • Deliverables, in portfolio: Your final portfolio should contain:
      • Illustrations of your final implementation, using new screen snapshots,
      • The results of the heuristic evaluation:
        • List the problems detected, categorized by heuristics. Include a severity rating of the problems noted
        • Summarize the main findings of your heuristic evaluation
      • Final design rationale and discussion (two - three pages) of the state of your design. Discuss the quality of your system design. What parts of the design works well and what still needs improvement? Do you really believe that the system would work well for your identified users and tasks?
    • You must email me:
      • a zip file containing your project. This must include a README file containing your full names, your group number, and any special instructions for using the system (e.g., login names / passwords / things to input as data if its part of the interface). Everything must run from the installation directory (Hint: use App.Path)
    • Demonstration. You will demonstrate your running system to the instructors at the end of the term. A timetable will be posted and you can book demonstration slots. We will also use this time to explore each student's involvement and knowledge concerning what has been done.


Grades are based on the quality, sophistication and creative elements of the evolving design and its implementation, and the professional nature of the written submissions. Remember that you are implementing both a horizontal and vertical high fidelity prototype --- the balance between the two depends on your design . It should contain enough 'meat' to show what it would be like to interact with the real thing. Grades are not based on the complexity of underlying application code that have little to do with the interface.

You are emphatically cautioned against biting off more than you can chew! A modest carefully implemented project often scores much higher than an ambitious project that is not well done. Start immediately! The best groups start early, plan activities, divide the work logically, and communicate well.