Jeffrey Sun's CS476a Blog

CS476a - Assignment 1

Posted at — Sep 21, 2020

Reading Response - Chapter 1

In Chapter 1 Ge laid out his principles of artful design, and introduced a very useful language system to capture design as the intersection between the practical and artistic side of things.

What strikes me as interesting is how he talks about there’s not a fine line between engineering, design and art, that there’s in fact no need for distinction anymore if you are deeply proficient in all of them (p.45). As a programmer, I have always looked at the creation of programming languages as a pure engineering feat – a system that help coders get things done efficiently. However, now that I look at it, design is really ubiquitous even in this context, where the medium is no more than the symbols and structures that exist in plain texts on the screen. Great language has design indeed – carefully crafted syntax to help readability, handy language features to help write-ability. In this context, engineering is to appease the machine (to make things compile and run fast) while design is to appease the human (to make the coding experience easier and more delightful). I’m even beginning to ponder if the creation of great languages like Python is an art indeed!

The second thing I want to respond to is sublime design (def 1.2). Sublime is when we are impressed by the aesthetics of things we can’t fully comprehend, but if so, can sublime things be intentionally designed at all? Or are they only stumbled upon in creative searching, and then copied down by the designer to replay that very moment to the users expecting them to go through the same sublime experience felt by the designer? This also raises the question of to what extent is the human experience universal? If people have vastly different beliefs and values, how can we be sure the design is perceived in the same way? Is the concept of a universal human experience itself a belief? Or can we say it’s a simplifying assumption that makes our lives easier, so we can design without headaches from perpetually questioning if everything we see is what everyone else sees…

Finally I want to discuss the “constraints” part of the iceberg chart (p.43). Is the constraints in design comparable to the constraints in art? I think it’s yes on the material level – both design and art are carried out in a specific medium, which governs the precision of expression, and also the upper bound of the amount of things you can do with it. However, design poses another kind of constraint that art doesn’t have, that is to fulfill the practical purpose, the engineering specs, to provide the usage to the user. This reduces the creation space – you can’t make a chair that warps like Salvador Dali’s clocks in real life without receiving ergonomics complaints, however I think that also intrinsically adds more elements of logic and reason in design, which could form a aesthetics of its own kind that art alone cannot provide – that despite all these creativity, it remains perfectly functional, beautifully functional, so you can interact with it knowing that it faithfully follows the rules expected from you at the same time that it tries to be playful and surprise you. This coexistence of the artist articulating their preference and the engineer fulfilling its functionality fuses into a new kind of aesthetics on the psychological level, where we experience the satisfaction of no-surprise and that of surprise in simultaneity.

Design Etude

Object 1: Buddha Prayer Beads

Functionally it is a prayer bead made up of 14 beads to be worn on the wrist, and serves the purpose of blessing the wearer in the Buddhist tradition. The form follows the functional requirement but also adds a layer of meaning that I experience: the material is made of fragrant wood, and the surface is rather unpolished and has a modest look that slowly wears out in time by fading into a darker color. So it not only gives a comforting smell, but also responds to and reminds me of the passage of time, that although its color changes, its texture and smell remains and it still feels very durable. This calm and peacefulness conveyed by the aesthetics of the design is an end in itself. I might even say it aligns with my need of feeling blessed

Object 2: Jewelry Organizer

This cat-tree-shaped jewelry organizer has hooks (in the shape of cat ears and tails) that lets you hang jewelry on it. However the form is nothing like a normal organizer: it is irregular, and the function is really hidden in the shape of the cat. I like it because it’s very playful – I had a moment of revelation when I first realized how the cat body parts can also serve as functional hooks, serving a practical use. However, the designer’s intent here is clearly more than functional, because the curves do not align with the pragmatic need – they do not offer extra capability to hang stuff. But rather its an end-in-itself, entertaining the user with this surprise discovery of its function, as well as all the associations they might have of cats: for instance, the lively imagery that cats could be running around and toppling over the delicate jewelries.

Object 3: the new Apple Pencil

Functionally, this apple pencil is a stylus that lets you connect to an iPad via Bluetooth and write on the iPad screen. I find the design aesthetic because the line between pencil and stylus is blurred (even from the naming, thanks Apple). This new version of Apple Pencil utilizes wireless charging to eliminate hardware interface altogether, so it looks nothing like an electronic piece – no buttons to operate on, nor holes to plug it into. It serves the need of ease of use, which can categorized as either pragmatic and aesthetic. Moreover, the shape, weight and texture is designed to actually simulate that of a real pencil. I think what it seeks to convey to its users is that peace of mind – use it as you would a pencil, and it will “just work”. In fact, if it looks like a pencil, acts like a pencil, is it simply just a pencil? It evokes our emotions regarding digital stuff that we think is cool but oftentimes baffling, and analog, physical stuff that we innately know and trust, blending the excitement of magic and the comfort of simple, good-old stuff, and as a result we can’t help but feel a deeply humanistic touch in this piece of technology, and feel a joy not present in using regular styluses or pencils alone.

My First Chuck Program!

TriOsc t => JCRev r => dac;
SqrOsc t_hi => JCRev r_hi => dac;

.1 => r.mix;
.03 => r_hi.mix;

84.0 => float E2;
100.0 => float G2;
130.81 => float C3;
165.0 => float E3;
196.0 => float G3;
261.63 => float C4;

[E2, G2, C3] @=> float freqs[];
[E3, G3, C4] @=> float freqs_hi[];
[300, 300, 300, 100] @=> int times[];

0 => int cnt;

10 => int stage2_cnt;

24 => int stage3_cnt;

48 => int stage4_cnt;

1.0 => float factor;

0.1 => float T_HI;

while (true) {
    Math.random2f(0.3, 0.5)=>t.width;
    Math.random2f(0.3, 0.5)=>t_hi.width;

    Math.random2(0, 2) => int rnd;
    freqs[rnd] * factor => t.freq;
    freqs_hi[rnd] * factor => t_hi.freq;

    .25 => t.gain;

    if (cnt > stage4_cnt) {
        [200, 200, 200, 200] @=> times;
        if (cnt % 2 == 0) {
            T_HI => t_hi.gain;
            .0 => t.gain;
        } else {
            .0 => t_hi.gain;
            .25 => t.gain;
        }
    }
    else if (cnt > stage3_cnt) {
        [100, 100, 100, 100] @=> times;
        if (cnt % 2 == 0) {
            T_HI => t_hi.gain;
            .0 => t.gain;
        } else {
            .0 => t_hi.gain;
            .25 => t.gain;
        }
    }
    else if (cnt > stage2_cnt) {
        T_HI => t_hi.gain;
    } else {
        .0 => t_hi.gain;
    }
    times[cnt % 4]::ms => now;

    .0 => t.gain;
    .0 => t_hi.gain;
    (100 * factor)::ms => now;

    (cnt + 1) % 48 => cnt;
    if (cnt == 0) {
        Math.random2f(0.8, 1.2) => factor;
        Math.random2f(.05, 0.2) => r.mix;
        r.mix() * Math.random2f(0.3, 1.0) => r_hi.mix;
    }
}