2.0 Projects - Berkeley-MDes/24f-desinv-202 GitHub Wiki
Project 1: Computational Design
Project Summary
The emerging era of design has no agreed-on name, yet.
- Richard Buchanan has proposed “Fourth-order Design.”
- Terry Irwin has proposed “Transition Design.”
- Jodi Forlizzi had described designing for “Product-Service Ecologies.”
- John Maeda has proposed “Computational Design.”
- John Cain has proposed “Data-enabled Design.”
While the emerging era of design does not have a clear name, it has clear features and is enabled through sprawling tooling.
Powerful new tools have changed the way designers practice. Sensing, machine learning, systems modeling, etc.
In this first project we will work with a system that integrates a specific user activity, human factors, form generation, solution evaluation in terms of human factors, solution evaluation in terms of fabrication, and fabrication.
Project Initiatives:
- Cultivate a mindset for thinking in systems > identify and describe the interconnected components of a system in a system diagram
- Achieve basic understanding of observing the world and modeling it through data > collecting and using human factors data
- Achieve a basic understanding of using observations to inform design decisions and relationships > demonstrate how human factors data can be used to evaluate an intervention
- Achieve a basic understanding of using manufacturing constraints to evaluate a design > 3D Print Volume and Laser cutting time.
- Achieve a basic understanding of fabrication > 3D Printing and Laser Cutting
Specifically, we will be using Rhino and Grasshopper as we feel it best supports thinking and exploration in Computational Design Systems. We will provide a variety of challenges that will enable students from a diverse collection of backgrounds and skill sets to develop competency in Technology Design Skills along a Computational Design stack.
For students unfamiliar with CAD we will support learning the basics of model space navigation, geometry creation, and content management. We will be providing a worked example that covers a wide range of possibilities beyond traditional CAD for students to take apart and reassemble. We will support and encourage the use of Grasshopper, plugins, component development, database integration,
You might like looking into how Rhino integrates with data processes for evaluating designs, paths for ML, and training AI via Grasshopper and various plugins [some of which you may need to, get to, author on your own.] Or perhaps how design tools can incorporate feedback about fabrication processes and limitations into design tools. If you knew you were using a shopbot to make something, what guidance could an AI assistant [or even a simple rule-based system] provide to the one making design decisions? While exploring the full capabilities of Rhino+Grasshopper+Cloud Compute+ML+AI are beyond the scope of the course, illuminating what is possible and providing an opportunity for each student to challenge themselves with specific skill development is what we can achieve.
Project Deliverables
- Project Deliverables outlined in this document
Project 2: Build a Digital EcoSystem
This is a group project, but your final project report will be individually submitted.
Project Summary
The contemporary design of products and services includes enabling many user touchpoints as well as providing paths for product and service providers to understand how their products and services are being used so they can improve them over time. In addition, many products and services can communicate with other products and services creating an even larger service. It is important as a creative technologist working on a team to be able to conceive of what is possible in these connected ecosystems to enable new capabilities for users, and to develop the language and skills to communicate with researchers, designers, and engineers in prototyping products and services. In this project you will develop skill in working with the materials common in the digital ecosystem stack. This includes things like microcontrollers managing local input and output for a user, as well as how these devices work together to create an experience using apps, the cloud, analytics, and integrations with other service providers. We will begin with exercises on using microcontrollers, and broaden the set of skills and tools to include communicating with the cloud and across devices.
You will work in a group with a spectrum of technological endpoints available to define a virtualized "body" of activity. This body extends from our own human body, moving through networks, reaching computational clouds of intelligence, acquiring responses, and providing feedback to us. In the development cycle of such an ecosystem, it's critical to validate designs against a known graph of goals. Your team will define these goals through sketching, storytelling, flowcharts, and visualizations. Each of the members of your team will have different strengths and expertise to bring to the table.
The attributes we expect you to engage in with this project:
- Produce a working demonstration of a Digital Ecosystem, either in parts or as a whole.
- Identify and execute a series of experiments that enable you to test the feasibility of your approach given your individual skill set and learning objectives.
- Describe learnings from experiments and how you used that learning in subsequent iterations.
- Collaborate as a team in ideation, experiment description and execution, and demonstration development.
- Use a virtual workspace to capture and track teamwork (Figma preferred)
The Digital Ecosystem Stack
The stack itself can broken down into the following components:
- mental model of the project (our thinking about the processes)
- human sensing (our tactile experience with the processes)
- physical interaction via a human-computer interface (what we do in order to engage)
- electro-mechanical interaction (what machines do as a result of input & output)
- virtualized, local computation (code running on a µcontroller (aka microcontroller))
- telemetry (systems embedded in networks)
- cloud services (computation, a data lake, data analytics)
This stack offers your designs many directions and options. Your group will evaluate and redefine some basic starter projects in order to begin to understand the relationship amongst elements in the stack. You will then be offered design challenges associated with the expansion of these projects.
Each of these areas of the stack are an opportunity to consider bi-directional communication, and henceforth this stack can be thought of as a continuum. Each student will be given a technology kit for the further development of your work in this course. We will introduce this kit's core elements, each offering a rich spectrum of design opportunities:
- Particle.io Photon 2 µcontroller
- Hardware components for sensing
- Hardware components for output, actuation, and relay of status
- Web APIs offering insights about activities in the world, and or specific engagements
- Code to tie these elements together
For students unfamiliar with physical computing, sensing, cloud interaction, coding, etc., we will support learning the basics of physical computing, sensor types, code running locally and in the cloud, an introduction to web display and interactivity, and leave the rest to your group to self-organize and educate. We will provide a host of worked examples that are able to be picked apart and reassembled as you learn how to integrate the various fields of study presented. We will support and encourage the use of p5js, JavaScript, Arduino-like code running on the Photon2 ("Device OS"), various sensing and actuation elements in the kit provided, utilization of Databases in the cloud, 3rd party libraries that can be integrated into your designs, and specific techniques associated with emergent technologies.
The main nodes or “entry points” of this continuum can be thought of as
- the human experience
- the microcontroller and associated code for processing input (via pins) and/or generating output (via pins)
- code running in a browser
- circuits you design.
We will be using the Particle.io Photon 2, as we feel it best supports thinking and exploration in prototyping with digital ecosystems and emerging technologies. We will provide a variety of challenges that will enable students from a diverse collection of backgrounds and skill sets to develop competency in Technology Design Skills along an Ecosystem Design stack. Our goal is to expose you to a world of possibilities in the design of interactions of situations and solutions. Negotiating your chosen design amongst your group is a key element. Consider how rapid prototyping of simple interactions can be used to your advantage within the timeframe of the project, and how a fleet of interconnected microcontrollers might assist the demonstration of your project idea.
Project Initiatives
- Explore best practices for designing a distributed, digital ecosystem using emergent technologies and physical computing elements.
- Develop and document an effective prototyping methodology, using iterative experiments to refine hardware integration and system interactions.
- Continuously adapt and refine the system architecture and component integration based on experimental findings, aligning with a flexible, evolving project scope.
- Document and evaluate the physical and virtual prototypes, focusing on identifying practical approaches to hardware-software interfacing.
- Engage in a design feedback loop that integrates findings from systematic experimentation, refining both the solution and prototyping practices as the project progresses.
Formatted/portable overview can be found here
Project Deliverables
- Project Deliverables outlined in this document
Project 3: Understanding Use Cases, Value, and Design with LLMs
This is an individual project.
Project Summary
The power of AI is giving rise to a new way of thinking about and engaging the world, particularly as exposed through the development and application of Generative Large Language Models. Contemporary designers need to engage with these new capabilities as authors, designers, and critics. In this project, you will continue learning how to learn emerging technologies, gain familiarity with the elements of using a LLM in a design solution, and understand use cases, value, and design with them.
There are many LLMs available to use, and what may be more mysterious than how to build one is how to effectively use them. In this project, we will address the impact of LLM building in its application design, but we will not train one. We will engage the bigger problem of understanding use cases, value, and designing with them.
We will provide 2 working examples for demonstration. One using the course wiki and syllabus as a demonstration UI on the web, and another as an AI Augmented piece of hardware based on Particle devices and cloud connectivity.
Project Overview: Mini Me
For this 3-session project you will build and manage knowledge context from your course journal and other resources to build a knowledge interface that gets you something more specific to you than would be available through an LLM interface like ChatGPT4. Thus, this is an individual project. After this experience, you should be comfortable with designing an LLM interaction of your choosing, and know what to look for in using any LLM toolset.
The product of this project will resemble an interactive portfolio of your DESINV 202 projects that simulates talking to you, exposing your knowledge as generated and captured in this course, and your personality as exposed through those same documents. It will not include images at this time.
You will gain experience through building knowledge sets, which involves knowledge management choices and trial and error. You are going to choose what information to include, and how to include it. What makes sense as a piece of information? An entry from your journal, a paragraph, a sentence? What works best to capture your language style and flow?
You will evaluate the success of your efforts through a set of standardized questions like:
- "Which project in my portfolio best demonstrates technology design skills?"
- "Can you mention a challenge faced in one of the projects and how it was overcome?"
- "Looking back, what would you have done differently in the Digital Ecosystem project?"
- “Based on your work, what are your speculations about the future of Computational Design and Digital Ecosystems?
You will give these questions to 5 experimental setups you execute using a specific prototyping tool. Are you able to generate an approximate digital twin of yourself in this course? What changes to your design based on these results get you ‘better’ results?
The end product of your efforts will be a video and demonstration interface you will share with the class.
For this project, we will use the ZeroWidth workbench to bridge user endpoints and an LLM. In particular, we will be using a Retrieval Augmented Generation framework for knowledge management. Our focus will emphasize practice and application over theory.
A basic workflow for the ZeroWidth workbench is a process of building and managing knowledge context for the interaction through a set of instructions injected into the session with an LLM, and testing the results in an online interface or via an API. You will have access to the workbench, a tutorial on how to use it, and supplementary documentation in video tutorials and slides.
Formatted/portable overview can be found here
Project Deliverables
- Project Deliverables outlined in this document
Project 4: Mix, Master, Extend, and Evolve
Project Summary
The ways in which we conceive of and build the world we live in is constant flux.
The contemporary design of products and services enables many types of user touch points, and provides paths for product (and product service) providers to understand how their products are being used. This allows stakeholders to improve assets and services over time. Many products and services from disparate companiescan communicate with each other, creating a larger ecosystem. It is important as a designer working on a team to consider what is possible in these connected ecosystems to enable new capabilities for users, and to develop the language and skills to communicate with researchers, engineers, and other creative technologists in prototyping products and services. Designers have more transparency than ever into how products and services are being used. We can model human behavior, contextual concerns, and fabrication constraints to more rapidly iterate through design solution spaces and evaluations. We are able to use this understanding to build new products and services.
Current implementations of AI are giving rise to a new way of thinking about and engaging with the world, particularly as exposed through the development and application of generative Large Language Models. We need to engage with these new capabilities as creative technologists, authors, and critics.
This semester, you have been introduced to a wide range of technologies and approaches fundamental to designing tomorrow’s thoughtful technologies today. We have evaluated skills across many frameworks, and encouraged you to continue to question your own understanding of how things work as you re-evaluate and expand your knowledge in an iterative practice. Mastery of a wide range of technical skills will take time and effort on your behalf. A lifetime of exploration awaits... and yet,as soon as you’ve begun to dial in skills with a particular framework, set of tools, or methodology, new ones will appear. Emergent technology will continue to demand a new understanding of upcoming challenges and integrations throughout your career. The most valuable skill we can hope to cultivate is learning how to learn, and fostering confidence in the face of ambiguity and technological turnover.
For your final project of this semester we ask you to revisit the technical skills and reflective practices you have cultivated to apply them in a fresh context. We ask you to Mix, Master, Extend, and Evolve. We have evaluated Computational Design practices, Digital Ecosystems, the fine-tuning of Large Language Models, and Collaborative Design Platforms.
This could mean
- Combining new skills and technical knowledge across prior projects in a new one.
- Taking a newly cultivated skill to the next level through moving a project to a new level of completion.
- Filling in gaps regarding a newly cultivated skill.
- Revisiting an existing project by taking a different approach.
You will execute a series of experiments to test the feasibility of the technologies you are building in your design to identify the advantages and disadvantages of these technologies for your domain. You will continue to immerse yourself in the technology; understand its workings, and identify potential applications.
- You will need to define the project goals including the scenario, a series of experiments you will execute to explore the technologies, and how you will evaluate the results of those experiments.
- You will also identify your challenge level (Triceratops, Platypus, or Axolotl).
- Your evaluation will be based on skill advancement as expressed in the rigor of your exploration and ability to critically assess the technologies you are using in your project.
Project 4 Description
You have been hired by a company who makes the technologies we have explored in our course. This company would like for you to identify compelling use cases of their technology in a domain of your choosing. Their interests in your skill sets arise out of a need to showcase these client technologies in a trade show titled the “Design Showcase”. They anticipate clearly presented information surrounding feasibility metrics, timelines, delegation of responsibilities, and clear diagrams of the processes at play that you might execute in a prototype. They expect that you will deliver a proposal meeting the demands of these requirements, followed by specific experiments in a lead up to the trade show. Their showcase of your solutions and findings will occur on December 12th, 2024.
The company in question expects to see a clear intersection of specific technologies explored against artifacts that emerge out of your system. They expect you to engage with their platform, the Particle Photon2 as a foundational element. The Photon2 will communicate with the cloud in a method of your choosing, and incorporate both sensing and actuation/output. They anticipate a clear timeline of milestones communicated in a project proposal, alongside goals of the project and associated experiments that will yield the results you claim are possible. Finally, they expect that you will showcase a functional prototype in person that will meet the demands outlined in your proposal.
Project Deliverables
- Project Deliverables outlined in this document