[♪ music ♪ Hey everybody, thank you so much for coming out! Stoked to be here! Like Scott said, my name is Wes. I'm half of or part of Syntax, actually not half, we have a big team now. I'm here today to talk to you about agentic interfaces, and like, don't leave yet, because I know how obnoxious some of these hucksters are, and I'm not here to sell you anything today, but like, you've probably heard at least one of these things today, right? UI is dead, chat is the final interface, just give me a skill, bro. All of these things, the web is dead, my grandma's vibe-coded, all kinds of stuff, and we're kind of sitting here being like, well I paid all this money for this conference, and I'm leaving kind of bummed out, you know? Like, do we even need websites anymore? So, yes, that's the talk, thank you for coming, but the way that we interact with the web certainly is changing, so let's take a look at some ways that we actually interface with software.
So, sometimes, I don't want a UI at all, right? This is a piece of software called Handbrake that I use, and I use it to like, convert, and resize, and transcode videos, and every time that I open it, I just go like, which of these buttons do I need to fill out? And like, I don't use it anymore, because I do this, clod-p, compress this to 300 megs, you know? And it just FFmpegs, I don't know what it's doing, but it's doing a bunch of stuff, and out the other end comes the thing I wanted, right? Sometimes, I just want to use my voice, I just yell at the Google, the Siri, or whatever it is, what do Europeans use over here, something like that? Vlad, that's not a European name. That was a bad joke. Sometimes, I want to use your UI, but I hate the busy work, so I use this thing called FreshBooks to categorize all of my expenses, and it kills me, because I have to click a whole bunch of things and open things in new tabs, and if it's Canadian, I have to make sure that it includes the Canadian sales tax, and I'm just like, this is just a whole bunch of busy work I should not be doing, I want to just write a prompt and have it do what I want, right? Sometimes, I do want the UI in my AI, so MCP apps, like we learned about this morning, they have this great thing where you can ask Clawd to make something, and it's going to create a nice little animation for you, or you can ask it to summarize some stats, and it's going to inline it right for you. Sometimes, I want the UI tailored to my needs. This is why absolutely everybody right now is just vibe coding their perfect version of some software, and I think that's awesome because people have had frustrations with software for so long, and now you can finally just make your own version of something that does exactly what it is that you want. Sometimes, I want my apps to kiss, right? Like, this is the explosion of skills and tools and CLIs and all of that stuff that we're seeing right now, and this is probably the best use case that we have right now, which is I have one agent, and then I have all of these different things connected to it via MCP or tools or skills or agentic browsers, all of the different stuff, and it's like one little command center where I can run everything from. So we have all of these different ways, so how do we as developers implement all of these interfaces? So let's take a look at one, which is generative UI, right? So generative UI is when the AI dynamically will create, transform, or simply just select the AI in real-time in response to a user input as well as contextual clues. So the very basic, we saw this slide earlier today where it's like there's kind of three ways you can do it, right? The first one is the very basic, like how many of you have built an MCP server with tool calls before, right? A handful of you. In that case, you're going to declare what the tools are, get weather, you may be able to pass it some params, and the server is going to return data. With a static UI, you might also return like a static component that then renders out to some weather thing, and you render it out inside the chat or on your webpage or whatever it is that you want. Then like a step further, you have like declarative UI, which you may have like a whole bag of components that you use for your website, and you'll give all of those to an LLM, and you ask the agent or the LLM to figure out which of these building blocks will you compose together to make it? And then you say, I need to reschedule my flight, and it's going to return to you some sort of spec, right? It's often JSON, sometimes it's streaming text, and that's going to return to you. You say, all right, well, given I know that you have these components, I'm going to click them together for you, and then we're going to render out what I think is going to be like a nice UI for yourself. And the third one is like fully generative, like whole hog all the way out. And I like to refer to this one, or you've probably heard this term as like code mode. Just like this, let let the AI generate it all and give it a spot to run some code. So in order to understand what these things are, let's take a look at this application right here. Pretty simple grocery list. You got multiple stores. You're able to add stores. You can add items. You can drag and drop. You can mark them. You get the point, right? It's you add stuff to a list. And a simple example of like inlining components where you may go to the chat and say, hey, I want to add some items to my thing. But like I don't want to just use the chat. I want to be able to like see the components.
Comments