This is an old version of the class. Please see the 2020 version instead.

05-830, Advanced User Interface Software, Spring, 2017

Homework #1: Evaluate the Usability of a User Interface Tool or Toolkit

10% of grade. Tuesday, Jan. 17, 2017 - Thursday, Jan. 26, 2017 (due at 1:30pm - just before class)


List of tool choices from class will be in this GoogleDoc. (Email the professor if you want to change, as long as you pick a tool no-one else has picked).

User Interface tools are generally designed to be used by programmers, but programmers are people too! Pick a user interface tool or toolkit. It doesn't have to be an interactive tool -- you can evaluate a library or framework. For example, so candidate tools are things like: the Java language, Swing, Microsoft Visual Basic, Apple xCode, Adobe Flash, etc. There is a preliminary example list of such tools here as a GoogleDoc. In order to help fill out this list, the first part of this homework is for each person to do the following (this part is due with the rest of the homework on Jan 24):

Part A: Find at least 1 (one) new tool that are in active use to add to the List of Programming Languages and Tools. (You must find a tool that is not currently directly in the list. However, it is OK if a tool is in a list referenced from that page.) For each tool, include:

Part B: Separately, everyone in the class must pick a tool to evaluate (see list of possibilities and list of what people selected). This tool does not need to be same tool as part A, so it is fine to evaluate a tool that was already on the list, as long as it is a tool no-one else has selected to evaluate. Some tools have many parts, so it is OK if different people do different parts of the same tool. For example, someone could do the Java language, while someone else does the Swing toolkit for Java, while someone else does the Eclipse IDE for Java, etc. We will work out the assignment of tools during the second lecture on Thursday, Jan. 19, 2017, during class, so be prepared with which tool you would like to do (note that you might not get your first choice, since everyone must do a different tool).

You will evaluate your tool with either Neilsen's Ten Usability Heuristics (Heuristic Evaluation - HE) or T.R.G. Green's Cognitive Dimensions Framework (CD). (It would alternatively be OK to do an actual user study, like Jeff Stylos's, but I don't think there is time!) Your report should discuss both problems and things done well. You should include pictures or code or documentation snippets that illustrate each of your points. Each point should be annotated with the particular guidelines or cognitive dimensions that are being violated or being followed. If violated, you might suggest a fix. Discuss at least 10 points that illustrate at least 5 different heuristic guidelines or at least 5 different cognitive dimensions. I am looking for insight, subtlety and depth (thus saying "the system doesn't have good color choices because it doesn't use color" is pretty trivial and won't count for much). More information about HE and CG are given below.

Turn in a hardcopy of your report and slides in class on Thursday, Jan. 26, 2017, and also upload your report and slides (as a ZIP file containing two (2) PDFs--one of your report and one of your slides) to blackboard before class. (See the instructions about turn-ins and the late policy.)


If you are not familiar with Heuristic Analysis, read about it in the following resources. Note that the list of heuristics on the web site are slightly different than those in Nielsen's Text. To avoid confusion, please use only the ones that Nielsen lists on his web site.

If you are not familiar with Cognitive Dimensions Analysis, here are some resources:


Here is a GoogleDoc with a tentative assignment of class members to tools (see the list of possible tools to choose from)


Back to Homework Overview
Back to 05-830 main page