Tim Bray doesn't like Web metaphors:
"The Web isn’t a platform or a database or an API or an OS a cloud or a clickstream or any other of those things. In fact, the Web isn’t even a thing, it’s a mesh of agreements with a nice straightforward engineering rulebook. Play by the rules and you can be part of it and build something great, struggle against them and you’ll look lame and you’ll fail. But don’t try to analogize it; sometimes the world has new things in it and you just have to deal with them as they are."
In one sense that's spoken like a true engineer. Try giving that definition of the Web to anyone without a degree in computer science ;-) But that last sentence does resonate with me, because the Web is a unique medium and is hard to contain in a single metaphor (more on that at the end of this post). Dave Winer liked that bit too.
Sam Ruby, who is also an engineer, disagrees with Tim:
"Fully Disagree. Metaphors are perfectly good thing to have, in a P.T. Barnum sense. And, it is working. Go with it.
The tipping point was Google Maps. The tip of the iceberg was AJAX, and that’s the bandwagon that a number of people have jumped on. And on balance that’s a good thing as people who previously had clung unto the idea of a fat client are starting to let go."
James Snell, another engineer, then posted his thoughts:
"I'll definitely admit that metaphors can be good, for certain audiences; but they can also get in the way, especially when they're vague and take longer to explain than the code they're meant to describe."
Let's take a short diversion into the history of metaphors on the Web. Did you know that in 2000 there was an Internet Metaphor Project? Neither did I until about 2 minutes ago. To quote from its abstract:
"The nature of the World Wide Web is unfamiliar to most people. In order to make sense of this foreign environment people describe the unfamiliar in terms of the familiar. Metaphors are often used for this purpose. Since it is important to use the Web effectively it is important to acquire insight on user perceptions."
And of course metaphors have long been a part of computing in general - the mouse, the GUI, windows, surfing the Net, the Information Superhighway... well, OK sometimes metaphors can be a nuisance.
Also metaphors were a strong part of the early Web. Quoting from my own essay a couple of years ago for Digital Web Magazine, entitled The Evolution of Corporate Web Sites:
"In 1997 the Web was still a new phenomenon to most of the population; one of the easiest ways to make the Web seem more familiar, and less alien, was to make the Web look and feel as much like the real world as possible. So we were treated to a variety of shopping mall metaphors, city metaphors, home and room metaphors. It took a few years more for Web designers to realize that the Web wasn’t a mere copy of the real world, that it was a unique medium with its own characteristics."
So all in all I like metaphors and think they're very much appropriate for technical subjects. But after a while they seem to outlive their purpose, especially on the Web. That's the danger of statements like 'The Web is a platform', which I am fond of making. But right now, the Web is a platform - there are many services and apps that are being built to run on the Web, using the very infrastructure and standards that Tim spoke about. It may not be an appropriate thing to say two or three years from now, but for now it does help normal people (non-engineers) grok the power of the Web.