« A very little cash for a laptop | Main | And this was how the giant buoy got anchored in the tiny pond »

What's missing: how things work

We’ve done a lot of really cool stuff on the Internet in the last dozen years or so. Here’s something we haven’t done: explain how it all works in a way non-technical people can understand.

Don’t tell me there’s an Internet For Dummies book out there, because I’m sure there is. That’s not the point. That sort of book tells you how to double-click on the Internet Explorer icon, and how to tell the difference between an email address and a web address. Maybe it explains how to dissect a web address into a protocol, hostname and path, but I doubt it. That’s all fine as far as it goes (except for the Internet Explorer part) but there’s important information people need when things go wrong, and they’re never told they need to know these things, or how to learn them.

Here’s a good example: Most relatively competent people understand what domain names are. I wonder what percentage understand IP addressing? I don’t mean understanding the various ways of carving up address space, like class blocks and CIDR, or even the concept of localhost (there’s no place like 127.0.0.1) and unroutable addresses (192.168.1.1, anyone?) but just the bare fact of the numeric addresses under domains, and how they’re mapped to each other. And when I’m talking about understanding DNS, I don’t mean recursive queries, I just mean something as simple as “you send a request to this server asking for the numeric address of www.example.com, and it answers with the correct address.”

The fifteen minutes it might take to understand that concept might save five hours (or five days) troubleshooting a connectivity problem.

I’m thinking about this because tonight I fixed an email problem for a local couple who will remain nameless here because it’s not their fault. They could receive new email, and read it, but they couldn’t send any. Was this a virus?

Nope. It was their helpful ISP blocking port 25, the universal “I’m sending email” port, in an anti-spam measure which, while possibly effective, neatly shifts the burden of unsolicited bulk email off the sender and on to the confused customers of a big, faceless telco. Because seriously, what’s a port? And where were they supposed to have learned that?

There’s a generation of us out here who open up our car hoods and are completely mystified, because they work so well we never need to know the difference between a loose belt and a busted alternator. There’s also a generation who knew how to check their own oil and could diagnose engine problems by listening to them. (“Sounds pretty rough; have you looked at the timing belt recently?”) On the internet we seem to have skipped directly from the user class who wrote their own network drivers to the ones who don’t know ports from IP numbers, but we haven’t yet reached the stability that second group really needs.

While we’re working on the stability, how do we teach them the troubleshooting?

Comments

There’s also the basics of client-server relationships to help students understand how their browsers worked. I wanted to make a cartoon of the innards of a computer where little blobs wearing hardhats worked, each with a bicycle messenger bag. They would, of course have hands and stick legs. And one could see various sheafs of paper sticking out from the pockets of their blob suits.

As the user browsed a page, the blobs jotted notes regarding what the user typed or where she had the cursor hovering. When the user manded an action (i.e., pressed enter or return or clicked), the snnozing foreman of the blobs got bumped by a boot and, awakened rudely, adjusted his hardhat. Then he yelled to the worker blobs, “O.K. Who’s got that? No sense in checking it. She said ‘Go,’ so let’s get going.”

One of the workers would say, “I’ve got it” and, after sticking a paper in a time-clock for a stamp and stuffing it in his messenger bag, then promptly dive into a tiny hole near the back of the scene. The view would suddenly shift outside to the back of the computer and one would see a blob shape moving through a LAN wire, into the receptacle at the wall. Then, inside the wall the blob shape would be moving through the wire at breakneck speed, stopping at switches to show it’s destination (“I’m headed to 128.143.52.49. Here’s my papers,” which it would pull from one of the slit pockets). The blue police blobs at the switches would allow it to pass, pointing the direction through another wire to then next swtich.

Eventually, it would arrive at the entry way to the server, climb out of the pipe, stand up and dust itself off, and then knock at the door with the Apache emblem on it (other doors would have other insignia, e.g., e-mail, ssh [with port numbers above ‘em?]). When the door opened, the the travelling blob would hand a sheaf of papers to the resident blob and say, “Howdy. I presume this is 128.143.52.49. I’m here for the items shown in these paths. I come from nnn.nnn.nn.nn which is a Mac OS running 9.6 with a resolution of 800-x-600, blah, blah, blah.”

The server blob would turn to his minions and, while glancing at the sheaf of papers, say, “Order up. I need /docs/about.html and let me have it will all the associated accouterments, images, SSIs, the whole shebang. Stat!” Meanwhile, in the background, a little resident blob with a eyeshade hat and sitting on a tall stool at a high desk would be rapidly copying the path information into a giant ledger.

Server blobs would come dashing to the receptionist blob, stuffing files into the client blob’s messenger bag. Then the server receptionist would say, “O.K. That’s about everything. I hope the wife and kids are doing good. See ya.” And, away would go our little blob, making the return trip to the client.

Upon his return we would see from inside the monitor as the page refreshed, and the user blinked and began to scan the new page.

Or something like that.

Post a comment