Chip's Quips
A tiny spark of wit for a highly flammable world

A modest proposal for a new development paradigm

November 11th, 2012 12:43:17 pm pst by Sterling Camden

The introduction of a new paradigm in software development is almost always more properly a recognition and codification of principles that developers have honored intuitively for years, and the one I’m about to propose is no different in that regard. Developers of both end-user applications and software development tools have often observed that the consumers of their productions are likely to:

  1. be uncertain about how to begin
  2. make common errors when using the product
  3. attempt to use the product in ways other than the purposes for which it was designed

Developers have haphazardly employed a number of tactics to remedy these ills. I hereby propose a systematic strategy to insure that not one user goes astray, which I call Stupidity-Oriented Development (SOD). SOD includes the following helpful practices:

Put the user in a box and keep him/her there

Make the usual things simple, and the unusual things impossible. Don’t think of this box as a prison, but rather “a fortress deep and mighty, that none may penetrate”. Users can’t hurt themselves if we only allow them to achieve certain things that we know in advance aren’t harmful. The best examples of this principle are graphical wizards that include only the options that are reasonable. Rather than rapping the knuckles of a wayward user with an error message, we simply make it impossible for him/her to perform the wayward act. If they express a desire to pursue an option contrary to our guidance, the correct response is: “that’s unsupported.”

Make the user repeat his/her intentions

It is axiomatic that the most frequent mistakes in software development are type errors. Not even highly-skilled developers can write so small a program as “Hello world” without trying to pass a string where a Microsoft.Playthings.World object is expected instead. Languages that employ SOD solve this problem with static typing — the developer must state the type of object expected, and then must also type the object that is passed using a compatible class. By forcing the developers to repeat themselves in this fashion, the compiler can check both statements for consistency, and stop them from pursuing their momentary insanity. In recent years, though, this safeguard has been increasingly threatened by a new laxity that goes under the name of type inferencing. This dangerous development sprints down the slippery slope of assuming that developers mean what they say.

Lead the user down the right path

Perhaps the single most SOD-like feature ever implemented on a large scale was Microsoft Office’s most famous assistant, Clippy. Clippy’s animation appealed to the playful tendencies of the human brain, and cheerfully offered to help the user do the things s/he should do, rather than what s/he wanted to do. Alas, Clippy was ahead of his time, and failed to achieve the unsurpassed popularity he deserved. Some analysts have attributed this failure to the work-related image of a paper clip, but later incarnations as a puppy, wizard, or genie did not fare any better. Perhaps if he were reintroduced as a Nyan Cat or Gangnam Style dancer, he might be better able to command user attention.

Conclusion

All of the above practices share a common theme: using well-designed silicon-based intelligence to guide and correct the inferior carbon-based intelligence that evolved purely by chance within human skulls. While not a perfect solution, it is the best we can do until the latter can be replaced totally by the former.

Posted in Geek Meditations | 2 Comments » RSS 2.0

Chipping the web: March 25th

March 25th, 2010 3:00:45 pm pst by Sterling Camden

Chipping the web

Posted in Share the Love | No Comments » RSS 2.0

Chipping the web: December 7th

December 7th, 2009 2:00:02 pm pst by Sterling Camden

Chipping the web

Posted in Share the Love | 2 Comments » RSS 2.0

Chipping the web: November 11th

November 11th, 2009 1:00:22 pm pst by Sterling Camden

Chipping the web

Posted in Share the Love | 2 Comments » RSS 2.0

Slashes on the dash

October 26th, 2009 2:02:40 pm pst by Sterling Camden

The engineers who designed the dashboard controls for our VW Eurovan must have loved fractions.  The tachometer (a questionably useful feature on a van equipped with an automatic transmission) is marked in large increments labeled “10”, “20”, ‘”30”, etc.  In the lower-left corner, this system is explained by the legend: “1/minute x 100”.

If they had simply marked each increment “1000”, “2000”, etc. then they could have simplified the legend to “1/minute” or even the generally recognized “RPM”.  And if the extra zeroes were deemed inefficient, then why not label them “1”, “2”, etc., and change the legend to “1/minute x 1000”?

Perhaps an appreciation for this feat of German engineering lies beyond my lights.

One day, my wife called home on her mobile phone while driving (which is now illegal in Washington) to tell me that the Eurovan was almost out of fuel.  “But I just filled it up!” I cried.

“Well, the needle is right on the line now, so someone must have siphoned off our gas,” replied my wife.

I didn’t have much time to worry about who might have come onto our property to steal fuel, because I needed to catch a ferry as soon as my wife returned – and now I had to worry about taking enough time to fill up the tank en route.  As soon as my wife drove up, we exchanged a hurried greeting and I took off.  Worried that I might run out of gas before I got to the station, I glanced down at the gauge.  It was full.

But I can’t fault my wife too much.  The gauge does not sport the helpful letters “E” and “F” that have become so familiar to American motorists.  No, the VW engineers decided that since they needed to label the midpoint “1/2”, it made perfect sense to be consistent and mark the full end of the spectrum with “1/1”.  They did not label the empty end, however.

I would have expected “1/∞”, or something equally well defined.

Tags: , ,

Posted in Get Outta Here | 2 Comments » RSS 2.0

Chipping the web: October 2nd

October 2nd, 2009 3:00:04 pm pst by Sterling Camden

Chipping the web

Posted in Share the Love | 2 Comments » RSS 2.0

Etiquette and efficiency

September 7th, 2009 2:51:40 pm pst by Sterling Camden

My wife always scolds me about how I use a knife and fork, especially in front of our children.  She says that I teach them bad manners, because I don’t follow the standard American style of silverware etiquette:

The knife is held in the right hand and the fork in the left. Holding food to the plate with the fork tines-down, a single bite-sized piece is cut with the knife. The knife is then placed on the right edge of the plate (with the blade facing inward) and the fork transferred to the right hand, with the left hand falling to the lap. The cut piece is then speared (if not already during the cut) or scooped and eaten using the fork in a tines-up orientation. The fork is held in the right hand or put down on the plate while chewing. The fork is then transferred back into the left hand, the right hand picks up the knife, and the process is repeated as necessary.

Only Rube Goldberg or Microsoft could have devised such an ornate solution to the relatively simple problem of eating.  I prefer the European convention:

The European manner is to hold the fork and knife, in the left and right hands respectively, throughout consumption. The hand grasp is also different: in Europe it is considered better manners not to hold a knife or fork as one would hold a pen, but instead to have the handle running along the palm and extending out to be held by thumb and forefinger.

To me, it’s a simple question of efficiency.  All this swapping of hands and laying down of utensils involves far too many moving parts.  Why not simply keep each utensil in its most useful place?

One possible purpose for the American convention is to inflict a significant pause between bites.  This encourages conversation, and avoids the appearance of shoveling down your food.  Eating more slowly is certainly better for digestion and helps to reduce overeating.

But to my design-oriented mind, adding inefficiency to a system seems like the wrong way to control timing.  It reminds me of the reason for the QWERTY keyboard layout – to slow down typists so they wouldn’t jam the typebars.  Although typewriter technology eventually evolved to handle more rapid typing, the original timing kludge remains to this day.

Rather than forcing diners to repeatedly direct a silverware square dance over their square meal, why can’t we all just agree to eat slowly, chew completely, and talk between bites?

Posted in Get Real | 18 Comments » RSS 2.0

Chipping the web: September 4th

September 4th, 2009 6:00:28 pm pst by Sterling Camden

Chipping the web

Posted in Share the Love | 5 Comments » RSS 2.0

What’s up, docs?

August 19th, 2009 10:05:19 am pst by Sterling Camden

I arrived at The Doctors Clinic (they omit the apostrophe, so I guess the doctors don’t own it) for my blood draw a week before my regular check-up.  At the front desk, I noticed that they had acquired new monitors and keyboards since the last time I was there.  Even though that was more than a year ago, those things catch my attention.

In addition to my name and insurance card, I offered the survey that I had filled out prior to my exam.  But the nice lady at the desk replied, “Bring that with you to your appointment.  We can’t take that now.”

I guess my puzzled expression must have had “Why not?” written all over it, because she continued to explain.

“We don’t have paper files anymore – it’s all electronic.  We’d have no place to keep it.  The doctor will want to read it when you’re here, and then we’ll scan it into your file.”

So, they can’t scan it in now because the doctor wants to read it on hardcopy?  Sounds to me like the whole digital records concept is meeting with some physician resistance.  Or maybe it just doesn’t work that well.  Perhaps the doctor likes to hold these things in his hand and read them as he’s walking between examining rooms, but he can’t get to them from his mobile device.  Or maybe it’s just institutional lag and they’re still getting used to the idea of not having permanent paper files before they take the next step.  Or perhaps they just don’t want to be bothered with it right now, because that’s not The Way They Do Things.

Ideally, even the originating document shouldn’t be on paper – they should have a secure web site where I can fill out the survey instead.  For patients that don’t have an Internet connection, make them sit down and fill it in at a workstation in the doctor’s office.  You’d only need one, in a private room – if there’s a waiting line for it, remind them that they could access it from home if they had Internet service.

I took a seat in the lab’s waiting room, along with more people than usual – about a dozen.  The nurse apologized in advance for the wait, which turned out to be only about fifteen minutes.  I overheard a lady telling her husband about a friend of hers who had to wait for a whole hour at the doctor’s office – boy was she mad.

When I was a kid, our little one-stoplight town also had only one doctor’s office run by two brothers – the Drs. Bond (neither one named James).  Although the town was only a mile across, the Bonds also served the surrounding county.  Almost every time I had to see the doctor as a child, the waiting room was so full that quite a few people had to stand.  I don’t know how my memory colors the perception, but it seemed that we often waited for most of the day.  If it hadn’t been for Highlights magazine, I would have driven my mother crazy.

The nurse who intended to pierce my vein and take my blood called me back into her torture chamber.  She greeted me with a smile and asked, “Are you hungry?”  This was her way of insuring that I had followed the directions to fast for 12 hours prior to the draw, but it confused me initially.

“Yeah, I usually eat before this time of day, so I am getting a bit hungry.”

“I don’t usually eat breakfast myself,” she replied, “but today my husband made me the best breakfast – pancakes and bacon!  It was delicious!  The pancakes were hot and buttery, and the bacon was crisp and thin, just how I like it.”  My stomach registered its approval of her menu with a sad groan.  On and on she went, while tying the tourniquet and inserting the needle.  I couldn’t help noticing that her rather large body didn’t need the addition of pancakes and bacon.  How can someone in the medical profession let themselves go like that?  I was also a little put off by her thoughtlessness, talking about food to a hungry man.  Maybe she was trying to get my veins to pop out.

Posted in Uncategorized | 8 Comments » RSS 2.0

Chipping the web: July 16th

July 16th, 2009 5:01:52 pm pst by Sterling Camden

Chipping the web

Posted in Share the Love | 1 Comment » RSS 2.0