Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Our Funniest Front-End Bugs (2020) (medium.com/thron-tech)
40 points by behoove on April 21, 2021 | hide | past | favorite | 20 comments


My hilarious front-end bug: As a junior developer, I was implementing a slider with some fancy features - I'd completed my work of art and tested it thoroughly (or so I thought).

As I'm demonstrating this pièce de résistance of sliders, I switched to the tablet to show how it adapts to touch input.

After I've gone through all the features I slip with my finger and drag the handle a little too harshly... to my confusion, the drag handle had broken free of its confines and could now be moved anywhere one the page, all I could do is laugh, I'm glad my colleague found it equally amusing.

Also, the number of times I've seen bugs like No. 3 on big, live sites. Clearly a macbook monoculture and noone bothering to test on any other platforms. Seems like people forget scroll wheels are a thing too...


> After I've gone through all the features I slip with my finger and drag the handle a little too harshly...

It's amazing how many bugs are hidden because we developers subconsciously interact with our apps in ways to prevent them from breaking.

We're not deliberately trying to do it, but we instinctively know that if, say, we drag the handle too hard it might not react appropriately, or if we click the button while the script is still loading it might do the wrong thing, or whatever it is.

This is why we have QA. In many ways this is similar to authors who need a fresh pair of eyes to see all the typos and other errors.


I want a browser extension that changes the size of the window a bit for every reload/refresh when in dev mode, so that devs no longer get the "works on my machine full screen" size by default.

I work around using responsive dev tools, with a few predefined sizes, but that's less automatic.


ResponsivelyApp works nicely for this.


"Read the rest of this story with a free account." - extremely amusing.


I have to admit "The recurring nightmare" is no funny bug for me. It really took away nights of mine. First of all reproducing itself is a tough job locally. Added the patch of showing scroll all the time and UX designers were are not happy about that. Finally added a javascript code to put a check on that. And I hate that piece of code.


One hilarious front end bug is posting a blog to a platform that discourages reading the blog.


I have some of my interesting debugging stories piled up on my blog drafts. One of them was the issue "script not triggered when opened in a new tab". And indeed, there was a 3rd party script on our page that was triggered on every page (re)load, but not when opened in a new tab. I was baffled at first, but the reason was rather straightforward: the injected script was using an "if (!document.hidden)" check, which wasn't passing for background tabs.


in the world of front end dev always expect the unexpected. the amount of head-scratching moments i've had....lost count.

i think the worst and most frustrating type of "bug" (not really) - is the "reload - no update" issue. not sure if it has another name.

its when you make some change, reload the browser but the update is not reflected :D - usually very trivial but often times the straw that broke this camels back.


Bonus points if it’s combined with an actual bug and you don’t realize hot reloading broke, so you think none of your fixes are working, when actually the one you tried first (and rage deleted) would have actually worked the whole time if you just refreshed the page.


All these are classics:

Quirks mode. Unicode normalization. Scrollbar resize infinite loop. Accidental misparse. And of course another IE bug.

Each one has manifested a zillion times on as much different web sites. And yet they keep biting us.

Is there an effective way to restructure programming to make these disappear, without locking ourselves up in a turing tar pit. Linters, fault injectors, ... Or some rust safety equivalent for the front end?


I was playing Dota [0] the other day, and I was amazed at how robust of an experience it is, while having many many more layers of complexity.

What is it that makes computer games such a robust experience and why can't we have that in front ends?

I'm not talking only about web. Native toolkits are not much better either.

[0] https://www.dota2.com/home


Are you kidding? The games industry has a much worse reputation for bugs than almost any other form of software development.

Low-quality early-access releases, crashes, things clipping through one another, needing a patch on release day then a dozen patches thereafter, physics glitches sending things flying, interactions getting glitched so they can't be completed, cheaters in online play - these are all just accepted as normal by gamers.


I'm certainly biased, being a game developer, but I feel this is a bit strong. Games are very complex and they're entertainment products, not safety critical applications.

There have been a number of high-profile releases which have been rushed out the door and haven't been in a good state until quite a while later. And that's largely an issue of rigid deadlines and crunch. But for most games I feel it's not nearly as bad as people make it out to be. I wouldn't say it's accepted either, since it seems each game plagued by frequent crashes causes an uproar. I will concede that Early Access is often a mess. It used to mean you were literally playing the game before it was deemed ready for release and targeted at only a smaller set of die-hard fans. Now, both customers and developers seem to have lost sight of that.

I've very rarely experienced crashes in modern games in my free time and when I've been tasked with analyzing reported client crashes at work they've been almost entirely due to running the game below minimum specs or crashes caused by MSI Afterburner. Clipping and physics glitches are also mainly caused by low-end hardware or other applications eating resources.

If I look at which games I've been playing actively so far this year that'd be: Stardew Valley, Breath of the Wild, Super Meat Boy, HITMAN 2, The Last of Us Part 2, Ghost of Tsushima, Xenoblade Chronicles 2, Magic Carpet 2. Of these, the only crashes I've experiences were in the last of these, which is a DOS game from the nineties notorious for being buggy.


Except for Factorio, which is rock solid.


Factorio has plenty of bugs. If you don't take precaution, they'll wreck your factory too.

Or if you want an easier experience, you can turn enemies off, I guess.


I'm on the same boat as you.

I'm envious of game devs, I do not know what went wrong in web land that we can not have great smooth user interfaces and smooth animations. I'm sorry but the DOM is not it and is holding us so far back its unreal.

I really hope for a shakeup of some kind. Have a skim through this video [0]. An indie game using the Unity interface builder I believe.

[0] https://youtu.be/bk6wkXI-42Q?t=617


> I do not know what went wrong in web land that we can not have great smooth user interfaces and smooth animations.

Design by committee, design by monopoly, and trying to shoehorn an application platform feature set into a document platform.


I've never been part of web development, so I've only seen one half of the equation.

AAA game development includes dedicated teams of QA testers playing through the game each day, flagging all bugs they come across and verifying every bug which is claimed to be fixed. That's the best source of stability in my experience.

At the biggest studio I've been part of (three offices, with about a hundred people in the main one) we also had a number of automated tests (AI running through certain missions and doing events together) where failures would alert those with contributing commits.


Have to say that I've not tested it yet, but https://www.mint-lang.com/guide seems like the "rust safety equivalent for the front end" you are searching for.

Anyway, scrollbar loops and other stuff are not going to be resolved by this kind of tools I think




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: