Is the web some kind of horrible mistake?
(answer in 25 words or less)
Moderator: Ken Arnold, Sun Microsystems
Panelists: Rohit Khare, Joseph Kiniry, Jim Waldo
Ken opened with three brief slides on the history of computing since punch
cards, and a nice incendiary panel subtitle. We did the standard three
opening statements and took questions.
Waldo moved first, as the putative pro-objects guy, but he had too much
common sense to go that far. He sees a split of responsibility for the Web
as global plumbing and information delivery, but with Java and other mobile
code options at the upper end for custom work. Don't try to make the Web do
everything; keep focused on what it does well.
He also detailed the need for decentralized trust management, leveraging
the new Java security and signature model. (JK: Understandably, he did toe
the JavaSoft line, implicitly promoting Java, in particular, its mobile
code aspects, somewhat to the disappointment of the rest of the panel
I opened with a 25-word answer (inspired by the Annals of Improbable
Research's History of the Universe in 100 Words):
"The Web succeeded as an interorganizational interoperation platform
because: Worse is better. Simplicity. Hackability. Evolvability.
Installability. Security (not!). Internationalization. Third-party
extensibility. Cool Graphics. Network Effect."
I went on to describe a few of these, including rebutting the myth that the
Web isn't/wasn't an OO system. The three aspects most relevant to the COOTS
community were evolvable types, easy marshalling, and gatewaying. In other
words, allowing informal and proprietary types, moving data in and out of
HTML/XML, and the ability to interpose third-party proxy filters.
There were a few words on the W3C HTTP-NG effort, which is testing the
hypothesis, "Can the Web be built atop a distributed object infrastructure
efficiently?" (Surprisingly, the other panelists were skeptical about the
benefits of the above). The objects over messages vs. messages over objects
I concluded with two trends to watch: ontological alignment and middleware
facilties. The former comes from trying to represent human and machine
readable information within a single web page; tracing the evolution of
document format syntax (from Turing-complete to context-free), structure
(from presentational to declarative), style (inline to external), and
semantics (operational to well-defined). The latter comes from the
evolution of HTTP towards transactionality and extensibility.
Joseph was the compromise candidate and said we're both right, to a degree.
The Web is a way to publish, locate, and manipulate information; how can we
use that to manage OO services? Documents are objects; objects are
documents. Together, one can reuse Web tools to locate interfaces and
implementations and instantiate objects. He closed by describing the
Infospheres project and its progress in these dimensions.
Joe Sventek from HP asked the first question, replaying Van Jacobsen's
point that "if you wanted to bring the Internet to its knees, you couldn't
define a more efficient protocol than HTTP." I responded with the three
layer approach in NG, transport improvements (MUX), compact message
formats, and aggressively optimized application semantics (byte-ranges,
etc). Kiniry offered that it had nothing to do with the protocol or really
its implementation; it was a social problem - we all use it too damn much.
Werner Vogel from Cornell asked that since Internet2 is being deployed
anew, would we repeat the mistake of building the web as it is. I said I'd
add caching to the middle of the net, but I would unapologetically adopt
the Web as is; Kiniry would change the transport, but definitely preserve
CGIs and URLs and the hackable server features; and Waldo would change it
even less, preserving the interface but improving implementations.
Third question was "What's XML?," which I was glad to spin out (surprise,
surprise!). Waldo countered that eleven years ago, in this very ballroom,
he introduced his Text Modeling Language, along with a hypertext version,
too: and that it grew and grew and toppled of its own complexity. I
countered that the promise of XML is indeed decentralization; that HTML
also is faltering as a centrally-evolved tag set. Or, as Jim rebutted, "a
shift from accidental chaos to planned chaos." (JK: Kiniry threw in "let
the flowers grow".)
Another questioner inquired about extensibility in the protocol, and I
proffered the standard stump speech about third-party extensibility via PEP
and now Mandatory.
Finally summaries were offered in reverse order. Kiniry argued that these
are converging technologies, and it's just not that hard to plumb the Web
specs and absorb that technology (JK: and that the object community had
better wake up). I argued that the real lesson of the Web is the network
effect of its adoption: keep it simple and win the hearts and minds of
developers to build momentum. Jim closed by reminding us the Web is built
on top of the Internet and it has its (wide) niche: don't think it can do
everything else, too; letting experts "fix" it may be the worst path.