Matt Lane · Notes← All notes
2025-01-28 · Products & systems

Designing From 0, 1, n

1. Draw a ***boundary*** between the part of the world you plan to change and the part you will not change to isolate the forces acting within the "designable" focus area.
2. Identify the ***forces*** that influence what you intend to design.
3. Represent and resolve related *forces* in visualizations (e.g., sketches, state diagrams, etc.).
4. Place the new design (*form*) into its living ***context*** and look for ***misfits ***(design problems) in the ***ensemble*** to improve ***fitness***.
_______

**Forms**: The **objects** of design.

**Context**: The **system** of forces (**facts** about the world that influence the form).

**Fitness**: The relationship between the *form* and the living *context* of the real world.

Requirements must not be attributes of the thing (*form*) being created; instead, they should describe facts about the world—things we cannot change. These requirements are generally technology-agnostic. This approach centers on designing with *forces* or *patterns* (i.e., recurring sets of *forces*).

Starting with these *forces* is a bottom-up design approach, i.e., focusing on the epicenter. These are the parts we compose from the inside out, the factors we must address to provide the capabilities to people in a specific situation with the best fit. To work this way, it is usually easiest to build with smaller chunks first and then aggregate them into larger wholes.

Some helpful tools:

**The object of design is to work within, identify, and create constraints.**

2. Conceptual Design Background:

Discussion

**Why Function ≠ Ensemble**

1. **Function is Local; Ensemble is Global**

- A function is **specific to a form**—it describes what the form does and how it behaves.
- The ensemble is **the broader system**—it includes the form, the forces acting upon it, and the relationships between all elements.
2. **Function is About Role; Ensemble is About Composition**

- Function describes **how a form serves a purpose** within a system.
- The ensemble describes **how multiple forms and forces interrelate** as a whole.
3. **Fitness Comes from the Interaction Between Function and Ensemble**

- If a function does not fit well within the ensemble, misfits arise.
- Adjusting function (or form) improves fitness in relation to the ensemble.
You can get some guide to what the function of something is by looking at “charecteristic use”.

**Example: The Shared Family Calendar App**

**Draw a Boundary**

1. **Designable Focus Area**

- You’re tasked with improving how a family (household members) manages and shares events, tasks, and schedules digitally.
- It might be a mobile app or web app—some digital “calendar” system that’s accessible to all family members.
2. **Out of Scope**

- You cannot change people’s workplaces or school systems (i.e., you can’t force a school to adopt your calendar).
- You also can’t alter major cloud platforms (e.g., Google/Apple) if you’re merely integrating with them.
- You can’t change broad cultural aspects of how families communicate in general.
By **drawing this boundary**, you isolate the realm you can truly influence—the family’s shared tool—and acknowledge broader forces you cannot directly change.

**Identify the Forces**

Think of **context** as the dynamic web of facts and conditions around family life:

1. **Social & Emotional Forces**

- **Parent–Child Dynamics**: Parents need oversight of kids’ schedules but also want kids to learn responsibility.
- **Family Bonding**: Some families see scheduling as a reflection of quality time or personal values (e.g., scheduling “family dinner”, and balancing chores).
2. **Functional Forces**

- **Reminder & Notification Overload**: People want timely notifications but hate being spammed.
- **Offline vs. Online Needs**: Some family members (e.g., grandparents) may prefer minimal tech or might not have smartphones.
3. **Practical Constraints**

- **Varied Tech Savviness**: One sibling might be a tech wizard, and another only checks email occasionally.
- **Different Device Ecosystems**: Some on iOS, some on Android, others on a shared home computer.
- **Time Zones**: If any family members travel often or live in different locations, time zone differences can confuse scheduling.
**Requirements** here are not “the app must have a purple UI;” they’re **facts about the world**—such as “Grandma uses a feature phone” or “Kids forget to check their notifications.” You can’t change these truths; you have to accommodate them.

**Represent & Visualize the Forces**

You might sketch a quick diagram:

- **X-axis**: Level of Technological Comfort (low → high)
- **Y-axis**: Need for Coordination (few shared events → many shared events)
Mark different family members on this chart. This helps you see potential friction points—e.g., the ones with **low tech comfort** but **high coordination needs** will be a challenge.

Alternatively, you could outline a **state diagram** of how events get created, shared, and updated, and highlight where conflicts or errors occur.

**Put the Current Form (Point A) Into Context & Identify Misfits**

**Current Approach** might be:

- A “patchwork” of solutions:

- Mom uses Google Calendar, Dad uses Apple Calendar, kids rely on text messages, and Grandma calls on the phone.
**Common Misfits** You Might Observe:

1. **Schedule Overlaps**: No single shared view leads to double bookings (Dad books a weekend trip while Mom schedules a family reunion).
2. **Outdated Information**: Some events get updated in one tool but never cascade to others.
3. **Uneven Engagement**: Teenagers ignore texts; grandparents never see app notifications.
4. **Frustration & Blame**: Family members blame each other for “not paying attention” or “not sending the invite.”
These **misfits**—where friction is highest—point to areas needing the most urgent design attention.

**Uncover Needs & Insights (Latent Forces)**

By interviewing family members, you discover deeper motivations:

- **Latent Need 1**: “I want to keep track of everyone’s activities without feeling like a nag.”

- **Insight**: Constant reminders or check-ins can feel controlling; a gentle, automated way to update schedules could reduce tension.
- **Latent Need 2**: “I want our calendar to reflect fun or personal moments, not just chores and appointments.”

- **Insight**: A purely functional calendar might miss the emotional aspect of family life—like highlighting birthdays, shared photos, or small wins (e.g., a child’s school achievement).
- **Latent Need 3**: “I’m worried I’ll miss something important if I don’t see the notification right away.”

- **Insight**: People may need a fallback or summary view (e.g., a daily text summary or a quick phone call to older relatives).
These **latent needs** go beyond the obvious “We just need one shared Google Calendar.” They reveal emotional, social, and practical forces a solution must address.

**Generate Forms (Explore Radically Different Ideas)**

Explore multiple solutions that might meet these forces:

1. **Unified Family Hub**

- A web and mobile app that automatically syncs with Google, Apple, and Outlook calendars in real time.
- Each family member sees a single aggregated “family feed” of events.
- Allows quick color coding: Red for urgent tasks, Green for fun events, etc.
2. **Low-Tech Notification Bridge**

- In addition to a central app, an automated SMS or phone-call system for members without smartphones (“Grandma Hotline”).
- A daily or weekly “digest” call that reads out the upcoming events.
3. **Gamified Calendar**

- Points or stickers for chores or tasks completed, so kids engage.
- Family can unlock “rewards” (movie night, pizza coupons) when everyone stays on track for a week.
4. **Storyboard Calendar**

- A digital corkboard + calendar hybrid: You can attach images, notes, or voice clips for events.
- A timeline that feels more like a social feed, capturing special moments as well as appointments.
Each idea addresses different **misfits**—some focus on bridging tech-savvy gaps, others emphasize emotional warmth and fun, and others tackle real-time synchronization.

**Stage the Ensemble: Prototype & Test**

**Prototyping** means you build light, testable versions to see how they fit into real family routines:

1. **Paper or Clickable Mockups**

- Create a simple interactive prototype (using tools like Figma or pen-and-paper storyboards) that demonstrates how events are posted, updated, and viewed.
2. **Role-Play with Family Scenarios**

- Write short scripts—Mom needs to schedule a doctor’s appointment, Dad sets a meeting at the same time, the child sees a clash, etc.
- Let participants “act it out” using the mockup, noticing where confusion arises.
3. **Early Beta Testing**

- Implement minimal functionality: A basic web app to share events with an SMS reminder option for offline members.
- Have a real family try it out for a week and gather feedback on friction points.
**Misfits** discovered in testing might include:

- Overwhelming color-coding: “I’m color-blind; all these categories look the same.”
- Confusing reminders: “I got 5 notifications for the same event.”
- Privacy concerns: “I don’t want extended family to see my medical appointments.”
These issues are exactly what you want to reveal in **staging the ensemble** (the interplay of your prototype with the real context).

**Refine Misfits & Iterate**

Address the most critical or “obtrusive” misfits:

- **Too Many Notifications** → Add a weekly digest or flexible notification settings.
- **Privacy** → Allow event-level privacy controls or “public” vs “private” designations.
- **Visual Accessibility** → Offer high-contrast themes and bigger fonts.
You continuously adjust **form** (the app) to align it better with **context** (the diverse family needs). Each iteration moves you closer to a solution that “just works” in daily life.

**Achieve a Good Fit**

Ultimately, after iterative testing and refinement, you converge on a **Shared Family Calendar App** that:

1. **Syncs Seamlessly** with each family member’s existing system (Google, Apple, etc.).
2. **Offers SMS Summaries** or simple phone-call reminders for those less comfortable with smartphone apps.
3. **Balances Fun & Utility** by allowing short notes, photos, or emojis so the calendar reflects family life beyond deadlines.
4. **Respects Privacy** with straightforward event-sharing controls.
Because you **staged and tested** your prototypes in realistic family scenarios, you systematically rooted out misfits. The final ensemble—**form** plus **context**—feels natural and frictionless, creating a genuine sense of **good fit**.

Key Takeaways

1. **Context First**: Real design requirements come from unchangeable facts about the family (ages, tech comfort, daily routines).
2. **Misfits as Guides**: Let friction points (duplicated appointments, privacy concerns) guide you to where the solution should evolve.
3. **Multiple Form Explorations**: Don’t settle on “just an app”; test radically different angles (gamification, bridging offline/online, adding emotional warmth).
4. **Staging the Ensemble**: Actively prototype and observe how the “family plus calendar app” interacts in the real world.
5. **Iterate for Best Fit**: Each cycle of testing and refining edges you closer to a solution that fits seamlessly into users’ lives.
This **Shared Family Calendar App** example demonstrates how to **design from the inside out**—starting with the unchangeable forces (context) and systematically creating forms that eliminate misfits and deliver real value to everyday users.

**Designing From 0, 1, n**

**Key Idea:** Draw a boundary around the part of the world you *will* change (form) and the part you *won’t* (context). Identify forces in the context, place the new form into that environment, and refine any “misfits.”

- **Decomposition:**

- Separates **form** (the designed solution) from **context** (constraints, user environment, social/emotional factors).
- Identifies sub-forces or specific constraints (e.g., cost limits, user emotional states).
- **Abstraction:**

- Treats the environment as a **force field**—intangible but impactful constraints that guide the form.
- “Requirements” become facts about the world that you can’t change; you design the form around these forces.
- **Pattern Recognition:**

- You repeatedly test form against context, noticing **misfits** or friction that emerges in the ensemble.
- Over multiple designs, certain recurring friction points become predictable or repeated.
- **Algorithm/Procedure:**

- Follows a **refinement loop**: place the form into the context → observe friction → adjust form → retest.
- Continues until you reach a “good fit” or run out of major misfits to address.