Arlen's manager was the kind of guy who always smiled, so when he stepped into the conference room full of developers without his trademark grin, everybody knew something was definitely wrong.

"The good news is that that Jones likes the revamped site since we uplifted that gnarled mess of ASP to PHP, but there's just one thing: he's not so much of a fan of the performance."

The developers all shot each other glances as if they all been told that their grandmother had just died. Everybody was positive that the new code worked better than ever. The graphs! The charts! Everything indicated that the new version ran circles around the old version!

Reading the crowd's faces, Arlen's boss spoke up. "Actually, he's worried about it being a little too fast. He says that experienced users will doubt whether or not their changes saved...he said that users need to feel the delay of data processing to know that something actually happened."

Someone offered "Why not add a pop-up?" Another suggested, "We can always add a message saying it finished in 0.002 seconds or whatever."

Arlen's boss shook his head. "No and no. I tried suggesting those but Jones wants none of those 'ugly' fixes as he calls them. I can't believe I'm saying this...we need to force the web site's processes to slow down, people."

In the whiteboard session that followed, people threw out all kinds of wild ideas, but it was perhaps the craziest one of all that went in.

/*
  Wait
 
  Makes the website wait
 
  @access    public
 * @param    int    the number of seconds to wait
 * @return    none
 */        
    function wait($secs)
    {
      $temp=gettimeofday();
      $start=(int)$temp["sec"];
      while(1)
      {
        $temp=gettimeofday();
        $stop=(int)$temp["sec"];
        if ($stop-$start >= $secs) break;
      }
    }

Completely seamless to the user, it could be dialed up or down to give the impression that "improvements" were happening behind the scenes, thus, over time, allowing users to become accustomed to improvements in speed.

After go-live, kudos were passed down from upper management for a job well done and especially for maintaining the exact functionality of the website between versions. Arlen and his co-workers appreciated the pizza lunch that they received as a reward for their hard work, but they all groaned at the fact that they had to implement such an awful hack, even if it was supposed to be temporary. But, at the end of the day, the consensus was that it was a small price to pay for not having to maintain the terrible ASP codebase that they had just eliminated.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!