The most interesting part about this for me is that they decided to create their own language or DSL for the task at hand. So it's not just a large language model; it's an LLM with its own language.
I have a feeling that the best AI systems to come will, in fact, be a complete package like this: a harness, a DSL, and an entire package designed to produce certain outcomes cheaper and faster.
And producing that complete package is why software engineering will not be obsolete.
I agree. I'm waiting for someone to invent a programming language designed for LLMs where for a given partial program p and candidate token t it's possible to tell whether p+t can be the prefix of a correct program or not so that t can be excluded from the LLM's probability distribution at generation time, so the LLM can only generate correct programs. Or something like that.
Chat Ui killed the GUI star. language is The ultimate UI. I guess you still need graphs (mainly so you can have dramatic moments in movies), but that's it
Another way to think of this is you just ship the UI DSL, and the user can get the app to customize it themselves with built-in guardrails. Everything should be LCARS at this point.
Nothing stops you from caching known states and workflows, or simply making the "fast" part of your interface fixed. I think this could be genuinely useful for one-off cases for which no interface exists, or simply for interface prototyping and design.
The goal of generative UI should be to make software more personal while preserving the workflows people already know. Two users might have very different interfaces, but each should have a consistent experience over time.
I can only imagine the troubleshooting and customer support experience. Yet another problem created by “ai” that’s probably only solvable with more “ai”
It should be possible to run on Mac via https://github.com/mmastrac/diffgemma, but I'm at rustconf right now and I can't download weights on hotel wifi easily.
Why? Is two seconds too long? Would your other constraints be easier (usability and hardware spec) if this was longer? Does anyone actually need a UI generated in under a second?
The term "Generative UI" refers to a front-end design approach where an AI model dynamically builds a UI in real time instead of relying on static, hard-coded templates.
In Generative UI, the interface needs to built in realtime based on context and intent of the user. Hence the constraints. Ideally we are targeting sub 500ms to compete with current software.
GenUI isn't about designing cosmetic "skins." (Usually, anyway. I guess it could be used for that)
It's generally for letting users customize the own workflows. How many times have you, or one of your users, liked a piece of software because it mostly fits an existing workflow but that remaining 20% is an annoyance, or maybe even a dealbreaker?
This is probably more common for businesses. They have existing procedures. and they want your software to fit into their existing processes and workflows... not the other way around.
GenUI is far from a one size fits all approach or magic bullet, but it can address a lot of those situations that either would have been dealbreakers, annoyances, or change requests. I suppose it can also help with user retention; once they've put the time and effort into customizing your product they theoretically are less likely to switch to a competitor.
Existing OpenAI/Anthropic models seem to already handle this pretty well. As you might expect, letting users describe their own UI is pretty easy. The hard part is making it work and making sure they don't escape their sandbox...
Quite interesting to see no real comments here for 50+ minutes, so I will kick it off.
I'm a huge believer in this future of software. Having the UI layer completely abstracted from pre-written code and dynamically generated "on the fly" based on the context of the user is, I believe, the future.
Just think about the complexity of localization and how many IFs you had to write to solve different language versions, etc. in the old PHP code. A lot of that complexity can simply disappear.
Having dynamically built UI won't only be better for the user experience, it can actually allow us to create much more personalized experiences (I hate when UI teams constantly redesign perfectly fine software).
Interestingly, this will open up a completely new consumption interface, because I believe there will be a UI predefined by the creator of the application (your day 1 user experience) that will then evolve into a more personalized experience over time.
I agree somewhat. An example might be a .md file describing a UI for commonly used tool that is invoked whenever you reference it. This could be a stripped down version of a complex UI for some software that has a lot of different uses (like 3D modeling programs and image editors) allowing the user to focus on the subset of work they do with it.
> Just think about the complexity of localization and how many IFs you had to write to solve different language versions, etc. in the old PHP code. A lot of that complexity can simply disappear.
IFs! Oh no! Throwing all of this into a non-deterministic and expensive black box is making it less complex, you say?
I have a feeling that the best AI systems to come will, in fact, be a complete package like this: a harness, a DSL, and an entire package designed to produce certain outcomes cheaper and faster.
And producing that complete package is why software engineering will not be obsolete.
Seems like many AI products ride the same wave now. Open WebUI, OpenHands, OpenUI. I am a bit more dubious about this affiliation, though.
Congrats! Now you need to relearn it every time you open the app.
I'm amazed that this blog doesn't even have a single screenshot/photo of the kind of UI they can generate.
Focusing on benchmarks in this domain feels very wrong.
Why? Is two seconds too long? Would your other constraints be easier (usability and hardware spec) if this was longer? Does anyone actually need a UI generated in under a second?
It's generally for letting users customize the own workflows. How many times have you, or one of your users, liked a piece of software because it mostly fits an existing workflow but that remaining 20% is an annoyance, or maybe even a dealbreaker?
This is probably more common for businesses. They have existing procedures. and they want your software to fit into their existing processes and workflows... not the other way around.
GenUI is far from a one size fits all approach or magic bullet, but it can address a lot of those situations that either would have been dealbreakers, annoyances, or change requests. I suppose it can also help with user retention; once they've put the time and effort into customizing your product they theoretically are less likely to switch to a competitor.
Existing OpenAI/Anthropic models seem to already handle this pretty well. As you might expect, letting users describe their own UI is pretty easy. The hard part is making it work and making sure they don't escape their sandbox...
It's also the only sentence I read on that page before closing it, of course.
I'm a huge believer in this future of software. Having the UI layer completely abstracted from pre-written code and dynamically generated "on the fly" based on the context of the user is, I believe, the future.
Just think about the complexity of localization and how many IFs you had to write to solve different language versions, etc. in the old PHP code. A lot of that complexity can simply disappear.
Having dynamically built UI won't only be better for the user experience, it can actually allow us to create much more personalized experiences (I hate when UI teams constantly redesign perfectly fine software).
Interestingly, this will open up a completely new consumption interface, because I believe there will be a UI predefined by the creator of the application (your day 1 user experience) that will then evolve into a more personalized experience over time.
So much room to grow in this space.
IFs! Oh no! Throwing all of this into a non-deterministic and expensive black box is making it less complex, you say?