Fog Creek Software
Discussion Board




All the screws lined up?

It does sound really expensive to build a house in which all the screws line up.  I think an engineer might have told the owners that a house is built to be lived in for hundreds of years and that it is very unlikely that all the screws will still line up in even twenty years.  Sounds like a waste of money.

Making your software handle edge cases and user inexperience in an elegant manner- I don't know.  Do people base any of their software purchase decisions on this criterion yet?

Name withheld out of cowardice
Tuesday, December 02, 2003

My personal approach to lining up screws (or tiles, or just about any repeating pattern physical items) is to deliberately use a 'misalignment' pattern. That is, I either stagger them in some alternating pattern or, if appropriate to the task, randomize their placement (i.e. strip flooring). The pattern is normally just as pleasing to the eye while virtually eliminating the possiblity that someone can detect a minor error without a measuring device. It looks good when new and holds its appearance over the life of the installation. I'm not aware of any circumstance that makes the result any less robust and suspect that removing the 'fault lines' actually increases strength and durability.

Now if I could just do that with code...

Ron Porter
Tuesday, December 02, 2003

The funny thing is that if the house was the product of a manufacturing process, they would probably all line up neatly.  That kind of repeatability is the hallmark of modern manufacturing.

pepe
Tuesday, December 02, 2003

Yes, my brother is in construction & real estate mgmt and he tells me that /nothing/ in normal buildings is really aligned... that corner angles never actually measure 90 degrees ("take out a t-square and see for yourself," he says), that level things aren't, and so on. And that's the day of construction, not after settling and other changes take place. Why? Cost is prohibitive, benefit is slight -- not enough to get more rent or sale value from except perhaps in some totally extreme cases.

Do people base software purchase decisions on elegance? Perhaps not directly, but I have to believe that part of the difference between software (or any other product) that people love, and products that people simply endure, has a lot to do with that level of elegance. Certainly it affects word-of-mouth recommendations and the like.

One class of product where I suspect this is especially true is automobiles. A BMW M5 is an awesome car not just because of speed and handling, but because of elegance, or perhaps precision in engineering if you prefer something less fluffy-sounding. There are all these small details that are /just so/: the subtle thunk of the doors closing, the position and resistance of the turn-signal lever, the responsiveness of the steering, the throw of the stickshift, the layout of the instruments. BMW probably expends thousands of person-hours on every one of those little details. And I'm just using them as an example, as they're certainly not the only ones: I remember reading a story when Honda introduced its S2000 roadster (which is relatively low-cost) about how much effort it put into tweaking the exhaust tuning just to get drivers to make the right emotional associations with the engine noise. And one about a guy at Mercedes (I think) who spent enormous amounts of time determining how the click-click of an engaged turn signal should sound.

Lexus is also renowned for its attention to detail -- and also the quality of its service, a notable low point for many software products. Is it conceivable that a software vendor could do for support what Lexus did in the car world -- i.e., make it an experience people actually look forward to, that's so good they tell their friends about it? What a change *that* would be! Of course, if it means you have to spend $60K for an office productivity suite, maybe it wouldn't seem so compelling... then again, employees are expensive, computers are cheap by comparison, and if truly excellent software cost a few thousand dollars extra, would it make such a huge difference to your company's costs? Kind of an interesting thought experiment...

John C.
Tuesday, December 02, 2003

I don't know if it's true of modern BMWs but I remember reading that in older models, if you were cruising at a certain speed (100 km/h?) and everything was well, then all of the instrument needles would be pointing to twelve o' clock. This meant that you could instantly tell if there was a problem.

John Topley (www.johntopley.com)
Tuesday, December 02, 2003

Owning a 110+ year old house, I have to comment about things not lining up.  Houses settle, and give it 100 years, you'll need to choose between square and level -- you'll never have both.  Hell, I've got a 4' wide closet where there's about 2 1/2" difference in the height.

GML
Tuesday, December 02, 2003

Back to the screws things, what screws are we talking about here? The only visible screws I have here are on the light/switch fixtures, and the door hinges.

None of those involve any craftsmanship in lining up.

What am i missing?

NC
Tuesday, December 02, 2003

The "all the screws lined up" house was probably an exaggeration. More likely, it was that the screws were lined up where people could see them.

The annoying thing about Joel's door will be that everybody is going to notice the misaligned screws and this will be noticeable for a very long time. And the misaligned screws will be taken as evidence that the rest of the work was done shoddily.

It might have taken more time to align the screws in the door but, with a bit of planning and experience, probably not much more. Realizing this, and acting on it, is craftsmanship.

With cars especially, people use sensory information (sight, sound, feel) as proxies for real (and impractical) tests (e.g. stress tests) of actual quality. Many engineering products (cars and houses) have a major aesthetic component to their perceived value.

njkayaker
Tuesday, December 02, 2003

John Topley, I don't know if that's still true either, because I don't actually own an M5 (drool) or any other BMW for that matter. But I think I've heard similar things about race cars...

John C.
Tuesday, December 02, 2003

I've been having some major work done on my kitchen; my general contractor was telling me about a huge concrete patio he once poured.  "How much slope do you want in it?" he asked the owner. 

"None, I want you guys to build me a level patio." 

"Then you have two choices.  Either we spend ten times as long as normal getting it _perfectly_ level, or you show me where in the middle you want the puddles to form when it rains." 

They built the porch slightly out of level, draining away from the house.  Is that a bug or a feature?  Depends on your point of view.

Eric Lippert
Tuesday, December 02, 2003

(Not sure how the preceding really is relevent.)

Slope (just enough) is not a bug. Perfectly level would be. Making it level would be an indication that the contractor did not really know how to pour a patio. The key here is that the contractor new much more about patios.

njkayaker
Tuesday, December 02, 2003

Assuming no roof, of course ;-)

NC
Tuesday, December 02, 2003

1. BMW's won't sell nearly as many cars as Microsoft will Windows or Microsoft Office. Microsoft can certainly spend the money & effort BMW does on making their product user friendly.

If you read the iPod article, a lot of attention to detail went into that little thing, and though it sold like wildfire, there was no gaurantee that it would, and the revenue stream still probably doen't come close to MS Office.

2. A 0.01% feature is not really equivelant to your office door. It's really more closely aligned to having good & accessible ethernet ports with internet access in your conference room, or some other rarely used feature that's just right. How about the location of the spare tire?

3. Isn't Arizona where they're making houses out of bales of hay on metal poles surrounded by sheetrock & some sort of siding on the outide?

4. If I dumped a large file into CityDesk and it froze for so long that I alt+ctrl+deleted and killed CityDesk I'd conclude that it can't handle large files and I'd be just that much more hesitant about recommending it to someone because who knows how much they're going to abuse the thing and I don't want my reputation tied to a piece of software that will freeze on them.

I think CityDesk is far from being the BMW of Content Management, nor is it up there with the "everything but the kitchen sink" MS Office, but it does a lot with very little and I'd be happy to recommend it to anyone.

www.MarkTAW.com
Tuesday, December 02, 2003

I guess I'm looking at all this from a different perspective. Developers are people, and occasionally need a break from the regular grind, to let their imagination and creative spirits flow.

Years ago I had a situation where I came up with a crazy idea during a meeting. There really wasn't any justification for it, and it certainly wouldn't have any immediate payback. My boss thought for a few seconds, and told me to spend two weeks on it; no more, no less. I did, and the output of those two weeks never went into the product.

Often I find that my people, and myself, need something that isn't completely justifiable. It keeps us thinking creatively, and that's worth a lot.

In this case, Joel decided to have something work the way he wanted it to. Maybe it could be financially justified, maybe not.

Sometimes, the best answer is 'who cares'.

In yet another light, there was a report years ago discussing the benefits of high-profile athletes promoting products for big big dollars. The authors of the study found that the cost was not justifiable in terms of attracting people to the brand, but rather it served as an incentive to the company employees, specifically the salesmen. It gave them more conviction and pride in their product, which translated to more store orders, and in turn to consumer sales.

Perhaps the 0.01% feature does very little to the end user, but these things can make a big difference to the developers, and perhaps salesmen. It's just one of the very many, very small things that a company can do to encourage it's teams.

If you'll excuse me, yet another another example. AMG (car manufacurer) recently build a new factory, and redesigned their process flows. One change was going through their engines, and making sure that every single little piece could not possibly be installed incorrectly. As well, they greatly reduced the number of tools required to build the engines. This would have little effect on the end consumer, but the article had a quote from a line assembler where he talked with pride about that.

Would it make the car an easier sell? Doubtful. Is it worthwhile to have your employees bursting with pride about your product? Absolutely.

NC
Tuesday, December 02, 2003

One way to make a ton of money in software is to have a crappy product that needs lots of customization, but have a totally amazing sales force that gives CEOs the same feeling of confidance that they have in their Mercedes.

(SAP, Oracle...)

pdq
Tuesday, December 02, 2003

I guess you guys never built a Heathkit.  The screws mo debly lined up in those things, and the assembler appreciated it.  Ergo the saying, me thinks.

Did you know that at one time Heath sold a kit version of a DEC LSI-11, which was essentially a PDP-11?

"What's a PDP-11, Mitch & Murray?"

< shakes head and wanders away ... >

Mitch & Murray (from downtown)
Tuesday, December 02, 2003

It is more likely that the 1% feature will be something that is used 25% of the time by a certain segment of your market and never by the rest of it, than it would be about most users using it 1% of the time and thereby being willing to put up with the rare annoyance.

And because they depend so heavily on that feature, that type of customer will seriously bad-mouth your product if it isn't there.

T. Norman
Tuesday, December 02, 2003

"mo debly"? huh?


Wednesday, December 03, 2003

I suppose it would be too nerdy to ask whether the slots in the screw heads all pointed in the same direction. And should that be vertical? Horizontal? What?


Wednesday, December 03, 2003

Race cars often have the gauges twisted so they all point up when everything is 'normal', if you consider going in circles at +200km/h normal.  I've no doubt petrol heads copy that.

Manufactured items aren't identical, these's a certain amount of tolerance (slack) allowed.  Surprisingly large on occasions.  The trick is to design stuff so it doesn't matter come assembly time.

Keeping on the race car theme, when race cars need to be built with 'stock' items, the engineers go and measure as many parts as they can to find the perfect 'stock' item.

And yes, houses suck for things being square & level.

AJS
Wednesday, December 03, 2003

I read recently about the manufacture of a very high end speaker system.  Because of the variation in components, e.g. the same brand and "size" of capacitor having slightly different actual capacitances, they actually measure each component and subtly alter the design of each crossover to get them exactly the same.  That is craftsmanship.  No software analog that I can think of.

As for the guy who asked where all the screws are in a house, maybe they are dry-wall screws.  The fact that they are spackled over and painted is no excuse for sloppy screw alignment.

Name withheld out of cowardice
Wednesday, December 03, 2003

Mitch and Murry,

My dad had some sort of private lablel PDP/LSI-11 in his home office when I was in high school. I spent quite a few hours programming on it because it had floppy disks and the Altair that I had only had cassette tape. Oh, and it had 16k vs 4k of memory (even though it was 1/2 as efficient for storing most data)

Have to go find my walker now...

pdq
Wednesday, December 03, 2003

>making houses out of bales of hay on metal poles >surrounded by sheetrock & some sort of siding on the >outide?

Good idea, my neighbour is rebuilding his house- it's made of twisted together twigs stuffed with straw with clay spread on the outside, and a roof of straw - it was built some time before 1492 and is still going strong!

I live in the other cambridge ;-)

Martin Beckett
Thursday, December 04, 2003

> I suppose it would be too nerdy to ask whether the slots in the screw heads all pointed in the same direction. And should that be vertical? Horizontal? What?

Well, it depends, my personal preference is horizontal for screws in light switches and power sockets and vertical for screws in door hinges...

Len Holgate (www.lenholgate.com)
Thursday, December 04, 2003

*  Recent Topics

*  Fog Creek Home