If Bad Software Developers Built Houses...
Richo99 writes "The editor at UI Hall of Shame takes us for a walk through a house designed by bad software developers. It appears Ed is getting a bit tired of really bad software designs in popular shareware titles. It is interesting because how much of a crime these apps perpetrate isn't obvious until you apply the same logic to everyday things, like the design of a house. I especially love the access to the garden. "
- Greg
Start a happiness pandemic
If Microsoft programmers built houses, the walls would be blue with white trim, and the garage would have to have CHKCAR run on every instance of the door opening.
On top of that, there's also the whole "backdoor left wide open" stigma that comes with the Windows house.
Striking fear in the authors of godawful fanfiction, I am here, appearing in darkness, Tuxedo Jack!
I wonder where dead links stack up... ;)
wow, one comment and it's already /..ed
that's like a 2mph wind knocking over the house, right?
Lets take a walk through a house built by our illustrious legion of very ordinary Software Developers we've seen over the last few posts..
You arrive at a friends new house and step up to the front door.. well, you do after finding it around the side of the house..
You press the door bell but dont hear the reassuring ding dong sound coming from inside the house, you ponder if you missed hearing it and wait a few moments before politely pressing it again, this time you're SURE, there was NO doorbell sound coming from inside. You peer at the doorbell, its a button, how much more complicated can it be? You DOUBLE CLICK it and hear a loud DINGDONG coming from inside..
Your Friend, Herbert's footsteps approach the door from inside and you straighten your tie ready for the door to open. Herbert unlocks the door and the damn thing swings OUTWARDS knocking you back a step or two. Apologetically the owner explains that's how it was when they bought the house "it fools everyone and it'll be a great source of converation at our Dinner Parties".
You politely chuckle and hope they get the damn thing fixed.
Herbert invites you into the house, you step unsurely into the hallway and peer around.
The ceiling has a sort of mauvy pink color, not dissamilar to your Grandmother's slippers, the walls are mostly red.
Herbert offers you the grand tour of his new home and gestures towards what you assume is the Lounge room thru a doorway off the hallway. You wander in suprised to find that you're in the toilet.. nervously Herbert chuckles and explains that to get to the Lounge you have to pass through the 2 Way Toilet.
You emerge on the other side of the toilet into a long narrow room that stretches the length of the house, its about 5 feet wide and 45 feet long. At the far end of this poorly lit room you can see a Television. The only light coming into the room is from a small window at about knee height.
Herbert explains the Lounge Room is really an extension that wasn't planned very well, he invites you into the kitchen through a revolving door. You step into a large circular room after missing the first few exits of the rapidly revolving entrance. In the middle of the room is a large Island Bench, its working surface is about 5 foot high. there's no other furniture in the room, but there's 9 doors evenly spaced around the room. Herbert explains that through each door is an appliance, there's the Fridge Room, the Oven Room, the Freezer Room, the Dishwasher Room, the Food Room, the Microwave room etc.. Its a pain Herbert says, taking things from one to the next, but you get used to it he says... you feel doubtful.
Herbet is keen to show you the Master Bedroom, but he's not sure which door its through, he tries three then finds the right one.
As usual, the damn thing opens outwards.. You dutifully but somewhat hesitantly follow Herbert through the Master Bedroom, you wonder what bizarre idea you're going to be introduced to next.
Herbet gestures around what appears to be an empty room with a self-satisfied smirk on his face. You peer around trying to work out what bizarre idea the builder has foisted upon the house now. "Where's the BED, Herbert?" Herbert theatrically claps his hands together twice and stamps his foot.. the bed silently descends from an opening that appeared in the ceiling, you jump
out of the way just in time and the bed neatly touches down in the centre of the room. "Neat hey!" Herbert prompts you.. "Ah yeah, thats great Herbert".. You gingerly sit on the bed, it promptly collapses.. "Ah, yeah that happens a bit, you get used to it."..
"Come and see the Garden!" Herbert excitedly exclaims. Herbet opens a small trap door hidden under a rug and descends a small ladder.. you follow him down. The Garden has a concrete floor and fake concrete trees. There's a wall around it and it has fake grass glued to it.
You run screaming from the house.
So, what did we get.. a house built by a moron. Nothing looks, feels
Just look at the beautiful design and layout of their site.
Error establishing a database connection! This probably means that the connection information in your wp-config.php file is incorrect. Double check it and try again. * Are you sure you have the correct user/password? * Are you sure that you have typed the correct hostname? * Are you sure that the database server is running? WordPress Support Forums
Beautifully crisp, clean, clear and consise
Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
What truth?
There is no dupe
The first thing I thought of was how this house is the opposite of Dilberts house, which is designed by good software engineers.
http://www.dilbert.com/comics/dilbert/duh/
A bad clothes designer turns out crap. A bad automobile designer turns out crap. A bad actor turns out crap. A bad software developer turns out crap. And?
Oh the irony.
Perhaps this gentleman should present us with a GOOD DESIGN isntead of just complaining about BAD DESIGN.
His blog is poorly designed.
I had a nice eloquent post all written. I hit the "Say It!" button (There is no 'Preview'), and I get to the next page. The next page complains that I forgot to add my email address, so I click 'back', and I'm presented with a BLANK FORM. Everything I wrote was lost, probably because of some wacky Javascript used in his blog form.
I feel like I entered a bathroom that's 5 feet wide and 100 feet long with a TV at the end.
I love his design!
94% of Repubs and 21% of Dems voted to renew the Patriot Act
would every room be duplicated 2 or 3 times?
:))))
(LOL.. just kidding! don't troll-rate me please!
the way programmers wrote programs, the first woodpecker to come along would destroy civilization.
Soory, I can't remember who said that, but it is so apropos.
If "disco" means "I learn" in Latin, does "discothèque" mean "I learn technology"?
Jef Raskin was well-known for pointing out the many flaws of contemporary software GUIs. For those who do not know, Jef Raskin was the man who designed the GUIs for several different Apple operating systems. By the fact that Microsoft borrowed such concepts from Apple, his innovation has also highly influenced the Microsoft Windows platform.
But anyways, he always stated that GUIs are there for the user, not the developer. GUIs are supposed to be intuitive, so as to allow the user to be far more productive, rather than hindered. Such ideas are not new. Mr. Raskin spoke of such things decades ago.
Cyric Zndovzny at your service.
The architect of the house couldn't be joined,
The foundations aren't ready yet,
The site is slashdotted already.
I have discovered a truly marvelous proof of killer sig, which this margin is too narrow to contain.
But if all the quirks are well documented and distributed to all members of the team, well by gosh this is quality work!!! And better yet, if you can trace all the requirements through to the test cases, we can even slap a CMM Level 5 on it!!!
"Well..here I am..." - Jubal Early
Perhaps part of a good user interface would be availability?
If the owners of this site built a house, it would only allow one person in at a time. The door would remain locked until they left.
Wer mit Ungeheuern kämpft, mag zusehn, dass er nicht dabei zum Ungeheuer wird. --Nietzsche
it would collapse the first time 50,000 geeks tried to visit it.
Box responds, just not on port 80... someone has the max apache clients set too low. Anyway, MirrorDot mirror:
a 63520d2685a/index.html
http://mirrordot.org/stories/bd14487390c17a50503e
--
NoVA Underground: Loudoun, Arlington, Alexandria, Prince William and Fairfax County forums
I once asked a management type why was the dealine chosen even the specs weren't even done yet! Their reponse was "that's how we'd meet the ROI (Return on Investment) requirement for the project. I said "Maybe the project isn't worth doing and the VP is an idiot!" , but it came out of my mouth as "Oh I see! I learn something new everyday!" Of course, we missed the deadline and the ROI target too.
The problem in a nutshell, going with the analogy is that programmers are not architects.
They are brick layers and the guys who put in the pipes.
Imagine a house, built without a design as brick layers and guys who lay piples making it up as they go along.
bad comparison. Just because you have a copy of VB.NET does not make you a software developer. A developer does more than just code which is what a lot of these "self-taught MS-fanboy geniuses" fail to hit.
This would be like comparing the typical HomeDepot customer to the architect that designed a nearby well standing skyscraper.
Yes it's fair to say there is a lot of shit software out there. No, it's not fair to say that's the example of a proper software development cycle.
So in otherwords, this is yet another sensational bit meant to get people like me who should be working, typing up lengthy replies on slashdot...
Tom
Someday, I'll have a real sig.
What is the architectural equivalent of doing everything in flash? Las Vegas?
I've abandoned my search for truth; now I'm just looking for some useful delusions.
... people have been doing houses for several thousand years. We've got the basic idea down pretty well. We've been doing graphical computer systems for how long? 30 years, maybe? And computers, how long have we had those?
Not to excuse poor design, but sometime's it's easier to piss on stuff than figure out how to fix it.
http://www.welton.it/davidw/
One doesn't have to look far to see bad design manifesting in real life with hilarious effect. The phrase "I'm sure glad I'm already colourblind!" in regards to bad interior design echoes with the sentiment behind "I'm sure glad I never have to work on that project!" in regards to bad software development. In both cases you want to aim the offending subject away from ones' face. However in the case of bad software development not everyone actually walks into the software's spiritual equivalent of the room with the faux fur mauve throw rug in the green-walled room with the gold curtains and the single rusted sink and has a proper around (only to run out screaming).
I recommend buying the book if you like the sampling from lileks.com. I've seen the collection in it's eye-searing completeness and it's a riot.
Starkle, starkle, little twink.
http://www.rha.com/ui_hall_of_shame.htm
http://www.pixelcentric.net/x-shame/
http://www.raizlabs.com/interface/hall-of-shame/de fault.asp
These sites all appear to have similar concepts. Don't worry, folks, I'm sure the Meatloafers will be busy guffawing in mulish fashion as they forward the house/UI anology to your inbox for the next ten years after it's no longer funnny.
a software designer or team is likely to have at least one, if not many, problems that have never been solved before.
Don't call them "problems", the correct name is "users".
The real Ralph Yarro posts as Anonymous Coward. Anyone else is an impostor.
I have a bit of knowledge in this area.
Building houses: Very detailed specifications with standards that have been honed over 30-40 years (family business).
Software dev: Requirements that are never actually pinned down.
Building houses: Sub-contractors that get paid based on the job, if they fuck up they fix it for free (or lose a valuable account).
Software dev: If it's broke/bug ridden fees are still paid to develop fixes (unless support built into contract which means you're paying more up front in case there are mistakes).
Building houses: Customers understand that if they change their mind when the home is in development the cost gets exponentially bigger as the house nears completion. We get bids for change orders and they sign ammendments to their contract approving changes and paying in advance for said changes.
Software dev: Frequently missed requirements necessitate changes in whole sections of code or UI design.
If software development weren't so fluid/dynamic it would probably be much like building houses. However a house hasn't changed that much since the 1950's for the most part where computers & software development were happy to be using punch cards. Plus I wouldn't wish city inspectors on anyone in the software industry. Those who can do, those who can't work for the city and are pissed off about it. I love watching city implemented projects with these so called "experienced engineers" who fuck up and have cost overruns on every project they do. It's a good thing city engineers don't have to make a profit or they'd be out on their asses.
I've never liked these silly "if race car drivers designed shower curtains" type comparisons and conjectures. They don't take reality into account. There's no analogy to hitting "control-shift" in the way you walk down a hall, and 3-D tactile interfaces (like doors, lightswitches) don't have a meaningful representation on the desktop or cell phone.
Navigating back a couple of pages with your browser (alt-left-arrow) just is not the same as walking backwards out your front door so that you can come into the garage from the side. It's a couple of finger twitches!
I've come across plenty of crappy interfaces (um, some of which I built myself), and plenty of crappy house designs, too. It comes down to cost. Genius-hatched code, countless hours of user focus groups, and endless release cycles don't jive with reality most of the time. Just like we can't all have dream houses built on the same size lot. A lot of what I've loathed about some software, though, has evolved away nicely over the years through upgrades. Retooling a house to the same degree isn't even something most people can contemplate, and that's reflected in the design and/or the price.
And: houses have been built for thousands of years. Desktop software for 20-ish. That may seem like an eternity to some Nerd Younglings (meh!) but it's an immature practice/culture in the middle of constant upheaval. The two don't lend themselves to anything other than flame-oriented comparisons, and I'm not talking about sprinkler systems.
Don't disappoint your bird dog. Go to the range.
that we rarely design anything.
What's cobbled together rarely does the job except it can usualy be faked into something that looks adequate, right until a changed requirement when the whole thing gets tossed into the trash (it was collapsing into it anyway.)
I find most (hell, almost all,) 'soit-disant' design is missing the basics of software construction principles.
That we seem unable to do any better, regardless of how often we get burnt, is just WRONG!
What ever happened to post-implementation reviews? No wonder we seem to be unable to learn anything.
MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
First of all, I'll be the first to say, UI design in a lot of software, free, shareware, or otherwise, is atrocious. But, comparing it to building a house... That's just stupid.
Who builds shareware houses? You want to compare, at least compare commercial software, and in that case, commercial software that's not cheap. Otherwise, think about shanty towns for your homes and then start doing the comparison.
You get stuff cheap, you should expect to get what you pay for.
On top of which, Software Engineering is a misnomer. It's not engineering. It's not even a science. It's more an art at this point with some aspects of engineering and science.
Once we have automated tools that can verify a program as bug free (doubt that'll happen in my lifetime), then maybe it can become an engineering discipline.
With the assumption that your materials are within tolerances (and this can be determined for many), most engineering disciplines have very verifiable results. You can verify with mathematics that a bridge or building won't collapse, assuming your materials are verifiable. You can't do the equivalent with software.
The same goes for most other engineering disciplines. So the comparisons are invalid for a few reasons. But hey, I'm behind him on what he wants: Better UI design all around.
My manager was telling me yesterday about an resume he received from a UI designer. The resume was in 7pt type and my manager could barely read it.
Yeah, that's cute and all, but maybe you failed to notice the following:
Oh, but you'll correct "good" instead of "well" because YOU FAILED TO DETECT IRONY.
If it's for-profit but free, you're not the customer -- you're the product (e.g., the Slashdot Beta's "audience").
When someone builds a house, they're given a blueprint, which lists the exact specifications for building said house.
If houses were built like programs are written, it would be a bit more like this...
Client: Build me a house.
Developer: What kind of house do you want?
Client: Oh, the usual. Bedroom, bathroom, kitchen, living room, that sort of thing.
Developer: Can you be a bit more specific than that?
Client: More specific? I gave you all the information you need.
Developer: *shrug* Okay, we'll see what we can do.
Some months later, a small, nondescript, sturdy house is built. It has a kitchen, a bedroom, a bathroom, and a living room. It lacks certain conveniences like air conditioning and a laundry chute, but the client didn't ask for them and didn't pay for them.
Client: Looks okay so far, but where's the laundry chute?
Developer: You didn't ask for one, and we assumed you wanted to keep things simple so you could save money.
Client: You should have anticipated our needs and put one in anyway. Either way, we need you to add one. Oh, and we'd like you to put on a second story. Some more bedrooms, another bathroom, the usual.
Developer: A second floor? The foundation wasn't built to handle that. We may have to change the layout a bit so we can add some addition support to the house. Oh, and there's nowhere to put the laundry chute, so we'll have to maybe bring it down through a closet or something. It'll waste some space, but that's the only way we can do it.
Client: That's fine.
A couple months pass. A second floor is added onto the house, and support beams are put up all over the place, making the place kind of difficult to navigate. A laundry chute is run down through the front closet, using up about half the space inside it and rendering it basically useless.
Client: Well... it's okay so far, but now that we think about it, we'd like to *live* in the basement and do our laundry upstairs. Can you possibly make it so the laundry chute will suck the clothes up through it into the upstairs laundry room? Oh, we'd also like you to put another bedroom on the second floor!
Developer: But there's nothing underneath where the bedroom would go! We'd have to--
Client: Do it! Why wasn't this done months ago? Also, this whole place looks horrible, and I can't even walk around downstairs without running into a support beam. And what kind of idiot assumes [yada yada yada etc]
So, whiny clients, if you can't give us *exact specifications*, then you have to learn to deal with messy software, or be understanding when things have to be restarted from scratch. We can build you the house you want, but that's no help unless we know what it is you want.
Of course, let's be fair and scale the world correctly...
Though the visitor thinks that the lounge should be broad and nice, his hostforgets to tell him that he routinely runs horses through at high speeds, and the designer had only the one out to deal with the viscious user having somewhat odd requirements that they insist upon and think are normal.
The doors swing outwards because there are literally THOUSANDS of travelling salesmen per day, and if it swung inwards they would either force their way in to try to help you refinance your home, sell you vaccuum cleaner enhancements, or have an indecent proposal for your horses... and that's assuming they don't secretly drop self replicating robots inside that use your phones to call up a bunch of misguided teenagers across the world to give them orders like "tear up carpet" and "read house owner's diary to me".
The garden is plastic because the owner doesn't understand the basics of garden maintenance and anything else would die, and is underground because the sun gives off nova intensity light at random intervals for unforseen amounts of time.
---
Dear Mr. Architect:
Please design and build me a house. I am not quite sure what I need, so let's get started. My house should have between two and 45 bedrooms. Just make sure the plans are such that the bedrooms can be easily added or deleted. When you bring the blueprints to me, I'll make the final decision about what I want. Also, bring me the cost breakdowns for each configuration so I can arbitrarily pick one at a later time.
Keep in mind that the house I ultimately choose must cost less than the one I am currently living in. Make sure, however, that you correct all the deficiencies that exist in my current house (the floor of my kitchen vibrates when I walk across it, and the walls don't have nearly enough insulation in them).
As you design, also keep in mind that I want to keep yearly maintenance costs as low as possible. This should mean the incorporation of extra-cost features like insulated windows or composite siding. (If you choose not to use Anderson insulated windows, be prepared to explain you decision.)
Please take care that modern design practices and the latest materials are used in construction of the house, as I want it to be a showplace for the most up-to-date ideas and methods. Be alerted, however, that the kitchen should accommodate (among other things) my 1952 Gibson refrigerator. To assure that you are building the correct house for our entire family, you will need to contact each of my children and our in-laws. My mother-in-law will have very strong feelings about how the house should be designed, since she visits us at least once a year. Make sure you weigh all these options carefully and make recommendations. However, I retain the right to overrule any recommendation you make.
Please don't bother me with small details right now. Your job is to develop the overall plans for the house and get the big picture. At this time, for example, it is not appropriate to be choosing the color of the carpeting; however, keep in mind that my wife likes blue.
Also, do not worry at this time about acquiring the resources to build the house itself. Your first priority is to develop detailed plans and specifications. Once I approve these plans, however, I would expect the house to be under roof within 48 hours.
While you are designing this house specifically for me, keep in mind that sooner or later I will have to sell it to someone else. It should -- therefore appeal to a wide variety of potential buyers. Please make sure, before you finalize the plans, that there is a consensus of the potential home buyers in my area that they like the features of this house.
I advise you to run up and look at the house my neighbor built last year, as we like it a great deal. It has many things that we feel we need in our new home, particularly the 75-foot swimming pool. With careful engineering, I believe you can design this into our new house without impacting the construction cost.
Please prepare a complete set of blueprints. It is not necessary at this time to do the real design, since they will be used only for construction bids. Be advised, however, that you will be held accountable for any increase of construction cost as a result of later design changes.
You must be thrilled to be working on such an interesting project! To be able to use the latest techniques and materials and to be given such freedom in your designs is something that can't happen very often. Contact me as soon as possible with your ideas and completed plans.
Sincerely,
The Client
PS: My wife just told me she disagrees with many of the instructions I have given you in this letter. As the architect, it is your responsibility to resolve these differences. I have tried in the past and have failed to accomplish this. If you can't handle this responsibility, I will have to find another architect.
PPS: Perhaps what I need is not a house at all, but a travel trailer. Please advise me as soon as possible if this is the case.
It is really hard to open outwards-swining door with a mighty foot kick :)
3.243F6A8885A308D313
"This makes locks on doors absolutely pointless because you can just remove the pins on the hinges and the door will just fall down."
Doors can be designed to avoid that. I'm not sure what the standard way is, but my apartment's front door, for example, has metal rods embedded next to the hinges. They are virtually unnoticeable to the user, and automatically slide into the wall when the door is closed. This is probably more secure anyway.
My Sig: SEGV
We just DID.
and it's NOT!
Hell, pull up a list of invoices on the screen and it ONLY scrolls forward. At least the doors on my house work in both directions i may want to go...
There are hinges that allow outward opening of doors without exposing the pins on the outside.