Visual Media Description Language | Xagasoft

Visual Media Description Language

Currently there are few options for organizing and displaying a "document" in a consistent, flexible, visually appealing way.  There's always HTML/CSS which is renound for inconsistancy and unexpected results, docbook addresses the need for a documentation meta-language, but focuses on producing many different incompatible formats of output from a single source file.  There are a number of new systems that take xml and use it to produce postscript or pdf output, some of which are looking pretty cool, but fall short of being useful to more than a very narrow niche market.

 I've been thinking about this for some time.  HTML/CSS is very close, the problem with it is the same as with many modern "standards."  It wasn't designed.  It grew, evolved over time, into a huge and unmanageable beast.  CSS is an amazing concept, but the initial goal, and the goal today, was to follow the spirit of HTML and start out with the basic things that HTML has always done well.  This isn't bad for very basic things, but when it comes time to create large and visually appealing web sites, it really falls down.  Yes, it is possible, yes, you can make it more or less cross-browser, but it's very difficult, and very time consuming.  HTML also doesn't translate to the other areas that are encompassed by the term 'visual media' such as books, technical documents, posters, pamphlets, even program interfaces, and more.

The problem that I see with many of these new systems is that they seem to be trying to force something like HTML to work in a new way, or they try to overcomplicate the issue at hand.  We need a way to describe layouts of documents that is consistent, simple, clean, and flexible.  There are a huge number of things missing from html/css and many sgml and xml based solutions to these problems that cannot be easily overcome.

I would propose a system that works in a similar fasion, using some type of markup to describe the structure of the layout and the basic content, and a style definition that would define how each element behaved within the layout.  Covering all of the basics for almost everything out there should actually be very simple if approached properly.  With a system of very simple formatting rules that can be applied in every situation without addendum we should be able to mimic most other systems would be a simple matter with the right style definition.  I don't even think it would be hard to use.  It should be more straightforward than CSS and easier to predict the output, even if it's silghtly more verbose (still undetermined).

 

Given the right code layout, I can easily see a system like this taking off.  I would propose that on the rendering end there be a very simple, thin rendering layer that really does nothing on it's own but provide bridge functions to existing graphics libraries, no point in re-inventing the wheel.  With a standardized rendering backend it would be a snap to add new renderers for post script, pdf, raster image formats, gtk, qt, and windows devices, and more.  XML is probably the perfect system for describing the documents, this is what it was designed for, however it may be difficult to impose a strict DTD with the style definition providing a lot of information about which tags are allowed and when.  Finally the style engine.  This is an issue I've been thinking about quite a lot.  It seems that we really can create a system that even looks similar to CSS but perhaps with a less ambiguous syntax so it feels familiar to those who use existing tools.  I may post again and describe some of the various things that the style engine would need to know about, and properties it could assign to blocks in the layout.  However, I think this could rock, and replace HTML, docbook, and many other such concepts.

This page is copyright 2008, Xagasoft, All rights reserved.