ID 20ST-09 Special Topic Design Studio, Fall 2024
RISD BFA Industrial Design
Introduction
Software is now integrated into every aspect of our lives. The design of the digital products we use every day is more important than ever.
But phone and computer interfaces are now mature and optimized. Patterns are commoditized, processes are industrialized. Soon, generative AI and non-designers will be able to create live code for clean, standard interfaces — without needing professional designers to mock it up.
The industry does not need more product designers to reinvent the wheel. The job market reflects this.
At the same time, the arrival of generative AI models creates a new frontier for computing and opens up endless new creative possibilities. The way computers work is fundamentally changing — they can talk back to us now, and create artifacts of their own. Designers are sorely needed to shape this new material. Likewise, the processes and responsibilities of the designer will evolve beyond the old ways of static mocks and design systems.
Designers must adapt and shape the frontier of AI-driven computing — while navigating the opportunities, risks, and ethical responsibilities of working with this new technology.
In this new world, creation is cheap, craft is automatable, and everyone is a beginner. The ultimate differentiator will be the creator’s perspective, taste, and judgment. The software design education for our current moment must prioritize this above all else.
By course's end, students will have hands-on experience with an end-to-end digital product design process, culminating in a physical or digital product that takes advantage of the unique properties of generative AI models. Prior coding experience is not required, but students will learn using AI coding assistants like ChatGPT and Claude. The instructor's professional practice in digital product design, code-based prototyping, and experimental AI interfaces will guide the course.
Learning objectives
Understand the unique material properties of software & generative AI models
Get hands-on experience with an end-to-end software design process involving ideation, prototyping, user testing, iteration, and deployment
Learn how to code prototypes with LLM assistance
Understand the range of perspectives on the future amongst industry practitioners working with AI
Give students the information and experience they need to decide for themselves how they wish to engage with AI in their practice
Teaching philosophy
To thrive in this new world, designers must be experimental, adaptable, and ambitious.
This class strives to embody these values as well. This is a highly experimental new curriculum in a rapidly-changing field. Whereas typical class curricula lag 4-8 years behind industry, in this class we will play with new tools and models as they are released, and hear from guests who worked on those new releases. Guest Q&As will show the wide range of perspectives on the future amongst industry practitioners working with AI.
This is a studio class where students will learn by making. In-class time will prioritize crit, higher-level lectures, and guest Q&As. Though students are expected to use tools like Figma and HTML/CSS/Javascript to complete their assignments, there are currently no plans to use lecture time to teach the minutiae of how to use these tools. There are already many resources elsewhere, e.g. via YouTube. Students are expected to consult these outside resources in order to complete their assignments. General in-class guidance related to these tools will focus on brief introductory demos, alongside broader techniques for problem-solving, prototyping, user testing, iterating, and debugging. Of course, students will get relevant, personalized guidance on tools and debugging during in-class work time.
This syllabus reflects a set of intentions, but it will not reflect the class that unfolds. Material will be adjusted for students’ skill level and interests. Students are encouraged to suggest topics and guests over the course of the semester. Did you see a cool new product? We can probably bring in a guest who worked on it.
Class materials will be open-sourced and recorded whenever possible, for the benefit of self-directed learners beyond this classroom. More information to come.
Class schedule
Unit 1: Introduction
Week 1: Software as material, generative models as material
Sep 9, 2024
Unit 2: Software design fundamentals
Week 2: Human behavior
Sep 16, 2024
Week 3: Tool demos
Sep 23, 2024
Week 4: What makes an interface feel good?
Sep 30, 2024
Week 5: How to present your work
Oct 7, 2024
Week 6: No class (school holiday)
Oct 14, 2024
No class, but office hours by appointment during Monday 8am-1pm if you want feedback.
Continue working on
Bring people together - Week 5 of 5: Prepare presentation
Week 7: Midterm presentation
Oct 21, 2024
Between class 7 & class 8: midterm project grades & what grade are you on track for in the overall class
Unit 3: Designing with generative AI models
Week 8: Introduction to generative AI models // Poetry Camera workshop
Oct 28, 2024
Oct 30 — final day to withdraw from the class
Week 9: The power of framing
Nov 4, 2024
Week 10: Designing the container for dynamic content
Nov 11, 2024
Week 11: Research frontiers
Nov 18, 2024
Week 12: Working session
Nov 25, 2024
Week 13: Final review
Dec 2, 2024
Note: As this is a 3-credit course, our final reviews are during our final studio class on Dec 2. For 6-credit courses, your final reviews are during crit week (Thu Dec 5 - Wed Dec 11). Do not leave for the holidays before your 6-credit course’s final review!
Grading
Conduct, attitude, professionalism, adaptability, rate of learning: 20%
Grading for projects in this class start from a baseline of C, which is the sufficient basic execution of all the assignment requirements. In the clock project for example, a project with 100 sketches of any quality, a Figma mockup and filled-out Figma template, and some version of a clock taken from Claude and copy-pasted into a Replit project, would result in a C.
B-grade projects show that effort and care has been put in to create an interesting output, even though the final product may not be at the level of polish of an A-grade project. In the case of this project, a “B” project could look like strong conceptual thinking paired with execution that could be improved. Or it could reflect a visually-polished project with a standard concept.
A-grade projects have excellence in execution and visual polish, supported by solid conceptual thinking. A-grade projects would feel at home in a professional designer’s portfolio. An “A” means that if I saw the final product in a student portfolio, I would be intrigued or impressed. To meet this bar, this usually means it needs to:
at a split-second glance, make a good first impression and invite curiosity
upon further inspection, show attention to detail and polished execution
showcase deliberate, thoughtful design decisions that reflect user-oriented thinking and/or reflect the perspective of the designer
“A”s are rare.
+s and -s on the grade may be added based on effort and learning.
Not completing the assignment requirements results in an incomplete or D grade. Late assignment submissions that aren’t previously excused due to illness will be deducted with a 10% (single letter grade) penalty.
Giving “D”s for not completing assignment requirements is not meant to punish ambitious projects that just don’t get finished in time. Many students clearly go beyond their comfort zones and learn a lot about the process of building software on the way. However, it is a valuable skill to know how to manage your time and cut scope in order to take something across the finish line. Each assignment step is designed to help you learn something about the process of creating software. In the clock project for example, if you made a project that stayed within Claude and didn’t move code to Replit, it means that you lost the opportunity to edit code yourself to further control the output. If you made a good final clock website but didn’t put in much effort on the sketches, it means you lost the opportunity to push your creative brainstorming skills.
Attendance policy
Students are expected to attend every class, unless otherwise excused due to illness or conflict.
Missing the first class will result in automatic withdrawal.
If you need to miss due to illness/conflict, please email the TA & professor in advance. You can review lecture/guest recordings outside of class time and schedule office hours for extra crit.
Please do not come to class when you are sick, you’ll only get more people sick! If you have a sore throat/cough/fever/etc, stay at home! You can join the class via zoom and get a 1:1 crit via zoom.
Tardiness: Being more than 10 minutes late for 3 classes counts as an unexcused absence.
2 unexcused absences will result in automatic withdrawal/incomplete.
Software tools you are expected to use for assignments
Figma, Figjam, Figma Slides — Education plan available
Claude or ChatGPT — RISD will reimburse students’ Claude/ChatGPT subscriptions for the 3 months of this class. The first in-class activity and assignment uses Claude Artifacts, but you can switch to ChatGPT after the first assignment if you wish. As of August 2024, Claude 3.5 Sonnet is generally regarded as the best model for coding.
Cursor — AI code editor. Optional but recommended. Costs $. Recommend using an API key to start testing Cursor before paying for a subscription. You may use a $20/mo Cursor subscription for reimbursement, in lieu of a Claude/ChatGPT subscription.
Github — For saving different versions of code that you write on desktop apps like VSCode and Cursor. Free w/ education plan
Replit — a browser-based code editor that makes it easy to make quick prototypes and deploy websites. Free plan available
Model APIs: Replicate for open-source models, Anthropic, OpenAI — costs a few cents per request
If your final project is a physical device, expect to use a Wifi-enabled board like Raspberry Pi. You will have to cover the material costs of a physical project.
Recommended readings & resources
This is an incomplete list. More will be added over the course of the class.
These links are optional for students interested in diving deeper into the materials covered in class. Relevant details will be mentioned in class.
Software design
Kid Pix, the Early Years by Craig Hickman
An App Can Be a Home Cooked Meal by Robin Sloan
Adam Michela (a designer on the Airbnb design system in ~2016, kickstarting the movement towards design systems in industry) shares honest takes on the industrialization and commodification of software:
More on creating the Airbnb Design Language System (with pictures) by Karri Saarinen
“What is Code?” by Paul Ford — very long comprehensive overview of how software actually works under the hood.
How companies create addicting, habit-forming products using behavioral psychology:
Design of AI products
UX/UI/AI class by Derrick Schultz
Guest interview with Barron Webster
Other AI stuff
Holly Herndon interview on the Ezra Klein podcast
Holly Herndon New Yorker profile by Anna Wiener
Computer Power and Human Reason by Joseph Weizenbaum
About OpenAI’s o1 models
Technology & culture
American Plastic: A Cultural History by Jeffrey Meikle
“The Monastery and the Clock” from Technics and Civilization by Lewis Mumford
Figma resources
Prompting resources
AI policy
The point of this class is to use AI tools a lot, better understand their current capabilities, and get creative with how you use it. Use it as an assistant, teacher, brainstorming partner. You can use it — with thought and intention — as part of your assignment output.
You’ll quickly find the limits of current models. Low-effort AI output is, frankly, boring — its default behavior conforms to the norm. While your crit feedback & grades will not be affected by whether you used AI, it will be affected by how interesting or uninteresting your output is.
The assignments and activities are designed to force you to exercise your own critical thinking outside of current AI capabilities.
Always disclose what AI tools you used and how you used it. How did it help? What limitations did you encounter?
Code of conduct
In this class, please respect diversity of experience and perspective. We all have the opportunity to learn from each other.
Do not make personal attacks or demeaning comments about your fellow students or their work.
Respect how students choose to identify in pronouns and chosen name. See
Rhode Island School of Design CatalogChosen Name Policy
RISD is committed to providing equal opportunity for all students. If you need learning accommodations, please inform the professor in advance, and contact
Disability Support Services (DSS) - RISD Info
Report incidents of bias, discrimination, harassment, sex-based misconduct and Title IX violations to
RISD Student HubEquity & Compliance
Acknowledgments
Thanks to Barron Webster, Ryan Mather, Max Bittker, Andres Cwervo, Ben Spear, Jerry Hong, Jenna Meacham, Evangeline Stott, Kasey Klimes — and more names I’m sure I’m forgetting — for their feedback, advice, and help in planning this class.
Endless gratitude to guests who have taken time out of their day to share their knowledge with the next generation of designers: Greg Hochmuth, Oscar Dumlao, George Kedenburg III, Maddie Simens, James Buckhouse, Agatha Yu, Ryan Mather, Jason Yuan, Derrick Schultz, Willem van Lancker, and more to be announced.