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. "
The Opposite House (Score:5, Interesting)
http://www.dilbert.com/comics/dilbert/duh/ [dilbert.com]
Doesn't this apply to anything... (Score:2, Interesting)
Re:If builders built buildings.... (Score:3, Interesting)
It's one of "Murphy's Laws". Specifically, it is "Weinberg's Second Law". I found it on this page [flowcalcs.com]. You might have to search the page. I cannot find a direct link via html.
as usual (Score:3, Interesting)
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
Hilariously bad interior design (Score:2, Interesting)
I recommend buying the book [amazon.com] if you like the sampling from lileks.com. I've seen the collection in it's eye-searing completeness and it's a riot.
As a compensation prize... (Score:3, Interesting)
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.
Re:Yeah, but... (Score:2, Interesting)
No, we don't. Most houses, as they are, are completely braindead. Get thee hence and read "Your Engineered House" by Rex Roberts for some of the ways and reasons.
And computers, how long have we had those?
How long have we had mathematics and physical ways of representing it?
Most software sucks because the people who write it ignore principles that are prefectly well understood and in some cases even provable.
Garbage in, garbage out.
Games might be an exception, but then Ed doesn't deal with games, having come to the conclusion that having a bad UI experience must be part of the game, for some reason or other. Beats me why.
KFG
Re:Already slow; Full Text of Article: (Score:5, Interesting)
"Herbert unlocks the door and the damn thing swings OUTWARDS knocking you back a step or two."
Wtf... Where I live, all doors open outwards. It's much more convenient*. Interesting assumption coming from a UI critic, who should know better than to accept what he has been given as the best alternative.
*-The door swings into the yard, instead of creating an obstruction in the foyer.
-You can close the door immediately, instead of having to take off your shoes and get out of the way first.
-If a fire breaks out, and a bunch of panicing morons are pushing you from behind, you can still open it.
Re:Yeah, but... (Score:1, Interesting)
The fastest-built Habitat for Humanity home in the world was raised on Dec.17 2002 in just 3 hours, 26 minutes and 34 seconds.
from habitat for humanity [habitat.org]
Re:Already slow; Full Text of Article: (Score:1, Interesting)
Re:Yeah, but... (Score:3, Interesting)
Yeah, it seems stupid to make a chimney out of wood - but if it is maintained it's not as stupid a notion as it sounds. Wood is easy to locate, move and stack and it was abundant in the area.
Re:These analogies don't hold up (Score:3, Interesting)
I agree with your main point (and that of the GP). On the other hand, software knowledge is evolving faster - at least IMHO.
The reason for this isn't to do with physical vs knowledge work, it's to do with information flow and feedback times and the population growth curve. People learn what other people have done, and wether it worked or not, faster today than ever before (well, unless last week was a low worm week, but you get the idea). And when they get this info, they react to it, and then add it back into the feedback loop. On top of this, there are more people thinking about these problems than ever before.
So developemnt times are shortened, and the field matures faster. Of course, the same feedback loop speeds alnost every area of human endeavour - it's just that some like house building are understood in far more detail that others. In these cases, the law of diminishing returns means the speedup isn't so obvious, but I believe its still there.
As an example, think of electronics, by which I mean wires-and-solder, pre-microchip, non-software electrics. As an industry that's what? A hundred years or so, if we count from Edison who made it a commodity rather than Faraday who doped out the theory anyway. I'd say we understand electrics in a similar sort of depth to house building, but we got there in a far shorter time.
Of course if you consider, say, quantum mechanics then there's still a lot to be learned about electrons. Of course, the same can apply to construction work, say if you consider space elevators.
Re:Doors swinging outward? (Score:4, Interesting)
"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.
Re:Terrible Analogy (Score:2, Interesting)
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...
Re:And the heating system (Score:5, Interesting)
Because engineers in other industries and professions spend orders of magnitude more time estimating than they do actually building. (Once the estimating is done, the building is usually fairly straightforward, relatively speaking). We could probably accurately estimate the time taken to build software... but then they'd ask us to estimate how long the estimate would take... and then how long the estimate of the estimate... Or, we could just take a reasonable guess and just build the damned thing.
And, by the way, no industry or profession can accurately estimate and deliver product. Road construction, satellite design, new home construction, movie production, etc. etc. are always complaining about running over budget. Software is exponentially more complex than any of those.
In summary, bite us.
If Architects Had To Work Like Programmers (Score:3, Interesting)
Re:Yeah, but... (Score:3, Interesting)
Oh, and they're really ugly, too (imo).
Re:And the heating system (Score:5, Interesting)
strncpy - does not guarantee the terminating NULL and fills the dest string with zeroes if it is short (bad performance)
strncat - does not guarantee the terminating NULL and the 'n' argument is very confusing and encourages buggy calls.
Use strlcpy/strlcat instead (oh wait, the GNU libc maintainer refuses to put them in...)