this post was submitted on 15 Jul 2023
827 points (97.8% liked)

Programmer Humor

32566 readers
283 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
top 39 comments
sorted by: hot top controversial new old
[–] IDatedSuccubi 100 points 1 year ago (8 children)

This is what I and many other programmers have done (not the removal, but fake delays), because it improves user experience, actually:

1.When the user clicks a button that should take long in their mind (like uncompressing a zip file etc) but is actually fast, it might seem like something is wrong and it didn't work

2.When the user transitions between layouts of the application, if it loads everything too fast it will look too abrupt, a fake delay will be made here if a transition animation is not possible/doesn't fit

[–] alokir 55 points 1 year ago

I was working on an enterprise web application, there was a legacy system that everyone hated and we replaced it with a more modern one.

We got a ticket from our PO to introduce a 30 sec delay to one of our buttons. It sounded insane, but he explained that L1 support got too many calls and emails where users thought said button was broken.

It wasn't, they were just used to having to wait up to 5 minutes for it to finish doing its thing, so they didn't notice when it did it instantly.

We gradually removed that delay, 10 seconds each month, and our users were very happy.

[–] [email protected] 32 points 1 year ago (2 children)

next, you'll tell people the door close button in elevators doesn't actually work.

[–] IDatedSuccubi 52 points 1 year ago (3 children)

I'm pretty sure it's either a myth (that it doesn't work) or some US-centric thing, because when I worked as a delivery guy, I used to go through probably hundreds of different elevators in high-density residential buildings, and most of them have doors that stay open very long to allow baby strollers and heavy appliances to be placed inside, and on pretty much all of these the door closing button works, immediately closing the door

[–] stankmut 8 points 1 year ago

Most elevators I've seen in the US have a minimum time for the doors to be open. Hitting the closed button won't do anything, unless you had hit the open door button to keep them open past that time. So if you hit the open door button right before the doors closed to let someone in and they tell you they are actually going down, you can hit the close button and it'll immediately close.

[–] KairuByte 6 points 1 year ago

It’s entirely configurable, and up to the building management. While there is likely a “local default” that doesn’t mean it can’t be changed.

[–] [email protected] 2 points 1 year ago (2 children)

The door close button does nothing in Canada but in the middle east it actually works immediately. I was shocked when I tried in the middle east I used to just do it for fun in Canada.

[–] [email protected] 6 points 1 year ago

In Germany it also works as expected. I remember that we always pressed it like crazy in university when the elevator was already very full, so it didn’t even open when it stopped before the ground level.

[–] [email protected] 3 points 1 year ago (1 children)

Works in 90% of the elevators I take in Canada 🤷‍♂️

[–] [email protected] 1 points 1 year ago

Maybe I'm unlucky

[–] meisme 4 points 1 year ago

They work in Canada but not America

[–] [email protected] 29 points 1 year ago (1 children)

Is there a secret flag to disable the delays? Would be kinda awesome to have for "thosa in the know"

[–] IDatedSuccubi 7 points 1 year ago

Most probably not, at least in my programs I've never made a flag, because my delays are usually no more than 3 seconds anyway

[–] [email protected] 14 points 1 year ago

There was a financial calculator from HP that they made for decades. The newer ones were so fast doing large mortgage calculations that the users didn't trust it, so they intentionally slowed down the results.

[–] [email protected] 12 points 1 year ago (2 children)

My kid got a job at some place and was browsing through an update script for a customer. There were a bunch of random-seeming sleep and printf statements. He couldn't make sense of it, so asked one of the more senior techs what was the deal. It was as you said. They had updated software/hardware at a customer's site and the backups were going so quick that the customer was getting pissed because "There is NO way this is doing in 10 seconds what should take several minutes." OK, the customer gets what they want. A judicious sprinkling of delays and meaningless messages. The 10 second update now takes a little over 4 minutes and the customer was happy again.

[–] derpo 5 points 1 year ago

Oops we fixed it

[–] kamen 2 points 1 year ago (3 children)

the customer was getting pissed because “There is NO way this is doing in 10 seconds what should take several minutes.”

Shouldn't they have access to the backup location as well so that they can verify that it's fine?

[–] [email protected] 1 points 1 year ago

They the customer? I think you're overly optimistic about people. They the company my kid works for? Yeah, they have remote access to everything.

[–] IDatedSuccubi 1 points 1 year ago

Forcing the client to manually verify the integrity of backups each time is a bad user experiemce

I know it sounds weird, but they would probably do it every time

[–] KairuByte 1 points 1 year ago* (last edited 1 year ago)

While the customer may have access, you’re all but guaranteed they aren’t ever going to verify it. Most backups aren’t meant to be verified on external systems, and testing the backup would generally require actually restoring it somewhere.

That said, some systems do have external tools to verify backups, but it’s not universal.

[–] [email protected] 10 points 1 year ago (1 children)

First reason is just poor UI design. I'm sure there are billion ways to indicate a successful action even if it was immediate.

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (1 children)

Imagine asking a person a math question like what 2 times 3 times 7 is (without you knowing the answer). If that person immediately goes like „42“ you‘ll most likely think that it’s a joke response and the person doesn’t take your question seriously. If however that person takes a few seconds to think you are much more likely to believe the answer.

[–] [email protected] 1 points 1 year ago

With your overly simple example I would totally believe that person. With harder problems perhaps. Besides, machines are not human.

[–] [email protected] 2 points 1 year ago

@IDatedSuccubi @Shady_Shiroe

As CS major, 1 bothers me so much.

I see it all the time especially on calculator sites.

[–] [email protected] 41 points 1 year ago

Used to work with a guy who would put 3 second sleeps after every line in our Jenkins file. He would then say how he's so busy because he has no time when he's always waiting for builds to run.

Chris, everyone knows what you were doing.

[–] [email protected] 34 points 1 year ago (1 children)

This is an old strategy described in this article from 2008: The Speedup Loop

[–] [email protected] 11 points 1 year ago* (last edited 1 year ago)

I was just about to share that article. Definitely worth the read for anyone wondering!

[–] [email protected] 23 points 1 year ago

"That is genius" - Elon Musk

[–] ch1nomachin3 20 points 1 year ago

uh oh you need to buy the new iphone because the current update makes your old iphone too slow to use.😉

[–] [email protected] 20 points 1 year ago

You have to create your database without any indexes, then you can add them later for a speed boost

[–] Crackhappy 19 points 1 year ago

Users hate this one weird trick.

[–] [email protected] 5 points 1 year ago* (last edited 1 year ago)

The trick is to have users in the first place if your new tool sucks due to slowness.

[–] [email protected] 3 points 1 year ago

yeah, oldest trick in the book

[–] [email protected] 2 points 1 year ago

For even better payoff reduce the sleep by 100-500 per major update

[–] [email protected] 0 points 1 year ago

Who needs to add Sleep calls when you can just do your shitty every day naive implementation and let your future colleagues fix your mess.

load more comments
view more: next ›