tags:

views:

1279

answers:

16

I'm interested in stories (factual, preferably on well-known systems) about funny or interesting ways in which certain design or implementation decisions constrained the software as it was experienced by users.

For example, in the funny comment threads someone mentioned that in the original Doom game, doors opened vertically because the maps were static so walls couldn't move horizontally. Those sort of things.

+13  A: 

Here on StackOverflow, we decided to only use one database table (aptly named EL_GORDO), so just about every new feature is a complete pain to code.

Jarrod Dixon
The question is, how long can Jeff keep this secret from Joel? Or does he not yet know because he wasn't listening when you told him?
derobert
it's easy, we just add new fields to the end. They're numbered and everything! You know, Date12, Text67, Id5..
Jeff Atwood
And I'm guessing they are also untyped, to ensure maximum flexibility ? :)
Uri
No - they are varchar255 for easy conversion to MS-access
Martin Beckett
Is this true? ( added to make 15 chars)
Deepak Singh Rawat
+2  A: 

WinXP on a FAT32 filesystem : trying to keep some files separate from other users:)

Quamis
A: 

The entire DOS operating system.

dsimcha
+4  A: 

Not a well known system (except to those of us who worked on it), but there once was a mission critical system that passed all of its date/times around as strings (without a timezone element). Every 6 months it had to be taken offline for an hour while the country transitioned to/from daylight savings time. If it stayed up during that period, everything went mental. It was never fixed because other "features" meant that to do so would be surprisingly non-trivial.

Dan Dyer
+5  A: 

I remember having an interesting problem with Windows XP last year where somehow Subversion had created a file on the disk with a path that was too long for Windows to be able to delete it.

Dan Dyer
+6  A: 

Every KB entry on MSDN which states "This behavior is by design"

devio
+2  A: 

If you drop a .sln onto VS2005, it tells you you cannot drop it there, and that you have to Open it.

devio
Really? It never does that to me.
Cerebrus
+3  A: 

Not a well known system, but I once worked for an insurance company that built a policy system that would not allow more than 4 cars per policy. The company had to issue a second policy if someone wanted to insure more than 4 cars. In the 70s when it was written it was only occasionally a problem. By the 90s when I worked there it was a problem almost daily.

Of course there is the whole Y2K issue. 2 digit years. Who knew the software would still be around when it became a problem.

Jim Blizard
+16  A: 

A friend's father worked for Shell Oil Co in the 1970s. He wrote a routine that returned dates on which customers could be expected to not pay their bills: Saturdays, Sundays, Federal holidays, etc. In it he put a comment that basically said (and I'm paraphrasing): "This routine will not work after 1999. By then I'll be retired and I won't care."

Sometime in 1999, he (my friend's father) got a phone call from a programmer working on the routine. The programmer asked him, "Mr. Ball, what does this comment mean?"

His reply (and I'm really paraphrasing here), "Look punk, I'm retired, and I don't care. What was it about that comment that you didn't understand?"

Heh, maybe not very on topic, but quite a funny story.
Jonta
+3  A: 

I figure I'll contribute one thing that happened to me years ago... In the mid-late nineties We were working with a fairly early version of Rationale rose for Windows that assumed 8.3 DOS filenames rather than Windows NT full names.

When you used the "generate C++ code" option, some algorithm in Rose was supposed to take your class names, figure out an appropriate 8 letter name, and output the files. Unfortunately, that algorithm wasn't smart enough to check if multiple classes would be hashed into the same filename, which meant we always ended up with fewer classes than we intended to... We had to change our class names (we had hundreds if not thousands since we were representing a very complex domain) to fit this hashing.

Uri
+2  A: 

We discovered on January 1st that all the DateTimePicker controls in a business critical application had their MaxDate property set to 31/12/2008.....

Simon
+3  A: 

The drive-through ording system at my local Wendy's forces employees to enter combo meals in a specific order. Whenever I order the number six (spicy chicken), then politely ask for a side salad instead of fries, the operator gets all iritated and asks "What drink?", and after that she asks, "What was that side you wanted?".

The system should allow her to enter the combo in any order. If there is something missing from the order, it should indicate that, but it should allow the user to fill in those details at any time before completing the order.

Sean
Not to knock the local fast-food employees, but I think that's done for a reason. When I worked at McD's in high school, the system would let you enter things in any order, and the kids behind the register seemed delighted to find new ways to screw it up.
John Biazo
+8  A: 

According to the prof in an OS Design class I took long ago:

NOS was a multi-user OS with potentially dozens (hundreds?) of simultaneous users. Anticipating the difference in response times during peak load, vs. minimal load times, they addressed how to meet the users' expectations for responsiveness:

In lower-load times they added a delay to the OS response, so users would not expect faster responses during peak load times.

NVRAM
Awesome! I wonder if they are delays on some widely used OS...
Liran Orevi
There's a famous one on VMS. The old version used to spend 10-20 seconds checking something at boot. Then they fixed this so the check was instant but people would think the check had failed/skipped and reboot again. So they added a delay - which you could set in microfortnights
Martin Beckett
+2  A: 

Gosh-darned real mode memory segmentation in x86 because they didn't have enough pins on the CPU.

Chetan Sastry
A: 

Here's the most famous saying that was never said: "640K is Enough For Anyone" by Bill Gates.

Phillip Ngan
"But yes, at your desk you'll have that [PC] device. When you walk away from the desk you'll take a tablet-sized device with you." - Bill Gates during interview in 2001
JohnB
+1  A: 

I go to a music festival every year, and it came out that the entire ticketing system had to be rebuilt for their headline act that year. Essentially, each act is allowed a certain number of guest passes for the day they are performing. The ticketing machine had an inbuilt constant that the maximum number of guest passes per band was 3.

last year though, they wanted a much larger headline band, which they tried to get. It turned out this band wanted 50 (yes, fifty) guest passes, and wouldn't perform without them. Thus the entire ticketing system had to be rewritten. This is why i'm glad i'm not the developer of that application.

Lenary