[HN Gopher] Writing HTML sucks and No-code doesn't help ___________________________________________________________________ Writing HTML sucks and No-code doesn't help Author : kirillrogovoy Score : 47 points Date : 2022-05-09 14:01 UTC (8 hours ago) (HTM) web link (rogovoy.me) (TXT) w3m dump (rogovoy.me) | HomeDeLaPot wrote: | The author talks about syncing changes from dev tools to the IDE | using CSS-X-Fire, but he doesn't mention Workspaces, found in the | Chrome dev tools. I don't use it, but it sounds similar and can | support modern frameworks: | https://developer.chrome.com/docs/devtools/workspaces/ | SemanticStrengh wrote: | Thanks, I needed to be reminded of this game changer! | triptych wrote: | I feel like the author is describing the thought process that | brought about Dreamweaver - which made the gap between code and | design much smaller. | chrishannah wrote: | Is this post asking for Dreamweaver? | pelagicAustral wrote: | Somewhat accurate. I was almost thinking the same. | Gualdrapo wrote: | Sometimes I hate having to deal with three different syntaxes for | content, styling and interaction each, and I think of QML and how | things could be if all the frontend stack could follow a similar | fashion. | | Then I remember the immesurable amount of shitty code around the | web and I get over it. | naet wrote: | People often claim there will be some kind magic "visual editor" | that can produce the same level of visually styled web pages as | an actual programmer, but IMO there will never be such a thing. | Maybe because it is a visual exercise it gets easily trivialized, | but CSS is a full on programming language and you need to | understand its properties and functionality to make full use of | it. | | It's easy to get something looking similar-ish to your design | with a visual editor, at a single screen size.... But then you | have to start thinking about how things are actually positioned, | where they will be anchored when the window is a different size, | or the content a different length, or how it will respond to a | user interaction or a given state- and then you're back to CSS | programming again. | | EG If you don't on some level understand the difference between | absolute and relative positioning you might not be able to | achieve your design properly (and this applies to many | properties, not just positioning). So now "absolute" and | "relative" must get added as options to the visual editor, and | the users have to on some level understand these terms or | behaviors to use them. As you learn in this way about CSS | directly and approach CSS literacy, (I think) you'll likely | prefer the flexibility in writing it yourself over searching a | hugely bloated proprietary interface with a different button for | every attribute. | | There may be some value in small assistance tools like box shadow | generators and visual editors, but overall I don't think it's | reasonable to assume a non-technical no-code user will ever be | able to produce the level of customization that a technical user | can, at least with our current implementation of CSS styling. | Beltalowda wrote: | There are things like Qt Designer and Glade for GTK; I don't | see why that can't exist for the web. The layout system for | most toolkits are less complex than HTML/CSS though, and since | CSS isn't _that_ difficult it 's just a poor effort/benefit | trade-off. | | Meanwhile, there are plenty of "website building tools" that | don't offer _all_ features but more than enough for most normal | non-programmers looking to create a site, and these go back a | long time (e.g. Geocities). | tonto wrote: | The comparison to desktop native is interesting because you | could also just not style everything to hell with css | and...there you are, you are native styled with the web | Beltalowda wrote: | The default style for the web kind of sucks though, so | that's a bit of an issue. It also doesn't include a rich | set of "widgets" that you get with Qt and GTK, so you often | need to provide your own. | | Also both Qt and GTK support styling with CSS by the way. | majormajor wrote: | One big difference between websites/webapps and native apps | is that your app is also often your sales page - or at least | made with the same technology. | | You could dress up the box and the press kit for your system- | toolkit-using desktop app, but now all that is done on the | web, and everyone still wants to stand out. The late-stage | desktop app era even saw this creep into those, after all: MS | Office's ribbon, Apple's brushed metal, etc. | capableweb wrote: | > People often claim there will be some kind magic "visual | editor" that can produce the same level of visually styled web | pages as an actual programmer, but IMO there will never be such | a thing. | | I'm not claiming I have a solution, but I will say that I've | seen "X will never exist" a number of times over the years, | about pretty much anything we take for granted today, and it's | always possible that X will exists in the near future, or | future future. | | And I thank you for saying it like that, because my mind | immediately started thinking about how it can be solved, and | I'm sure I'm not alone. | uneekname wrote: | I agree with the parent comment, but I also see your point | that there is room for innovation. For example, the article | mentions flexboxes. Flexboxes have many possible behaviors | that a tool could help visualize and decide between. | majormajor wrote: | The problem with something like this is that it's a moving | target. | | People in 2000 were saying visual editors couldn't match | hand-written code, and were right at the time. But I would | happily use today's visual editors instead of hand-writing | 2000s websites, using only the tools available in 2000, _if | all I wanted was a 2000-level website_. | | But so far, every time we've made things more powerful - even | if it makes it easier to have a good visual editor - it's | also pushed the frontier of what a bespoke experience can | give you. | shadowgovt wrote: | Most of the solutions fall into one of three categories | | - they don't give users the amount of control they want | because fundamentally, HTML and CSS together couple content | and layout in a very programmer way... This is been a huge | advantage for them as a user interface language because they | create user interfaces that can work on many screen and | window dimensions, but if you don't wrap your head around the | layout algorithm, you're going to end up surprised. | | - they try to give users the level of control over content | and layout that users want, and the end result is extremely | buggy | | - they try to give users the level of control over content | and layout that users want, and the end result is incredibly | verbose and basically illegible HTML and CSS. This tends to | cause problems down the road because it doesn't couple well | with other tools and tends to cause problems later if | somebody has to debug by hand or they want to move away from | the tool used to originally create the page. | | It's an extremely non-trivial problem to solve. | danielvaughn wrote: | I also don't think that it will exist, but not because it's | technically infeasible. I just don't think it makes sense as | a solution. | | The complexity of a task depends on the complexity of the | problem. That complexity has to live _somewhere_ , and it | doesn't matter whether it lives in a GUI or in code. | | Just recently I overheard a conversation where some people | were complaining about their Zapier integration. Someone had | built a data flow for all these tasks, and it was an absolute | mess and a maze to wander through. I found myself laughing | because it's the same kind of complaint developers often make | about code. | | Bottom line is that if the UI is complex, the GUI that is | used to build it will be complex. | justsomehnguy wrote: | When someone equals the Web programming with innane CSS | knowledge I want to facepalm so hard. | | CSS is just a way to present things. 99% of the things you do | could be equally solved with a basic HTML4 POST form and no one | would be hurt except the guys who desperately needs the round | corners to show a three paragraphs of text. | post-it wrote: | 99% of the things you do could be equally solved with email. | | But it would be a worse user experience. | danielvaughn wrote: | This is true on some level, but not true on another. The | reality is that as web products change over time, they bring | on new customer expectations. For instance, when searching | for something with a finite set of possible results, the | users' expectation is that they will see a dropdown with | auto-complete suggestions. And on top of that, they expect to | be able to navigate up and down the list with their up/down | arrow keys. That, as well as a mountain of other examples, | cannot be done with CSS. | rchaud wrote: | No-code is targeted at non-developers, so it's constrained by a | need to be relatively simple. The author wants to edit the UI | entirely without touch markup, but that isn't possible unless you | have affordances for a context menu that scrolls for hundreds of | items....because that's the number editable properties HTML and | CSS have. | | Only mmm.page lets you edit the UI directly without ever taking | you into an "admin/editor" type view first. You can see from its | style that it's not designed to be a full website builder. In | fact, you can't even link two pages together. it is strictly a | one-page website tool. That's the tradeoff. | | Most no-code tools will provide a halfway solution: | | - Bootstrap Studio is a visual webpage builder, but has a code | window so you can write the markup and styles either there or in | your editor of choice. Same was true with Dreamweaver back in the | day. | | - Tulmult Hype is similar, but for Flash-like web animation. Both | visual-only and code-based views are supported, so you can add in | custom logic w/ code that can't be achieved within the UI | | - Microsoft Excel is visual, but includes a scripting language | for power users | Alexbades wrote: | It's a lie | edgyquant wrote: | I like writing html and css, and I really love writing react | components with scss. I feel like I'm the only one but to me it's | like a bonsai tree I slowly curate over time. It's not a rush in | the same sense as writing algorithms but I don't get the hate | either. | the_other wrote: | I'm with you, sibling. I mainly write TypeScript, React and | RXJS these days. They're good. But my favourite days are still | the ones with a good chunk of CSS. It's zen-like. I suspect | it's 'cos I wrote a lot of CSS when I was younger: I know | enough that looking up new or forgotten directives takes | seconds; the problem space is clear; the feedback is quick | (depending on build process) and tangible; and the results of | the work make people happy. | usrn wrote: | HTML is no code. Stop stacking random crap ontop of other random | crap. At the end of the day you still have to enter your idea | into the computer and the more frameworks you use the more likely | it is to break/confuse you/someone else. | hallway_monitor wrote: | This is exactly what I like about UI programming with Flutter. | There is no markup, there is only code. The DOM is an object | model by definition, so why not build up that model using code | and bypass markup altogether? It's an elegant solution. | usrn wrote: | Flutter is terrible for different reasons. | drewcoo wrote: | > Whatever isn't run by <table> is run by Flash. | | C'mon. It's 2012. We call that Flex now . . . | omarhaneef wrote: | Feel the same way but assumed that is just because I am not a | front end dev who had better ways to do it. | | Would like to know what _is_ the current workflow? Suppose you | have a mockup pencil drawing on a napkin, what is the next step? | | Create a header, menu, main, footer and start filling it in? | | Go on github and find a design you like? | | When do you bring tailwind into it? | throwaway743 wrote: | Don't use a css framework unless you don't know how to design | or don't have a designer. In my experience, you end up | stripping out/overwriting more than the help it suggests it | provides. | | Also, from concept start to final product, the process is | extensive. There are plenty of resources online, but boiled | down > start with a concept, research/validation, | wires/prototypes, test/reiterate, design exploration, design, | test/reiterate, dev, test/reiterate 10+x, release, repeat. | Missing a bunch of details and likely steps, but that's the | gist. | omarhaneef wrote: | I'll add this: I don't know how to design and I don't have a | designer. | jerf wrote: | "Why are we still writing HTML by hand? Could we do that visually | instead, and have that kind of immediate connection with our | app?" | | It seems to me there's a rich answer to that question. It's not a | good one per se, but it's a lot richer than meets the eye. | | I've used any number of live HTML coders, going all the way back | to the 20th century. (Dreamweaver, for instance, goes back to | 1997!) But they always seem to suffer from the same problem for | coders: They don't just take the HTML on the screen and then make | it something you can use in code, because they always end up with | a foreign model laid on top of them. | | That is, for instance, you don't click the "center" button and | get just the <center> tag added, or the correct CSS attribute, or | dream of dreams, get center added to the "correct" CSS style. | (Though that's starting to ask for a lot there, since multiple | could be in effect.) The graphical editor invariably turns into a | piece of software that receives that you want to "center" | something and the "interprets" that in a way the manager for the | product believes you "meant" for that command to mean. This | generally involves spans and divs being thrown about willy-nilly | as the programmers internally struggle to implement this vision | in a way that works with HTML all the time. The crazier the | manager setting the direction gets, the crazier the program gets. | They start asking for things essentially impossible in HTML (or | at least until recently), like, let me add this image with | transparency and flow the text around the border rather than | rectilinearly. The managers don't want their bullet-point feature | list to be confined to merely what is good in HTML. They need | more shiny flashy features! So, in this case, you probably end up | with the text hard-laid out, losing all reflow capability, since | that's all that was possible. | | Run through a few iterations of "features" like that, and the | resulting HTML is a monstrosity and useless to programmers. | FrontPage was notorious for that sort of thing. Back when people | still cared if you could hit "View Source" and learn something | about how the page worked, FrontPage was something that made you | groan... the sea of HTML looked like, well, what it looked like | was a lot like a lot of modern pages, honestly! Only with a _lot_ | more "style=" attributes. | | It would be interesting to build an HTML editor that worked like | the Inspect mode. With enough source map support, you might just | be able to scrape it all together now. UI will still be a bit | klunky when it comes to "what CSS rule did you want to add this | change to?", and whether it can integrate with every glorious CSS | framework out there I don't know. But it might just about be able | to work. | efortis wrote: | I agree, I wish WebStorm did more than autocomplete and color | picking. | shkkmo wrote: | I think a "yes-code" HTML editor GUI is much more achievable if | limited to specific CSS frameworks since there are fewer ways | to do things and the logic of what to add to what CSS rule | seems a bit cleaner. | jhgb wrote: | > Take HTML/CSS. Ten years ago, I would've killed for Flexbox | alone. | | I wonder if the author knew about Sciter back then. | | Which reminds me that I still need to look into how one could | generate Sciter UIs and web browser UIs from one codebase. | Preferably with as little client JS as possible. | throwaway743 wrote: | Umm if this is the topic the author chose to complain about, I | don't know what will please them. | | HTML is really easy to write, and really fast if you have the | right shorthand plugin. Not to mention, it's markup, so it's not | much of a cognitive load to figure out and write. Especially when | compared to writing in a programming language/framework like | js/jsx/react/<insert language>. | | Sure CSS can be a pain in the ass, but honestly it's really not | that bad and not worth writing a seething blog post. Like this | dude's rant is just overkill at best and annoying at worst. | shkkmo wrote: | It's not a rant, or at least not just a rant. It is also | advertising for the tool the Author is building. I hope they | are pleased using their tool or learn a lot in the process if | trying to make it | wildrhythms wrote: | I always wonder if modern React/Angular/Vue/Svelte developers | never learned about the incredible timesaver known as Emmet :) | https://emmet.io/ | egeozcan wrote: | People don't use emmet anymore? It does work with React and | Vue wonderfully well. | Brian-Puccio wrote: | I am not a modern react/angular/vue developer, but this is | still new to me. Thanks! | lima wrote: | The commercial Pinegrow editor comes pretty close to what the | author wants: https://pinegrow.com | Kalanos wrote: | html is fine. grids and components suck. | fswd wrote: | remix.run, a replacement for next.js, is react framework with | vannilla js like abilities, a simple and powerful CSS setup (that | makes sense!), a "just html5" escape hatch (or html5 first and | react second), and official tailswind support. | | It's almost exactly what the author is describing to want! ___________________________________________________________________ (page generated 2022-05-09 23:00 UTC)