6 ms·
I really hate how modern developers try to reinvent forms. They always, always get it worse than the basic OS/HTML forms we've had for decades. Those dead stupi
by thesuitonym 3y ago
I really hate how modern developers try to reinvent forms. They always, always get it worse than the basic OS/HTML forms we've had for decades. Those dead stupid, simple forms were highly accessible, very performant, and easy to understand.
It seems like forgotten information, but all of these computer interfaces that were invented in the 80s and 90s were built by doctorate level professionals who spent years thinking about these things. Why do all these bozos who took a six month code boot camp (or at best, finished a four year degree with a 2.9 GPA) think the ten minutes they spent thinking about it lead to some brilliant insight?
- cqqxo4zV46cp 3y agoI work with a lot of “doctorate-level professionals”. They are as flawed as everyone else. You took “don’t reimplement the browser”, something that is generally incredibly true, and cargo-culted it into placing some old farts on a pedestal just because they were there ‘first’.
- kunley 3y agoThat's still an anecdotal evidence (that you in particular find them flawed) against a common sense.
- thesuitonym 3y agoYou're right that they're as flawed as anyone else, but the point still stands that they spent years studying these problems. Years that modern developers, especially front end developers just don't have. I'm not saying these ideas shouldn't be revisited, but if you're going to revisit them, do it at an academic institute, where you can spend time figuring out the problems, not at your commercial job where you have to ship next week, no matter how broken it is.
- Bockit 3y agoWhat’s special about front-end developers here?
- thesuitonym 3y agoNothing, they're just the ones trying to reinvent forms.
- betenoire 3y agoNah, these are broad strokes you are painting with. Sure some of them needlessly reinvent, but some back end people needlessly reinvent databases and API basics. But my experience is not the same. It has always been others telling the front-end devs what we "need" to have. I am constantly pushing back with "buttons and links should look and act like buttons and links", "right clicks don't belong in CRUD apps", and "we have a select component that does that". But _BUSINESSES_ want their identity and unique perspective baked into the app.
- kunley 3y agoThere is similar reinventing trends movement also in the backend universe. For example, there is a fashion [1] to include hashes in the names of static assets served. But that's what ETag header is invented for, in the RFC since a decade and implemented in all browsers. [1] (I deliberately call it a fashion, not a standard; would rather say that RFC 7232 is a standard in this particular case)
- OJFord 3y agoIt's the boot camp point I think, over-represented in FE (but I haven't done a survey and not GP, just my impression) perhaps because it's more tangible/accessible - 'oh yeah I'll learn to make websites'. Or perhaps just that it skews young, which I could believe, and might be easier to find survey data on.
- Pxtl 3y ago> I really hate how modern developers try to reinvent forms. They always, always get it worse than the basic OS/HTML forms we've had for decades. Those dead stupid, simple forms were highly accessible, very performant, and easy to understand. Because the web is a terrible platform that made basic reusable components far harder than they ever needed to be, so every developer got into bad habits of rolling their own solutions to every problem. It's gotten better now but modernizing involves throwing out literal decades of practice.
- lxgr 3y ago> the web is a terrible platform that made basic reusable components far harder than they ever needed to be I think it made them just hard enough to ensure continuous employment of lots of web developers :)
- FabHK 3y agoWhat do you mean? There's plenty of simple standard HTML to achieve nearly everything needed (except fancy nonsense and tracking). As GP says, simple, highly accessible, very performant, easy to understand (both for the developer and the user).
- Pxtl 3y agoYou couldn't even use input type="date" until a couple of years ago because of Safari support. There was more than enough time of the web missing absolutely basic crap like this that you had to assume that most things weren't available batteries-included, and because of poor modularization related to css and the massive amount of Javascript needed to get anything done, too often the solution was "use a giant-ass framework". For developers supporting projects implemented using simple raw-js or things like jquery, it's no wonder they developed a habit of DIY. I've had review so much code and push back on this stuff, so I fully understand why it happens.
- creshal 3y ago> You couldn't even use input type="date" until a couple of years ago because of Safari support. God, that was such a pain. I recently ripped 20k(!) SLOC out of a project that was finally allowed to drop support for those old Safari versions. All just to display one single datetime picker. The entire rest of the project is less than 2k SLOC.
- nvader 3y agoVery relatedly, my own pet peeve is when controls that are obviously HTML links are replaced with OnClick handlers by some framework, so that I cannot middle click to open in a new tab. I've encountered navigation bars that use this pattern, which is really frustrating to my preferred way of browsing.
- nox101 3y agoGoogle does this and drives me nuts. If I search for say "pizza" it will show ~3 results from google maps. Those links you can not Cmd-Click to open in a new tab where as the normal search result links you can. My normal behavior on most pages of results (including HN) so to scan the list, Cmd-click the links I'm interested to open new tabs for each them them. Then explore each tab. I can right click and pick "open in a new tab" but WTF are then preventing Cmd-Click? >:(
- alsetmusic 3y agoSame thing with lacking right-click to open in a new tab or copy a link. Broken web page, IMO. I will only use such a site because I have to (for work or an unavoidable subject such as health or banking). I will never become a returning user of such a site if I can avoid it. Somewhat related is a plugin (Safari, Mac) called StoptheMadness). It aims to end stupid crap like this. I’m not the dev.
- whycome 3y agoReddit on Mobile web has become a nightmare because of this. The back button works about 50% of the time and often just triggers a full refresh.
- fsckboy 3y agojust about everything today refreshes when you breathe on it, it's so irritating, especially when it's not there any more and you were just looking at it. right-click, save-image-as... "let's reload that..." WHY? I'm looking right at it.
- grishka 3y agoIt goes beyond the web. Native apps suffer from this too, albeit to a somewhat lesser extent. Some developers just love building their own, inevitably shittier versions of platform-provided controls.
- chrisldgk 3y agoDon‘t attribute to mal-intent which you can attribute to stupidity. I believe most people that do this kind of thing do it because they don‘t know there‘s a native API that works better for these things. Remember, the software engineers that are good at their jobs aren‘t the ones that end up teaching at coding bootcamps.
- layer8 3y agoHe didn’t attribute it to malice.
- ryandrake 3y agoPlus, you get a whole bunch of functionality for free when you just use the OS or browser's standard controls, buttons, and forms. When you "roll your own" they are almost always less functional versions of the standard ones, so you also have to "roll your own" functionality to catch up to what the OS already provides. I will never understand software engineers who feel they need to build their own custom controls, or who won't push back when their "designers" insist on it. You could be doing so much with your life, but here you are re-implementing scrolling again.
- deleted 3y ago[deleted]
- itslennysfault 3y agoIn my experience, these decisions are usually made by product or design people. The one that annoys me most is whenever someone needs to enter a code with a fixed length. Like a 6 digit OTP code. They want to have a UI with 6 separate input fields: _ _ _ _ _ _ that behaves like one input and only allows the correct values and has the cursor behave correctly jumping from one box to the next as you type / backspace. Turns out, creating that UI element is kinda time consuming and adds NOTHING and at best results in the same user experience as just tossing in an HTML input element, and more often than not results in some non-standard behavior that breaks something (auto-fill, paste, arrow key, accessibility, etc, etc). Just use a standard input, throw some css on it to make it the characters big if you want.
- xnx 3y agoI doubt they're even decisions, but rather a side effect of the only visual design being considered without any awareness of functional/usable design factors.
- xnx 3y agoI think about the famous Steve Jobs quote in regards to modern software a lot: “The only problem with [modern software developers" is they just have no taste. They have absolutely no taste.” Most developers working today haven't regularly used software that doesn't suck so they're not personally offended by unusable designs or 500ms of latency when typing.