Dan Bricklin writes:
An extremely important paper from the early 1980s, that I frequently make reference to, is Saltzer, Reed, and Clark’s “End-To-End Arguments In System Design“. Often cited as one of the basisses for the design and ultimate scaleability of the Internet, the term “end-to-end” is also often misunderstood. As used in the paper, “end-to-end” means each “end point” (such as the program on a PC) communicating to other end points — “end point talking to end point”. It does not mean “end point and everything along the way including the final end point”. The whole point of the paper is that you should minimize the special casing between end points. A “smart” network that “knows” what the end points need is what the paper argues against. The idea is to build simple, general purpose infrastructure that doesn’t assume certain specific uses. Companies that brag that they have an “end-to-end solution” when they mean “soup-to-nuts” (or as Bob Frankston likes to say, “womb to tomb”) solution are really saying, according to the paper, “We have a brittle, hard to evolve system tuned to what we think we know today”.