Summary

XMLUI brings a fresh, declarative approach to building web interfaces using native, composable components—no heavy frameworks required. It's a promising path toward giving Picos the ability to serve their own UIs again, natively and autonomously.

The web has come a long way since static HTML. Even so, building user interfaces is still often an exercise in complexity: frameworks layered on frameworks, intricate build tools, and brittle glue code tying everything together. But there's another way—native, composable building blocks, pieces of UI that can be easily reused, reasoned about, and combined without pulling in half the npm registry. That's the promise of web components, and it's why tools like XMLUI are exciting. They let us focus on function and structure, not scaffolding and ceremony.

I'm going to skip the technical deep dive. You can get that on the XMLUI site or in Jon Udell's excellent XMLUI introduction. But even just a simple example can show the power of components.

Imagine you need a table that displays updated information about the status of London tube stations.

Tube Stations UI

Normally, you'd link to an API, fetch the data, loop over the JSON, and build the DOM with JavaScript or a framework like React. Or...you could do it with XMLUI like this:

<App>
    <Table data="https://api.tfl.gov.uk/line/mode/tube/status">
        <Column bindTo="name" />
        <Column header="status" >
            {$item.lineStatuses[0].statusSeverityDescription}
        </Column>
    </Table>
</App>

This is a web component in action: you name the data source, define the structure, and let XMLUI handle the heavy lifting. And this is just scratching the surface, there are multiple component types, styling options, even MCP (Multi-Component Pages) interfaces for multi-agent or AI-powered applications.

One reason I'm personally excited about XMLUI is that I've been looking for a way for Picos to create their own interfaces, rather than relying on an external React app, like we did with Manifold. Picos—distributed, autonomous agents with lightweight logic—used to have UI capabilities. XMLUI components might allow them to regain that ability, natively and declaratively. Bruce Conrad has already been experimenting with this, and I love the idea of using a tool we don't have to build ourselves. Lightweight, component-driven, and web-native, XMLUI seems like a natural fit for Pico-based architectures.

XMLUI isn't just another UI framework, it's a shift toward declarative, modular web development that feels especially well-suited to the world of Picos. By letting components define themselves, serve themselves, and run directly into the browser, we can finally build UIs that are as lightweight and autonomous as the agents they represent. There's still more to explore, but I'm optimistic that XMLUI can help bring back a native interface layer for Picos that's simple, composable, and entirely in their control for easier development and deployment.


Please leave comments using the Hypothes.is sidebar.

Last modified: Mon Jul 21 11:25:32 2025.