Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Programming IT Technology

If Bad Software Developers Built Houses... 578

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. "
This discussion has been archived. No new comments can be posted.

If Bad Software Developers Built Houses...

Comments Filter:
  • by gbulmash ( 688770 ) * <semi_famous@noSpAM.yahoo.com> on Thursday June 09, 2005 @01:24PM (#12771777) Homepage Journal
    And if you want to heat the house, you have to light a fire in a firebox outside and then manually pump a bellows to force heated air into the house. The spec had an automated heating system with natural gas, a pilot light, and fans, all controlled by a thermostat, but management only assigned the developers to your project for three weeks and the only way to get the project "finished" in the allotted time was this kludge. But don't worry, it will be fixed in v2.0, which is currently calendared for 2007 by management... unless something they consider more important comes along.

    - Greg

    • Will there be a "bug fix" for this problem I am having with the toilet?

      • by bigman2003 ( 671309 ) on Thursday June 09, 2005 @01:42PM (#12772050) Homepage
        Well, obviously if he designed a house...

        The roof would cave in when more than 30 people knocked on the front door.

        • "The roof would cave in when more than 30 people knocked on the front door."

          Like the WindowsXP Pro house, where you can only invite 10 friends at once (and have to get planning permission again every time you get new furniture...)
      • by Rei ( 128717 ) on Thursday June 09, 2005 @01:50PM (#12772158) Homepage
        I'm wondering when there will be a bugfix for the author's writing style.

        I havent seen so many runon sentances and bad capitalization/punctuation and mispelings since Third Grade, theyre really anoying and distracting from the Article, I want my articles written good.
        • I want my articles written good.

          In that case, maybe you shouldn't be reading articles that are posted on the internet. Go back to the print media, where they have editors.

        • I havent seen so many runon sentances and bad capitalization/punctuation and mispelings since Third Grade,

          Welcome to the IntarWeb!
    • I'm sure the guy will have no problems heating his house with the flames that are shooting from his web server right now.
    • by jellomizer ( 103300 ) * on Thursday June 09, 2005 @01:30PM (#12771885)
      While moderated funny. I think I see the real point. A lot of the time of software failure is basicly management going to the development team and tells them to cut corners to get it done. So you could be the best interface developer on the planet. But if they tell you that it needs to be done now. when you are halfway threw. You end up breaking rules because it is quiker to program .
      • by MisanthropicProgram ( 763655 ) on Thursday June 09, 2005 @01:36PM (#12771956)
        I was about to say something similar.

        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.

        • "Oh I see! I learn something new everyday!"

          "Specifically, today I learned that the VP is an idiot." (or was that really something new?)

      • Bad software design can be directly lined to non-technical people designing it in the first place and then giving the developers very little room to work. Sales, marketing, business, legal or management teams should suggest some ideas and let the developers work out the design; then have a UI team build an interface to the given design. It's not a hard concept, but one that is too often misunderstood in the corporate world and thus we have so much bad software...
        • by miketo ( 461816 ) <miketo@nwli[ ]com ['nk.' in gap]> on Thursday June 09, 2005 @02:13PM (#12772472)
          You are right in several respects: non-development management has screwed over more projects than it's ever helped. I've seen it and had my projects fscked many a time. One classic was the VP who wanted the acronym "API" removed from the help files for a developer kit. Reason? "We make solutions, not programming software."

          But I *will* point fingers at developers for bad design, too. In the same company I have worked with developers who code up something that neither does what it should, is usable by anyone but them, or can be gracefully fit into the existing programming model. Too often they were called a "temporary fix" for the current release, to be fixed in a future release. It never was, it just became more encrusted with shims, helper libraries, and other complexification / bogger-downers.

          Same goes for UI designed by developers. *UNLESS* you have spent time with the end users seeing what it is they are trying to do, you are not going to hit the mark by coding UI in your cubicle on the mistaken assumption that you know the best way to do something.

          I have seen this happen so many times. I take a developer to a customer site to help diagnose a problem. After only ten minutes, the light comes on in the developer's head and a new solution is created that works, works well, and does what the customer wants and expects. Yet most development happens in reverse: cook up an idea, code it, then see if anyone likes it.

          There's a lot of bad software project management out there, and there is enough blame to go around.
        • let the developers work out the design; then have a UI team build an interface to the given design.
          Right. Because UI design is just about pretty colours and stuff. It has nothing to do, say, with the underlying mental model and the actions the user might do to what he perceives as the objects in the system. Still, if those don't match what the developers did, we'll hack a middle layer into place. Sigh.
    • Yeah, but... (Score:5, Insightful)

      by DavidNWelton ( 142216 ) on Thursday June 09, 2005 @01:43PM (#12772065) Homepage
      ... 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.
      • Re:Yeah, but... (Score:4, Insightful)

        by CosmeticLobotamy ( 155360 ) on Thursday June 09, 2005 @02:04PM (#12772337)
        It's not so bad that the article guy pissed on stuff, the problem is he pissed on stuff without being even remotely funny.
      • Re:Yeah, but... (Score:5, Insightful)

        by wheany ( 460585 ) <wheany+sd@iki.fi> on Thursday June 09, 2005 @02:08PM (#12772410) Homepage Journal
        The teacher of our software testing course said that because software engineering is such a young business, people expect the impossible.

        If you were building a house, no-one would come and say that you need to add one more floor that is twice as wide between floors 2 and 3 when you are already making the roof. Oh and it's done in two weeks, right?
        • If you were building a house, no-one would come and say that you need to add one more floor that is twice as wide between floors 2 and 3 when you are already making the roof. Oh and it's done in two weeks, right?

          House structure: Concrete (cough), easy to visualize and understand even by someone without building experience.

          Software: Abstract and evidentally pixies and gnomes are involved somehow.
      • Re:Yeah, but... (Score:4, Insightful)

        by pete6677 ( 681676 ) on Thursday June 09, 2005 @02:38PM (#12772815)
        Most houses are not some completely new design that has never been tried before. Sure, there may be different combinations of features, but chances are it's not something incredibly unique. If it is unique, the house will likely be slow and expensive to build with many problems discovered later.

        Software on the other hand, is much more likely to be unique. Nobody requests a word processor to be made for them, they just go out and buy (or "borrow") a copy of Word. Most software development is largely unique, so there are naturally going to be more problems, delays and cost overruns. This is just one reason why software projects tend to be much harder to manage than other projects such as buildings.
        • Re:Yeah, but... (Score:3, Interesting)

          by Bush Pig ( 175019 )
          Apropos new house designs ... in the 1950's a Sydney architect called Harry Seidler started building houses with flat rooves, and, because people thought they looked really nifty, other architects and builders started making them too. Most of them leaked, because the design hadn't been debugged before they implemented it.

          Oh, and they're really ugly, too (imo).
  • by Tuxedo Jack ( 648130 ) on Thursday June 09, 2005 @01:26PM (#12771812) Homepage
    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.
    • Don't forget the big cross right above each window pane!
    • Yes you diss MS programmers now, but what will you say about these same programmers who are going to work for Google? Will you then praise them as great coders?
    • vs. a linux house where you'd have to ring the doorbell while turning up the thermostat and unlocking the front door all at the same time just to turn on the light in the bathroom.
    • by Rei ( 128717 )
      Microsoft houses would all be factory-built, and 90% of America would use them. Linux homes would all be at least somewhat custom. Builders like Gentoo require that you draw up your own floor plans and hope that it meets code; companies like RedHat offer a selection of houses that they think that you may want to start with. And distros like GoboLinux are putting up fliers on telephone poles on Main Street in their hometown saying "Please Notice Us!!!! Please!!!! We build houses, we swear!!!"

      Meanwhile,
      • by peragrin ( 659227 ) on Thursday June 09, 2005 @03:33PM (#12773486)
        Get it right

        Apple would be quietly getting by on sales of high-end earthen homes.(think hobbit hole) They would include their own wind and solar power supply as well, but need regular line power to work at 100%.

        I also imagine Gentoo would be more like here's an axe, a saw, a hammer, and here is a sample floor plan. There are some good sized trees over there have fun.
  • by Anonymous Coward
    I wonder where dead links stack up... ;)
    • by BoomerSooner ( 308737 ) on Thursday June 09, 2005 @01:51PM (#12772166) Homepage Journal
      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.
  • wow, one comment and it's already /..ed

    that's like a 2mph wind knocking over the house, right?
  • Only two replies, but the site is dead already. I wonder, what his analogy would be to that...
  • I think what we are seeing instead of what happens when poor software designs are applied to building houses is what happens when poor webserver configuration is applied to a website.. It's slashdotted with 1 post!

    --
    http://unk1911.blogspot.com/ [blogspot.com]
  • by Anonymous Coward on Thursday June 09, 2005 @01:28PM (#12771836)
    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
  • by Timesprout ( 579035 ) on Thursday June 09, 2005 @01:28PM (#12771839)
    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
  • The Opposite House (Score:5, Interesting)

    by CmdrObvious ( 680619 ) on Thursday June 09, 2005 @01:28PM (#12771847)
    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/ [dilbert.com]

  • 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?
  • by EnronHaliburton2004 ( 815366 ) * on Thursday June 09, 2005 @01:28PM (#12771854) Homepage Journal
    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!
    • I agree. It's easy to bitch about poor design than it is to make a good design yourself. I feel this guy's pain though. I've had my fair share of having to deal with poorly designed/documented software before. A few weeks ago I had to compile this benchmark suite where there was no makefile, no documentation, the only comments in the code were "/********/" to seperate sections of code, and to top it all off, the file extensions were ".cp". So I was like great, is this C code or C++ code? I wasn't able to te
    • Perhaps this gentleman should present us with a GOOD DESIGN isntead of just complaining about BAD DESIGN.

      Nah, lets just knock his website instead.
    • Worse yet, his site is showing a page that says "403 Forbidden". Yeah, that's a great user interface.
  • by professorhojo ( 686761 ) * on Thursday June 09, 2005 @01:29PM (#12771859)
    would every room be duplicated 2 or 3 times?

    (LOL.. just kidding! don't troll-rate me please! :))))
  • by thewiz ( 24994 ) * on Thursday June 09, 2005 @01:29PM (#12771870)
    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.
  • ...This thing would be slashdotted before even 1 comment went up!
  • by CyricZ ( 887944 ) on Thursday June 09, 2005 @01:30PM (#12771882)
    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.
    • by jnik ( 1733 ) on Thursday June 09, 2005 @01:56PM (#12772225)
      GUIs are supposed to be intuitive

      Easy to say. The only truly intuitive interface is the nipple.

      Convention leads to consistency leads to familiarity, which is not not the same thing as intuitiveness. Apple understood this--that's really why the platform works, not because it taps some Jungian archetype of computerness.

      It also leads to stagnation, inertia, inefficiencies writ in stone, and claims of mindless copying.

      There are more intuitive and less intuitive interfaces. There are ways to design so as to stay out of the way of the user, or hinder it. But nothing is flat-out, absolute, nonrelative, intuitive.

  • by alexhs ( 877055 )
    The architect of the house couldn't be joined,
    The foundations aren't ready yet,
    The site is slashdotted already.
  • ISO 9002 (Score:2, Insightful)

    by Diakoneo ( 853127 )
    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!!!
  • Availability? (Score:3, Insightful)

    by scovetta ( 632629 ) on Thursday June 09, 2005 @01:32PM (#12771910) Homepage
    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.
  • by Canonymous Howard ( 325660 ) on Thursday June 09, 2005 @01:35PM (#12771944)
    it would collapse the first time 50,000 geeks tried to visit it.
  • by beforewisdom ( 729725 ) on Thursday June 09, 2005 @01:38PM (#12772006)
    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.
    • The thing is, it's "software developers" not just programmers. I think developers implies the whole scheme of designers, from the first ideas to the programming itself.

      -Jesse
    • 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.


      A friend of mine just built a new house, and he compared his old & new... His old house was nothing special, it looked just like the house right next to it, but the architecture made sense: Perfect example: everything that used water (toilets, kitch
    • 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.


      This site has been around for years, and I have to say I've never found it very useful or insightful.

      If you want to know why, just consider the name. When has listening to somebody who sets themselves up to deal in shame and mockery ever been worthwhile?

      It's not that there isn't a problem with user interfaces. There is. And its not that many of the examples t
  • as usual (Score:3, Interesting)

    by tomstdenis ( 446163 ) <tomstdenis&gmail,com> on Thursday June 09, 2005 @01:39PM (#12772011) Homepage
    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
  • by Locke2005 ( 849178 ) on Thursday June 09, 2005 @01:40PM (#12772023)
    What is the architectural equivalent of doing everything in flash? Las Vegas?
  • We wouldn't have to worry about RTFA because we already know what the damn thing is going to be anyway.
  • One doesn't have to look far to see bad design manifesting in real life [lileks.com] 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 w
  • by Hosiah ( 849792 ) on Thursday June 09, 2005 @01:49PM (#12772139)
    for hardy /.ers now trying to view a dead(?) site:

    http://www.rha.com/ui_hall_of_shame.htm [rha.com]

    http://www.pixelcentric.net/x-shame/ [pixelcentric.net]

    http://www.raizlabs.com/interface/hall-of-shame/de fault.asp [raizlabs.com]

    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 friend of mine is an architect (a very good one by the way:). She had a client who bought one of these "design your own house" programs and used it to prepare plans for remodeling his own house.

    In one place he had a triangular room with two doors going into it (was supposed to be his office).

    In the other place he had bathroom on the second floor right above his new kitchen. The problem was that the drainage pipe from the toilet would have to go right through the center of his kitchen table (building

  • Article is down, but just the /. caption brings up a pet peeve of mine.

    A lot of software developers don't know the first thing about human factors and/or good design.

    Is it because the industry is saturated by people without training in the field? The benefit of the dot com boom?

    I don't think so. When I took compsci, human factors was an optional course. It was the only course that covered information theory, and looked at aesthetics and functionality as units of work. I loved it.

    But so few people ev
  • by ScentCone ( 795499 ) on Thursday June 09, 2005 @01:55PM (#12772221)
    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.
  • by crovira ( 10242 ) on Thursday June 09, 2005 @02:08PM (#12772409) Homepage
    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.
  • Apples and oranges (Score:4, Insightful)

    by Pedrito ( 94783 ) on Thursday June 09, 2005 @02:31PM (#12772743)
    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.
    • by aduzik ( 705453 ) on Thursday June 09, 2005 @03:24PM (#12773364) Homepage
      Who builds shareware houses?

      Hey, I build shareware houses.

      • The front door won't unlock for sixty seconds while you stand outside in the rain staring at a nag screen telling you about the terrible plight of the builder (me).
      • The garage has two stalls, but only access to one is allowed.
      • The second floor is "disabled"
      • The bathroom has "limited functionality" (whatever that means)
      • Every thirty minutes, the house kicks you out and makes you reenter.
  • by Lendrick ( 314723 ) on Thursday June 09, 2005 @02:41PM (#12772836) Homepage Journal
    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.
    • What about cases like shareware or self-made products then, where you're the one who determines what the specification is? It seems to me that most shareware is just as bad as most contracted software, so while I agree with you about contracted software, we also need to be aware that when we're our own customer of sorts (or when we'll be selling something as a product to -- hopefully -- many customers down the road) we need to know how to create specs ourselves too.

      Reason we don't do this is because it's
    • Your vision of the development process is flawed because you expect the impossible of the client.

      The client can't give you the exact specification, and they never will be able to. You have to design and build in very small steps and get them to look at what you have after every step. That way, you'll never spend a whole bunch of wasted time and effort going down the right path. Also, the client will have a lot more visibility into the project and will be consequently be happier with it because they won'

  • by cfalcon ( 779563 ) on Thursday June 09, 2005 @03:25PM (#12773390)
    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.

    ---
  • by JDHawg ( 800829 ) on Thursday June 09, 2005 @03:44PM (#12773623)
    This is from an old Air Force Software Acquisition Guide. Enjoy.

    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.

  • Sorry, I don't recall where the following came from. Please save it and show it to the next person who compares software unfavorably to houses.
    If Architects Had To Work Like Programmers

    Dear Mr. Architect:

    Please design and build me a house. I am not quite sure of what I need, so you should use your discretion. My house should have somewhere between two and forty-five 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 will make the final decision of what I want. Also, bring me the cost breakdown for each configuration so that I can arbitrarily pick one.

    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 aluminum, vinyl, or composite siding. (If you choose not to specify aluminum, be prepared to explain your decision in detail.)

    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 be designed to accommodate, among other things, my 1952 Gibson refrigerator.

    To insure that you are building the correct house for our entire family, make certain that you contact each of our children, and also 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 that you weigh all of these options carefully and come to the right decision. I, however, retain the right to overrule any choices that you make.

    Please don't bother me with small details right now. Your job is to develop the overall plans for the house: get the big picture. At this time, for example, it is not appropriate to be choosing the color of the carpet.

    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 therefore should have appeal to a wide variety of potential buyers. Please make sure before you finalize the plans that there is a consensus of the population in my area that they like the features this house has. I advise you to run up and look at my neighbor's house he constructed last year. We like it a great deal. It has many features that we would also like in our new home, particularly the 75-foot swimming pool. With careful engineering, I believe that you can design this into our new house without impacting the final 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 costs as a result of later design changes.

    You must be thrilled to be working on as interesting a project as this! 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 complete ideas and plans.

    PS: My wife has just told me that she disagrees with many of the instructions I've given you in this letter. As architect, it is your responsibility to resolve these differences. I have tried in the past and have been unable 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.

Almost anything derogatory you could say about today's software design would be accurate. -- K.E. Iverson

Working...