If you’re seeing this, the site behind it is likely broken!

Hi, there. I use these course sites as little sandboxes to experiment with and learn various “brand new” CSS properties—and your browser does not support (at least) one of them. Apologies. It “should” always work in current/updating Safari and Chrome!

  • Typography & Interaction

    ’25–26

  • The Syllabus

  • Our Class

  • Unit Nº 1: “Type and the Web”

    Wks. 1–6

    • Week Nº 1

      Aug. 29

    • Everything Is a “Web Page”

    • Week Nº 2

      Sep. 5

    • It’s All About Type

    • Week Nº 3

      Sep. 12

    • An Intro to HTML

    • Week Nº 4

      Sep. 19

    • An Intro to CSS

    • Week Nº 5

      Sep. 26

    • The Box Model

    • Project Nº 1: “Manuscript”

      Oct. 3

    • Week Nº 6

      Oct. 3

  • Unit Nº 2: “There Is No Perfect Layout”

    Wks. 7–10

    • Week Nº 7

      Oct. 10

    • Responsive Design

    • DevTools (Web Inspector)

    • Week Nº 8

      Oct. 17

    • Finally, Flexbox

    • And (CSS) Grid

    • Week Nº 9

      Oct. 24

    • Some Additional, Advanced CSS

    • Project Nº 2: “Spread”

      Oct. 31

    • Week Nº 10

      Oct. 31

  • Unit Nº 3: “Typography as Interface”

    Wks. 11–15

    • Week Nº 11

      Nov. 7

    • Working with Images

    • Week Nº 12

      Nov. 14

    • Week Nº 13

      Nov. 21

    • Thanksgiving Week

    • Project Nº 3: “Binding”

      Dec. 5

    • Week Nº 14

      Dec. 5

    • Week Nº 15

      Dec. 12

  • Winter Break

  • Unit Nº 4: “Interface as Interface”

    Wks. 16–21

    • Week Nº 16

      Jan. 21

    • Week Nº 17

      Jan. 28

    • An Intro to JavaScript

    • Week Nº 18

      Feb. 4

    • Week Nº 19

      Feb. 11

    • Some Overall Notes

      • Semantics

        Glancing through some of your in-progress work⁠—we want to remind people to pay attention to their semantic structure⁠—around images (perhaps figure), in particular. Nothing has changed here with the addition of JS; you should only be reaching for <div> when nothing else is more appropriate!

      • Mobile-First

        Your projects should be fluidly responsive, as our last couple have been! We’re seeing an almost across-the-board regression into Desktop First thinking so far⁠—let’s reframe around Mobile First. And be sure to include the viewport tag!

      • Modern properties

        In this house, we use relative units (shouldn’t see any px), logical properties) (block- and inline-), and comparison operators (width > 550px) for our media queries. (And of course, thorough CSS variables, relationships/​calc use, and nesting!)

        Besides being more resilient/​accessible/​simpler/​structural/​systematic⁠—this shows us you are engaging with the course material.

      • Dev Tools

        The Inspector has always been our friend⁠—but should have even more prominence in your toolbelt now as we learn some JS. What is our Styles Tab telling us about what we’re seeing? What is our Console complaining about when our code doesn’t work?

        When we look at your sites, this is how we diagnose what is going on!

      • Smaller Commits

        We’ve talked about this before⁠—we want to see much smaller, more-frequent commits! For one, it makes your code more resilient to annoying errors; also, it shows us how you (…not an LLM) are working through and understanding things.

      • Right, LLMs/​attribution (…again)

        As Eric noted last night, we’re seeing some pretty… suspect code committed in your projects, so far⁠—concepts, patterns, and syntax we haven’t discussed (which is fine) without any attribution comments or explanation (which is code plagiarism).

        What are we learning? Could you explain your understanding to us? Are you in control? Consider this your final warning!

        Or Lance Armstrong, forklifts in the gym, reverse-centaurs, and doing more (and understanding) vs. less (and not), etc.

      Project Check-Ins

      We’re going to spend the bulk of class today looking at your progress using Are.na as an API. Here are our groups:

      Group Nº 1

      • Zarah
      • Noor
      • Kinza
      • Soko
      • Trenton

      Group Nº 2

      • Cason
      • Michael
      • Kimaya
      • Chareese
      • Sooim

      Group Nº 3

      • Riya
      • Katie
      • Maika
      • Evgenii
      • Mia

      Group Nº 4

      • Ali
      • Amanda
      • Sophia
      • Lucy
      • Melody
      • Our goal is that everyone will see one of us

      • We’ll shoot for about 8 minutes 5 minutes with each of you

      • We’ll each see one group two groups, then take a short break

      • Give us some brief conceptual background, then right to live work

      • Have your work up on your phone!

      • We want to focus on the Big Picture, to start⁠—let’s save specific/​technical minutia for Slack

      • Have your laptop/​notebook ready for notes!

      • Feedback for one group is often feedback for all; let’s be actively listening to each turn

      • Do the same with your peers when we are not at your table!

      Quick demo

      For the next part of your project, you’ll be Adding Interactivity. We’ll do an example to close out today:

      • “Show More (Block) Info”

        • Add a <button> to a block template
        • Create a function that listens for click events on each of these <button>
        • When the button is pressed, add a class to its block
        • Use this class to show more information (description)
        • Maybe you want to show a modal/​lightbox instead
        • Then adjust ancestor styles when it :has an open overlay
        • Add an event listener on this new element to close/​hide it

      For time, we’re going to take a look at this async/​on Loom!

      For Next Week

      • We’re on to the next phase of your projects:

        Project Nº 4: Adding Interactivity

        First think about how you want someone to understand, navigate, and interact with your collection⁠—and then interpret that through the tools JavaScript avails us. We want these things to feel alive!

      • Here we also want to emphasize prioritization⁠—think about what gets you the most “bang for your buck.”

        Don’t neglect strong, foundational styles due to chasing down JS/​refactoring. Can you approximate more complicated behavior by adding/​removing classes with different states? (Probably.) Think about what seems achievable in the next two weeks. We don’t want to see our “Fall Fundamentals” neglected!

      • Update us with your progress:

        Submission Form

      • We’ll be using the entirety of class next week for longer reviews, and you’ll each hear from both of us!

        So we expect a lot of progress between now and then! The following week is for refinement, not your catching up on your core functionality⁠—get that in before we see you next, so we can respond to it.

    • Week Nº 20

      Feb. 18

    • Project Nº 4: “Links”

      Feb. 25

    • Week Nº 21

      Feb. 25

  • Unit Nº 5: “If All You Have Is a Hammer, Everything Looks like a Nail”

    Wks. 22–30

    • Week Nº 22

      Mar. 4

    • Putting a (Link/​Meta) Bow on It

    • Week Nº 23

      Mar. 11

    • Spring Break

    • Week Nº 24

      Mar. 25

    • Week Nº 25

      Apr. 1

    • Week Nº 26

      Apr. 8

    • Week Nº 27

      Apr. 15

    • Project Nº 5: “Functions”

      Apr. 22

    • Week Nº 28

      Apr. 22

    • Week Nº 29

      Apr. 29

    • Week Nº 30

      May 6

    • “Everything Else”

  • Project “Index”

    May 15

  • The end