6.4500 Design for the Web: Languages and User Interfaces

↑ All assignments

Assignment 10

Due

Submitting your homework

To submit the assignment, please visit Canvas [CANVAS URL MISSING!] and submit the URL to your final commit that you want us to grade. A commit URL looks like https://github.com/designftw-YEAR/hw10-username/commit/b59f14ba05869b3067724aa6d2006667a54c8e7d. You can submit as many times as you want. This is important. Your homework is not submitted and is accruing slack hours until you do this!

To make sure your homework is graded correctly, please follow the following:

If you submit after the deadline, it will count towards your slack hours.

Exercise 1: User testing of Balsamiq/Figma mockup of your Chat/Messaging App (30%)

For this part of the assignment you will do a user testing session of your Balsamiq/Figma Chat/Messaging App mockup from HW9. Then, you will use these insights to improve your design further, and in HW10 you will implement a high fidelity prototype of your Chat/Messaging App in HTML and CSS.

You can use the same tasks as in HW8, or you can come up with new ones if your design evolved significantly since then.

All of the advice about user testing from HW8 Exercise 2 applies here as well.

You should test with at least 5 users if your target audience includes undergraduate students, and at least 3 users if not.

Deliverable: An HTML page in user-testing with a short video of your users performing tasks with your prototype, and a write up with your three tasks, insights from the user testing, plans for changes, and raw user testing notes in an appendix at the end.

Exercise 2: Improve Color on your website (10%)

Use what we learned this week to improve color on (or add color to) your personal website from past homeworks. Make at least 3 improvements and point them out in a short writeup (~1 sentence for each improvement).

Deliverable: Entire website in homepage. Short writeup in homepage/writeup.html.

Exercise 3: Starting Your Chat App (60%)

In this exercise you will start to implement your own chat application, starting from the basic chat apps you've been working on in studio. You will focus on implementing the base functionality:

This does not need to include all the special design features you have been designing in your prototypes, but it should be a step towards your design and usable as an intermediate. Feel free to include "fake" functionality for some of your specialty features---much like the paper prototypes and figma mockup this should be just one more step of fidelity, but not the final product.

Start by finishing studio 10 if you have not already. From there, all of your applications will involve slightly different mechanisms for chat creation, chatting, and setting up a profile. Some questions to consider:

These questions can help to guide what channels you will need to create and what objects you will need to support the various interactions your app needs.

To make a profile object, you likely want to create an object that describes the actor of interest. In an app where users create their own profile, this would be the user themselves, as in the example below. In an app where users create curate "contacts" this would be the "actor" they are creating a contact for.

{
	value: {
		name: "David Karger",
		pronouns: "he/him",
		describes: session.actor
	}
	channels: [session.actor]
}

Your app may also involve some process to invite users to a chat, accept an invitation, leave a chat, etc. You can create objects to represent whichever actions your app needs. For example, to add someone to a chat, your object might have the value:

{
	// Add someone to a group chat
	activity: "Add",
	object: "https://theia.example.com", // The actor ID of the person being added
	target: "my-chat-12345" // The identifier of the chat
}

Feel free to introduce new objects as necessary. See the Activity Vocabulary standard for some common object types, but don't feel constrained by it.

Also, keep the following usability goals in mind:

**Deliverable:** Your basic chat app in `chat-app/` and a writeup in `chat-app/writeup.html` describing your design decisions.

← Assignment 9 Assignment 11 →