views:

1785

answers:

15

Users sometimes come up with the most amusing, weird and wonderful requirements for programmers to design and implement.

Today I read a memo from my boss that we need the "ability to import any excel or access data, irrespective of size, easily and quickly."

From the same memo, we have a requirement to "know if anyone unauthorized accessed the system" - as if a hacker is going to leave his calling card wedged between an index and a foreign key somewhere.

I think my boss has been watching too much "Star Trek"... :)

What's the funniest user request you've ever had?

+20  A: 

"We know the server goes down sometimes, but we want it to never go down"

hasen j
Had a customer ask that the site be able to work even if the server went down. But only the admin screens needed this magic, as if that made it easier.
sgriffinusa
Offer redundant servers. Never going down is a reasonable request.
Andrew
It is a reasonable request, if the client is willing to pay for a system with no single point of failure and redundant everything. You need programmers and administrators with experience in such things, and that costs money. Generally, if you show a customer the difference in cost between 99% uptime and 99.99% uptime, they tend to decide that it's ok for the system to be down every now and then.
quillbreaker
+14  A: 

"can you make sure our sales increase by at least 131%? that would put us ahead of last year."

Jason
Oh sure no problem. And while I'm editing the code, I'll just round it up to an even 140%. Hows that?
Chris Pietschmann
How about I give you an input field and you type whatever percentage you want there?
hasen j
Sure. Just increase my pay by about double the amount of sales.
Andrei Krotkov
lol, omg. I can't believe this...It is so funny!
crosenblum
+28  A: 

My client demanded that on his website the current white is too normal. And I quote "I want the glossy white of Facebook and Google"

I wonder if this would work:

main.css

body {
    background-color: #ffffff !glossy;
}
Alec Smart
you should have upsold them a new glossy monitor!
mcjabberz
Implement it, provide a side by side comparison of just the white areas, ask them which is which, then bill them. What the client is asking for is the perception in their mind that their website's white is as good as Google's. Prove that it is and collect your money.
Andrew
Tell him no problem, as soon as you have the budget of facebook and google. That'll shut him up.
crosenblum
+10  A: 

"We need the button to be clickable after the checkbox to enable the button clicks is checked."

Alex
What in the world does that actually mean, in english language?
crosenblum
If anyone knew what it was supposed to mean, it wouldn't be funny.
BCS
+28  A: 

"The calendars are really difficult to use, since there is a different number of days in each month. Could you please change them to have the same number of days?"

Skrim
"Well, I've already used up my heavenly request this month for that new 10-speed, but I'll give it a go."
Eric
That day is coming, my friend. http://www.atalasoft.com/cs/blogs/stevehawley/archive/2009/01/14/thinking-about-dates.aspx
plinth
You may not be able to change the number of days in a year, but there's no reason you can't change the number of days in a month. Calendars are man-made. If you're in .NET, for instance, just inherit from http://msdn.microsoft.com/en-us/library/system.globalization.calendar.aspx and go to town.
Kyralessa
Someone once tried to pass a law defining pi == 22/7. For that matter society at large does things that make just as little sense (practically anything involving 9/11 or the phrase "politically correct" for starters).
BCS
3.2 ("the ratio of the diameter and circumference is as five-fourths to four"): http://www.agecon.purdue.edu/crd/localgov/second%20level%20pages/indiana_pi_bill.htm
Amadan
A: 

Client: "Are you sure you pushed the last copy edit live?"

Programmer: "Yes it is live and I tested it."

Client: "I just looked and it still shows the old copy text."

Programmer: "Did you try clearing your browser cache?"

Client: "What's that? How do I do that? Can't you just have the site do that for me?"

Chris Pietschmann
Client is correct. It's none of their business and they are certainly not at fault when programmer is using wrong cache headers. What's next? Should client tell all his website visitors to "clear their webbrowser cache" when he does next minor modification on his content?
lubos hasko
Not really. You don't want the page to be cached for only a short period of time on a static page. The only time you want it's cache to be invalidated after 2 minutes is when it's updated; any other time it needs to last for a much longer time.
Chris Pietschmann
With a little bit of work, you can build a system that automatically adds version numbers to static files so that when you ship a release to a client, the URLs for changed files are different, so the browser fetches fresh copies. Release servers can then have far-future expire times set in their httpd.conf, while development servers have short timeouts and unversioned files. I use svn revision numbers: js/prototype.js becomes js/prototype_r487.js or whatever in the release build. The build process creates a file to tell the ASP code how unversioned file names map to versioned ones.
Warren Young
That won't work for the base web page.
Dykam
So set the Cache-Control header for that one page to keep it out of the cache, or at least not let it linger there long. Bottom line: the client is indeed correct, this shouldn't happen. We have the technology to avoid these problems.
Warren Young
A day before release you set your cache control to 1 hour. After release set it back to 24 hours. Or set the expectation that the release is happening over 24 hours.
Hogan
Unless it was decided to do an emergency push outside of the build schedule. In that case the best-choice cache headers would over-cache for the emergency fix.
Jon Hanna
+4  A: 

"I just deleted a client data record. Can you restore it from the Recycle Bin?"

Some people don't understand that when a record is deleted, it's deleted. That's kinda what "deleted" means, especially when they didn't ask for us to build an "un-delete" feature.

Chris Pietschmann
Recover it from backup. You do have backups don't you?
Andrew
In my DBs every table has an Active column. Stuff is never deleted, just made inactive. (There is also an audit column so I know who deleted it, very useful)
Hogan
Actually, some DBMS *do* have an "undelete" type feature. Oracle e.g. has "Flashback": http://www.oracle.com/technology/deploy/availability/htdocs/Flashback_Overview.htm
sleske
I think the funny part is 'Recycle Bin'. LOL
AJ
undelete is not a feature one ask, it should ALWAYS be built.
bortao
+7  A: 

One of our programs lets normal people manipulate a fairly complex video distribution system. It visually indicates what's going on on the back end using representative pictures of the video sources -- VCRs, DVD players, etc. These graphics are very detailed; the VCR has a little amber display on it, saying "12:00" in a 7-segment LED font. One user asked us to make it blink. Another asked us to make it show the current time.

bangs head on desk

Warren Young
Sounds to me like your own fault for making it too much like a real-world machine. :P
Kyralessa
That's what you get for targeting the app to "normal people." Next time shoot higher. ;-)
T.Rob
+22  A: 

Client: "I really like my website and Google but I need them both when my laptop doesn't have an internet connection. Can you burn them to a cd so I can use them offline?"

Me: "I can make an offline version of your site but it would have limited functionality. I can't however make Google available offline. It is possible with hardware and a monthly contract to get internet anywhere for a monthly fee with a data card. You'd have to pay around $60/month for it through ATT or Sprint or something like that."

Client: "I'm starting to become disappointed with your capabilities."

jasonevers
Wow. I would have had a *really* hard time holding back a contract-ending response to that… >.<
Ben Blank
I drafted about 3 responses to that comment before I calmed down and sent an explanation. Sadly, as you may have guessed, they didn't understand and ended up going elsewhere with their minimal future business. It's probably best because the current iteration of the site is so completely client-jacked it's hardly recognizable.
jasonevers
@jasonevers LINK US PLEASE!
Jason
Yes, link us please!
crosenblum
Link! Link! Link!
sixtyfootersdude
Sorry, no link. They'll see referring pages in their analytics and know that their ex-web dude was as competent as he was confidential.
jasonevers
@jason +1 for principles. Although I'm having a hard time believing that these people are going to be big on analytics.
Lord Torgamus
@jason, can you send us an "encrypted" link? like, "omesayebsiteway.com" or maybe in 13375p33k?
Jason
+10  A: 

The following happened multiple times with the same person ...

Data Entry Operator (at remote site): Can you fix my terminal? It won't turn on.

ME: Last time you called with this problem it was unplugged, can you please check that?

Data Entry Operator: It's plugged in!

So I drive to the remote site and what do I find? An unplugged terminal, of course! I plugged it in, and it worked just fine.

PTBNL
I hope you charged for the call-out!
Shaul
Ask them to reseat the connector. This will clean off the dust and what not... Yeah whatever. It really just lets them discover that it's not connected.
CrashCodes
Maybe the DEO just wants to get in your pants?
Hogan
..or have an excuse not to do any work for a while as they're waiting for their computer 'to be fixed'..
JBRWilkinson
+7  A: 
Pascal Thivent
+6  A: 

My programming team wrote an intranet which interfaced with a legacy accounting system. Basically, we were writing a pretty ASP.NET front end to protect users from having to interface with the terminal system.

In any case, one of our testers noticed that our login code accepted any password, so long as the first 8 characters were correct. A tester created a user with the password "Password", but the application would validate "Password1", "PasswordMonkey", "PasswordFakeFakeFakehahahah". So, our tester logged this as a defect. Some investigation revealed that the legacy system stored passwords in fixed-width, 8 char field, and it just quietly truncates queries to 8 characters. A quick test indicated that this bug existed in the accounting system as well and simply went unnoticed for 20 years.

We were unable to modify the legacy application as it was maintained by a third-party vendor, so I wrote a quick if (password.Length > 8) { return false; } on our end -- after all, a password more than 8 chars can't possibly be correct. Bug fixed, QA signs off.

So, when our application goes into production, we get an "URGENT!! USER'S CAN'T LOG IN TO THEIR ACCOUNTS!!!"-type message from the president of one of our customers. It turns out that state law or company policy required all passwords to be at least 12 characters long, and none of the users were able to use our product after the fix.

We explained that the accounting system simply doesn't store anything beyond 8 characters, and that everything will be peachy if users just type the first 8 characters. "UNACCEPTABLE!" Ok, then we can put a maxlength on the textbox, limiting the input to just the valid range of characters. "IMBECILES! IT WORKED JUST FINE BEFORE, NOW FIX IT!" Our customer got into a shouting match with the president of my company, threatening the change vendors if we didn't fix application.

So, I "fixed" the application commenting out the sanity check and reintroduced the bug. Its not an unreasonable request to have authentication code in the ASP.NET front-end authenticate the same as the terminal backend, but its really disconcerting to purposefully re-bug an application.

Juliet
That IS funny - but I have to say my sympathies are with the customer on this one. Even though it is a bug from the programmer's perspective, the users expect consistent behavior, and if they want that "incorrect" behavior, then it's not really a bug.
Shaul
"That's not a bug, it's a feature!"
BCS
funny that it ended in such distress, but you should be aware of its implications on user side. if it ain't broken, don't fix it.
bortao
+3  A: 

Take a look at this blog called Clients From Hell

There are some really "good" ones on there.

corymathews
excellent resouce - thanks! :)
Shaul
+1  A: 

"I want that no one can take a screenshot of this webpage."

Seriously, this was the demand from the customer.

The most perverted thing about this was, however, that I REALLY found a solution (one, that made me hate "Javascript" even more...).

Oh, the solution was monkey - proof.

Turing Complete
What is the solution?
iconiK
It is a serious hack, a very bad thing, but it is what you have to do when you use the worst programming language EVER.Too bad it's considered a trade secret.
Turing Complete
I'd like to see how your unscreenshottable page would fare against VirtualBox - but then, I'm not a monkey. Did the client have a problem specifically with monkeys taking screenshots? *imagines a sign: WARNING: Screenshotting monkeys ahead!* ;)
Piskvor
Well, there was SOME security even against VirtualBox, but it wasn't designed to be. But a certain part of the code would have prevented at least manual VirtualBox -screenshooting.
Turing Complete
while (true) window.clipboardData.setData('',text):D
bortao
+9  A: 

Project Manager: "We need you to make a list of all unknown risks on this project."

hawkeye
Yeah, I had exactly that requirement from my ex-PHB... :D
Shaul