Tools: Acronyms You Can't Live Without

Tools: Acronyms You Can't Live Without

Tools: Acronyms You Can't Live Without

It's a bizarre time in the software industry. We're in an era of announcement-ware, where press releases replace shipping code and white papers on new tech are as golden as shrink-wrapped boxes of software. Things are moving quickly, of course, but with a new edge - beta software already has legacy issues, and final releases are merely previews of next month's alpha.

It's your job to keep up. Doesn't matter if you're a Web designer, sysadmin, or all-around Smart Person who answers the Big Questions for your company. What matters is whether you know about the important new things in the Web business as they are happening. What's going to be the hot technology to bet on in the next quarter? Which new killer app should you be streaming content through? And, most importantly, which obscure acronym should you drop at the next multimedia cocktail party?

We're at another turning point. The 4.0 browsers are already showing off the embryonic promise of dynamic content and presentation, and research for the next revs is already well underway. As the swirl of ideas begins to settle, though, we can examine the fruition of some of this work. The most talked-about is without a doubt metadata.

This week, we offer a quick primer on the latest and greatest proposals for defining the information about the information - the stuff that describes content, whether that content be words, pictures, software, or transactions.

The Hypertext Markup Language has served us well. As an introduction to electronic publishing on the Web, HTML has proved itself to be a simple and painless exploration into the power of a global, online library of information. But that simplicity has its drawbacks, too. Namely, every time someone wants to add a special feature to the language, the entire specification needs to be upgraded. In fact, that's become such a hassle that the W3C, the body responsible for the standards behind the Web, has essentially halted future additions to the language.

Enter the eXtensible Markup Language, or XML, which offers a structure for developing open markup languages. What's an open markup language? Think of it as a way for you to make up your own tags. Sort of.

A good example is the Handheld Device Markup Language, which was proposed a few months back as an alternative way to display Web content on a cell phone, Palm Pilot, and the like. Or imagine a language that allowed molecular biologists to describe their formulae. Or a way for Marimba to update its Castanet channels. Or whatever.

The point being that there needs to be a standard way of developing these new languages so they all share the same basic framework. XML is that structure, and most of the acronyms below are examples of new languages that follow the XML model.

So, if you understand XML, and how it relates to HTML, then you can understand XSL and its kindred relationship to cascading stylesheets. That's a pretty gross oversimplification, of course, but it's a framework in which to start understanding the new metadata landscape.

While XML sets up a structure for new, universal markup languages, the eXtensible Style Language offers a solution for custom presentational languages. For example, CSS does a pretty good job at describing how a page should look (as a language, but not as a universal implementation, alas). It can describe margins, leading, font color, and a variety of other presentation aspects of a page-based graphic layout.

Now imagine you've created an XML-based way for marking up the structure of, say, a vector graphics file format. Your tags describe the lines and polygons and other pieces of the language required. You would need a way to easily change how that graphic was displayed. You'd need attributes for line-weight, antialiasing, and fill pattern, among other things. Get the picture?

How about an XML-based language for describing the structure of your Web site? You could use an XSL-based language to describe how it would be presented as a site map in a browser, or to a search engine, or as a hierarchy of folders in your file system.

Of course, it's insanely early in the development of this technology, but you can start to see just how powerful this could be if there were agreed-upon standards.

So now we've set up a way to make custom markup languages for publishing online (XML), as well as a way to present those languages (XSL). Let's get busy and make some languages.

The first place to start is with content on the Web. Not just the content, though, but the way in which pieces of content relate to one another.

Enter the Resource Description Framework, the current answer from the W3C to metadata on the Web. RDF is a blend of both Microsoft's XML data proposal, and Netscape's Meta Content Format (which, by the way, is an evolution of the Apple technology behind the HotSauce project), mixed with the foundation put in place by the PICS rating system last year.

RDF is all about relationships. Nodes of data are described in relation to one another by way of assertions (the connections or hierarchical distinctions between them). Or, to simplify, think of me as a person who is the author of this page. I am a node, which is of the type person, bound to a node of the type page by the relationship of author.

There's a lot more to it than that, of course. For more info, check out the RDF FAQ, which does a good job of describing how the proposal relates to some of the other acronyms listed here.

Long ago, there was a proposal in the Web community to develop a standard way of providing information about Web sites. The idea was to express the hierarchical nature of pages on a site in a way that a browser could then display the structure as a site map. Every browser could display this information in any way it wanted - as a separate window, hierarchical menu, whatever. The point was that it would provide users with a simple overview of every Web site they came to.

Now imagine adding the dimension of time to that functionality. With every page listed in the map, the author could provide a time that it would expire, so that the browser (if so inclined) could automatically go back and update the page. Why, you could have Web sites that came to you, and you could call it push media!

If you haven't already guessed, that's exactly how Microsoft developed the structure behind their Active Channels, and the syntax for doing that is the Channel Definition Format, or CDF. While the technology predates XML, it's still an application of that framework. Think of CDF as the scheduling language for, at the moment, HTML, and in the future, RDF.

Metadata need not be just about content. Imagine taking the functionality of the CDF technology and applying it to software applications. That's exactly what Marimba has been doing with its Castanet technology, and the Open Software Description format (OSD) lays down the foundation for doing that via XML.

The syntax, developed jointly between Marimba and Microsoft, outlines a way to distribute and update software written in any language (C++, Java, etc.) on any platform (Mac, Windows, Network Computers, etc.).

Again, the OSD vocabulary can be used in conjunction with CDF, for scheduling programs to be updated. OSD says what gets updated, CDF says when. Got it?

This article appeared originally in HotWired.