Project Assignment 2 – Website and Interaction Design


Design and implement a website for your project. Recall that a website is a domain of HCI and your site will be evaluated accordingly. The website does not need to be elaborate, but it should serve the purpose of the users of your website. Users of your website are your development team (CS students), me (the instructor), graduate students, and your client (the scientist). We use your website to track your progress and evaluate your design and documents. Graduate students will provide additional documents for projects. When your client and I review your project, we will want to refer to the graduate student document, so your website must have links to their documents on a per document basis. Graduate students are also users of your web site. They will refer to your website to find your design documents for the project, which they need to write their documents. Consequently your design documents must be posted timely and kept current. Other users might discover you website and want to know more about your project. In the era of modern web search engines more people may view your web pages than you suspect. In fact, I have received email from some companies interested in a course project.

All design documents should be linked in your website in a format readable by all web browsers. Initially, the website will include a home page with application name, and team membership. The initial website will also contain the interaction design documents (described below). The documents are to be posted online by the due date. The documents do not have to be a single file, but they should be recognized as a group and easily navigated in the website.

You may use most any tool or templates that you’d like to make your team website. It should be a static website, meaning made up of html, jpg and pdf documents. There should not be a database backend. Consequently, something like WordPress would NOT be appropriate. The website should not have redirection, meaning in a .htaccess file. I have two goals for the website:

  1. A central location to store your design documents that I can zip and save for posterity.
  2. A media for sharing your documents with your client, team and grad student.

I do not expect anything elaborate in these websites in terms of styling or design. Your design for the website should pay attention to ease of access and finding documents.

Team & Project Documents:

Team Contract

Your team contract should be posted on website, so that I can view it.

Meeting Notes

After meeting with the scientists, you should post the meeting notes on the website.

Design Documents:

These are the design documents that must be posted to your website. Note that many of these documents should be a collaborative effort of the entire team.

The design documents must include:

  • Design, Develop and Maintain team Website
  • Brief overview of the system, including the device and any other device used by the system
  • Descriptions of important stakeholders, including users.
  • 2 user personas (See lecture notes)
  • Descriptions of the environment that users will be in while using the device and performing tasks
  • Scanned or transcribed notes from the interviews with the scientist and among yourselves
  • 2 scenarios describing the nominal use of the application, drawing on your personas (See lecture notes and below)
  • Simplified hierarchical task interaction design (See lecture notes and below)
  • A description of your database schema

These documents do not include sketches of the interface’s visual design; your interface’s visual design will be presented during the cognitive walkthrough.

After your website is reviewed in class, graduate students will give you links to their stakeholder analysis documents. You are to link the graduates’ stakeholder analysis to your website. The links should be clear and well organized, so that users of your web site will easily recognize them. You should also review the graduate students’ user-task-goal analysis documents and compare them to the nominal interaction diagram and scenario documents. If there is substantial disagreement, your group should discuss them with the graduate students. A good user interface cannot be designed without a thorough understanding of the users, their goals and the tasks to be performed with the interface.

Stakeholders and Users

List and describe the stakeholders. You should name their role and level in the onion model. Some specific stakeholders you may want to also give proper names, for example the scientists for your project. You should also identify the different users of app and classify them as primary or secondary. Briefly describe the user characteristics that you think are important for the design, for example are they novice or expert users.


Usability expert Carol Barnum (Usability Testing Essentials: Ready, Set…Test! Morgan Kaufman, 2010) defines personas as “fictional representations of people that are created from real data about your users” (94). Remember that although personas require creativity, the information presented should be relevant to the product or document that you are creating and should help designers “understand user motivation, fears, concerns, and goals as they relate to your product” (97).

Nominal Use Scenario

The nominal use scenario is a verbal description of a nominal (error free) sequence of events using the system. It should describe how the major stakeholders (primary and secondary stakeholders) interact with the system or the application. The description should be several paragraphs, one paragraph for each stakeholder interacting with the system.  It should read like a story.

Simplified Hierarchical Task Analysis

A complete hierarchical task analysis (HTA) diagrams the different uses of the application in a tree, where the higher level are associated with goals, intermediate levels represent the tasks to achieve these goals, and the lower levels represent actions to perform the tasks. Links in the tree associate tasks with goals, and actions with tasks. A complete HTA can consume lots of time and paper.

I suggest making a simplified HTA which dispenses with links and uses intended tabs to represent the hierarchy.  The intent of the simplified HTA is to represent the views of the application by the different indentation levels. A single indentation level may represent more than one view. Try to represent all the views. In other words, the simplified HTA still represents all the uses of the applications, but does not attempt to diagram the actions. You may need to use several indentation tables for application goals that have little in common.

I suggest using a top-down approach to develop the simplified HTA. First list all the major goals or tasks of the application; this will represent the views. Then indent and list the actions to achieve the corresponding goal or task; this will represent UI elements in the view. Try to name the tasks and sub-tasks with words that might be used in the application view.


All Citizen Science projects collect data for scientist to use. In order for the scientist to have access to the data, your app should upload the data to a website.

Domain Classes

Grails and GORM create the database table from the Grails project domain classes. The domain class is a collection of typed class members. The domain class represents the table in the database or a row of the table. The class members name represents the column names in the table.

Schema Specifications

A database schema is the design of tables composing your database. I expect that your schema design to evolve during development, but you should begin the design now. An appropriate design format is list of domain classes with an intended list of  class member names (column names in the table) with type and description. The format is:

Domain : <name> – <description>

  • var1 – <type>, <description>
  • var2, – <type >, <description>

Schema Specification Example

Suppose you are designing the “Army App” data base that soldiers use to read missions and report incidents that can have photos or recordings (read lecture notes).  Your schema design might be:

List of Domain Classes:

  • Mission – list of mission names with dates
  • Incident – list of incidents
  • Incident_photo – associates photos with missions
  • Incident_recording – associates recordings missions

Domain Class: Mission – list of missions

  • name – String, mission name
  • date – Date, date of mission

Domain Class: Incident – list of incidents

  • mission – Mission, foreign key into missions table
  • date – Date, date of incident
  • Time – long, time of incident
  • latitude – double, latitude coordinate of incident
  • longitude – double, longitude coordinate of incident
  • type – String, incident type = (civil, suspicious, littering, theft, …)

Domain Class: Incident_photo

  • incident – Incident, foreign key into incident table
  • date – Date, date of photo
  • time – long, time of incident
  • latitude – double, latitude coordinate of photo
  • longitude – double, longitude coordinate of photo
  • file_uri – String, URI (path with name) to the photo file

TABLE: Incident_recording

  • incident – Incident, foreign key into incident table
  • date – Date, date of recording
  • time – long, time of incident
  • latitude – double, latitude coordinate of recording
  • longitude – double, longitude coordinate of recording
  • flie_uri – String, URI (complete path) to the recording file

CS4760 Collaboration

The entire team should have access to the directory and website. Your team will work together to create the progress and design documents indicated above. When team members finish design documents, the document should be posted on the team website.

As team members finish a document, the document should be discussed with the entire team because all the tasks and documents are associated with the design and development of your app.

Email Me

Send me (pastel at  an email informing me that your website is initiated (home page is up), so we can review the website and make any suggestions. The subject line of the email should be

cs4760 Project Assignment 2 – <team name>