Code Monkey home page Code Monkey logo

dig245-final's Introduction

DIG 245 Final Project

Design and program a web application as a creative response to content from the course.

Learning Objectives

Students who complete this assignment will be able to:

  • Recall important social, political, and economic issues around design, the internet, and computing.
  • Research, ideate, and plan a creative response to themes from the course content.
  • Use design processes (grids, typography, design principles, and iteration) to create a custom responsive web application design.
  • Use HTML, CSS, JS, and any additional frameworks or libraries to create a custom web application.
Preparation

Complete the following to prepare for this assignment. See Resources for additional information as needed.

Rubric

The final grade incorporates preparation scores with the final score (rubric).

let milestones = ((concept + proposal + prototype + design) / 4) * 0.2;
let grade = milestones + (deliverables * 0.8);

About

We’ve examined several issues around design and the internet this semester. Some forms are easy to identify, like how dark patterns manipulate user experiences by affecting usability and user expectations. Others, like the relationship between the surveillance economy and social justice are harder to visualize, but equally important when we consider whether the internet is or is not a positive force in society.

At the beginning of the semester, the View Source assignment asked you to think about why it is important to be able to know how a web page works “under the hood.” This final assignment challenges you to further investigate one or more of your preferred themes (from or related to the course) and conceive of and build a creative response in the form of a web application that likewise makes the topic more understandable, relevant, or transparent.

Your application will consist of HTML, CSS, Javascript, and any additional libraries you may need, but it should address the topic through an interactive experience that involves a user somehow inputting data, and your app transforming that data to reveal insights into your chosen topic.

Instructions

Fork this repository and clone it to your critical-web-design folder on your machine.

flowchart

1 - Concept

Identify a topic, collect research, prepare a summary for a brainstorming session.

  1. Identify potential topics to explore. It shouldn't be too specific, nor too broad. Is there a specific problem you want to solve? Or do you wish to address issues by problematizing your subject?
  2. Collect research (related articles, etc.) and inspiration (2-3 links or summaries of similar projects). Look at the Critical Web Design / Radical Software Example Works for ideas or this list of .
  3. Identify new skills or technologies (e.g. a design method, programming pattern, code library, etc.) you are interested to learn and could potentially use in your project.
  4. Write a summary of your topic(s), research, and technology (3–4 sentences). Address why you are drawn to this topic and why it is important to explore. Identify the communities, resources, and issues involved. What frameworks or methodologies might you use?
  5. Bring the above to class for the...
In-class activity

In groups, brainstorm on your topic(s) use the Disney Creative Strategy, which asks your group to assume different "hats" in order to ideate on concepts, solutions, and risks.

  1. Everyone: post your subject or concept in Slack
  2. As Dreamers, add new ideas for projects based on the subject to the posts in your group
    • How might you create something that helps others discuss, think about, or help to solve the issue?
    • The more ideas the better. Brainstorming aims to produce quantity, from which we select quality ideas.
    • No criticism. Our goal is to generate a pool of ideas. All ideas are welcome.
  3. As Realists, after all have posted, talk about each in a group
    • Think more practically, about how you would put the ideas into practice.
  4. After the session, explore the ideas and notes as a critic, to figure out what you can build in the given time

2 - Proposal

Create a pitch deck (10-15 slide Google Presentation) to share and plan your project that contains:

  1. A one paragraph introduction to your concept and what you plan to make. Who will use this and why?
  2. An initial attempt at an identity (e.g. a logo, word mark, style guide, etc.).
  3. Competition Scan - Examples (2–3) of similar works (in concept or tech) with images and links.
  4. Flowcharts (2–3) showing each step users see, and another showing how data works in the app
  5. Wireframes showing all the views in the interface (introduction page, forms, results page)
  6. Technology - Include pseudocode of the main logic of your project. List technologies and demos you think you will need. List the "unknowns"—parts of your idea that you don't know yet how to execute.
In-class activity (lightening talks)
Lightning talks of your pitches
  1. Share a link to your proposal in Slack.
  2. Present slides on Zoom. 3 minutes max.
  3. 1 minute max for questions / comments. Add others in Slack thread.
In-class activity (speed dating)
Speed Dating
  1. Find a partner.
  2. Share your proposal, progress, and unknowns. (3 min)
  3. Your partner should ask questions and make comments while you make notes. (1 min)
  4. Switch roles and repeat the above.
  5. Switch partners and repeat.

3 - Prototype

Create a working “proof of concept” of your app.

  1. Your prototype should contain the essential functions of your project.
  2. Your work should be live (not public, just able to be shared via a link in Slack)
  3. Feel free to fork and use any example repository from class to get started.
In-class activity

In groups, share your prototypes to get feedback:

  • Be ready to explain the current status of your work.
  • Bring specific questions or unknowns (concept, design, tech) you would like to discuss with your group.

4 - Design

Design iterations of main views.

  1. The design should reflect the overall concept and goals of your project.
  2. Create your design iterations with Figma, or use the Bootstrap template included in this repo designs/1.psd.
  3. Create multiple iterations of each different page / view your app.
  4. As per class presentations, look at relevant examples of good design to help you improve your own, then experiment and iterate!
In-class activity

Share your iterations to get feedback before coding the final design.

5 - Deliverables

Your finished project should include:

  1. The Project:
    1. Intro page: A well-designed, but simple page that contextualizes your project. It could appear as an introduction to the project or provided at the end to explain what happened.
    2. Your coded design (valid HTML and CSS) combined with your prototype in a final application.
    3. The project should be live, hosted on Github Pages, Heroku, or your own server.
  2. Documentation:
    1. A presentation (update your original proposal with screenshots, text, flowcharts, etc.) to document and share your finished project.
    2. A video (1:30 max) in case your site breaks 😳
    3. A 200–300 word statement explaining your concept and execution. This can be posted in Moodle, or included somehow in the actual project (e.g. the Intro page).
    4. See more about documentation
In-class activity

We will share final projects in lightning talks (3 min.)

6 - Publish

  1. Save and refresh your work in the browser often to see your changes.
  2. Commit changes regularly.
  3. Confirm valid HTML and CSS (?)
  4. When finished, push, publish, and post your project. Make sure to include a link to your Figma designs in the Moodle post.

Resources

dig245-final's People

Contributors

omundy avatar douglasdeutsch avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.