Live data from Hacker News

I turned Markdown into a protocol for generative UI

fabian-kuebler.com

61–70 of 72 posts

Re: I turned Markdown into a protocol for generative UI

#61
post #35

I will say I came upon this same design pattern to make all my chats into semantic Markdown that is backward compatible with markdown. I did: ````assistant gemini/3.1-pro - 20260319T050611Z Response from the assistant ```` with a similar block for tool calling This can be parsed semantically as part of the conversation but also is rendered as regular Markdown code block when needed Helps me keep AI chats on the files…

> AI chats as a valid document

So many formats, with different tradeoffs around readable/parsable/comments/etc. I wish there was a "universal" converter. With LLM's sometimes used to edit chat traces, I'd like ingestion from md/yaml, not merely a "render from message json".

So .json `[{"role": "user", "content": "Hi"}` .md ` ```json\n[{"role": "user", "content": "Hi"}` above ` ```user\nHi` `# User\nHi` ` ```chatML\n\nHi` .html rendered .md, but with elements like and escaped... etc.

Re: I turned Markdown into a protocol for generative UI

#62

Earlier quoted context omitted.

Personally I think we should move to heptagons, they're round enough. The wheel is what I would call, passé.

I disagree. Hexagons are the bestagons.

What is a hexagon if not 4 triangles in a trenchcoat?

Re: I turned Markdown into a protocol for generative UI

#63
post #35

I will say I came upon this same design pattern to make all my chats into semantic Markdown that is backward compatible with markdown. I did: ````assistant gemini/3.1-pro - 20260319T050611Z Response from the assistant ```` with a similar block for tool calling This can be parsed semantically as part of the conversation but also is rendered as regular Markdown code block when needed Helps me keep AI chats on the files…

> AI chats as a valid document So many formats, with different tradeoffs around readable/parsable/comments/etc. I wish there was a "universal" converter. With LLM's sometimes used to edit chat traces, I'd like ingestion from md/yaml, not merely a "render from message json". So .json `[{"role": "user", "content": "Hi"}` .md ` ```json\n[{"role": "user", "content": "Hi"}` above ` ```user\nHi` `# User\nHi` ` ```chatML\n…

Do you know the meme about carcinization ...how in nature, everything tends toward becoming a crab?

I think we are reinventing HTML from first principles. It's semantic structuring with a meaningful render

Re: I turned Markdown into a protocol for generative UI

#64
post #4

If you're still looking for a name let me suggest "hyper text". It embodies the whole idea of having data, code and presentation at the same place. If you're open for contributions I already have an idea for cascading styles system in mind.

Or more precisely, isn't this reinventing notebooks (not the first JS-centric notebook either)?

Re: I turned Markdown into a protocol for generative UI

#66
post #63

Earlier quoted context omitted.

> AI chats as a valid document So many formats, with different tradeoffs around readable/parsable/comments/etc. I wish there was a "universal" converter. With LLM's sometimes used to edit chat traces, I'd like ingestion from md/yaml, not merely a "render from message json". So .json `[{"role": "user", "content": "Hi"}` .md ` ```json\n[{"role": "user", "content": "Hi"}` above ` ```user\nHi` `# User\nHi` ` ```chatML\n…

Do you know the meme about carcinization ...how in nature, everything tends toward becoming a crab? I think we are reinventing HTML from first principles. It's semantic structuring with a meaningful render

Hmm. HTML has always had goals and tradeoffs which are in tension with many uses. XML too. Witness the very many versions of "write this instead, and it becomes HTML" - long and widely used and valued. Perhaps we collectively might have done better, but we didn't. Turns out LLMs also find different formats significantly easier to use for different things.

As a tradeoff example, yesterday I again tripped on the KISS "CDATA doesn't support HEREDOC-like prefix whitespace removal". So does one indent, compromising payloads where leading ws is significant, or not, confusing humans and llms.

Re reinvention and first principles, aside from engineering tradeoffs, it can be hard to understand design spaces and to be aware of related work. I suspect there's a missing literature to support these, but professional organizations have been AWOL, and research funding dysfunctional. And commercial conflicts of interest. And it's hard. But now coding LLMs are messing with "don't reinvent wheels" payoff tables. Perhaps we'll someday be able to be explicit about design space structure and design choice consequences too. And perhaps we're already getting transformatively more flexible around format extension and interoperation. TFA isn't just a new format - it's a github repo which will help teach LLMs how to do progressive execution of fenced code blocks, making the next format which does this potentially easier to create. "Merge in what X does, but ". Yay?

IIUC, non-meme carcinization is something vaguely like "similar tradeoffs pressure towards similar forms in diverse contexts". LLMs might help us more easily understand tradeoffs, implement forms, and manage diversity?

Re: I turned Markdown into a protocol for generative UI

#67

The streamed execution idea is novel to me. Not sure what’s it significance ? I have been working on something with a similar goal: https://github.com/livetemplate/tinkerdown

The significance is responsiveness — instead of waiting for the LLM to finish generating the entire code block before anything happens, each statement executes as soon as it's complete. So API calls start, UIs render, and errors surface while the LLM is still streaming tokens. Combined with a slot mechanism, complex UIs build up progressively — a skeleton appears first, then each section fills in as the LLM generates…

That is super cool. Sorry to be nitpicky but would really like to know your mental model: I didn’t understand from the blog why user waiting for a functional UI is a problem ? isn’t the partial streamed UI non-functional ?

I can see the value in early user verification and maybe interrupting the LLM to not proceed on an invalid path but I guess this is customer facing so not as valuable.

"In interactive assistants, that latency makes or breaks the experience." Why ? Because user might just jump off ?

(edited)

Re: I turned Markdown into a protocol for generative UI

#68

Earlier quoted context omitted.

The significance is responsiveness — instead of waiting for the LLM to finish generating the entire code block before anything happens, each statement executes as soon as it's complete. So API calls start, UIs render, and errors surface while the LLM is still streaming tokens. Combined with a slot mechanism, complex UIs build up progressively — a skeleton appears first, then each section fills in as the LLM generates…

That is super cool. Sorry to be nitpicky but would really like to know your mental model: I didn’t understand from the blog why user waiting for a functional UI is a problem ? isn’t the partial streamed UI non-functional ? I can see the value in early user verification and maybe interrupting the LLM to not proceed on an invalid path but I guess this is customer facing so not as valuable. "In interactive assistants, t…

Maybe I am a bit overdramatic ;) For me this is mostly about user experience. If the agent creates a complex mini app, the user might have to wait 30 seconds. That's 30 seconds without feedback. It's way nicer to already see information appearing - especially if that information is helpful. Also the UI can be functional already, even if it's not 100% complete!

Re: I turned Markdown into a protocol for generative UI

#69

Earlier quoted context omitted.

That is super cool. Sorry to be nitpicky but would really like to know your mental model: I didn’t understand from the blog why user waiting for a functional UI is a problem ? isn’t the partial streamed UI non-functional ? I can see the value in early user verification and maybe interrupting the LLM to not proceed on an invalid path but I guess this is customer facing so not as valuable. "In interactive assistants, t…

Maybe I am a bit overdramatic ;) For me this is mostly about user experience. If the agent creates a complex mini app, the user might have to wait 30 seconds. That's 30 seconds without feedback. It's way nicer to already see information appearing - especially if that information is helpful. Also the UI can be functional already, even if it's not 100% complete!

No that makes sense. Waiting for feedback might lead to churn. Pretty cool idea.

Re: I turned Markdown into a protocol for generative UI

#70

Earlier quoted context omitted.

Personally I think we should move to heptagons, they're round enough. The wheel is what I would call, passé.

I disagree. Hexagons are the bestagons.

Some triangles are so acute though.
Post reply on HN