Stories
Slash Boxes
Comments

SoylentNews is people

posted by martyb on Saturday September 03 2016, @12:45AM   Printer-friendly
from the don't-add-no-genuine-delays dept.

https://www.fastcodesign.com/3061519/evidence/the-ux-secret-that-will-ruin-apps-for-you

companies introduce what Kowitz calls an "artificial waiting" pattern into their interfaces. These are status bars, maybe a few update messages, to construct a facade of slow, hard, thoughtful work, even though the computer is done calculating your query.

[...] "My guys built this tool—it took single digit milliseconds to get the results back. And it was giving [accurate] results, not just some plan we wanted to sell them," Hoober says. "But when we tested with people, they assumed it was all marketing bullshit because it was instantaneous. They'd say, 'This was obviously a canned result, I'm just gonna shop myself.'"

http://www.90percentofeverything.com/2010/12/16/adding-delays-to-increase-perceived-value-does-it-work/

"Coinstar is a great example of this. The machine is able to calculate the total change deposited almost instantly. Yet, during testing the company learned that consumers did not trust the machines. Customers though it was impossible for a machine to count change accurately at such a high rate. Faced with the issues of trust and preconceived expectations of necessary effort, the company began to rework the user experience. The solution was fairly simple. The machine still counted at the same pace but displayed the results at a significantly slower rate. In fact, the sound of change working the way through the machine is just a recording that is played through a speaker. Altering the user experience to match expectations created trust and met the customers expectation of the necessary effort to complete the task."

Not long ago I removed a delay in some old software that didn't seem to do anything (it still works and works faster). Perhaps I should add the delay back...


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2, Interesting) by Anonymous Coward on Saturday September 03 2016, @05:04AM

    by Anonymous Coward on Saturday September 03 2016, @05:04AM (#396919)

    I've fixed that in my own applications by programming a context manager that introduces a delay before it ends. So you can use "with ArbitraryDelay(2): do_stuff()" and that line will take a minimum of two seconds. Basically, the enter special method takes the current time stamp and exit one makes sure that the specified delay or default amount elapses before finishing. I also have an asyncio one that works similarly. I originally made them because people would balk when putting in inputs at prompts, then I added it when saving files, as people would do it multiple times to make sure the save "took," and sprinkle it elsewhere when feedback suggests something should be slower. I have noticed that a person's expectation is directly proportional to how complicated they think the action is, so prompts are half to one second, saving depends on size and communicating with an internal server or lots of files is 5 seconds, minimum.

    Starting Score:    0  points
    Moderation   +2  
       Interesting=2, Total=2
    Extra 'Interesting' Modifier   0  

    Total Score:   2  
  • (Score: 2) by TheLink on Saturday September 03 2016, @08:30AM

    by TheLink (332) on Saturday September 03 2016, @08:30AM (#396947) Journal
    Are you using a guaranteed monotonic clock for the timestamps? If so what are you using? In some systems/environments it's not so easy to get a monotonic time source (more so if you want a low cpu, high performance and high precision one).

    If you are using something similar to "wall clock" time (e.g. gettimeofday() or gettime() ) there might be problems if the time is changed backwards at that moment- then your code might be stuck/spinning waiting for the right time for a lot longer than a few seconds.
    • (Score: 0) by Anonymous Coward on Saturday September 03 2016, @04:31PM

      by Anonymous Coward on Saturday September 03 2016, @04:31PM (#397059)

      To be honest, the monotonic time in Python on Windows is weird and they don't translate units the way it really should. So I think we just use the current time stamp for the regular version because the instances where there would accidentally be adjustments over more than a few seconds are very few. Either way, it was written so that the activity finishes first and the delay is done on the way out, so things like saving a file complete before the timer even checks if it needs to run, which we did for safety purposes.

      IIRC, the asyncio one uses their clock, which does do proper time units. It has been awhile since I actually looked in their guts, however, and I'm writing this from memory. Additionally, that one only runs on our Linux systems, so even if it didn't that doesn't really make a difference.

  • (Score: 1, Informative) by Anonymous Coward on Saturday September 03 2016, @12:26PM

    by Anonymous Coward on Saturday September 03 2016, @12:26PM (#397001)

    The thing with the save-function is to disable the save-button when there's nothing to save. If there's no feedback on wether the program saved or not, then how is the user to know. I prefer feedback over timers, although pretty much all interactions with humans do need to make sure a human can notice the event, so minimum timers are used many times.

    • (Score: 0) by Anonymous Coward on Saturday September 03 2016, @04:04PM

      by Anonymous Coward on Saturday September 03 2016, @04:04PM (#397052)

      Oh, we do provide feedback. But like I said, if it pops up and goes away to fast or the disable period too short, people just ended up doing it again to "make sure it took." Which, multiplied across all users on our system generated unnecessary load, so we added the fake delay. The only real alternative was to have it so that part of the UI had to be dismissed by the person, but everyone hated that.