Friday, August 31, 2007

Deutsch's "Fallacies of distributed computing"

For a while, I had Peter Deutsch's list of eight fallacies of distributed computing on my office wall for easy reference. I still refer to them often. It seems to me that our next magical trick, and one we're making some progress in being able to pull off, is to make end users think the fallacies actually hold, while simultaneously varying how true they are in practice.

That is, if I'm using the web, I see a network that
  • is reliable
  • is secure
  • has as much bandwidth as I want
  • with negligible latency
  • and negligible transport cost
  • always looks the same
  • looks the same everywhere
  • and has one administrative point of contact
Actually, most of the time I don't even see the network. I see resources on the network (that is, I see the web) with a dead-simple topology: the resources are right there. Administration largely means saying which resources I want access to and what access I grant to ones I own.

Meanwhile, we web illusionists work to push the various bandwidth/reliability/mobility trade-offs further out, cache and use other tricks to reduce latency and increase apparent bandwidth, streamline the administrative interfaces, get disparate networks talking to one another politely, and otherwise spin the illusion that none of the problems we deal with need to be dealt with.

1 comment:

earl said...

I came back here from your most recent post. The salesmanship part of real professionalism lies in making it seem amazing and easy at the same time. To the customer it must look as though you are such a wizard it is no trouble for you, whereas no-one else could have pulled off even a much inferior version. It's the last bit that allows you to charge so much for something so easy.