Build

One More Device Attached — The Host Was Not Touched

Putting several devices on one screen normally means the host writes the joining logic, so every added device means editing the host. Here that joining moves down into the document. We put three devices on one page, added a third, and checked whether the hash of the host binary changed. Then we killed one.

By makemind · Aug 21, 2026

The last two pieces handled one device: it hands over its screen, and that screen arrives without an install.

Sites do not have one device. A wheelhouse has generators and ballast and a fuel gauge together. This piece is about what happens when several are gathered onto one screen.

Normally the host writes the joining

To see several devices on one screen, the app usually holds that joining in code. Which device's value goes where, which button reaches which device — the app knows.

So every added device means editing the app. And the combination is fixed at build time. When the equipment mix at a site changes, the app has to come out again.

Here the joining moves into the document

The composition profile of UI DSL 1.4 moves that joining into the document. The host does two things — hold connections, and open the origin the document names. There is no joining logic.

The document says: put the screen this connection gives here; put the screen that connection gives there.

The profile fixes four properties.

  • Each device's served screen goes in unmodified. The device does not know it is being composed.
  • Operations and subscriptions inside an embedded part go to that device.
  • Failure is isolated per tile.
  • Adding a server does not change the host.

All four are written in the specification. So we measured them on screen.

A patch panel with its cables bundled
A patch panel with its cables bundled

What was measured — three nodes

Three MCP nodes went up. Boiler A, Pump B, Valve C. Each serves its own screen, holds its own value, exposes its own tools. None knows the others.

Then one document that puts the three on a page. That document does not say what will be drawn. It says only which connection goes where.

① Three tiles drew as their own screens. Each with its own name, unit, colour, value. The app supplied none of it.

② A tile's button reached only its own server. Press the first tile's button and only the first server's value moves. We asked the servers directly — 29 → 30, the other two unchanged. Press the second, only the second. Press the third, only the third.

This is the quietest place composition can be wrong. The screen can draw correctly while the button goes to the wrong server, and that error does not appear on the screen.

③ One was killed. The second node was brought down. Only that tile became a fallback; the first tile stayed alive. The page and everything under it kept drawing. A screen with one of four devices off is a screen with three alive — not a blank page.

④ A third was added. Two entries went into the document — one connection, one slot. And the hash of the host binary was compared before and after.

It was the same. There was no rebuild.

This content requires Developer or above

Sign in and upgrade your plan to continue reading.

View Plans
Twitter