Interface is everything, and everything is an interface


Summary

Host Ryan Donovan welcomes Wesley Yu, head of engineering at Metalab, to discuss the central role of interfaces in technology. Wesley shares his unconventional path into software, starting from photography and media studies, through radio production and content marketing, before finding his calling in programming through a coding bootcamp.

The conversation explores how user expectations have evolved with major technological shifts, from the iPhone’s introduction of gestural interfaces to the productivity app boom that normalized real-time collaboration. Wesley explains how these changes have increased technical complexity, particularly around managing state in applications where multiple users interact simultaneously.

A significant portion of the discussion focuses on AI integration, distinguishing between AI that enables entirely new businesses (like an educational app that generates custom reading materials) and AI that accelerates existing workflows (like helping policymakers query complex datasets). Wesley emphasizes the importance of building infrastructure for “shared memory” with AI systems, drawing parallels to how IDEs manage version control and changes.

The episode concludes with thoughts on future interface paradigms, including voice interfaces and the challenge of designing systems that facilitate genuine learning rather than just providing answers. Wesley remains optimistic about AI’s potential to democratize intelligence while acknowledging the continued importance of human-centered design in creating effective interfaces.


Recommendations

Concepts

  • Transactional Memory — A psychological concept from close relationships where knowledge is distributed between individuals; applied to AI systems to describe the shared memory that develops between users and AI assistants.
  • GraphRAG — An emerging approach where LLMs generate structured queries (like SPARQL) for knowledge graphs instead of using vector search alone, allowing for more precise retrieval of relationships between known entities.

Tools

  • Neo4j — Mentioned as a knowledge graph database used to build context and shared memory with AI systems, allowing for structured queries of relationships between entities.

Topic Timeline

  • 00:01:08Wesley’s unconventional path into software engineering — Wesley Yu shares his journey from photography and media studies to radio production and content marketing before discovering programming through a coding bootcamp. He describes being inspired by the passion of Silicon Valley programmers in 2013 and how his partner encouraged him to pursue coding. This background in creative fields and communication informs his approach to interface design.
  • 00:03:31Metalab’s role in defining product DNA for ambitious companies — Wesley explains that Metalab designs and builds digital products for early-stage companies, helping establish their product DNA before they become household names. They’ve worked with companies like Slack, Coinbase, and Uber, as well as larger companies like Google and Amazon. The focus is on shipping initial versions that establish core product identity and user experience.
  • 00:04:17How mobile revolution changed interface expectations — The discussion explores how the iPhone and mobile revolution transformed user expectations around interfaces. Wesley notes the shift from point-and-click to gestural interactions (scrolling, pinching, swiping), adaptive screen sizes, and access to device sensors like location and cameras. He also mentions how mobile enabled notifications that create habit loops, changing how applications demand user attention.
  • 00:07:22Real-time collaboration and its technical challenges — Wesley discusses how productivity applications like Google Docs and Figma established expectations for real-time, collaborative software. This introduced concepts like multiple cursors, presence indicators, version history, and inline comments. These features require applications to be more stateful and handle merging changes from multiple sources, presenting significant technical implementation challenges.
  • 00:09:20Two categories of AI integration in products — Wesley distinguishes between AI that enables businesses that couldn’t exist without it (like an educational app that generates custom reading materials based on student levels) and AI that accelerates existing workflows (like helping policymakers query complex datasets). The first category makes AI core but invisible to the experience, while the second adds a new modality to accomplish tasks that could be done manually.
  • 00:14:33Building shared memory and context with AI systems — The conversation explores the concept of ‘transactional memory’ - the shared knowledge that develops between users and AI systems like ChatGPT. Wesley discusses the importance of making this memory visible in interfaces and storing it externally so it’s not lost. He mentions using knowledge graphs (like Neo4j) to build context about users that can be queried by AI systems during inference.
  • 00:16:30Managing context and retrieval in AI systems — Wesley addresses the challenge of context management as shared memory grows, including issues like ‘context rot’ and the ‘needle in the haystack’ problem. He discusses current solutions like vector search (RAG) and emerging approaches like GraphRAG, where LLMs generate structured queries for knowledge graphs. This allows for just-in-time context retrieval rather than keeping everything in the context window.
  • 00:18:18Future interface paradigms beyond text chatbots — Wesley shares his experience with voice interfaces as a promising alternative to text-based AI interactions, particularly for learning new topics quickly. However, he notes the friction in extracting and saving shared knowledge from these conversations. The discussion touches on whether reducing learning friction is beneficial or if some friction is necessary for genuine understanding and engagement with material.
  • 00:21:34The future of AI-generated interfaces — The conversation considers whether AI will eventually generate interfaces spontaneously. Wesley argues that humans currently understand best how to structure problems for other humans, using the example of travel arrangement for TV productions. While AI might verify functional correctness, verifying whether an application truly meets user needs requires market validation that AI cannot yet provide.

Episode Info

  • Podcast: The Stack Overflow Podcast
  • Author: The Stack Overflow Podcast
  • Category: Technology Society & Culture Business
  • Published: 2025-12-12T05:00:00Z
  • Duration: 00:24:28

References


Podcast Info


Transcript

[00:00:00] Enable efficient AI at the edge.

[00:00:03] With machine learning at the edge, advanced HMI, low power, and built-in security,

[00:00:08] the Infineon PSoC Edge microcontroller family is designed to power smarter,

[00:00:13] more intuitive user experiences and next-generation devices.

[00:00:17] Get started at infineon.com forward slash PSoC Edge.

[00:00:22] That’s I-N-F-I-N-E-O-N dot C-O-M forward slash P-S-O-C-E-D-G-E.

[00:00:38] Hello, everyone, and welcome to the Stack Overflow podcast,

[00:00:41] a place to talk all things software and technology.

[00:00:44] I am your host, Ryan Donovan.

[00:00:46] And today we are talking about interfaces.

[00:00:49] We talk a lot about the mechanics, the backends,

[00:00:51] the interfaces, the interfaces, the backends,

[00:00:52] the backends, the backends, the backends, the backends, the backends, the backends, the backends, the backends, the backends, the backends.

[00:00:52] AI. But today we’re talking about front end and how it all works. My guest is Wesley Yu,

[00:00:57] head of engineering at Metalab. Welcome to the show, Wesley.

[00:01:00] Hi, thanks for having me, Ryan.

[00:01:02] Of course. So top of the show, we like to get to know our guests. How did you get into software

[00:01:07] and technology?

[00:01:08] Oh boy. Yeah, this was not a straight path for me. From a very young age, I knew that I was a

[00:01:13] builder, that I like to kind of make things. But it took me, I think, longer than anyone else I

[00:01:18] know to find the medium that I want to build things in. So coding. Yeah, I don’t know. I’m

[00:01:23] not a programmer by training. I actually went to school for photography and then for media studies.

[00:01:27] So that’s like writing about movies and video games. Very fun thing to do, but not a super

[00:01:32] employable skill.

[00:01:34] That’s true.

[00:01:35] Yeah. I don’t know. I started in photography. I like doing kind of weddings, shooting events,

[00:01:39] kind of a technical endeavor, but also a creative endeavor. But ultimately, I don’t know,

[00:01:43] it was hard to kind of run a business, separating kind of the art from the business side of it.

[00:01:47] Somehow, I got into it.

[00:01:48] I got into AM news radio production. So kind of finding interesting stories and guests for

[00:01:53] AM news talk shows. So I learned a ton from this job. I think like translating kind of complex

[00:01:58] ideas into interesting stories and problems that people could get invested in. And then for

[00:02:03] whatever reason, I moved into content marketing. So for a tech startup, combined some of like

[00:02:07] visual design skills from my photo days with kind of communication from my radio days. And I really

[00:02:12] kind of knew nothing about tech at that time. I was looking for a change to get out of media and

[00:02:17] journalism.

[00:02:18] And I found myself at this company that was enrolled in something called Y Combinator. And I

[00:02:23] had no idea what that was. So I went down to Sunnyvale, California with them. And then I was

[00:02:27] just exposed to this like ambition and energy of tech in Silicon Valley in like 2013. And at this

[00:02:34] point, you know, I wasn’t a programmer, but I was surrounded by programmers. They’re all working so

[00:02:38] hard to build the future. And it was like intoxicating for me. I never really met so many

[00:02:43] people that were so passionate about their work. And I was like, that’s cool. It must be nice to

[00:02:47] love your work so much. But you know, I’m not a software engineer. I tried to learn programming

[00:02:51] and I failed. So like, womp, womp, I’ll keep on doing content marketing. Yeah, it wasn’t until

[00:02:57] like, you know, my partner, she was also looking for kind of what she wanted to do in life. And

[00:03:00] she started this coding bootcamp. One day she phoned me and she said, Hey, I think you should

[00:03:04] quit your job and do this coding bootcamp thing. It’s really fun. I think you’d be good. So on a

[00:03:08] whim, I quit my job, learned Ruby on Rails and really the rest is history. Yeah, like I was very

[00:03:12] lucky to get my start at Metal Lab. And that’s how I got into tech. And now you obviously you’re head

[00:03:16] of engineering.

[00:03:17] At Metal Lab. It’s an interesting path because you started with the art and presenting things

[00:03:24] to a person, right? And now you’re doing the tech behind presenting an interface to a person.

[00:03:29] So what does Metal Lab do?

[00:03:31] What does Metal Lab do? I think, you know, in short, we design and build digital products for

[00:03:36] very ambitious companies. So I think what we do best is define the product DNA of very early

[00:03:42] stage companies that that we hope later become household names. So we’ve worked on Slack and

[00:03:46] Coinbase and Uber.

[00:03:47] But we also have another side of the house. We work with leaders to evolve their products. You know, think the Googles, Amazons and Metas out there. But essentially, we come in, think about a product, try to build the DNA of that product and ship kind of an empty V1, V2.

[00:04:01] For a lot of consumer products, especially the key to that takeoff is having a good, simple interface. People talk about the cell phone revolution, like there were cell phones, and then there was the iPhone and everybody had to have one. What is it about a good interface to technology that makes the technology

[00:04:17] understandable?

[00:04:17] Yeah, that’s interesting. I think that’s changed a lot over the last 20 years. I mean, you mentioned the cell phone, the iPhone coming on in 2007. That was a big boom that kind of changed people’s expectations with how they interact with technology. I think there was like a productivity app boom in like 2010s that set new expectations. There was, of course, crypto and now there’s AI. So with mobile, like you kind of built this expectation with consumers that there are adaptive screen sizes that you have gestural inputs like scrolling and pinching and swiping. And all that replaced the

[00:04:47] point and click, the interface became this thing that directly manipulate, you can kind of drag things around, expand things long press on things. And then of course, you also get access to like location cameras and sensors that unlock new possibilities. So I think like many expectations have changed just from the mobile device itself, not to mention even just like the ability to notify people, you know, mobile phones are in your pocket. So now you start to build habit loops, notifications and applications that draw you back into the device and demand your attention in some ways that I feel like are less inviting these days.

[00:05:17] And more invasive, but those are kind of the concepts that have built some foundation in interface.

[00:05:22] It’s almost like with the mobile phone. It’s not only you having an interface into the device,

[00:05:27] the device has a little bit of an interface into you.

[00:05:29] Yeah, yeah, exactly. Certainly with like social media and the set and the other.

[00:05:32] And you mentioned crypto and AI, which you typically don’t think of the sort of interface

[00:05:38] with those technologies, right? You know, crypto web three boom can be seen as a little

[00:05:43] contentious, but I think it also set new expectations for users in terms of user

[00:05:47] interface. Crypto and web three was very much leaning on interfaces, deriving kind of

[00:05:53] verifiability and trust on the screen, you know, before crypto and web three, we would rely on

[00:05:59] institutions to drive trust. If you did something you could, you know, call customer support and get

[00:06:04] that thing kind of reversed. But you can’t do that on the blockchain. There’s no customer support

[00:06:08] that you can call to reverse that. And so there’s this kind of balancing act between information

[00:06:13] density that you can use to verify things that are happening on the screen.

[00:06:17] Making sure that they’re right and simple user interfaces. So I think it has kind of set some

[00:06:22] expectations in terms of the density of information that people expect and the concept that they need

[00:06:26] to learn. Like you said, we’ve had all these changes in the possibilities of what an interface

[00:06:30] could be, but it’s also required a lot of technical innovation for the things like gestural

[00:06:36] and the accelerometer based interface stuff. With these technologies, they’ve enabled different ways

[00:06:43] of interacting, right? With gestural swipes and stuff on the mobile phone.

[00:06:47] Or the accelerometer based movement of the phone. Do you think that these have required different

[00:06:54] technological paradigms to implement, to have interface with the backend? Or are they sort of

[00:07:00] extensions of the mouse being a relative movement in space? I think they are kind of extensions of

[00:07:05] existing paradigms. I think outside of kind of gestural interactions, accelerometer using those

[00:07:11] types of things, I think one kind of better example is of technology changing interfaces

[00:07:15] or tech trends changing interfaces is with the accelerometer.

[00:07:17] With this rise of productivity applications, we now develop this expectation that software

[00:07:22] is real time and collaborative. If you think Google docs or Figma or Notion or Miro, these

[00:07:28] interfaces now have multiple cursors in this idea of presence. And with that, you kind

[00:07:33] of comes things like history and versioning and inline comments. I think like this change,

[00:07:37] this kind of trend in technology, productivity has far more of an impact in the technical

[00:07:41] implementations of applications because now more things are stateful, more things are

[00:07:46] real time.

[00:07:47] With having like a lot more state and a lot more sources of state to sort of track,

[00:07:52] what’s the technological programmatic thing that you have to sort of adapt to handle that?

[00:07:58] Yeah, there’s lots of different strategies to resolve changes, but essentially you kind of

[00:08:02] would want to track kind of individual changes and be able to merge and come back to a state that

[00:08:06] makes sense for everyone. Depending on the application, there are different strategies to do

[00:08:10] this, but that is definitely a technical challenge depending on kind of the interface that you’re

[00:08:13] working with.

[00:08:14] So I know managing state is a

[00:08:17] huge point of research and contention in front ends. Do you have recommendations on

[00:08:23] it?

[00:08:24] Are their sort of best practices?

[00:08:25] Yeah, certainly. I think like there are blind

[00:08:28] corners that our team has just seen around multiple times as we’re building something

[00:08:32] new.

[00:08:33] There was kind of a big rise of serverless, I think, in the last 10 years or something

[00:08:37] like this, and serverless, stateless systems, they kind of disappear as you don’t need them.

[00:08:42] And a designer can throw like a little green bubble that says someone is online and it just

[00:08:47] totally throws out that architecture. And so that’s something that we consider a lot is like,

[00:08:50] okay, is there some potential that this thing is going to be stateful in the future and planning

[00:08:56] for that eventuality? Because we just kind of simply know that, you know, when you’re interacting

[00:09:00] with tools, it’s not you getting a task done by yourself anymore. The expectation is that you are

[00:09:04] getting a task done in collaboration with others. And in some cases, those others are humans in

[00:09:10] today’s world. Sometimes that other is some sort of AI system. You know, everyone is talking about

[00:09:15] AI today. You know, we had an article a while ago that the AI isn’t the app, it’s the interface.

[00:09:20] It’s the UI to other applications information. And I wonder if you see AI that way, or you see

[00:09:27] it as another intermediary app. When we think about products that integrate AI, we see them

[00:09:32] as kind of two buckets. One is like AI that enables businesses that couldn’t exist without AI. And

[00:09:39] then there is AI that is used as an accelerator or another modality to accomplish tasks that

[00:09:44] you could otherwise do manually. So I’ll give you some examples here. So for an AI that enables

[00:09:49] a business that could not exist without AI, one of the products that I’ve worked on in the past is

[00:09:54] an application that taught kids how to read. So, you know, almost 40% of fourth graders in the

[00:09:59] United States are at a level of reading that is below kind of where they should be. And then once

[00:10:03] a student falls behind, like really, really hard to catch up. And so we worked on this application

[00:10:07] to really kind of scale and automate the interactions between an expert reading teacher

[00:10:12] and some sort of student. And we did this by

[00:10:14] generating the application that taught kids how to read. And so we did this by generating the

[00:10:14] kind of custom storybooks based on the children’s reading level. Like maybe they’re learning CPC,

[00:10:20] which is constant vowel consonant. These are like words like cat and rat and fats,

[00:10:24] or maybe they’re learning digraphs, which is like two letters making up a single sound.

[00:10:27] We would include all the words that they knew and the words they didn’t, the words that they

[00:10:32] were learning. And we kept track of all these kinds of specific concepts and patterns to

[00:10:36] generate custom storybooks. And this was both with text LLMs and also with generative image

[00:10:41] generation to kind of create these illustrations. And then there was the actual reading

[00:10:44] experience that we built as well. This was like a speech to text model that would evaluate like

[00:10:48] phonemic accuracy of individual sounds within words. So if you think about the, it’s the,

[00:10:55] and we need to break speech down to that level of detail. Like this application is AI all throughout

[00:11:01] it, but it doesn’t feel like it’s tacked on. It’s actually very core to the experience. And I

[00:11:04] think somewhat invisible and without AI, you wouldn’t be able to accomplish the same task.

[00:11:08] Products where AI is an accelerator, like another modality, an example of a product that we worked

[00:11:13] on is a product for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for,

[00:11:14] for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for, for,

[00:11:15] policy makers, lobbyists, and journalists that are reporting on policy. So this company we’re

[00:11:20] working with, you know, they’ve got this wealth of policy data, government documents, meeting

[00:11:23] minutes, articles, these huge directories of people, roles, and organizations, literally

[00:11:28] like millions of indexed documents that is by and large kind of unstructured text. So even without

[00:11:35] AI, this data is extremely valuable, but policymakers, lobbyists, journalists would

[00:11:40] sift through this information to find what they’re looking for. And then with the help of LLMs,

[00:11:44] it gives us a lot of information. So it’s a lot of information. So it’s a lot of information.

[00:11:44] this opportunity to structure data in a way that is far easier to query. And that’s the modality,

[00:11:50] I think, that we’re kind of talking about with AI that is additive, that’s an accelerator.

[00:11:54] It allowed these people, these users to ask questions like, what is the top health policy

[00:11:59] headlines of the day? I think somewhat kind of an easy question for LLMs to answer, but then you

[00:12:03] kind of get into more complex questions like, what bills are Coca-Cola lobbying for in 2025 and how

[00:12:08] much have they spent? That’s kind of a little bit more complex for an LLM. And then you get

[00:12:12] kind of a little bit crazier than that, like which lobbyists used to work for the Department

[00:12:16] of Energy and then which bills are they lobbying for now? That’s an impossible question for LLMs

[00:12:21] to answer with just kind of regular reg. And so this type of AI integration is different. You

[00:12:26] can reasonably take this away from the product and people can still derive value, but AI certainly

[00:12:31] makes it easier. Yeah, it is an interface into that data, right? Although, you know, there is

[00:12:37] an argument to be made that a lot of applications are just interfaces into data, right?

[00:12:42] We’re all just basically just crud monkeys, like, you know, reading and writing from databases all

[00:12:47] day long. So when you’re designing these interfaces for problems, what are the sort of common things

[00:12:54] that you run into that you’re like, everybody should be doing this? Or is it always custom?

[00:13:00] I don’t know if there’s like a rule right now. I think we’re still really early. But something I

[00:13:04] like to lean on is when we interact with AI systems, LLMs, coding agents, we often like to

[00:13:12] interact with AI as like a pair of programmer, like another kind of entity that you’re interacting

[00:13:16] with. And I think we can pull a lot of the paradigms from productivity apps back into

[00:13:22] the systems that interact with AIs. And I think specifically, like coding IDEs have perfect

[00:13:28] infrastructure in order to do this. And then I think many applications don’t quite have that type

[00:13:33] of infrastructure yet. So when I say, you know, why IDEs, coding IDEs have this perfect

[00:13:37] infrastructure, it’s like, we have version control, we have diffs, we have commits, and all

[00:13:42] this stuff. And so I think it’s really important to have that kind of infrastructure. And I think

[00:13:42] allows you to interact with the LLM in a way that is very visible, and very kind of well understood

[00:13:48] by the developer. I don’t think that we’ve built those concepts yet for people interacting with

[00:13:53] kind of consumer applications or these types of tools. But productivity is the closest there,

[00:13:57] you know, you have inline comments, you have maybe kind of cursors that are moving around

[00:14:01] and things like this. It’s interesting. Yeah, the developers are already tracking changes,

[00:14:06] they’re already doing this stuff that is helpful for the LLM to understand context.

[00:14:12] You mentioned like Uber or something. Are there paradigms like that for a sort of consumer

[00:14:18] marketplace like that, where understanding the changes that are happening? What are the sort

[00:14:23] of track changes in other applications that people aren’t thinking of? One thing that I think about a

[00:14:28] lot is, you know, as we spend more and more time interacting with AI, we start to build this

[00:14:33] shared memory with them. That’s like kind of between me and OpenAI, ChatGPT. And like in

[00:14:40] psychology, this kind of shared memory is called like transaction memory. And I think that’s a

[00:14:42] good way to put it. It’s the idea that like, in close relationships, or in teams, we split up

[00:14:46] knowledge, you remember some things, I remember some things, and we have this kind of shared

[00:14:49] system of memory. And it’s efficient, it’s kind of emotionally deep, because it also shapes how

[00:14:56] we feel connected. And then I think, you know, just to get dark for a second, like when someone

[00:15:00] passes away, we don’t lose just them, we also lose part of our memory. And they call this like

[00:15:06] grief of memory or social memory loss. And we feel that absence when it goes away. And so,

[00:15:12] that is something that we need to make visual, that is something that we need to put in an

[00:15:16] interface so that it’s not lost when the alarm shuts down. Because obviously, like, they’re not

[00:15:21] a real person, they don’t have real memories, we need to store that information somewhere. And so

[00:15:25] we think a lot about how to build that context, both on the back end, sometimes using knowledge

[00:15:31] base or knowledge graph, like Neo4j, we start to build out kind of how we understand this person,

[00:15:36] so that as a new system boots up, they can query their shared memory, so to speak. But we also

[00:15:41] think a lot about how to build that context, and how to build that context, and how to build that

[00:15:42] context about context and context compression. These types of attributes, I think people don’t

[00:15:47] always think about, like, how much of the context window am I using? Consumer doesn’t really think

[00:15:50] about that. I think a developer does think about this type, or what model am I using,

[00:15:54] what specific model, I think these types of things, these types of concepts, not kind of

[00:15:57] publicly understood. Yeah, it’s interesting, implementing a sort of shared transactional

[00:16:02] memory like that. And you talk about context, like, at one point, does that memory become too

[00:16:07] much? Do you run into things like context rot, the needle in the haystack problem? Yeah.

[00:16:10] Yeah, absolutely.

[00:16:12] Like, managing context is a whole beast unto itself, because as the context window builds

[00:16:17] bigger and bigger, like, the drop-off of whether or not an LLM can retrieve that information doesn’t

[00:16:21] go to zero, but it becomes very, very difficult for an LLM to find something that’s in the middle.

[00:16:25] Right now, we rely on systems like REG, so vector search of unstructured text. A big thing that is

[00:16:30] happening right now in the last year is GraphREG. So instead of structuring queries against a vector

[00:16:36] database, we actually get the LLM to write, like, a SPARQL query for Neo4j. And that is more like

[00:16:42] natural language. I feel like they do actually generate these queries quite well, because you’re

[00:16:46] working with known entities and edges, which are relationships and so on and so forth. And so I

[00:16:50] think that’s a great way to start building context that doesn’t live within the context window that

[00:16:54] can be retrieved at the time of inference.

[00:16:57] It’s not just a constant context. It’s sort of a just-in-time context. So tell me a little bit

[00:17:04] more about the knowledge graph aspect of it, like, accessing that, interacting with that,

[00:17:10] because it sort of sounds like you’re almost in the middle of a graph, but you’re not.

[00:17:12] It’s almost building, like, a semantic understanding underneath the hood.

[00:17:15] When we’re working in this context, we think a lot about ontology, like, what are the different

[00:17:19] things that exist out there? And when we’re thinking about retrieval augmented generation,

[00:17:24] which is, I think, how we retrieve up-to-date information, there are those two phases. One

[00:17:28] is gathering information, retrieving information, and then there is the actual generation of the

[00:17:32] text. And one is that, you know, the LLM can’t make that better. Both sides need to operate

[00:17:38] efficiently in order for you to get results. So, you know, at the highest level,

[00:17:42] it’s about building this knowledge graph, having an understanding of the concepts,

[00:17:46] you know, the nodes and edges within the system in a way that both the LLM and the consumer share.

[00:17:52] And so that’s really important. And that’s based on kind of the use case that you’re working with,

[00:17:56] you know, in this example of the policy application that we’re working on. You know,

[00:17:59] those are articles and people and votes and bills, these types of things. But in a different setting,

[00:18:05] it may be kind of different nodes, different edges.

[00:18:07] You talked about the iPhone being the sort of interface killer app for,

[00:18:12] like, mobile phones. And I feel like ChatGPT was the sort of LLM killer app. Are there ways to

[00:18:18] improve the LLM interface outside of the sort of text call-out and response that, like, a chatbot

[00:18:24] does? An interface that I am not 100% sold on, but one that I actually like to use quite a bit

[00:18:29] is, like, a voice interface. In my work at Metal Lab, we’ll often need to learn a new industry

[00:18:34] very, very fast. And that kind of involves watching YouTube videos and reading articles

[00:18:39] and things like this. I often have, like, my

[00:18:42] phone with ChatGPT voice open, and I ask it just the stupidest questions about things.

[00:18:49] And just having that kind of pair programming partner, so to speak, someone that I can ask

[00:18:53] questions to, someone that I can ask to look up documentation of this thing while I’m engaging

[00:18:58] with content that may be above my level, I think, like, that interface, that voice interface is

[00:19:03] really important. But then I also, I always ask ChatGPT to, like, summarize what we talked about

[00:19:07] and put it somewhere. And that process is so manual. Like, I got to copy and paste and put

[00:19:11] it somewhere. And I always ask ChatGPT to, like, summarize what we talked about and put it

[00:19:12] somewhere else. Like, that needs to be solved. I’ve been talking to you, and we’ve built some

[00:19:15] shared memory together. How do I get that out of there and into my head in a way that I can

[00:19:19] understand? Some of the criticisms I’ve heard about LLMs is that it does reduce that friction,

[00:19:25] that there is no friction of getting it out of the space there, and you don’t engage with it,

[00:19:29] you don’t process all the articles. Do you think that is a valid one? And are there useful frictions

[00:19:35] to build into an interface? I think this reduction of friction is actually good. I think that the way

[00:19:40] that we should approach this is that AI should invite curiosity and accelerate learning. And

[00:19:45] the hope is that an LLM one day kind of becomes the perfect tutor. You know, if you can imagine,

[00:19:50] like, the only impediment to your learning was yourself, not the curriculum, not the access to

[00:19:55] the information. The next thing that you need to learn wasn’t too hard, it wasn’t too easy,

[00:19:59] and it’s presented in the exact way that you need to understand it. I think that that is

[00:20:02] frictionless. And then we should really strive for that. Because I think if you think about

[00:20:06] what a world would look like if the limits of human intelligence look like

[00:20:10] that, then you’re going to be able to do a lot of things. And I think that’s a good thing.

[00:20:10] That would be kind of awesome, in my mind. You know, the comparison that I like to make

[00:20:15] in this regard is with marathon runners. Everyone is a marathon runner these days. My wife,

[00:20:20] my sister, my brother, they’re all capable of running marathons, not me. But this was unthinkable

[00:20:24] 50 years ago. You know, the New York City Marathon started with 127 runners, half of them

[00:20:29] didn’t finish the race. Today, the New York City Marathon has 50,000 runners. Now apply that to

[00:20:35] intelligence. And that’s the future that I hope AI will bring. That is a promising future. But I

[00:20:39] think one of the frictions I’ve seen most complained about is the actual friction in

[00:20:43] learning. That it’s so easy to get to the product of the learning, right? You get to the essay,

[00:20:48] you get to the finished test, and you don’t struggle in absorbing the material. You’ve

[00:20:53] designed learning interfaces. Are there ways to mandate that the user engages with the material

[00:20:59] in a way that facilitates learning? I think in the context of learning, like that is certainly a

[00:21:04] consideration that we take is that we don’t want these systems to give you the answer because that

[00:21:09] robs you of the experience of learning. However, I think that’s kind of not the tack that many

[00:21:13] companies are taking. They want to automate further, make people more efficient, even maybe

[00:21:18] if it is the detriment of truly understanding these systems. And to some extent, I think that’s

[00:21:23] okay. I don’t know how to program in binary, but I don’t see that as an impediment to me building

[00:21:28] systems for consumers. We’ve seen a few very future looking demos of AI creating interfaces

[00:21:34] on the fly. Do you think that this is something that is going to happen?

[00:21:39] Is useful to happen? Should we want spontaneous interface generated by AI?

[00:21:44] I still think that people know best how other people want to solve problems and how we should

[00:21:49] structure problems that make it easy for people to solve. Imagine you’re like a travel arranger

[00:21:55] for a reality TV show, like Teen Moms or something like that, which is a real user that we’re

[00:21:59] building for. You need to kind of arrange flights for this huge cast and crew that are flying to

[00:22:04] kind of all different locations. They’re there for different times. They’re kind of location scouts,

[00:22:08] crew.

[00:22:09] You know, if you’ve ever booked flights in your life, you know, this is a complicated task. You’re

[00:22:13] juggling variables that no human brain can hold. And humans know best how to externalize memory,

[00:22:22] you know, who’s booked, who is pending, what actually needs to be done next. Humans have a

[00:22:26] really good sense of how to black box systems so that you don’t need to understand the internal

[00:22:31] workings or things. You can kind of hide irrelevant information, only present the

[00:22:36] information that you need to understand this kind of progressive,

[00:22:39] disclosure, changing information density, so on and so forth. I think that right now,

[00:22:43] humans are best to design that. But in the future, maybe we can teach an LLM to do this.

[00:22:48] But I think that this type of problem is challenging to verify, and so therefore

[00:22:52] challenging to teach an LLM to do correctly. I think an LLM can certainly verify whether or

[00:22:57] not a function was written correctly, maybe even if a feature was kind of done correctly.

[00:23:01] But to verify whether an application meets the needs of a consumer,

[00:23:05] that’s extremely hard to verify. It needs to be verified with the market. And I don’t think

[00:23:08] that LLM is going to be able to do that. So I think it’s going to be hard to verify.

[00:23:09] It is that time of the show where we shout out somebody who came on to Stack Overflow,

[00:23:18] dropped some knowledge, shared some curiosity, and earned themselves a badge.

[00:23:21] Today, we’re shouting out a populist badge winner, somebody who dropped an answer that

[00:23:25] was so good, it outscored the accepted answer. So congrats to Sid Ajmera for answering Angular

[00:23:32] Form Control. Check if required. If you’re curious about that, we’ll have it in the show notes.

[00:23:37] I am Ryan Donovan.

[00:23:39] I host the podcast, edit the blog here at Stack Overflow. If you have questions,

[00:23:43] concerns, topics to cover, et cetera, et cetera, you can reach out to me at podcast

[00:23:47] at stackoverflow.com. And if you want to reach out to me directly, you can find me on LinkedIn.

[00:23:52] Cool. Hey, I’m Wesley Yu. I lead engineering at Metalab. If you want to find me,

[00:23:57] you can find me on LinkedIn or on Twitter.

[00:23:59] How can they find out more about Metalab?

[00:24:01] Just head straight to metalab.com.

[00:24:04] Thank you for listening, everyone. And we’ll talk to you next time.

[00:24:09] Take care.