I think the problem is that computers are amazing.
For most of history, technological advances came slowly. When one person had an idea, it took many lifetimes to find an improvement. Democratisation of technology wasn’t a noble dream, but a necessity: if you taught the idea to enough people and got them working in parallel, the odds of one of them finding an improvement increase dramatically.
But computers are so amazing, you don’t need the wisdom of crowds and communities to find the next big thing. You can brute-force it by taking the smartest people you can find, and having them build a new system that automates what people were doing with the old system. It’ll be slower and buggier than the old system, but because computers are amazing, it will still be ten times faster and more efficient than paying people to manually operate the old system, so everyone will still get rich.
In such an environment, there’s no economic incentive to democratise technology; the average person will be better off paying the elite priesthood of programmers than spending years trying to become one. I still think it’s noble to try and democratise development, but I can’t imagine it being effective.
But i want the way that i develop UIs to be primarily a visual editor (drag & drop) & to be able to easily switch to textual editor. I think the main failing of these tools is trying to go full no code, but i think thats a mistake.
UI elements can be fully described by css but with using sliders, colour pickers & number inputs, etc. BUT you’re still learning css, just in a visual way.
When you’re putting together components you should learn the different layout options (with sane defaults) so that when you lay things out you are learning css.
All these elements would be web components & it should have very deep integration with either a package manager or some way of importing other web components.
What this enables is not some no code “dont worry about programming” solution that generates mangled html, but a proper web editor that is better for experienced web developers & teaching new developers best practices!
This is just the start, i have a lot of things to flesh out but i want to work in the web, not switch between a code editor & the web. I want to work in an environment that is super fast dev cycle & deeply integrated in the environment my code runs in.
I think the problem is that computers are amazing.
For most of history, technological advances came slowly. When one person had an idea, it took many lifetimes to find an improvement. Democratisation of technology wasn’t a noble dream, but a necessity: if you taught the idea to enough people and got them working in parallel, the odds of one of them finding an improvement increase dramatically.
But computers are so amazing, you don’t need the wisdom of crowds and communities to find the next big thing. You can brute-force it by taking the smartest people you can find, and having them build a new system that automates what people were doing with the old system. It’ll be slower and buggier than the old system, but because computers are amazing, it will still be ten times faster and more efficient than paying people to manually operate the old system, so everyone will still get rich.
In such an environment, there’s no economic incentive to democratise technology; the average person will be better off paying the elite priesthood of programmers than spending years trying to become one. I still think it’s noble to try and democratise development, but I can’t imagine it being effective.
I am working on this exact problem!
Still very early in the planning phase
But i want the way that i develop UIs to be primarily a visual editor (drag & drop) & to be able to easily switch to textual editor. I think the main failing of these tools is trying to go full no code, but i think thats a mistake.
UI elements can be fully described by css but with using sliders, colour pickers & number inputs, etc. BUT you’re still learning css, just in a visual way.
When you’re putting together components you should learn the different layout options (with sane defaults) so that when you lay things out you are learning css.
All these elements would be web components & it should have very deep integration with either a package manager or some way of importing other web components.
What this enables is not some no code “dont worry about programming” solution that generates mangled html, but a proper web editor that is better for experienced web developers & teaching new developers best practices!
This is just the start, i have a lot of things to flesh out but i want to work in the web, not switch between a code editor & the web. I want to work in an environment that is super fast dev cycle & deeply integrated in the environment my code runs in.