Ask HN: Why has no one created an AI to generate user interfaces?
After seeing success of Imagen and DALL-E it seems it would be trivial to generate user interfaces with help of an AI. That would save so much time of teams and also help an individual developer release a better product.
11 comments
AI is just statistics. It is neither intelligent, nor does it know anything. Especially not what your program wants to do, or in what kind input is needed.
If you got it somehow trained on 30,000 calculator GUIs it still might get a working calculator GUI out, but that would be much more effort than just doing it normally. And it could never generalize it to other programs, especially not to new ones, where no training base exists.
If you got it somehow trained on 30,000 calculator GUIs it still might get a working calculator GUI out, but that would be much more effort than just doing it normally. And it could never generalize it to other programs, especially not to new ones, where no training base exists.
> it would be trivial to generate user interfaces with help of an AI
There is a difference in composing a described image and engineering an interface. The image has to satisfy it's constraints (eg. "a spheroid blue giraffe"), the interface has to be useful to the user.
There are endless ways to draw something that is spheroid, blue-ish and looks somewhat like a giraffe, and all of them are correct.
Similarly, there are endless ways to draw "Three buttons and an input field"...but not all of them are useful. If I put the input field in the upper left corner, let two buttons overlap in the middle, and put the third one in the lower right, I satisfied the constraints, but who wants to use the result?
Sure, I could make the description more precise, that is, make the constraints so narrow that in order to fulfill them, the AI has no choice but to generate exactly what I want. But at that point, I already did the work myself.
There is a difference in composing a described image and engineering an interface. The image has to satisfy it's constraints (eg. "a spheroid blue giraffe"), the interface has to be useful to the user.
There are endless ways to draw something that is spheroid, blue-ish and looks somewhat like a giraffe, and all of them are correct.
Similarly, there are endless ways to draw "Three buttons and an input field"...but not all of them are useful. If I put the input field in the upper left corner, let two buttons overlap in the middle, and put the third one in the lower right, I satisfied the constraints, but who wants to use the result?
Sure, I could make the description more precise, that is, make the constraints so narrow that in order to fulfill them, the AI has no choice but to generate exactly what I want. But at that point, I already did the work myself.
What about AI-generated UI connected to AB testing based on constraints like time-to-complete actions, user page churn, or accessibility scoring?
That would kinda be neat but also a little dystopian. I already hate being subject to A-B tests and poorly-designed UI enough as it is.
That would kinda be neat but also a little dystopian. I already hate being subject to A-B tests and poorly-designed UI enough as it is.
AB testing doesn't show many very different variants, but a few (usually 2) which are only slight variations of one another.
So the AI would still need very narrow guidelines (aka. an existing design) to build the interfaces for testing, it couldn't try a lot of variations, and the process would be slow, as each new set of iterations has to be presented to testers/users and evaluated, before the next small batch can be prepared.
So the AI would still need very narrow guidelines (aka. an existing design) to build the interfaces for testing, it couldn't try a lot of variations, and the process would be slow, as each new set of iterations has to be presented to testers/users and evaluated, before the next small batch can be prepared.
There are some reasons why no one has created an AI to generate user interfaces. One reason may be that it is difficult to create an AI that can understand the complexities of human-computer interaction. Another reason may be that creating an AI to generate user interfaces would require a lot of training data, which may be difficult to obtain. Finally, it may be that there is no clear need or demand for such a tool.
Another reason is that people have tried already, but it's more about compliance than anything. When it becomes about actually helping developers make interfaces so they don't have to hire designers, that will be way better than what anything like Accessibee etc have ever done.
Just FYI, I've never used the thing, and would never I think they're worthless.
https://accessibe.com/
I’m working on it for UI Drafter.
The idea is that a domain-expert drafts (specs out) the I/O fields and their order. Then the tool suggests UIs.
Right now the tool generates one working prototype. But soon it will generate variations.
Check it out it’s 100% free, advise and feedback is appreciated.
https://uidrafter.com
The idea is that a domain-expert drafts (specs out) the I/O fields and their order. Then the tool suggests UIs.
Right now the tool generates one working prototype. But soon it will generate variations.
Check it out it’s 100% free, advise and feedback is appreciated.
https://uidrafter.com
A good UI is built from a deep understanding of the users' needs. No AI will ever have an "understanding" of anything, just statistical regurgitation of its learned inputs.
It's likely coming (along with a slew of other no-code solutions). But perhaps nobody is seriously pursuing this yet — you could have a startup idea on your hands!