A "simple" PC can be quite complicated.
© 2013 Stan Yack

In the the prehistory of home computing (1975), the only people using microcomputers were hobbyists like the members of the Homebrew Computer Club. They built their own PCs from kits, and sometimes components from electronics stores; and like most hobbyists, they actually took pleasure in solving problems they encountered building and playing with their toys. The dream of visionaries like Alan Kay was to make computers accessible to everyone, not just technophiles. In the 21st century that dream has come true ... sort of. There are PCs everywhere; but they often seem harder to use than a MITS Altair 8800.

You can be more productive using a modern PC than its 20th century predecessors — at least if you ignore the time it takes to learn how to use them. But the sophisticated graphical user interfaces of a "simple" PC are dependent on unseen, extensive, complex systems of hardware and software. When the covers are stripped off, installing and using even the simplest, standard computer system can very quicky turn out to be complex. And unlike 1970 hobbyists, only a tiny fraction of we 21st century computer users find any pleasure in taming our complex computer tools.

One of my clients wanted to do a very few standard things using her brand new PC purchased from a major manufacturer, and her premium hi-speed Internet service: She wanted to send email, surf the Net, print digital photos. She should have an easy time, but before she could do those simple things she needed several visits from a paid consultant (me). (Click here to read the gory details that included a complex installation, a bad printer cartridge, and a persistently unreliable Internet connection.)

The best PC vendors provide installation instructions with large, glossy diagrams and colour-coded cables. The instructions for the installation and use of modern hardware and software are easy-to-follow and complete ... at least when everything goes according to plan. But that doesn't always happen. With millions of possible installations, the number of predictable situations are just oo numerous for planners to enumerate and document (for limited access ACM document on the subject click here).

Without complete problem determination and action charts to guide them, not even the most well-trained, conscientious support agents can be perfect advisors. When something goes wrong I usually try to solve it myself, searching for solutions on the Net. But like you, often I have to call the toll-free number for the vendor or service provider ... and endure advertising messages, or repetitions of the laughably insincere "You're call is important to us". When I break out of a telephone voice jail and talk to a human being, I'm often initially impressed by polite and helpful customer support staff. But when their detailed problem diagnosis goes on and on, ending in suggested solutions like reinstalling or removing another vendor's hardware or software components, I find it hard to keep calm (unless I'm helping someone else, or posing as my own consultant) .

In the late 1980s I worked as a software tester, on a team verifying the correct operation of an IBM mainframe software component called the C/370 INSPECT Debugger (now called the IBM Debug Tool for z/OS). We testers tracked down and documented the product's misbehaviour, and restested to confirm that the development team's repairs had fixed the problems. I think we did a pretty good job of removing bugs. But the INSPECT Debugger's human computer interactions were simple streams of text for user inputs and reports; that software component didn't have to react to the complex mousing and clicking of today's highly interactive graphical user interfaces. In today's world the job of software verification is much harder.

In a corollary to Parkinson's Law, software and data (text, music, images, movies) fills the gigabytes (soon to be terabytes) of space available on a modern computer; into that space software can squeeze so much function, and so much user choice, that it becomes a practical impossibility to test all possible paths that programming logic will take. And even worse, that logic itself may be threatened, as the chaos of the physical world encroaches upon what once was the clear-cut, "on or off" internal world of computers. It may even be (as I've suggested elsewhere) that the software spread across the worldwide system of interconnected computers has already moved beyond human understanding.

How many of us can get our computer tools installed and working without "expert" help? How much stressful time have you yourself spent on the phone waiting for advice on overcoming the latest in an endless series of technical barriers blocking your path to success?

e.g. Your old printer doesn't work with your new PC; your "high speed" access to the Internet is unreliable; you can read both CDs and VDs, but write only DVDs; your PVR didn't record the movie broadcast last night; your microwave oven won't defrost.
With the computerization of the telephone, you might already need the assistance of a technical consultant to do something as simple as inviting your relatives to Thanksgiving dinner. And as more and more of our tools become computerized — automobiles, refrigerators, shavers, shoes, chewing gum, air — you may eventually need expert advice to do some things even more basic, like eating, walking and breathing!

Has your computer system failed you? Are you getting a run-around from your product vendors and service suppliers?

Click here to read my advice for what you can do to prepare for your encounters with the not necessarily helpful people at the call centre, or here to read about a way to keep yourself calm when they're helping you.

Stan Yack
Instructional Designer and Softsmith