Linda's thinking out loud about starting a new company. She thinks there's an opportunity to use the Web to connect businesses to each other. I agree, and point out that a lot of companies have sprung up to address this space, including a Netscape venture called Actra.
A lot of companies see an opportunity to connect businesses to each other more efficiently than is the case today. They're doing things like writing software to connect dissimilar systems securely over the Internet. Many are using a markup language called XML to do it.
"What's XML?" asks the spouse. "Extensible Markup Language," I say. "Is it like HTML?" she asks. I warm up to one of my famous tutorials: it's not often that I know something my wife doesn't. Linda knows that HTML, or Hypertext Markup Language, is a set of tags that tell Web browsers how to present pages of information.
"Extensible Markup Language is a system for tagging text, just like HTML. The difference is that the user gets to say what the tags are. "For example," I say, seeing an opportunity to amuse her and perhaps curry favour. "I can define "Linda Markup Language", or LML, in which I will define three tags: "friend", "lover" and "wife". Since software will be reading the tags, I need a way to say when the tag starts and stops.
"In HTML, one indicates the start of something, say boldface, with the notation , and the end with a tag that's similar but for a preceding slash, ."
All the while I'm drawing tags in the air while juggling the dog's lead. The spouse is looking on with amusement, as I'm cutting a ridiculous figure. Fortunately, we pretty much have Menlo Park to ourselves.
"XML works the same way, substituting my self-defined tags. So, using my LML example, I could write Linda .
"In an XML application, the reader might just see the name Linda, perhaps with some small icons or other indications that there are tags attached. But I could also tell the software to display hearts when the "lover" tag appears, or add a smiling graphic for "friend".
"So what's it good for?" asks the ever-practical Linda.
"Well, two incompatible systems could each export records, like invoices or purchase orders, to a common XML format that defined things like part number, price and shipping address. Systems like that can already export to each other's formats, but it's a one-off deal, as every company configures systems a little differently. With a common format, it makes it easy to connect as vendors come and go, and software changes."
"Is anyone actually using it?" she asks.
"Well, there are things like MathML, or Math Markup Language, and CML, Chemistry Markup Language.
"Of course, I'm interested in ICE, for Internet Content Exchange, and NML, or News Markup Language, two other specs that are knocking around. In NML, the idea is to mark things up for what they are, such as "headline", rather than how they should look. That way a simple tag translator could automatically convert, say, a news story from one website to the style of a different publisher, without having to involve a human to insert formatting tags.
"So the story could go into print as easily as on the Web, since computer layout programs use tags to mark text, too. In the future, all Web content may be in XML, and the browser will be presented with the story, a style sheet written in XSL, or Extensible Style Language, and that will be it. Instant publishing!"
The spouse falls silent for a while. "I'm still thinking of starting a business-to-business company."
Well, so much for currying favour, not to mention my tutorial. That morning she had me apply for the domain name for her new enterprise. By 2pm she had her first client and was booking revenue before the domain name came through.
This could be real trouble. Who ever heard of a profitable Internet start- up? No one will touch her stock offering if she's profitable. Time for another tutorial, I think.