6.4500 Design for the Web: Languages and User Interfaces

↑ All assignments

Assignment 10

Due

Submitting your homework

We are going to use Github Classroom for this assignment. You need to have an account on GitHub and be logged in. Authorize Github Classroom here and accept the assignment, then follow the instructions there. Please follow the structure and naming of the starter repo, though you can add any additional files if you need them.

To submit the assignment, please visit Canvas 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 -N: HW4 Retrogrades (Optional)

Now that you've received feedback on some of your assignments, we are offering a (completely optional) opportunity to improve some of your past work and resubmit it for a retrograde. Your final grade on an exercise will then be the average of the original grade and the retrograde. For example, if you got 10 points on the original exercise and 20 points on the retrograde, the final grade we'd put down for the exercise would be 15 points. We will never give you a lower grade than you got originally.

Not all exercises are eligible for retrogrades, either because they are part of multi-week assignments already or because we don't think fixing up that exercise provides a good learning opportunity.

This week, you may request retrogrades for any or all of:

To submit a regrade, simply commit and push additional changes to the relevant exercise in that week's repo. Retrograde submissions are due with the assignment where they are offered.

Exercise 0: Hall of Fame Shame (Participation)

Over the rest of the semester we would like you to submit three entries to the UI Hall of Fame/Shame. Submitting an entry should be pretty simple, just write a couple short paragraphs about the UI in question and what makes it usable or unusable. Make sure to use precise terminology from class and the Design of Everyday Things.

We suggest you submit to the Hall of Fame/Shame whenever you encounter a particularly good or bad UI. The UI can be either virtual or physical.

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, which introduces basic chat creation and chatting. Then, you will modify it to support your applications own specialized ways of chat creation and chatting.

First consider where can people "find" chats to join? Do they need to be explicitly invited? Are the chats associated with a specific topic (e.g. a chat for each MIT class)? Does your app only involve direct messaging?

Answering where people can "find" chats can help you decide which channels you need to post your objects to. See the lecture slides on channels. For example:

Next consider what sort of interactions are associated with a group chat. Does a group chat need to be created? Do users invite other users? Can users join on their own? Can users leave or be kicked out?

These questions can help you decide what type of objects you need. See the lecture slides on objects. In studio we made "Create" objects to create new chats. You could also use objects for adding/inviting people to a chat:

{
	// 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
}

See the Activity Vocabulary standard for some common object types, but don't feel constrained by it. You are welcome to introduce new objects as you'd like.

As we did in studio, you will need to create these objects using put and retrieve them using discover and an appropatie JSON schema.

You can also add objects for managing chats that have already been created---renaming them, setting a background color, etc.

In addition to including basic functionalty, the chat app should begin to look and feel like a real chat app and so change the styling appropriately. 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.

Exercise N: HW10 feedback

Since this is a new class, we need your constructive feedback about every aspect of it: lectures, homeworks, labs etc.

Please fill in your feedback about HW10 in this form. You can edit it as many times as you like until the survey closes (48 hours after the homework deadline). Since this is part of your participation grade, it does not affect your slack hours, but failing to submit the form on time, could result in a lower participation grade.

← Assignment 9 Assignment 11 →