(This post is a part of my new mantra moving to Cal Poly SLO: “move SLO and repair things,” which is in direct tension with the mantra from the tech industry “move fast and break things” as well as a play on the abbreviation of San Luis Obispo, where I will soon work. I want to cultivate a research culture and lifestyle focused on maintenance, careful deliberation, and care, as defined in the feminist sense of the word.)



Ever since ChatGPT, folks have frequently remarked something along the lines of, “LLMs are so fast, now we can easily scaffold prototypes! Finally, the bottleneck is gone!” Bottleneck? Was the problem with prototyping the fact it took too long? Some nerd (Microsoft guy maybe?) said the even-more-ridiculous “finally the bottleneck from typing is gone” as if the speed of typing is what was holding back new ideas and features and improvement and so on.

Warning:

This blog post is a response to a post on LinkedIn. The original may someday be lost in time! For now, the post is here, by Enrico Bertini.

Enrico writes,

“I am convinced we are in a new era for Visual Analytics (VA) (i.e., visual interactive data interfaces), but I am not sure we have yet realized it.

In VA, building and refining a prototype has always been a costly bottleneck. This is no longer true. A single skilled person can build a working prototype in a matter of hours. They can also thrash it and rebuild it within hours. Heck! They can even build three alternatives and show all of them in maybe 1-2 days. This is no small change. It’s massive.

How do we deal with that?

All of a sudden, an idea in my head can be transformed into a tangible prototype very quickly. This has enormous implications for applied research. If I work with a partner in a specific domain, I can quickly show something rather than talk. If I am good enough, I can even build something they can use pretty quickly.”

I don’t want to interpret Enrico’s words too harshly or in an ungenerous way (but I could, if this was all I saw!). I think Enrico has remarked in the past on many occasions that genAI is creating new challenges. And I want to unpack some assumptions I see here in this post, as well as assumptions (and dangerous ones!) that I’ve seen many other people express.

One of the main challenges, before I really jump in, is that building something quickly can be good if you know exactly what you are doing. And this is the danger! Students haven’t learned all kinds of things about software and how to think about users, human cognition and perception, and more. And non-technologists are often unopinionated about the detailed design and engineering intricacies that someone who is more-experienced in technology comes to consider.

But people tend to assume that the ideas they have in their head are really good, if they aren’t used to rigorously iterating on ideas.

Sometimes… slowing down is good for you, the builder! And sometimes going fast is awesome, but you must absolutely know what you’re doing. (And at that point, genAI is very-rarely much of a speed-boosting tool. GenAI users tend to spend far more time checking output and logic compared to when they write code themselves.)

So, consider this blog post a response to the least-generous interpretation that one might have of the world around us; peering at the worst-case scenario uses of genAI and not just the optimistic ones.



The prototype slop zone by Frank Elavsky. Diagram. There are two axes. X axis is how technically refined an artifact is, starting low and increasing. Y axis is how intellectually refined an idea is, starting low and increasing. In the upper left (high idea refinement, low artifact refinement), an annotation says, 💡 what users want gnAI for (for their brilliant ideas), an arrow points to an area labeled (zone of missing skills). The in the bottom right an annotation says what genAI enables 🫠. Low fidelity prototypes fill the left side near the bottom (low technical refinement and ideation), mid-fidelity in the middle of the diagram, and high fidelity fills the upper right (high ideation, high technical refinement). A tiny slice in the top right corner (maxed on both axes) says no longer a prototype.
If you believe that prototypes are merely an idea-first-made-real, rather than prototypes representing a means to refine the ideas they represent, this helpful diagram might help you realize a few things (namely that folks often assume what they lack are skills, when they often lack skills AND well-refined ideas).

Is iterative ideation itself a bottleneck?

In some contexts, slow prototyping is probably a “bottleneck,” sure. But prototyping is central to generating an understanding of the thing you’re making, questioning your assumptions, and trying to communicate the rawest components of your ideas. None of those inherently get better if you do them faster.

In terms of prototype “fidelity” (understood as “faithfulness”) I reckon we need to now consider: whose ideas is this prototype faithful to? Is this prototype faithful to the original human creator, or are there embedded biases in this prototype’s function and construction because it was made using agentic tools/modern models?

An “unfaithful” prototype now has a new meaning, because we can more easily create prototypes that appear to be high fidelity, but may not actually be faithful to the intricacies of any particular idea at all.

This line below, in particular, I think does have enormous implications for applied research, but I wouldn’t necessarily assume that the implications are all good:

All of a sudden, an idea in my head can be transformed into a tangible prototype very quickly. This has enormous implications for applied research.

I agree that a shift is taking place. But I don’t think we should just move forward as if the act of slowly prototyping itself was a problem to solve. I would argue that the act of prototyping (especially when done slowly) is still valuable as a necessary step we take as creators, attempting to make something new. (As a note, I get disappointed with the view that a “prototype” is the same as “a first attempt to create something” and not “an artifact I use to reflexively to discover+congeal my own ideas and communicate with.”)

Is faster communication… better?

I’ve written about prototypes before, and what I think much of our literature misses on the subject: that prototypes are actually a tool for communicating. (This blog post of mine on prototyping was my most-visited post, before my post on AI + Tools came out. Funnily enough, this post I’m writing right now seems to be marrying the two.)

The fact that we can build functional symbols communicating faster isn’t necessarily good, if we don’t have a firm grasp of the idea itself in our head in the first place. One of the best parts about prototyping, to me, are the slowest parts: you draw something out with a pencil and paper, you cut out pieces of cardboard, you use some lego bricks to scaffold something, you get up to a whiteboard with a few other people and start squeaking your pens across the blank canvas together… and you talk about that stuff with each other.

“Prototyping” is not a linear pipeline that goes from an idea in your head into a material artifact that represents that idea.

Prototyping is a method of symbol-making. And we use those symbols to communicate ideas.

And this is why I am actually worried about prototyping that moves too fast. And in fact fast-prototyping-as-a-problem isn’t new! Researchers who studied “fidelity” in prototyping have long discussed how moving too quickly to higher fidelity prototyping can bias your future ideas, bias your outcomes, and ultimately produce more costs, not less, down the road (see this seminal summary of the great older battles on fidelity by Rudd, Stern, and Isensee).

Are genAI prototypes anti-social?

So back to Enrico’s argument here… I’m not sold that faster = better and certainly not sold that faster = better = cheaper (specifically responding to the sentiment in his post that it has “always been a costly bottleneck”). I think that existing literature would argue quite the opposite. Faster = 1) more assumptions are missed in the core ideas, 2) ideas that appear already-refined become immune to questioning, and 3) faster, more-refined prototypes are ultimately less social.

Yes! You heard me: Faster prototypes mean anti-social prototypes. This final point (which I am making, not necessarily something I’ve read in the literature on this) is actually the most important one to make (which I’ve already brought up earlier): but that prototypes are about symbol-making for the purpose of communicating. If you were the only person left alive on this earth, but you still learned how to speak, you would likely not lose your internal dialogue. You would still speak, even to yourself, to think through things. And prototyping, as an act and process (not a destination), is about that symbol-making. You’re working through whatever idea needs forming and needs new symbols for expressing. Prototypes are a form of self-socializing ideation. And their inherently symbol-rich, generative nature makes them idea for socializing with others.

But inviting someone to write a language with you is different than asking someone to critique a sentence you wrote. Prototyping that is low fidelity (and slower) is the first kind. Higher fidelity (with LLM assistance or otherwise) invites the second. We want socialization on the core symbols and ideas we choose to construct! And that might always have a human bottleneck built into it (for as long as we humans are in charge of prototyping, that is).

But just to drive this home: socializing your idea is the real value of a prototype. Socializing a raw idea is a fundamental epistemic activity that we do. And I honestly wouldn’t like ideation, as a human act, if I only ever did it alone or with a machine that simply confirms my biases and listens to my instructions. Refining, discussing, sharing, mixing, appropriating, and fusing ideas are actions that really only come into the picture once we have a prototype in between a few people who are trying to figure something out together.

Socially constructing meaning is slow (and good!)

But why is socializing so important? Because our intelligence is positional and situated. We have “horizons” of knowledge, and limits, as singular beings. We are not objective. Yet through social inclusion in the act of making and forming ideas, we broaden the angles and horizons of our social constructs. And for this reason, prototypes that are socialized are simply better, more meaningful creations. I’d even argue that a prototype that isn’t socialized isn’t a prototype at all, it is just an early attempt at making something: the focus is on the object being made, not the idea it represents. And it’s that human socialization and collective meaning-making that turn an artifact-in-process into a prototype that is refining something outside of itself: an idea-in-process.

In “what do prototypes prototype?”, Houde and Hill argue that the separation of artifact and idea is key to understanding the value of prototyping: the prototype isn’t the idea itself, it is just a symbol of the idea (hence, why I write about why fidelity = faithfulness and not something like “quality”).

I worry about prototypes that are too refined too soon. Will they alienate our ideas, because our ideas are less inviting for critique/reshaping at fundamental levels? (Isn’t it ironic, that using a language model possibly holds us back from building a truly social new set of symbols for communicating an emerging, shared space of thinking?)

Anyway, this blog post is a largely-unstructured brain-dump in response to a linkedin post. Thanks to Enrico for posting it! It certainly got my juices flowing.

And it does seem ironic to me to socialize the idea that prototyping=faster=cheaper=good (that all of these things are true and related). That seems like an idea that has been developed too far… it has too much fidelity, not enough prototyping. Perhaps I would recommend going back to the drawing board and re-assessing this?



Bonus take: the psychology of faster = better

Now, the real spicy take of mine (imagine the armchair psychologist within me saying this): I don’t think the “bottleneck” that existed was any more than simply manufactured human impatience. We don’t want fast because fast is actually better or cheaper. We want fast because someone convinced us that fast feels more secure. We have been told that fast feels stronger; feels productive. Fast makes the line go up and lines going up is a good thing.

But fast is affective and subjective more than it is objectively good. We have socially constructed why time matters and by extension we have socially constructed why faster things matter. And so the objective speed of something is actually secondary to our perception and understanding of speed. As anxiety-ridden animals, we have invented the want for things that appear fast, even if (by actual measurement), things can be just the same speed or even slower.

We are taught not to like that our ideas and symbols are in-process, fragile, and flimsy… and that we have to sit with that reality for a while before making something good and meaningful. We want our ideas and symbols to appear as-congealed as possible as quickly as possible. Binary gender suffers from this problem! “Man” and “woman” are so strong and congealed and total and without nuance. Yippe! We are safe from fluidity now, so long as we ascribe to a gender binary!

And so large-language models give us performative fidelity; a sort of false, constructed faithfulness to ideas we haven’t actually invested enough time into and haven’t socialized. If anything, they construct loyalty to under-formed ideas more than they actually construct ideas, because constructing ideas is slow and messy!

Large-language models then simply become yet another social function of anti-fluidity, seeking to box up a thought as soon as we have it and transform that thought into a commodified, less-flexible unit, which we can claim is an “idea” that has been “prototyped” (without any symbol-making and socialization necessary!). This brain-fart-to-built-UI pipeline is so fast that it might actually begin to convince people that their lightly-sautéed neuron-events are actually really well-thought-out, mature concepts like slapping sheepskin on a lamb.

“Prototyping is faster now” is yet another example of the make-you-feel-less-insecure style of marketing that every modern company dreams of taking advantage of. Marketing sold us the need for deodorant by stoking human insecurity, and now it’s working on the impatience and insecurities of software engineers, too.