Archive of UserLand's first discussion group, started October 5, 1998.

Injected with micro-organisms?

Author:Dave Winer
Posted:1/25/1999; 9:15:44 AM
Topic:Injected with micro-organisms?
Msg #:2445
Prev/Next:2444 / 2446

On the Script Meridian Community list, Lynn Siprelle asks -- What I want to know is: HOW DID YOU LEARN TO DO THE COOL THINGS? Did you just wake up one morning and find you'd been injected with micro-organisms that implanted the information in your brain? Did a guy in a trenchcoat walk up to you at Starbucks one day and slip you a mysterious zip disk? Did you see the URL for the Super Secret Basic XML Cookbook written on a telephone booth wall? Are you married to an O'Reilly editor with inside information? WHAT?

Thanks for asking. I actually owe it all to Adam Bosworth at Microsoft. In 1997 he made two trips down to see me to show me what he thought XML was going to do. On the second visit we opened up the Frontier 5 object db outliner, and played around with building an XML tree in the database. It looked good. I made my decision right then and there.

As far as why it's important, and how I knew it would be (or why I believe it will be) --> interchange formats are important. The first one I worked with was DIF, Data Interchange Format, which was the format that VisiCalc used. Then there was RTF, Rich Text Format, which was the format that Microsoft Word used. Then we did our own, called Dot-Head, which was the way of moving information between our outliners at Living Videotext.

Even HTML can be an interchange format. Early versions of Netscape stored bookmarks in HTML and parsed them into a menu when it booted. That was different from using HTML as a display format, although you *could* display the bookmarks in a browser if you knew how to trick it into doing it.

There's a long history of using text-based formats to represent information that's stored inside a program in binary structures. In a sense, this is what I do, is take text and turn it into binary structures, and spit back out text.

XML is a grand vision. It says that instead of having a billion incompatible text interchange formats, let's have just one. Did I understand the appeal of this immediately? Yes. Why? Because I know that users want to move stuff between programs. Did I believe in XML when I first heard about it? No. I thought it was going to fragment into a billion different dialects and that supporting "XML" was silly, because except for a few syntactic similarities XML was destined to be fragmented. Do I believe now that XML will unify into a single interchange format? Maybe. Human nature hasn't changed. People still like to blaze their own trails, and forget to look to see if anyone has gone down the path before them. Big companies think the world revolves around them, and little companies do too. This is how billions of incompatible formats come into being.

But there's cause for hope! What's amazing about XML-RPC is that it's catching fire *right now*, in a bunch of diverse communities. In the last week, Python and Java came on-line with both clients and servers. Yesterday a Shockwave client. And the Perl version was taken out of mothballs, and of course the Frontier version keeps on ticking.

What Bosworth showed me was that at least at part of Microsoft got the idea, that this stuff could happen and that they could take a back seat to defining the formats and support it with their software. He challenged me to overcome my objections and give it one more try. I decided to do it because I was 42 years old, and was pretty sure that in my career I wouldn't get another chance at doing this.

I see XML as potentially the Ice-Nine of the software world, that if it's properly supported and understood, that lock-in disappears. I know that many Frontier users will get what they want, for example, a way to deploy Frontier-built sites on various flavors of Unix. I think it will suck the greed out of the software business, and allow users to have real choice, and make the big companies relevant only if they produce excellent software. I admired Microsoft's courage at being willing to operate in such a world.

At least we'll have a way to move stuff between Frontier, Perl, Python, Java and the other environments that get servers. So it was worth it. Will we get Oracle, Apple, Sun, etc to care about compatibility with Frontier, Python, Perl and Java? Well, maybe, you never know. It ain't over till it's over, right? We'll see.

There are responses to this message:

This page was archived on 6/13/2001; 4:47:33 PM.

© Copyright 1998-2001 UserLand Software, Inc.