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

This is the OLD version of the course -- please see the Spring, 2013 version

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

10% of grade. Wed, Jan 14, 2009 - Wed, Jan 21, 2009


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: Visual Basic .Net, MacroMedia's Flash (either the tool or the ActionScript language), Java Swing, Microsoft Visual C++, Microsoft MFC, Macintosh toolkit, iPhone toolkit, etc.

Hopefully, everyone in the class can pick a different toolkit to evaluate. (See list below.) 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 Visual Basic language, while someone else does the Visual Basic wizards, while someone else does the Visual Basic resource editor, etc.

You will evaluate your tool with either Neilsen's Ten Usability Heuristics or T.R.G. Green's Cognitive Dimensions Framework. (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).

Turn in a hardcopy of your report in class on Wed, Jan 21, 2009, and email me your slides (as a Microsoft PowerPoint or pdf file) before class.


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 tentative assignment of class members to tools, as discussed in the first class:

  Student Tool Evaluation Technique
1 Jeffrey Wong iPhone programming CD
2 Kyungmin Kim Flash interactive environment CD
3 Andrew La Padula Google Web Toolkit (GWT) HE
4 Joon Cho Java Swing HE
5 Joshua Sunshine Ruby on Rails CD
6 Tobias Freudenreich ActionScript CD
7 Stephen Oney Java FX (RIA from Sun) CD
8 Philip Sarin Django (python) CD
9 Benjamin Feigin Cappucino ??


Back to Homework Overview
Back to 05-830 main page