I spent years of my life on the problem of generating useful multi-platform code from a GUI tool and integrating it into designer and developer workflows. Before giving up I made React Studio (https://reactstudio.com) which is owned by my co-founders now.
It's insanely difficult. Nobody's needs are exactly the same, and nobody can agree even on the basics of how a web app is structured: where does CSS go, how do you update your global data, etc.
The abstractions I had to build to handle that then increased the learning curve to such levels that it became more like a CAD tool where you'd practically need to train teams into a new way of thinking for them to become productive. Having traction with a few customers never seemed to translate into something scalable. (Maybe with an actual sales team an enterprise strategy could have worked.)
My original version of the product was a mobile-only UI tool that generated native code for iOS and Android. In retrospect that was a better product than trying to expand into full-blown web apps. In native, a button is a button and a tab bar is a tab bar (with small differences between UIKit and Android); in web anything can be anything, and it's a point of pride to reinvent the basics constantly, so a tool must somehow adapt to the shifting tides of how CSS must look this year.
Yeah I can learn a lot from React Studio—I think a lot about keeping the learning curve down for growth, so I'm glad you pointed that out. I'm focusing on enterprise sales next and actively looking for people to help with that, so again I think you're right. Thanks for the feedback!
You're welcome, and I hope you crack this — the industry is stuck in a local maximum with tools based on what are essentially 1970s concepts (unstructured code-as-text and unstructured vector graphics).
Two more random thoughts on this topic...
I've long felt there's an important role missing in our industry. Architects don't draw a bunch of façade sketches, ask people if they look good, and then send them to construction engineers to figure out what the beige box in the drawing might actually mean. But that's how a lot of software is made. The problem is that we only have designers and programmers. The construction industry has many kind of design engineering roles in the middle, and they have specialized tools.
In my mind, the missing role is something like an interaction architect. Someone who emphatically is not a graphic designer nor a front-end developer, but an expert on the structure of applications, how UX affordances translate into maintainable and accessible UI structures, etc. (This is the kind of role I hoped to enable with React Studio, but it was a failure and I'm too burned out from the experience to ever try again, probably.)
The second thing I wanted to note is a warning example. I worked a couple of years at Facebook, and they had an internal React GUI design tool that was one of the best I've ever seen. Yet it was discontinued last year. The replacement was basically "We'll somehow make Figma do this eventually", which disappointed the people who had come to depend on the internal tool.
Facebook/Meta is known for having some of the best internal tools in the industry, and spending a lot of resources to make those tools better. Why didn't it work out? My guess is that the team required to build this complexity was too large and projected usage was too low to justify development... But it's a worrying sign that even Facebook couldn't make this kind of tooling work. There was a captive audience of users who could have been required to adopt the software if the benefits were large enough. But it just didn't seem to cross the treshold from "interesting, very cool achievement" to "compelling, we'll fall behind if we don't use this."
> In my mind, the missing role is something like an interaction architect. Someone who emphatically is not a graphic designer nor a front-end developer, but an expert on the structure of applications, how UX affordances translate into maintainable and accessible UI structures, etc.
I spent years of my life on the problem of generating useful multi-platform code from a GUI tool and integrating it into designer and developer workflows. Before giving up I made React Studio (https://reactstudio.com) which is owned by my co-founders now.
It's insanely difficult. Nobody's needs are exactly the same, and nobody can agree even on the basics of how a web app is structured: where does CSS go, how do you update your global data, etc.
The abstractions I had to build to handle that then increased the learning curve to such levels that it became more like a CAD tool where you'd practically need to train teams into a new way of thinking for them to become productive. Having traction with a few customers never seemed to translate into something scalable. (Maybe with an actual sales team an enterprise strategy could have worked.)
My original version of the product was a mobile-only UI tool that generated native code for iOS and Android. In retrospect that was a better product than trying to expand into full-blown web apps. In native, a button is a button and a tab bar is a tab bar (with small differences between UIKit and Android); in web anything can be anything, and it's a point of pride to reinvent the basics constantly, so a tool must somehow adapt to the shifting tides of how CSS must look this year.