Thursday, April 12, 2012

How the WWW is like a McDonald's kitchen

One of my USB thumb drives went through the wash. My wife let me know today, but I suspected that's what had happened, as the last place I remember having it was in the pocket of my jeans. It's a "1 GB CHINA" drive according to the foil sticker. I got it free in a press kit from the TD Jazz Festival.

It still works.

Contrast that with the extreme care we used to take with 5.25" floppy disks back in the 1980s. They came in non-abrasive sleeves, and we were so careful never to touch the exposed magnetic surface. Never bend, never flex, never keep in sunlight, don't smoke around them, don't get them wet, don't feed them after midnight. They were precious vessels that carried, what, 160k to 1.2 MB at best. In its time, a big ass floppy was the pinnacle of available technology, but it was fragile.

floppy disks

But this one-gigabyte gadget went through the wash and survived. I had a Blackberry pager -- one of the original ones, mind you, with the little black and white screen and top-mounted thumbwheel -- that I put through the washer *and* dryer once. It wouldn't turn on, so I pulled out the AA battery and put it on a shelf to dry. Two hours later it started beeping like a plastic ghost. I put it on the RS-232-connected cradle and was able to suck the information out of it before it died entirely. Nowadays, you can drop your iPhone and watch it die. Crazy.

This brings me to a discussion that came about this week as some of the older (read 30s) folks at work schooled the younger (read early 20s) guy about old computers. I talked about the PET with its green monochrome screen and cassette storage, and about the ZX81 with its 1k memory ("That's....that's a thousand characters!") and felt old.

Then the conversation crossed over into another talk I'd had with coworkers about the days when we worked at McDonald's. I was there around, I'm guessing, 1988. Others I work with worked there later.

In my day, we'd make a tray of burgers at a time as per the manager's order. They'd ask for, say, a tray of Big Macs. The grill guy would make a dozen Big Macs, all the same, and push the tray across the top of the bin to the manager. Manager would put them into the styrofoam boxes and put them in the bin with a timer tag. When it was time to throw them out, they'd go into the waste bin and we'd make another tray.

If someone wanted a custom burger, or a grill order, the order would come across and the customer would have to wait the full time for the patties to cook, the bun to toast, the toppings to be added, the tray to be passed through, and the sandwich put in the styrofoam box. What you got was a standard, static product unless you were willing to go through some fancy moves.

Eventually McDonald's changed. I'm going to skip the chapter about the Q-ing oven -- a microwave designed to...well, heat up the food. But instead of making a bunch of preset sandwiches and storing them in a heated bin, McDonald's now makes a bunch of patties (faster now with a two-sided clamshell grill) and keeps them in drawers. When someone orders a sandwich, it's assembled from the assorted components that are laid out to be put together in a just-in-time fashion.

Lately I've been trying to make the paradigm shift from old-fashioned web design to modern web design, and it occurred to me that it's the same thing as the change that happened in the McDonald's kitchen.

Back when I learned the web, roughly 1996, you coded your web site from scratch. You learned about HTML (and this was HTML 1.0, back before tables were even standard fare) and wrote your web pages by hand. At best, you had an editor that would help put the HTML tags in, but it was still hands-on assembly.

With an eye toward economy of bytes (since slow modems were still the standard) and cross-platform usability (since many users still used Lynx or other text-based browsers), you'd code a static page that would sit on a server and be handed out to whichever web client asked for it. Everyone got exactly the same page, every time. If you wanted something different, you could do some Perl programming voodoo, but most of the time it was an HTML page with a few graphic elements, that's all.

Now it's a just-in-time process, just like at McDonald's. A database holds the content like the workstation in the kitchen holds the condiments. Files are stored like patties in a drawer. A web browser makes a request to the server like a customer at the drive-through. The server gets some information on the fly, like the browser type, resolution, location, cookies, etc., and prepares a web page as it goes.

Instead of reaching into the bin and getting the same standard sandwich as everyone else, the modern Web *has* no sandwich. Every single order is an express grill order, prepared on the spot. Whereas the 1996 web had ready-to-go HTML sitting all prepared, the new sites don't. There's no that's been FTP'd after someone made it in Notepad. It's a custom job.

I think I'm starting to get it. And I could really go for a Big Mac. And I don't miss working at McDonald's. But it helped train me for the interwebs.

No comments:

Post a Comment