AI Engineer World's Fair 2024
Second Order Effects
Read the talk
Second Order Effects: From GPU Art to Interfaces That Choose Their Shape
Cheng Lou explores how AI could change learning, communication, and interface design by widening context and making room for many more possibilities.
From a talk by Cheng Lou
Before you start: Basic familiarity with user interfaces and machine learning is helpful; the shader example assumes a little programming experience.
A GPU drawing without a scene
The opening animation visualizes matrix multiplication, but its construction is the more revealing part. Cheng Lou describes a single fragment shader running entirely on the GPU: a few hundred lines of GLSL, no imported assets, and no triangle meshes defining the pictured scene. The image comes from computation rather than a collection of modeled objects.
A small GLSL example makes that distinction tangible. This fragment shader rotates pixel coordinates with a matrix, then colors a rectangular region defined by a distance calculation. The visible shape needs no imported artwork:
glsl
#version 300 es
precision highp float;
uniform vec2 uResolution;
uniform float uTime;
out vec4 fragColor;
void main() {
vec2 p = (2.0 * gl_FragCoord.xy - uResolution)
/ uResolution.y;
float c = cos(uTime);
float s = sin(uTime);
p = mat2(c, s, -s, c) * p;
vec2 q = abs(p) - vec2(0.45, 0.2);
float distanceToBox = length(max(q, 0.0))
+ min(max(q.x, q.y), 0.0);
float coverage = 1.0 - smoothstep(-0.01, 0.01, distanceToBox);
vec3 color = mix(vec3(0.03), vec3(0.2, 0.8, 1.0), coverage);
fragColor = vec4(color, 1.0);
}
Shader art is a niche use of graphics hardware. Machine learning is a much larger departure from the GPU’s original purpose. Both suggest the opening question: what becomes possible after a technology escapes the use case it was built for?
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
From individual rules to collective behavior
When Deep Blue beat Garry Kasparov and AlphaGo beat Lee Sedol, a plausible pessimistic response was that chess and Go had lost their point. If humans could no longer be the best players, why keep playing? The historical milestones need a small distinction: Deep Blue won a game in 1996 and the match in 1997; AlphaGo’s victory over Lee Sedol came in March 2016. Lou then shows a graph of professional Go decision quality whose final years rise sharply. Machine superiority need not end human improvement.
Conway’s Game of Life makes the same forecasting difficulty visible in another form. Black-and-white cells follow a few simple local rules. Larger arrangements produce moving patterns and, eventually, an implementation of Game of Life inside Game of Life. The system is Turing complete: a small rule set can support general computation when organized at sufficient scale.
An order-of-magnitude increase in quantity, quality, or performance can change which level of description is useful. Knowing the cell rules does not make the behavior of a large construction immediately obvious. Lou describes emergent behavior broadly as “mostly NP-complete”; that is his characterization, not a complexity classification established for every system here. His practical point is that prediction often requires moving up to macro patterns, heuristics, and trial and error. The work starts to resemble biology more than deduction from a compact physical law.
Second-order effects are the ripples produced by a technology’s direct consequences. Lou introduces his forecasting approach with an unattributed science-fiction aphorism: “Good sci-fi predicts cars. Great sci-fi predicts traffic.” Predicting a better machine is only the beginning; the harder question concerns the behavior that gathers around it.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Who wants to do the learning?
The first question is whether the person wants an outcome or wants to acquire the ability to produce it. For chess, Lou proposes a reinforcing loop: free, always-available teachers remove dependence on a scarce local expert; more people learn the game; a more knowledgeable audience can sustain professional play. The machine’s skill helps distribute human skill rather than making it irrelevant.
The distinction is the same as going to a mental gym. A machine can practice indefinitely without giving you the benefit of practice. If your goal is your own learning, the fact that the machine performs better does not remove your reason to participate.
Drawing brings this distinction into interface design. A blank canvas is daunting for a novice. Lou imagines stroke autocompletion controlled by an assistance slider: at one end, the system does nothing; at the other, it produces the entire drawing. The interesting territory lies between those endpoints. A curved stroke on a chair could prompt the system to infer a Victorian style. A blue reflection on a face could invite a suggestion to shift toward green because the scene also contains sand.
These interventions shorten the feedback loop involved in learning color and form. Assistance can increase when the learner needs guidance and decrease as the lesson becomes internalized. In Lou’s imagined progression, successful use eventually moves the slider all the way back toward no assistance. A learning tool can succeed by making itself less necessary.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Instruments worth learning
Music offers another path beyond generating a finished artifact. One-shot song generation can satisfy a utilitarian need, but playing an instrument is a different activity. A piano has a particularly direct relationship between action and result: press a key and hear the expected sound. A theremin introduces more indirection, translating movement through space into sound. That extra distance between gesture and output can also create expressive possibilities.
Lou imagines manipulating a musical spectrogram with your fingers. Fingers cannot precisely specify all the fine structure of a sound, but an AI system with sufficient knowledge could fill in that detail—something like supersampling a coarse gesture. The performer would act more like a puppeteer, indirectly shaping an output that ordinary analog manipulation might not make available. This is a proposed instrument, not just a faster way to request a song.
That possibility leads back to conventional interfaces. Tapping controls and mastering a tool may be valuable because the person wants to learn, much as someone wants to exercise or draw. Once automation satisfies more utilitarian needs, Lou expects room for artisanal, quirky, niche interfaces used for self-fulfillment, lifestyle, or luxury. Their appeal would come from the experience of using them, rather than from beating the machine on efficiency.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
A language for each recipient
The next forecasting move is to widen information bandwidth. A cluster visualization in Anthropic’s sparse-autoencoder research reminds Lou of Denis Villeneuve’s film Arrival, in which an alien language changes what humans can perceive. He pushes the association further: why stop at a shared new language? Why not a language for each person?
Standardized language compresses a large, fuzzy internal experience into a narrow communication channel. Lou takes AI having “basically solved translation” as the premise for a thought experiment, then extends translation from one national language to another person’s interpretation of the same language. If he says “I feel blue,” the intended feeling may not arrive intact. For a particular listener, “I’m feeling purple” might communicate it more faithfully. The target is preserved intent, not preserved wording.
The message need not remain text. A speech bubble could change according to the recipient’s aesthetic preferences. With sufficiently fast generation, each sentence could become a dynamic, four-dimensional artwork handed to someone in augmented reality. Lou imagines a surrounding visual cloud translated just in time for its observer, carrying more nuance than static emojis or a few Bézier curves.
At a speculative fifty-year horizon, Lou imagines verbal conflicts resolving in seconds rather than minutes or hours. The proposed mechanism is a richer, recipient-specific channel that loses less intent in transit. It depends on understanding the receiver, not merely producing more elaborate imagery.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
A pencil stroke has more context than its path
After briefly pointing to the iPhone’s hardware interface, Lou turns to the iPad. In a canvas application, pressing a pencil against the screen usually draws a line. The same contact is also overloaded to select, move, or resize. Yet the user supplies more information than the application ordinarily considers. Several taps might follow a spoken question about why an area is red. A stroke might follow the observation that an object belongs somewhere else.
Without that context, moving an object becomes a sequence of interface acrobatics: find the lasso tool, select it, return to the canvas, circle the object, long-press to move it, then double-tap the pencil to return to the pen. Trying to eliminate these steps with more gesture rules can make the system harder to understand, because the rules become implicit.
Traditional gesture interpretation already considers more than geometry. It may depend on the selected tool, the object under the pencil, and a recent action that causes a tentative stroke to be reinterpreted as a tap. Lou proposes expanding that conditioning much further:
| Interpretation | Available context | Design consequence |
|---|---|---|
| Tool-driven gesture rules | Tool, target object, recent input | Explicit modes and carefully tuned exceptions |
| Proposed learned interpretation | Gesture plus speech, surrounding activity, and user behavior | Infer intent from a broader situation |
The aim is to condition a stroke on the world around it, rather than only the beginning of its Bézier path.
A slightly overlong short press illustrates the difference. A rigid threshold may trigger the wrong gesture, while a human observer would recognize the intended action almost immediately. Lou asks why a learned system could not make that correction too, including through local inference. The opportunity is to use context the person already provides.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
The cost of making every agent smart
A third forecasting technique is to push a quantity or quality to an extreme, then reason about what changes. Lou begins with Smalltalk, the programming environment developed in the 1970s that helped establish object-oriented programming and influenced Objective-C. Its message-passing model invites a view of objects as active participants, potentially communicating with remote objects across a LAN or the internet.
Lou recounts Alan Kay’s biological inspiration: objects resemble cells, and each object can be understood as a full computer that can be inspected and manipulated. One physical computer might host many objects, or an object might correspond to a computer. The difficult part is not merely sending a command; it is finding the receiver that should handle it.
Such an object could, in principle, go onto the internet, perform work, and return an answer. It starts to resemble a self-directed intelligent agent. But capability has a resource cost. In Lou’s resource-budget thought experiment, sufficiently expensive agents leave room for only single- or double-digit populations. Optimizing each member’s intelligence can prevent the system from reaching the scale where quantity and collaboration produce a different kind of behavior.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Simple components can change the unit of intelligence
A multilayer perceptron offers a contrasting organization. Its graph specifies possible receivers through connectivity, and learned weights determine which connections matter most. The individual nodes are simple enough that a system can contain millions of them. The interesting capability then belongs to the aggregate.
| Organization | Individual component | Coordination emphasis |
|---|---|---|
| Capable agent swarm | A relatively expensive, self-directed process | Finding work and suitable receivers |
| Multilayer perceptron | A simple computational node | Graph connectivity and learned weights |
Lou uses this contrast to redirect attention from how impressive each agent is to what a population can do. As the population grows, the useful perspective moves outward, much as understanding civilization requires more than studying one person.
He closes the comparison with an alternate history: a few agents search Wikipedia and return snippets. In his analogy for the path actually taken, billions of simpler nodes absorb information into an aggregate that can sit in a phone, coordinated through a smart top-level process. The nodes are not literally independent web crawlers; the comparison shifts the design question from individual autonomy to collective capability.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
What if the problem is too little UI?
The final example starts with a small surprise in the Apple TV app on macOS. A description has a more button. Where should the expanded text appear? In the version Lou demonstrates, clicking it opens a large selectable text view that he identifies as a UITextView, resembling an unfinished notepad more than the surrounding interface.
Lou identifies the app as a Catalyst port of its iOS counterpart. On iOS, opening the description in another view feels relatively idiomatic; carried onto the Mac, the same interaction feels out of place. One explanation is insufficient design care. Lou offers another perspective: perhaps there are not enough suitable interfaces available.
What would it mean to increase the quantity of UI by two orders of magnitude? Instead of expecting one design to cover many different situations, a product could have a much larger collection of appropriate designs. The next problem becomes how to produce that collection and choose from it.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Generate widely, curate offline
Lou’s proposed workflow begins with a twelve-column grid and an inventory of the discrete information that might appear across a view—or the entire application. AI generates thousands of possible layouts at design time. These are candidates for review, not interfaces immediately shipped to users.
The crucial contribution is semantic placement. Traditional generative algorithms can arrange boxes, but assigning a show’s title to an appropriately sized box in the right relationship to other content requires understanding what the boxes mean. The proposed pipeline combines that semantic generation with filtering:
- Generate candidate layouts from the content inventory and grid.
- Score candidates using traditional heuristics, AI-based aesthetic judgments, or both.
- Remove undesirable candidates during data generation.
- Have a designer curate the remaining collection offline.
Because this work is outside the interactive path, the algorithms can be slow and the designer can take time.
The scale matters. Lou’s target is roughly a thousand layouts rather than ten or a handful manually rearranged in Figma. The designer still participates, but the work moves beyond repeatedly shifting individual boxes in response to one more requested variation.
Rough drafts could also use diffusion, perhaps with ControlNet, to turn box arrangements into more tangible website concepts. That helps stakeholders judge whether a layout could work as an actual interface. This remains an optional design-time step in Lou’s proposal; runtime does not need to reproduce the image-generation process.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
At runtime, select rather than generate
Generating two or three designs, choosing one, and shipping it still produces a conventional application. Lou wants AI to change runtime behavior too. He frames the limitation provocatively: even AGI cannot make JavaScript faster than C++ if the web platform itself is the bottleneck. That categorical comparison is his assertion, rather than a demonstrated language benchmark. His architectural proposal is to replace some existing decision logic with a neural network where that changes what the application can do.
With a curated layout collection, runtime can use a quick decision tree or learned classifier to select an appropriate interface. Lou compares this with width-driven responsive design. Media queries already support more than width or visibility—including orientation, resolution, pointer, and hover conditions—but his proposed extension concerns richer user and task context.
The selection inputs could include several parallel kinds of information:
- Experience: Onboarding users may need a different arrangement from superusers, with layouts changing as expertise develops.
- User context: Country or age could affect which information is relevant.
- Current intent: A search query or chatbot exchange could determine which relationships deserve space.
Onboarding need not be a completely separate concept from choosing which boxes to show. It can be another situation handled by the layout selector.
Lou points to Uber and Facebook as companies already maintaining extensive contextual variations. He describes regional Uber interfaces as substantially different and attributes such adaptation to the effort of thousands of engineers, while acknowledging that business logic contributes to the competitive advantage too. His concern is that extensive bespoke logic becomes brittle and hard to inspect. A classifier over a known collection could provide a more controllable selection mechanism.
The movie-search example makes the runtime distinction concrete:
| User request | Proposed curated layout |
|---|---|
| What movies did Denis Villeneuve make? | Emphasize the movies |
| What movies did Denis Villeneuve make, and with whom? | Emphasize movies and collaborators |
The second request changes which relationships the interface should expose. In a chatbot, the surrounding conversation could supply still more selection context. The application would choose among reviewed layouts rather than invent a new screen for each request.
Lou’s napkin estimate puts the needed collection in the thousands of layouts rather than tens. AI-assisted curation is what makes that scale seem feasible to him. Once the candidates are discrete, runtime layout choice is a classification problem. Autoregressive generation and diffusion may help create the collection, but they do not have to sit in the runtime selection path.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Forecasting through invention
Second-order effects remain difficult to predict. These ways of thinking help make the uncertainty more approachable, but Lou closes by pairing them with historical study and practical work: read about what happened before, and build things that can reveal what happens next. His final line turns prediction into participation: “the best way to predict the future is to invent it.”
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Resources
From the talk
The development of Deep Blue and its 1996 and 1997 contests against Garry Kasparov.
DeepMind's account of AlphaGo, including its March 2016 victory against Lee Sedol.
Code and instructions for controlling diffusion image generation with additional spatial conditions.
The 2021 specification for adapting styles to viewport, display, and input-device characteristics.
Further reading
A study of professional Go decisions from 1950–2021 examining changes in decision quality and novel moves following superhuman AI.
Read the complete timestamped transcript
- 0:00
[upbeat music] Um, this is a small visualization of our Lord and Savior matrix multiplication.
- 0:18
I was asked to make a cool demo, so here it is. Um, this is a single fragment shader drawn fully on the GPU. There's no imported asset, no triangle meshes, just purely a few hundred lines of GS, uh, SL.
- 0:30
Um, shader art is a niche, uh, digital art form, and I highly, uh, recommend you to, to check it out. Um, but the GPU wasn't supposed to be abused this way.
- 0:39
But then again, the entire domain of machine learning is enjoying a renaissance thanks to it. So how did that happen? Um, today, I would like to explore a little bit of these kinda second-order effect and why things happen with unintended consequences, and how you can more reliably predict the future.
- 0:59
Okay. So Deep Blue beating Kas- uh, Garry Kasparov in chess, 1996, and 2015, AlphaGo beats the famous Lee Sedol in Go. If you were a pessimist, as many were back then, you'd say that this is over for chess and Go.
- 1:15
You know, what's even the point of playing those anymore, right? If human is not at the top. But if you check what actually happened subsequently, this is a graph of professional Go players', uh, decision quality over time.
- 1:27
You know, guess where AlphaGo happened. And on a completely unrelated topic, this is Conway's Game of Life. It has black and white cells and a few simple rules to how the cell actually interact.
- 1:39
And at first glance, it's no big deal, but as you start building macro patterns with those, you get cool things like these.
- 1:47
And here's Conway's Game of Life implemented in Conway's Game of Life, Turing complete. Uh, these are examples of emergent behaviors produced by an order of magnitude, uh, quantity and quality or performance increase.
- 2:00
The domain of machine learning is pretty familiar with this phenomenon. And generally speaking, emergent behavior is mostly NP-complete, so you can't compute it easily. So to create these patterns, people have to zoom out a level, um, at a h- and consider high-level macro dynamics, a new set of rules, plus various heuristics and errors.
- 2:20
Uh, those folks work more like biologists than mathematicians or physicists. And what I'm trying to say is, we cannot easily predict the emergent behavior of even a simple system that scale beyond our low-level intuitions.
- 2:33
So in this talk, I would like to provide a few personal thought processes I use to predict some interesting second-order effect of AI, AKA the ripple effect caused by more direct consequences of this era of AI.
- 2:45
And as a famous sci-fi author once said, "Good sci-fi predicts cars. Great sci-fi predicts traffic." Right? So the first I would like to use is, uh, broadly called who is learning?
- 2:56
Are you learning or is the machine learning, and do you care? Uh, I'm mostly talking about what people want. So for example, chess didn't die. It only got better, right?
- 3:05
Because it turns out that the crowd dynamic of it is that when you have free chess teachers anytime you want, instead of having to seek out that one dude in a village that teaches chess, well, everyone ends up knowing chess.
- 3:17
And when that crowd knowledge becomes distributed widely enough, you ha- get to have an audience to sustain more professional playing. Because ultimately, it is you who want to do the learning and the audience.
- 3:27
This i- disregarding whether the machine learns better than you or not. You go the, the, to the equivalent of mental gym, because no matter how much the machine goes to the gym, you won't get better unless you do.
- 3:39
The same is true for drawing. Imagine a novice learning to draw. A blank canvas is actually a very daunting challenge, right? But very soon, you'll be ab- you'll be able to have this equivalent of what we call a stroke autocompletions.
- 3:51
So imagine a conceptual slider like this one, where on one side, nothing happens, right? On the other side, the full drawing is made for you. What's interesting is that now we can have a learned behavior where we can slide that into the middle.
- 4:05
So when you prompt the system, and tha- that you wanna draw a chair, the system goes, "Oh, okay, you're curving this way, so I guess you want a Victorian era chair."
- 4:14
Right? Or when you use a shade of blue, the system goes, "Oh, I guess you wanna draw the reflection of the sea on her face, but there's sand, actually, so i- it should a little be a, be a little bit more green than this."
- 4:25
So if you try to learn coloring, you know how long of a feedback loop this actually is to master this. And now you can dial that up and down per your need, uh, with immediate feedback.
- 4:35
And ironically, over time, your slides actually go way more to the left, all the way to the end, where you s- basically stop using AI because you've internalized everything, and the skill came back to you.
- 4:47
Similarly, for music, yes, we can now generate full songs in one shot for utilitarian ends, but AI could also help in a different way for you to learn. And what I'm interested i- in is, uh, in music, most of the time you're using direct manipulation, in UI speak, uh, of the instrument, right?
- 5:03
Uh, the impedance mismatch between pressing a piano key and hearing the expected sound is almost none. But that lack of indirection is also a trade-off. So this is a theremin, and already we're seeing a little bit more of a indirect manipulation.
- 5:17
So I was wondering, what if you use your fingers to create and manipulate a music spectrogram, right? Obviously, your fingers aren't fine enough, but if, if the AI has enough world model knowledge to super sample it for you, so to speak, maybe we'll end up with a new form of instrument, uh, when you gesture more like a
- 5:33
puppeteer indirectly and create new kinds of music that analog music manipulation couldn't achieve.
- 5:40
So, uh, um, here's another reason I'm giving these examples. Uh, my domain is, uh, user interface mostly nowadays. Uh, if you think about who's learning, you might end up with a conclusion that direct manipulation of user interfaces is actually about learning for yourself, akin to going to the gym for yourself or learning to draw for yourself, learning
- 5:57
abstract instrument for yourself. So, AKA, once the classic user interface, um, um, of tapping this and tapping that gets increasingly automated away, once the utilitarian ends have been met, all that's left is the kind of l- lifestyle user interfaces where you use them not because you're more efficient than the machine, but because you are the one who's
- 6:18
trying to learn them for whichever self-fulfillment reason. Um, and so in that regard, we might end up with more artisanal, quirky niche interfaces for luxury lifestyle or other purposes as a second-order effect.
- 6:30
And the second category I wanna talk about is the, um, is, um, the idea of widening the information bandwidth, which is a trick I use quite often. So the other day, I was looking at some new research result from Anthropic regarding sparse autoencoders.
- 6:43
Uh, but tangentially, there was this simple visualization of a cluster, and just purely from a visual perspective, it kinda reminded me of, uh, the movie Arrival by Denis Villeneuve, where human-- humanity learns an alien language that allows them to unlock their full potential.
- 6:58
And I thought, "Why not take it further, right? And make it one language per person, right? Widen the whole information bandwidth." So up until this point, human language is this somewhat standardized communication interface, and it's a very, very narrow bandwidth one, a very lossy one.
- 7:14
We learn relatively few languages, mostly standardized, and stuff our entire f- uh, fuzzy ether of information into hoping that most of it, i- isn't lost in translation. Now, that AI basically solved translation, so why not go a step ahead and translate one English to another English?
- 7:34
Say I'm arguing with someone, and I say, "I feel blue," and this is coming from my perspective, really. So it's unclear that this intent arrives to the other person intact.
- 7:43
Maybe I, for that particular listener, I should have translated, "I feel blue," into, uh, "I'm feeling purple," right? And what if I can just show it? What if my ca- chat speech bubble is much more dynamic and much more nuanced because the AI understands the other person's aesthetic preferences, right?
- 7:58
What if things are fast enough that every sentence can be personalized into a dynamic art piece in 4D or something? Way more nuanced information dense, and I can just hand it to the person in AR, right?
- 8:10
Much denser than static emojis and a few Bézier curves, right? And what if you're commuting AR, and these, um, um, gets machine translated into, like, some kind of cloud around you for the receiver, uh, just-in-time, uh, individual specific language translation mechanism, free of the compromise of a one-size-fit-all, uh, low bandwidth text language, right?
- 8:32
Maybe verbal conflict resolution end up taking in the order of seconds instead of minutes or hours in fifty years.
- 8:40
So, uh, some more examples. Uh, here's one for the iPhone. The, the, uh, the hardware us- user interface, and the next one for the iPad. Uh, for canvas apps, the act of pressing the pencil against the tablet usually means drawing a line, but it is overloaded to be selection, moving, resizing, et cetera, right?
- 9:00
But the reality, uh, is of a much higher bandwidth. So for example, if someone multi-taps on a screen with a pencil, maybe right before they said, uh, "Why is this part red?"
- 9:11
Right? Uh, "Can we, can we change it?" Or maybe they drew a stroke, they said, "Yeah, this probably goes there instead," before that, right? And didn't feel like, you know, uh, hunting for the lasso tool, selecting it, coming back and, uh, drawing a circle, long tap to hold the object, move it, double-tap pencil back to the previous
- 9:29
pen tool, and you do all these kinda acrobatic because you wanna move an item, right? So if you wanna use a traditional design to categorize and overload a single stroke gesture, then you'll inevitably end up with more confusing behaviors with an implicit rule set.
- 9:44
So traditionally, if your current stroke is conditioned on the current selected tool state, the object under your pencil, and maybe the action one second before, uh, if we need to undo the stroke in fa-- uh, in favor of interpreting as a tap.
- 10:00
Uh, this is very messy, right? It's, uh, it's very fine design and craftsmanship. But this-- in this new era, uh, that line shouldn't be only conditioned on the beginning of its Bézier path, right?
- 10:11
It should be conditioned on the entire world. So the tap and the stroke behavior should be as learned, as in machine learned, as possible. And some people's short press, you know, you know, sometimes they're just slightly too long and trigger the wrong gesture and all sort of bad action that a human observer would have corrected within a
- 10:28
second. So why can't machine learning just do it, right? Locally, too. Um,
- 10:35
so, um, the last, uh, thought process I like to, uh, uh, use often, which is extrapolating, uh, a certain quantity or quality to the extreme, uh, which causes all, all sorts of fun emergent behavior you can try to guess, like, uh, previously mentioned, uh, Conway's Game of Life, for example.
- 10:52
And, and, and then I can reason from first principle there and see what kind of, uh, uh, new things we can get from this. Um, so, uh, if anyone's doing-- into programming languages, this is Smalltalk, uh, programming language environment, uh, from the '70s that's a grandfather of the original object-oriented, uh, programming, which inspire Objective-C and other languages.
- 11:14
Uh, one of its main characteristic is message passing, as in sending commands, maybe even to another remote, uh, Smalltalk object on a different computer somewhere else through LAN or later on internet.
- 11:26
Um, I'm gonna spare you of the detail, but, uh, Alan Kay, one of its inve-- uh, inventors, said the, the inspiration is, um- Basically, uh, well, it's inspired by cells, right?
- 11:38
And that each object is basically a full computer you can examine and poke into, and then you can, you can, like, do things with it. And, and recursively it's, uh, it might be an, uh, one-to-one mapping to the computer.
- 11:49
It might be, be that one computer has many object, et cetera. And also, he did say, uh, somewhat more obscurely that sending the message, sending a command to another computer, that's easy, but finding the receiver, that's hard.
- 12:04
So, um, each Smalltalk object can theoretically smartly go to the internet, do stuff, come back with an answer, like a little self-directed intelligent agent, um, if this sounds familiar to this audience.
- 12:19
Uh, but Smalltalk had a big problem, which is that, uh, when an agent is as smart as it can be, uh, it's also, um, as resource-intensive arbitrarily as it can be.
- 12:30
So when each agent takes up, uh, enough resource, uh, you only get to have a single or double digit of them, right? By the law of, uh, numbers. So you missed out on an entire category of emergent behavior because you tried to be too smart at a lower level.
- 12:45
Uh, uh, in this case, an emergent behavior from quantity and collaboration.
- 12:50
So, uh, on the other hand, look at this, uh, multilayer perceptron. Uh, that's a graph. So interestingly, it kinda solved the discovery of the receiver problem because you can make it fully connected or whatever.
- 13:02
Uh, and because the weights are learned, you'll propagate and, and, you know, y- some connections are more important than others, right? Uh, the biggest difference between this and a swarm of agents is that, uh, the node are as dumb as they get.
- 13:15
And when they're dumb and simple, you could have millions of them, and when that happens, you could leverage the emergent behavior of the aggregate and create a new media completely.
- 13:26
So there are quite a few, um, agent-focused talk in the domain of, uh, ML, and I like to take this opportunity to, um, uh, use this method to offer some interesting food for thought.
- 13:37
So for example, the more agents you have, the more you zoom out to care more about the aggregate rather than the lower level agents, right? Just like people and civilization.
- 13:47
And the more you zoom out, the less you actually care about each individual agent. So in, in an alternative reality, not in this one, uh, we invented a couple of agents who got sent to scour the internet, called Wikipedia, and came back with some snippets of information.
- 14:06
However, thankfully, in our reality, we sent billions of dumber nodes to read Wikipedia and aggregated all of them together to sit in a phone coordinated by a single top-level, smart top-level process.
- 14:22
So here's my last example. Um, this was actually freshly picked. Uh, this is the Apple TV macOS UI. Pretty decent looking. Um, I'd like you to pay attention to this part, uh, the, uh, circled red part, which is a more button here.
- 14:36
When you click on it to see the full description, what do you expect? Well, uh, where does the description expand to, right? Turns out that you get a very atypical Apple UI when you click on it.
- 14:46
You get this, which is a- literally a big UI text view, right? Uh, very un-Apple. So it, it looks like an unfinished notepad. In fact, you can kinda select it and do things with it, which is, uh, weird.
- 14:58
Um, the thing is, this Apple TV Mac app is actually a Catalyst app, which, uh, for those who don't do iOS development, it, it means that it's a direct port of their iOS app here.
- 15:10
Um, on iOS, if you tap the description and get, uh, uh, such a new view, then things don't look too out of place. In fact, it's rather idiomatic. Now, you might say that the problem here is that, that, uh, lack of UI, uh, uh, design and lack of care, lacks of craftsmanship, but for the sake of, uh,
- 15:27
of making a point, uh, for this talk, I would like to provide a perspective that this might actually be a lack of literally needing more UI, a lack of more UI.
- 15:38
So what would the world look like if we extrapolated that qua, uh, quantity, if we raise the order of magnitude and have way more UI, two order of magnitude more, right?
- 15:47
What does that even mean? So let's start with a simple twelve-column grid, right? We first list out all the discrete pieces of information we want to potentially show across this entire view or maybe across the entire app, right?
- 16:00
Now that we have AI nowadays, at design time, not at run time, at design time, we could generate thousands of these permutation of layout for a show's UI screens, right?
- 16:11
We're not shipping these, just using U- AI to generate a bunch of potential candidates. So previously, this task was unachievable through traditional means unless you're in a particular niche, um, since we didn't have a way to pay attention to the semantic relationship between, say, a show's title and the box's, uh, size and position in relation to other
- 16:30
items, right? You could still generate plain boxes through traditional heuristic and generative algorithm, but you'd have a hard time tagging each box with the right piece of information, for example.
- 16:41
So after our first pass, we can use a scoring mechanism, either traditional or, um, s- uh, or some fancy AI-driven scoring heuristic aesthetic s- things to, uh, eliminate undesirable layout at data generation time.
- 16:55
And of course, you'd involve the designer here too. Um, this is done at design time offline, not at run time. So we can use an algorithm that's as slow as we need, and the designer can take as much time or as he or she needs and patiently curate the subset, which is, uh, quite large.
- 17:12
S- um, so the key here is that you've generated not ten, right? You generate a thousand of these through, uh, through smarter generative and semantic filtering techniques. So we're raising the order of magnitude, right?
- 17:27
You're not, you're not a designer making a single-digit number of design, uh, moving boxes yourself in Figma and waiting for your boss to go, "Uh, can we move this box somewhere else instead?
- 17:36
And, uh, and just one more ad hoc design, please. I promise. It's just one more. It'll solve everything," right? Um, and of course, you want to involve the designer in this particular stage too.
- 17:46
Um, um, the... Yeah. So, um, maybe at, at some point you just, uh, you also decide to, like, throw in a little bit of diffusion, again, of, uh, rough draft time to using some ControlNet or whatever to generate some rough website to make the boss, uh, give boss more of an immersive feeling, right?
- 18:04
To say, like, "This, this layout can work. It's not just, like, boxes," right?
- 18:11
And at app runtime now, um, which is the part I'm personally interested in, um, right now, uh, LLM generations, they generate at writing time, and then you j- they generate, like, two, right?
- 18:23
Or three. And then you pick one, and then maybe you ship that, and then it's a traditional web app. But the thing is, if your bottleneck is the web part, even an AGI cannot help you make your JavaScript faster than C++, right?
- 18:36
So at ru- we have to swap out some of these items with an actual, uh, neural net if we have to, i- if we want to advance and use a web platform, for example, or any other platform for that matter.
- 18:47
So at runtime, you have, for example, a quick decision tree to choose the right layout. So again, for modern web development, this roughly has this one single heuristic for you to select the right design, which is called media queries, which all it does is, depending on the width of your window, you might show or hide some items.
- 19:08
But this entire space could actually use some help from learned algorithms. So, for example, what if the user's onboarding? Why is that a different concept when you hide show, uh, or show some different boxes?
- 19:22
It's just another set of boxes, right? What if the user is a superuser? Maybe you progressively show them a different set of layouts, right? Maybe they sh- require different screens.
- 19:32
And, uh, what if the user is in a different country, right? Uh, different age? Uh, search query? So to be clear, um, big companies like Uber and Facebook already do this on a daily basis, right?
- 19:43
When you, you use Uber, the app, in India or China, uh, it looks drastically different, right? But it's currently, um, thousands of engineers of effort, right? For big companies, right?
- 19:56
And they create an entire moat out of the fact that they have a few more design UIs, plus a business logic, to be fair. And, uh, and it's very brittle, right?
- 20:05
You cannot see everything, and the algorithm is as, uh, is basically less controllable than even a d- simple decision tree, a classifier. So, um, if a user is fuzzy searching, right?
- 20:16
This might be a better example. Um, you know, "Hey, what movie did, did, uh, Denis Villeneuve make?" Right? This goes into a decision tree and shows a curated layout.
- 20:26
Um, if the user is instead saying, "Hey, what movie did Denis Villeneuve make, and with hom- whom?" Then you show this curated layout instead. So maybe you're asking a chatbot, in which case the layout's even more contextual, right?
- 20:39
If you do a napkin calculation of the generated and curated, uh, uh, number of, uh, UI you ever need, uh, they might actually be in the thousand, not tens, right?
- 20:49
Fortunately, a thousand can still be, uh, curated thanks to AI. So essentially, it's not an au- autoregressive problem. It's not a diffusion problem. It's a simple classification problem, 'cause we have discrete categories here.
- 21:00
So here you go, dynamic UIs. So let me summarize this for a little bit. Uh, second-order effect are pretty, uh, unpredictable, and there are many ways to, uh, tame thinking about them.
- 21:12
If you think about these points, among others, then I think you'll be decently prepared when the time comes. And of course, you know, read from history and, uh, you know, you gotta do things.
- 21:20
Uh, don't forget that the best way to predict the future is to invent it. Thank you. [audience applauding] [upbeat music]