Skip to main content
Department of Information Technology

General seminar instructions

On the course there will be three seminars, apart from the final examination day seminars. During these seminars you will present and analyze another group's product. Each seminar focuses on a separate angle:

  • Seminar 1. 17/2 8.00 - 10.00 You conclude whether (and how) the other group is implementing the MVC model, i.e. whether they succeed in separating Model and View (and Control) and how they achieve this.
  • Seminar 2. 22/2 10.00 - 12.00 You check the documentation in the other group's program. Have they been programming in a clear and readable style? Have they used comments (Javadoc and inline) in a proper and useful manner?
  • (Seminar 3) Handed in as a Report! . 9/3 17.00 You will make a Usability Evaluation of the interface of the other group's application. Is the user interface well designed, and does it follow the basic guidelines.

During the seminar you are to give a short presentation, 5 minutes, over the other group's application. Describe their work (according to the seminar topic) and then present your critique of the application. Note that critique can be positive! Under any circumstances the critique should be constructive.

After the seminar you are supposed to incorporate the critique you have received into your application. The purpose of the seminars is to produce better results in the end.

You present the group you are examining with a written account of the most important parts of your critique by submitting your answers to the below questions/assignments as a reply in the reviewed group's thread in the corresponding forum in Studentportalen.

Seminar 1. MVC Structure

Group
Examined by
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 10
10 11
11 12
12 1
  • Download the JAR of the group whose work you are to review (see above table) from the forum "Assignment 1" in Studentportalen.
  • Analyze the source code and describe the application's MVC structure, with particular focus on how the data model is implemented and separated from visualization and control.
Does the implementation differ from your group's?
  • If yes: How? What do you see as the pros and cons of respective solution?
  • If no: Why do you think your solutions are the same? Can you see any other way to solve it?
  • What did you learn by this assignment?

You should spend maximum 3 hours of group work on this task and your answers should be pasted inline in a reply to the topic in Studentportalen.

Seminar 2. Documentation

Group
Examined by
10 2
1 3
8 4
6 5
7 6
5 7
4 8
3 10
2 11
11 1
  • Download the JAR of the group whose work you are to review (see above table) from the forum "Assignment 2" in Studentportalen. Observe that it is not the same group as previous seminar.
  • Read the code of the other group's program. Have they been programming in a clear and readable style? Have they used comments (Javadoc and inline) in a proper and useful manner?
  • How has the group implemented the shared Actions - as classes, as inner classes, etc?
  • Are the Actions language independent? Check also the internationalization of pictures and icons.
  • What did you learn by this assignment?

You should spend maximum 3 hours of group work on this task and your answers should be posted inline in a reply to the topic in Studentportalen.

Seminar 3. Usability evaluation

Group
Examined by
7 2
8 3
10 4
11 5
1 6
2 7
3 8
4 10
5 11
6 1
  • Download the JAR of the group whose work you are to review from the forum "Assignment 3" in Studentportalen.
  • Conduct a usability evaluation according to below instructions.
  • Use the checklist to determine whether all requirements are fulfilled.
  • Post your answers and the completed checklist as one single PDF file in a reply to the topic in Studentportalen.
  • Prepare a short presentation (5 minutes) about your usability evaluation and send all material you need for the presentation in one single PDF file (please name the file exactly like this: devgui_usability_XX, where XX is YOUR group number) to Mikael before the seminar.

Background

Your evaluation will assess some aspects of usability. Before you start doing the actual evaluation you should read through this document carefully and divide the different tasks among you. Prior knowledge about usability is not assumed. The tasks are intended for a group of 4 people. Consult the teacher about what parts to omit if your group is smaller than that.

ISO 9241-11 defines usability as:

The extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency and satisfaction in a specified context of use.

Note the use of the word specified, which indicates that a usability analysis should take in account the intended users. In your evaluation you must therefore identify (read assume, you don't have time to do it thoroughly) these when judging the design. Who are the specified users? What are the specified goals? What is the specified context? Systems do not necessarily have to be designed to be usable for everyone. Sometimes efficiency should be prioritized (e.g. expert systems) and sometimes the possibility to be very specific (e.g. administration systems). Sometimes the goal should just be accomplished with least pain and greatest satisfaction (e.g. customer care). Who the intended user is and what she does decides what is good usability. The overall goal of your usability evaluation is to analyze how these aspects are fulfilled by the system. Throughout your evaluation process you should keep the following two insights in mind.

  • Users have a purpose for using a system. This purpose is what the system design should support.
  • Just referring to bad, weak or low usability or user friendliness is not informative enough. Specify the reasons for this, e.g. hard to learn because of X, inefficient because of Y, etc.

1. Scenario

This part of the assignment should be done jointly by the whole group.
Create a realistic scenario (description of a use case) for the evaluated application. Even if the application has much functionality, you should focus on only a few functions in your scenario. Choose one that you believe will highlight the most critical usability problems and formulate tasks that the user will perform in it.
You should not spend more than 1 hour to create your scenario.

2. Think Aloud

This part should be done individually (by two group members).
You will carry out Think Aloud user testing in the reviewed application (Wikipedia 2008). In short this means that test subjects are supposed to talk about what they are thinking, feeling and doing while solving tasks. Use two friends who you believe to be potential users of the application. They should perform the tasks sketched in the scenario while you are observing them.
You should not spend more than 1 hour to conduct and 2 hours to summarize your Think Aloud observations.

3. Heuristic Evaluation

This part should be done pair-wise.
A Heuristic Evaluation helps developers check whether unnecessary usability problems exist in a system design. It does not guarantee a problem free product, but properly conducted, the systematic process will reveal the most obvious usability problems. The following 10 paragraphs are cited from Jakob Nielsen (1994). Your task is to carry out an evaluation using these headlines to find problems with the design that you are evaluating.
You should not spend more than 3 hours to create your Heuristic Evaluation.

Visibility of system status
The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.
Match between system and the real world
The system should speak the users' language, with words, phrases and concepts familiar to the user, rather than system-oriented terms. Follow real-world conventions, making information appear in a natural and logical order.
User control and freedom
Users often choose system functions by mistake and will need a clearly marked "emergency exit" to leave the unwanted state without having to go through an extended dialogue. Support undo and redo.
Consistency and standards
Users should not have to wonder whether different words, situations, or actions mean the same thing. Follow platform conventions.
Error prevention
Even better than good error messages is a careful design which prevents a problem from occurring in the first place. Either eliminate error-prone conditions or check for them and present users with a confirmation option before they commit to the action.
Recognition rather than recall
Minimize the user's memory load by making objects, actions, and options visible. The user should not have to remember information from one part of the dialogue to another. Instructions for use of the system should be visible or easily retrievable whenever appropriate.
Flexibility and efficiency of use
Accelerators - unseen by the novice user - may often speed up the interaction for the expert user such that the system can cater to both inexperienced and experienced users. Allow users to tailor frequent actions.
Aesthetic and minimalist design
Dialogues should not contain information which is irrelevant or rarely needed. Every extra unit of information in a dialogue competes with the relevant units of information and diminishes their relative visibility.
Help users recognize, diagnose, and recover from errors
Error messages should be expressed in plain language (no codes), precisely indicate the problem, and constructively suggest a solution.
Help and documentation
Even though it is better if the system can be used without documentation, it may be necessary to provide help and documentation. Any such information should be easy to search, focused on the user's task, list concrete steps to be carried out, and not be too large.

4. Rank Usability Problems

This part should be done jointly by the whole group.
Your final task is to summarize and present the usability problems so that the recipient will understand which ones are most important to fix. You should also state what is particularly good in the current system, in order to prevent that these features disappear in the redesigning of it. The grades for ranking usability problems are:

  1. Cosmetic problem only: need not be fixed unless extra time is available on project
  2. Minor usability problem: fixing this should be given low priority
  3. Major usability problem: important to fix, so should be given high priority
  4. Usability catastrophe: imperative to fix this before product can be released

You should not spend more than 1 hour of group work to rank the usability problems.

Report

This review is handed in as a report, containing the following information:

  1. Brief description of the scenario you have developed for the evaluation
  2. Description of the results from the Think-aloud testing
  3. Description of any problems you have found with Usability Evaluation
  4. Description of the ranking of severity and implication

For all of these, wrap the content in a easy-to-read text, where you also describe (where applicable) what could be done to remove the problem.

References

Updated  2012-03-05 12:30:04 by Lars Oestreicher.