a handful of apples inside a bag as an elegant drawing

Calendar

Week 1.
January 28
Welcome + Gifting at Root Level + Our Letter
In-class

- Welcome

- Fill out intro survey

- Introductions

- Go over syllabus & class website

- Lecture: Gifting & World Wide Web

Exercise: Set up your Are.na

If you don't have an Are.na account, sign up for one. It's a tool for networked curation. We will use it to share material and stay connected during this course. It also is a good segue into talking about a history of the World Wide Web. Once you've created an account and verified your email address, follow this link to join our class group on Are.na. Then, let's go over A History of the Internet together, and please contribute anything you sense is missing.

- Our Letter

For next class

Reading



"The Serviceberry" by Robin Wall Kimmerer (2022) in Emergence Magazine

Link to article

Gifting



Writing prompts:

Part 1 — Choose someone you know well. Give them a gift. It can be any medium, but consider the root / core meaning of "gift." Share the experience.

Part 2 — Share three favorite gifts you have either been given or received. What made them so meaningful or memorable? Include any images if relevant.

Part 3 — Create your own theory of gifting. What makes a good gift?

Week 2.
February 4
Warm-up — 1) Demystifying Internet, 2) Gifting with Spheres & GCal

- Add your writing to Are.na

- lecture: technology & the internet

Exercise 1: Sphere as Gift

Go to this block on Are.na and navigate to the Google Spreadsheet. We'll explore together from here.

Exercise 2: Google Calendar as Gift

Go to this block on Are.na and navigate to the blue website with all the Google Calendars. We'll go from here.

- our letter


For next class

Reading



Chapters 1 & 2 of Weaving the Web by Tim Berners Lee (1999)

Link to PDF


"My website is a shifting house..." by Laurel Schwulst (2018)

Link to article


"Introduction" & "Below the Ground" Chapters of Networks of New York by Ingrid Burrington (2016)

Link to PDF


Please read these throughly. There are no reading responses required, but these will be helpful foundation going forward in the course.

Gifting



Part 1 — On your own, do "Exercise 3: Are.na Channel as Gift." Or in other words, create a gift for someone in your life in the form of an Are.na Channel. To do this, first consider your gifting format, or come up with your own. Then follow these instructions and these additional tips.

Finish this by Sunday at 11:59pm EST at the latest. To submit it: Connect the channel itself and any any other documentation like photos (that is, if you made something physical to accompany or extend your gift) to your class Are.na Channel, which is called Gifting Yourname. Since what you create (the Are.na Channel as Gift) a private channel, make sure to "Add as a Collaborator" our class group, which is called Princeton VIS 208. "Gifting" Spring 2025, so that we all have access to it. Email me if you have any questions.

Part 2 — Create an energy sphere for yourself. When you're happy with it, could you both add it to your class channel and email it to me? (As a .png image.) Thank you.

Week 3.
February 11
Gifting with HTML html green sphere

- Looking at some websites (and their source code):

  1. elliott.computer
  2. elliott.computer/recipes
  3. earth-boxes.html
  4. everythingi.love
  5. thesoundof.love
  6. 42fish
  7. words.html
  8. text.npr.org
  9. quietreading.org
  10. fruitful-presentation
  11. good-title
  12. who-is-at-the-cone-right-now

- Intro to HTML (HyperText Markup Language):

  • watch video together
  • download a text editor (VS Code, Sublime Text, Atom) if you don't have one
  • download html starter pack

- Walking tour of the Internet in Princeton (5 stops)

Exercise 1: HTML

Make a website with *only HTML* (no CSS yet please) as a valentine's day gift for someone specific, a group of people, or the world. When you are done, publish it on the web with Github Pages, Neocities, or your own hosting setup.

On February 14 (Valentine's Day), deliver your website valentine's gift via email and BCC me on that email (schwulst@princeton.edu). Note that whatever you create, ensure that you are comfortable sharing with me and the class.


For next class

Reading



"The New Turing Test" by Elan Ullendorff (2023)

Link to article


"The Life and Death of an Internet Onion" (2020)

Link to web anthology


"Turning YouTube Comments Into Art" by Max Norman (2022) in The New Yorker

Link to PDF


Please read these throughly. There are no reading responses required, but these will be helpful foundation going forward in the course.

Gifting




The week before spring break (March 4), you’ll all share a website-as-a-gift you created with HTML/CSS/JS.





                            The website can be a gift for:
                            - someone specific
                            - a specific group of people
                            - the world
                            
                            or a combination of these.
                            
                            It should take into account your 
                            theory of gifting. Remember that it’s 
                            not about making the most dazzling or impressive website, but a website that 
                            is truly a gift — it touches to the person, the group of people, or the 
                            world it’s created for.
All ideas start somewhere.




                            For next week (Feb 18), submit 3 “idea seeds” that will gradually grow into your website-as-gift.
                            
                            Seeds could be anything. Maybe you have an idea about a container for a website such as a URL or website name. Or maybe you have a specific piece of content you’d like to publish but don’t know how or in what form. Or you already have a fully-fledged concept with both content and container imagined together harmoniously. Seeds are a starting point.
                            
                            For each of your 3 seeds, title them and write a little about them. If they come with corresponding visuals or references, add those too. Add these to your class Are.na channel. Not everything has to be figured out yet, but a strong seed will keep your interest over the next few weeks even if the specific details of your website-as-gift changes.
                            
                            Then, choose your favorite idea seed and explore it using only HTML. Publish this on Neocities, Github, or your own hosting and add to your channel for sharing next week.

Week 4.
February 18
Gifting with HTML and CSS 1 css pink sphere
Review publishing to GitHub

You can access Github in multiple ways: through Github.com, Github Desktop, or via git in the command line. Choose the method that works best for you. Recommended tutorials: Publish website using Github Pages (video) and Git and GitHub (video). The organization of your files and folders is also up to you, although I would recommend having one folder/repository for this class (maybe called "gifting" or "gifting-www") and each of your exercises living inside there as folders or files. Remember that you need to call an html file index.html if you want it to, by default, show up when going to the folder that contains it.

My demo:

  1. Download Github Desktop and install it. Open it.
  2. Sign into your Github account through Github Desktop.
  3. Add a new repository. Choose "Clone repository..." in dropdown.
  4. Find your repository for this class. Make sure the local path is somewhere you are comfortable saving your repository on your computer. Click "Clone"
  5. Open up the folder (wherever you saved it in step above) in your text editor.
  6. Try making a simple change to your code and save, to test it works.
  7. Open Github Desktop and see if it noticed your change.
  8. If yes, write a summary of your change, press "Commit to main," and then press "Push origin."

- Share idea seeds

Exercise 1: HTML (Review)

Download the html starter pack (it's updated from last time). We will make homepages on Github using the html-profile. Here is mine (as a reference), and feel free to explore its code.

Exercise 2: CSS

Intro to CSS (Cascading Style Sheets):


For next class

Reading



"Using Simple Tools as a Radical Act of Independence" by Jarrett Fuller (2024)

Link to article

Gifting


Use and explore with CSS on your chosen idea seed this week to develop some type of draft of prototype of your idea, ready to share your next prototype next week. In two weeks, you'll present your final site.

Week 5.
February 25
Gifting with HTML and CSS 2 css pink sphere css pink sphere

- Share gift prototypes in HTML & CSS:
* Yiling
* Stephanie
* Raymond
* Ben
* Abeeha
* Allen

- Go over CSS basics, positioning, layout, media queries, animations

Exercise 1: CSS "Exercises in Style"

Using the "html-css-demo-3-data.txt" from the CSS starter pack, let's create a handful (10) different versions of Cafe Ihsan's website.

In these versions, make sure to explore the following CSS properties:

- width
- height
- max-width
- display (block, inline, inline-block)
- position (absolute, fixed, relative, static)
- top, right, bottom, left (if using position: absolute or fixed)
- font-family
- font-style
- text-align
- text-transform
- size
- color
- background
- margin
- padding
- border
- opacity
- display: flex
- display: grid

Exercise 2: CSS "Coding from Life"

Download this coding from life starting pack. We will create one or two still life drawings using HTML & CSS.

In this exercise, make sure to explore the following CSS properties:

- transition
- animation

- Sign up for newsletter spots


For next class

Reading



"Domain Naming" by Chia Amisola (2024)

Link to article


Read this thoroughly and explore Chia's works on their website. Come with some questions or curiosities in mind for Chia's talk next week.

Gifting


Continue using and exploring with CSS on your chosen idea seed this week to develop some type of draft of prototype of your idea, ready to share your next prototype next week. Remember that after spring break, you'll present your final website-as-gift.

Week 6.
March 4
Guest: Chia Amisola + Gifting with HTML and CSS, and JS

Guest Lecture: Chia Amisola (Virtual)

js blue sphere

JS: JavaScript

- Share gift prototypes in HTML & CSS:
* Jodie
* supraj
* kendall
* julia
* max
* sekou
* james
* yohana
* tiffany

Week 7.
March 18
Gifting Final Share (HTML, CSS, JS) html green sphere css pink sphere js blue sphere

By this day, you will be ready to share a website that's either a gift for yourself or a gift for someone specific. It should take into account your theory of gifting. Be ready to share this today.

Week 8.
March 25
Guest: Elliott Cost + Gifting with CMS (Kirby)

Virtual Class —

Guest: Elliott Cost. Check out some of Elliott's projects: Special Fish, One Minute Park, and HTML Energy. See his other sites and home on the web.

Elliott introduces us to his web notebook Memory with a tutorial on how to make your own.

Web Notebooks: Traditionally a “notebook” is something you have multiple of — in the paper world, you often have different notebooks for different purposes. Whereas digitally, a “blog” feels like you have only one and it’s this monolithic thing. So inherently notebooks are less precious and more context-specific than blogs. Going the notebook route on the web allowed me to more easily write. In other words, I first created the world (the environment — feeling, constraints, audience, etc.), and then the writing came naturally.

CMS: Content Management System, or computer software used to manage the creation and modification of digital content.

Kirby: content management system (CMS) that stores content in text files. It's written in PHP and is designed to be flexible and modular.

Week 9.
April 1
Gifting with CMS (Kirby) ... Continuation

To come

Week 10.
April 8
Gifting with CMS (Kirby) ... Continuation

To come

Week 11.
April 15
Gifting with CMS (Kirby) ... Final Share

To come

Week 12.
April 22
Gift Exchange

To come

Overview

For this year’s “Graphic Design: Link” class, our theme will be “Gifting” —

How do you mean, gifting?

“in the age of information overload, THE ULTIMATE LUXURY IS MEANING AND CONTEXT” — Louis Rosetto (1994)

Gifting, or giving a gift, is a timeless activity we all do throughout our lives. What makes a good gift? Everyone has their own theories, but I believe the best gifts are often personal, speaking to the relationship you have with the recipient or giver. A gift typically has an audience of one, making the context incredibly specific. In an age of increasing artificial intelligence, gifts are one thing that can't exactly be automated. Gifts' meaning comes from a very human process.

Throughout my own artistic practice, which often circles around websites, I've noticed that many of my favorite projects start from gifts — either a gift to someone specific, a gift to myself, or a gift to the world. I believe there's a special connection between gifting and the world wide web in particular, one I'd like to explore with you all during this course.

This is a course about approaching digital tools, including websites, in new and creative ways — through the lens of generosity. Today, digital tools and websites often operate on a scarcity mindset. Instead, what if we thought about the world wide web as a place of generosity? It's a way of countering, critiquing, or offering an alternative to the more capitalist version of the web. If we approach websites and other everyday digital tools through the lens of gifting, we might be able to create works never experienced before that are also incredibly human and meaningful. Plus, gifting is a lifelong practice, and hopefully through exploring it in another realm, we'll become better gift givers and recipients as well.


What will be covered?

Specifically, we’ll cover:

- creating an Are.na Channel as a gift
- creating a Google Calendar as a gift
- creating a minimum viable website as a gift
- the basics of HTML & CSS
- creating a web notebook as a gift
- the basics of Kirby CMS, written in PHP

Please note that this is not an extensive programming course — the focus is on applying concepts learned in demonstrations rather than in-depth programming instruction. Students will explore various approaches, integrated with creative practice, to create websites and other digital mediums.


What is the format of each class?

This is both a studio and a seminar course, meaning the course is a combination between both *gifting* and *reading*.

Through these modes, we’ll explore design, art, and technology through a “gifting” lens.

Each class will include most of the following:

- sharing what you created / reading response
- lecture
- in-class exercise / workshop
- ways to extend making outside of class

reading

Please read actively. Mark passages, write down quotes and reflections, record questions as they arise. Come prepared to share those.

gifting

Use the gifting prompts as ways to creatively explore the themes from that week’s class and learn new skills. While this course is mostly based around everyday digital tools and the world wide web, you are encouraged to explore in different mediums.


What is the format of the semester?

The course is divided into two parts, before spring break and after:

Part 1 — January 28 – March 4

In the first half of the semester, we will explore *gifting to a specific person.* We will do this through exploring everyday digital tools (Are.na & Google Calendar) and fundamental languages behind building simple websites (HTML & CSS) as opportunities for gifting.

1.28 — introduction
2.6 — spheres & calendar
2.11 — html (website)
2.18 — html, css (website)
2.25 — html, css, js (website)
3.4 — sharing

Part 2 — March 18 – April 22

In the second half of the semester, we will explore *gifting to oneself, which might then become a gift to the world* through sharing a usable format. We will do this through exploring web notebooks and CMS (content management systems). For a month, students will be able to develop their own template in Kirby (modular CMS written in PHP). On the final day of class, we'll have a gifting exchange — more info on this as it draws nearer.


What if I'm on the waitlist?

This course is open to 12 students.

Anyone officially registered for the class who confirms they want to keep their spot is “in.”

For those registered, send me an email (schwulst@princeton.edu) to confirm that you would like to keep your spot by Saturday, February 1st.

There is a large waitlist for this course. If someone who is registered drops the class, the priority for who gets in off the waiting list goes: VIS majors > VIS certificates > freshmen > sophomores > juniors > seniors. I will be in touch to everyone on the waitlist via email on Monday, February 3rd if there are any openings.

If you’re registered but uncertain about whether you’d like to take the course, please kindly let me know and drop the course ASAP so someone from the waiting list can get in. Thank you!


How is work evaluated?

For the first half of the course ...

Each week, you will 1) learn and practice skills by completing an exercise, 2) complete readings and gifting prompts and participate in class discussion.

Each weekly exercise will explore a specific medium or tool (such as HTML, CSS, Are.na, or Google Calendar) based on a simple prompt. Consider these exercises as practice, allowing your technologically creative muscles to build, becoming strong over time.

Weekly exercises are graded on:

( 1 ) Effort.

( 2 ) On-time completion.

For the second half of the course ...

You will have a month to develop your own personal "web notebook" with a CMS. By working on a larger project, you can meaningfully apply your learned skills in the first half. You will learn more about the final project after spring break.

This final project will be graded on its quality and becoming. Please consider three aspects:

( 1 ) Process. Each week, you come to class with some progress to show, even if it's not perfect. The creative process is not a linear journey, but often a more cyclical or spiral one. However, you can make forward steps by taking risks and trying things out.

( 2 ) Original approach. Your project should take a stance. It should be memorable. Both these should stem from your own unique process.

( 3 ) Functionality, craft, and presentation. Your project should achieve its goals and not break. Your attention to detail in design and code should work to support your overall concepts.


Misc. Things

Attendance

Attendance is essential. Three or more absences will result in a failing grade. Three or more late arrivals (more than 10 minutes late) equals an absence. If you absolutely must miss class, email me in advance.

Academic Integrity

Students will become familiar with using pre-existing language, images, and software as raw material while creating entirely new works. While making websites, we will learn which technologies could be appropriated and how to properly credit their inclusion.

From Academic Integrity at MIT: "Writing Code":

“Writing code is similar to academic writing in that when you use or adapt code developed by someone else as part of your project, you must cite your source. However, instead of quoting or paraphrasing a source, you include an inline comment in the code. These comments not only ensure you are giving proper credit, but help with code understanding and debugging.”

“You should not simply re-use code as the solution to an assignment. Like academic writing, your code can incorporate the ideas of others but should reflect your original approach to the problem.”

Also, we will talk as a class about usage of artificial intelligence and ChatGPT. Let's read The New Turing Test together and discuss. As Elan Ullendorff says, "What matters is that the work is expressive, and contains evidence of the human that created it." That said, all projects in this course should: 1) Feel like it came from someone, 2) Feel like it was meant for someone, 3) Feel like it belongs in a particular context.


Troubleshooting

As Marie Otsuka says:

Try to be patient when writing code. So much of programming is debugging; typos are one of the most common errors! If you find yourself stuck, try breaking your issue down into smaller, more manageable parts. Patience and persistence are often rewarded in coding.

Once you’ve identified those parts, try a search on Google or Stack Overflow for how to solve them, one at a time. These days, ChatGPT might be helpful. That said, be aware that there are many solutions that may not work or are outdated (and ChatGPT will recite a wrong answer with confidence.) While frustrating, these bugs may lead you to discover something new you would not have considered before. If you cannot solve a problem a way you anticipate, try “hacking” it—tackling the issue with the means you currently have.

Use discretion and credit when appropriate when reusing code found from the internet. Information on practical implementation that is available anywhere need not be credited, but exercise caution a specific mechanism or designed funtionality. Is it available for your use? Does it support your design concept?

Additionally, please use the resources listed on this website to guide you.

If you use ChatGPT, Claude, or another artificial intelligence for coding help, please do so maturely. Using AI as an assistant to help debug something specific is better than having it write a whole program from scratch. Remember, the most important part of art-making and gift-making is *intentionality*, which is something you should remain the ultimate author of. However, AI can be an incredible assistant if used appropriately.


What do I need to get started?

Tools:

- your laptop
- a modern browser (Chrome, Firefox, Arc, Safari)
- a text editor (VS Code, Sublime Text, Brackets)

Setup:

- Bookmark this very website, which is the main class "hub" — all updates and resources will be here
- Create an account on Are.na (if you don't have one yet)

Resources

technology

Basics of HTML (video tutorial by Laurel)

Basics of CSS (video tutorial by Laurel)

Are.na Introduction (guide by Laurel)

How to Gift an Are.na Channel (instructions by Laurel)

How to Gift a Google Calendar (instructions by Laurel)

Publish website using Github Pages (video)

Git and GitHub (video)
Readings

The Serviceberry
by Robin Wall Kimmerer (2022)

Weaving the Web
by Tim Berners Lee (1999)

Gifting Guides
by Laurel Schwulst & Are.na (2024)

Domain Naming
by Chia Amisola (2024)

The New Turing Test
by Elan Ullendorff (2023)

Are.na Gift Shop Conversations
by Laurel Schwulst and Others (2022–)

Once It's Typed, It's Published
by Christopher Jones (1978)

My website is a shifting house next to a river of knowledge. What could yours be?
by Laurel Schwulst (2018)

Using Simple Tools as a Radical Act of Independence
by Jarrett Fuller (2024)