Look at me I'm old yelling at clouds!
Look at me I'm old yelling at clouds!
Ok, dreamweaver code was ugly and unusable when AI generated code is not too bad (sometimes). But still, I also feel we kinda were already close to where we’re at today.
Well, no one else on the team was that familiar with java swing so they couldn't work with it, so one of my coworkers had to spend an hour rebuilding the panel in the UI builder that the rest of the app worked in. It produced a perfectly functional UI that had all the features requested and could be maintained by anyone on the team. Sure, the raw java file was twice as long, but who cares? It gets compiled.
I was enlightened on that day. "Elegant" is worthless in most cases. Five years later that entire app was rebuilt as a web app and nobody gave a shit whether one of it's option panels was artisanally hand crafted with care and love or spit out by an actually really good and regularized UI builder.
We are data plumbers. Nobody cares if the pipes you laid out are arranged to look like the mona lisa, and it's probably worse for the customer and maintenance that way anyway.
Webflow has been around for a while and I’m sure they implemented AI already (I didn’t even check). Other React-based tools surely also exist, but have an even smaller user base.
For web apps the level of custom logic makes it unavoible to just code. Since web developers tend to be coders they would code static sites too. And use what they are most comfortable with, usually React.
(in Jest, I know it doesn't solve every problem!)
Now for things that aren’t my core business (day job or side project) I’m much more likely to reach for a paid off-the-shelf solution.
After months of putting off building a marketing website for my side project I just paid for a tool to build/host it so all I had to do was plug in my info. Yes I could have hosted it for pennies on S3 with CloudFront in front of it but instead I setup a cname, paid like $20 for the year, and let this other company handle the responsive design (template) for me.
They're made with Wordpress, Squarespace, etc.
As others mentioned the closest descendant of dreamweaver today is most likely Webflow.
VB was highly opinionated; it made native windows-style UIs and nothing else. Nobody was taking arbitrary mockups from designers, with a wildly custom look-and-feel, and replicating them down to the pixel in VB.
Today, most product GUIs are part of the brand. For better or worse, every company wants a distinctive look and feel and set of UI behaviors. This requires the tools used to build them to be much more complicated.
You could replicate VB in a browser. Many people have done roughly that. But nobody uses them to build products, because their company doesn't want boring/generic UIs.
I'm sure it was some monstrosity of a hack. I didn't understand it at the time.
Don't get me wrong, these new tools are cool, and I imagine they'll be great for prototyping small things quickly!
Nobody that has ever had to maintain software is going to look at this and be impressed. Without a reproducible and predictable set of transforms from the source artifact to the product artifact(s), maintenance of software generated in this fashion will be impossible. The concept of a "localized" change doesn't exist; you have to assume that any and every change risks breaking the entire product.
This is, of course, just another version of folks looking at something that mimics a (structured, evolved) human activity and assuming that it is in fact reproducing that activity, rather than just copying some subset of the visible consequences of that activtiy.
Recall that this is an LLM; it doesn't "think", it's just cutting and pasting "likely" scraps of things from its training set. At this point, the vast majority of those scraps were human-generated, so a) many of them work, and b) copying them in this fashion is plagiarism ("the offense of taking passages from another's compositions, and publishing them, either word for word or in substance, as one's own")
The interesting part is going to be stitching such parts together into a whole which has no direct analogs, but each stitching step does.
A decade after that, something floated around for a year or two called Visix Vibe, which gave the same thing, but for this relatively new language (at the time), Java.
Every few years, maybe 4-5 or a decade or so, someone gets the itch to make all the complexity fade away. Eventually though, they build an OS.
There’s no reason HTML can’t do a lot more than it does out-of-the-box, saving crazy numbers of developer-hours and piles of user frustration every year. It just doesn’t.
I want to make a 3-d world based on photographs (even stereo) and visual art and to do that I need to import JPG or PNG images. No can do. They have a short list of textures they supply, but you cannot import media assets like images, audio, video, geometry, point clouds, whatever, ...
McDonald's would insist on putting a Coca-Cola logo on the cups and so would every other brand.
Yup. Been a long time since I've used an un-customised standard button outside my personal projects, no matter how much R&D has been spent by Apple on working out what it means for a UI to be good.
I think just regretting an old feature long gone without proper context is dangerous. If we are to bring back those approaches we have to keep in mind exactly why they went away in the first place.
I'm not sure you're replying to the same thing. I never used VB much, but Delphi was not and is not no-code. In fact it emphasised using libraries a lot ('components' in its terms are classes provided by libraries) and the UI had a text description, which was streamed and created at runtime.
Delphi today could indeed create something doing this just as fast, and you wouldn't draw a trackbar and hope it's recognised in the image by the AI... you'd drop an actual trackbar.
Delphi's visual editor allows you to position, link together and configure visual and non-visual components in design time, automatically serializes all the components into text file and in runtime your program deserializes these components from the resource embedded in the program's binary file. It also allows you to create handlers for events like OnButtonClicked or OnDBConnectionOpened where the usual arbitrarily complex programming happens.
The first result from google showing what this looks like: https://www.youtube.com/watch?v=AyWm24ekSVM
a) For UX people who have minimal programming knowledge but need to produce mockups.
b) For people like me who might want a basic UX to start with for demo purposes.
I've tried Glade before but the time I used it I didn't find it a particularly pleasant experience
Sadly I, like all programmers, have been peer pressured or something into avoiding tools like that. But I know they exist. I also made one several years ago. (No one was interested).
But I think if you search for "RAD" or "Rapid Application Development" or graphical component based development may get quite a lot.
I think that there are several plugins for WordPress that have similar functionality, although less code integration.
Maybe search for "drag and drop React editor".
It isn't uncommon that you prototype with a tool and it is super fast but before you can launch for real you need to rewrite everything.
At that point it is difficult to know if the prototype was valuable. Certainly quickly visualizing is good but a prototype tool that is non functional is even faster to use.
Having a tool that allows easy drag and drop without any friction on the generated code (including difficulty of using that code) while also having all the powers of HTML would be really cool.
Such a tool wouldn't be a beginner tool but any that fail this and can't really go all the way to final product gets discarded as "I am going to have to rewrite anyway".
Less of a "I am too good for that" more a "not a useful abstractions level" when considered holistically.
When they decide not to use those tools they will use rationales like you said rather than admitting that they felt peer pressure.
If you want to use low code website builders, feel free. If that suits your work style and the projects you're building, great.
But you will never develop the skills you need to actually build software. A person who spends their life using website builders instead of writing software will never be able to build their own website builder, for example.
Some of us actually like to have the skills to build the tools ourselves.
If you want to call that peer pressure, then sure. It's peer pressure to elevate your own experience and attain mastery, instead of settling for only ever using tools that other people built for you.
By the way, I have been programming for 38 years on many platforms and have built my own drag and drop UI editors and frameworks. I don't use these types of tools today because they are not popular and because of psychological factors as I said. But I still think that it would be more logical if programmers used them more often. And the times that I used them in the past they did increase my productivity.
The types of tools I am talking about often require editing code to customize functionality. They are not no-code tools.
Similarly if you use a code generating tool written by a software engineer and then adjust the code output, it doesn't make you a software engineer.
Yes, software engineers can use those tools, but they're limiting their growth as engineers if they rely too heavily on those tools.
If that's peer pressure, then I am unapologetic about it. I'm not hiring people who can't build their own code to work as software engineers.
When we went to the browser we took 30 years of UI development knowledge and UI/UX principle and flushed it down the toilet.
Only very recently have we started to gain composability in browser UIs through things like React, and it's a sad facsimile of the widget composability we had in WYSIWYG UI development on PCs in the late 1980s and early 1990s.
The web is a shit UI platform, but that's because it wasn't designed to be one. UIs were shoehorned into a hypertext system designed for viewing documents.
... like DOS, Unix, BASIC, JavaScript, and loads of other things we got stuck with at various times.
Network effects are a force of nature that doesn't care about you. They are not your friend.
I still think it's impressive that AI can just look at 2 rectangles and discern slider though.
Ignoring that though, I t’s fair to make this point for the current level of capabilities, but look at the trajectory… in a year or two when the training set has lots of examples of people using this, it should be pretty competitive.
Someone who knows more, please correct me if I'm wrong!
20 years ago we also had music, pizza, movies, games and old people yelling at clouds.
Oh sweet summer child. (if you are going to call us weirdly nostalgic)
There were ton's of methods - from extremely manual code-based detection of window resizing events, then subsequent calculating and scaling contained controls, to a myriad of third-party libraries/components that would provide an automatic resizable host container for other controls.
Localization was not a problem - VB6 supported 'resource files' like every other Win32 app. Unit and integration tests were possible - but uglier with visual forms - typically requiring third-party products, and/or low-level Win32-API integrations. But in reality - you would abstract all of your business logic into classes/modules/units with very little within the UI, so that those would be unit-tested, instead of the UI.
Now - don't get me wrong, VB was limited in many many ways, and I am not nostalgic for it - but, it was more capable than the picture you are painting. Delphi even moreso, as it had easy and direct access to the entire Win32 API and could handle threading and pointers as well.