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

    • Session Recording

      Sketch Reviews

      Given how much we need to cover for our first projects, we will be reviewing your typographic sketches asynchronously to start. Expect some Figma comments/​feedback from us by next class!

      In the future (and hopefully in a larger space) we will review in small groups in class.

      HTML Time

      We’re going to introduce you to our old friend, HTML:

      An Intro to HTML

      Let’s Make a Web Page

      Our whole second half today will be a demo, setting us up for next week’s assignment and our first projects:

      1. You should have downloaded Visual Studio Code, which we’ll demonstrate with as our text editor for the course.

        You’ll hear us refer to this as an IDE, for Integrated Development Environment. Think of this as a fancy text editor with coding-specific features, like syntax highlighting and tabs. There are many of them! VS Code is probably the most popular, right now. (It is made by Microsoft.)

      2. You also should have downloaded GitHub Desktop, which we’ll use to talk to GitHub (the site) and manage our code. Let’s sign into the app with your GitHub account.

        Git is version control software, which tracks changes and helps developers work together. GitHub is a very, very widely-used, web-based host for Git projects⁠—known as repositories. (This is now also owned by Microsoft.)

        You can work with Git via the command line (and even right from VS Code), but we’ll use their website and GUI Desktop app for now.

      3. Head over to GitHub (the site) in your browser. Create a repository (“repo”) there, named manuscript. Make sure it is set to Public! We’ll talk about the other options here, but you can ignore them for now.

      4. We’ll clone this repo down to our machines by clicking Set up in Desktop. This will link a local folder on our computer to the remote copy of our code, up on GitHub. (More on this in a bit.)

      5. Open the local manuscript folder this created in VS Code⁠—either by dragging the folder to app’s icon, or via File → Open Folder…. You can also open it from GitHub Desktop with Repository → Open in Visual Studio Code.

        You can also do this with or ⌘ Shift A.

      6. Make an index.html file inside this folder. Let’s start with a basic setup:

        						<!doctype html>
        <html>
        	<head>
        		<title>Hello, world!</title>
        	</head>
        	<body>
        		<h1>Hello, world!</h1>
        		<p>This is my <em>first</em> web page.</p>
        	</body>
        </html>
        
        			
        	

        You’ll be using this file for your homework; this is just to get us started. Then let’s open this in the browser!

      7. Let’s go through some HTML structure, to start:

        • <title>, <h1>, <p> (note <em>)
        • Nested hierarchy, multiple <article>, <blockquote>, as block containers
        • Add links and inline elements too
      8. And briefly, let’s talk about some ergonomics:

        • The Command Palette: ⌘ Shift P
        • Word wrap: ⌥ Z
        • Syntax highlighting and themes
        • Tabs vs. spaces and render whitespace
      9. If you hop back over to GitHub Desktop, you’ll notice that our work is now shown there. Use this to review your changes⁠—and if everything is good, write a message, commit them, and push your changes up to GitHub. Think of Git’s commits as tracked, commented, and reversible saves.

        Keep in mind that Git only knows about files that you have committed to your local (on your computer) repo. And GitHub only knows about files you have pushed to the remote (on their computer/​server) repo. You have to tell these to sync, with the push.

        There are whole methodologies (and many an argument) around Git rules and strategies⁠—but to start, just do what works for you. (Michael’s a fan of many small commits with verbose/​specific descriptions, much to other devs’ chagrin).

        These are like code comments⁠—they are mainly there for future you, and later, your colleagues.

      10. Check that our index.html is now on GitHub by going to the repo there. You can navigate from your profile or jump right from GitHub Desktop with ⌘ Shift G.

      11. Now let’s enable Pages, which is GitHub’s built-in hosting that we will be using to make our work accessible online. Go to the repo’s Settings → Pages section, and select main as your branch.

      12. Back out on the repo page, click the About ⚙ and check Use your GitHub Pages website. In a minute or two, your page should be live, on the web at https://yourname.github.io/manuscript/!

        Take a bow, and share your link in Slack!
        You have made a web page!

      13. And if we have time⁠—let’s make an update to our file.

        You’ll now notice that our changes are now shown in GitHub Desktop as a diff (for difference). Red is a subtraction; green is an addition! I find this easiest to understand in the split view.

      For Next Week

      • Read through the HTML lecture from today again at your own pace, studying the various examples and (many) links. We’re going to have to move pretty quickly through these technical lectures in class, but expect you to use these as a resource in your work. We want to see your engagement here!

      • You will then finish the exercise we start in class today as your homework. This is the next phase of your first project:

        Project Nº 1: Semantic DOM

        Modify the web page we created with the content for your projects⁠—pulling in the text from your selection, along with your response. Refer back to the HTML lecture and structure your document⁠—using appropriate semantic elements to organize the content, as if you are outlining the material. You should make full use of a range of elements that your text and response need.

      • When you are done, submit a link to your repo and live URL file:

        Submission Form

        If you get stuck: refer to the recording, look through the lecture again, and then consult each other! We’d like to see conversation in Slack.

    • 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

    • 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