XMLization of Graphics
You are here: irt.org | Articles | Extensible Markup Language (XML) | XMLization of Graphics [ previous next ]
Published on: Monday 27th March 2000 By: Pankaj Kamthan
Introduction
Graphics takes advantage of one of the basic organs of perception the human eye,
and has found applications since the beginning of the computer era. With the rapid growth
of the use of the Web in the last few years as a means of communication and information
exchange, the significance of graphics has only increased. It may not be an exaggeration
to state that a widespread embracement and interest in the Web itself by the general
public has been due to the presence of graphics.
One of the important developments of [re]presenting graphics on the Web is taking place
in form of SVG. It is important to note that SVG at present is a "moving target"
and so some of the issues raised in this work may be resolved in the future.
The focus of the article is the "XMLization" (or expressing computer graphics
in XML) in general, and SVG in particular. This work is intended to be an objective
introduction and there are topics, particularly related to syntax, authoring, rendering
and serving, that we have not dealt with in detail. It is assumed that the reader has a
basic background in computer graphics and some familiarity with XML, although the details
of syntax are not required.
Graphics for the Web
Since the inception of the Web, computer graphics have always had an important role to
play. Most Web graphics today are in raster formats such as GIF or JPEG (to be precise,
JFIF), and PNG.
Raster Graphics Considered Harmful
Raster graphics represent graphics images as bit maps. This approach has several
limitations. Raster graphical formats must contain information on every single
pixel needed to display an image. As a result, they are big and therefore slow for
transmission. They are also "unintelligent." For example, they do not
"carry" information that could be searched through. They also tend not to scale
without loss of data, which can affect the resolution and color of the image.
Vector Graphics for the Web
The term "vector" has its origins in Vector Analysis, and comes from the
early days of computing when plotters created graphics by establishing coordinate
positions and then drawing lines between them or filling in the area that the points
contain. Vector graphics, which are a series of computer commands to
"draw" an image. Vector graphics are categorized into primitive shapes (circles,
lines, rectangles, and so on) and their characteristics (center, radius, angle, height,
width, and so on) along with other instructions (such as, color "fills").
Vector-based techniques are already in widespread-use, for example, in presentation
software. Vector graphics are best used for crisp, hard-edged images, such as logos or
diagrams.
An alternate approach to transmitting pixel values over the network as in raster
graphics, is to send mathematical instructions in form of vectors. For example, to
"draw" a circle, you call the "circle" function and supply the desired
attributes (center, radius, color "fill") as arguments. A raster format would
need to specify the sequence of individual pixels (or other units) and their state
("on"/"off" or their R,G,B value) for every pixel position, making the
file size large. Vectorized images are more flexible than their rasterized counterparts
because they can be resized and stretched without loss of quality. In addition, images
stored as vectors look better on devices (monitors and printers) with higher resolution,
whereas bit-mapped images always appear the same regardless of a device's resolution.
Another advantage of vector graphics is that representations of images often require less
memory than rasterized images do.
Note, however, that most output devices, including dot-matrix printers, laser printers,
and display monitors, are raster devices (plotters are the notable exception). This means
that all objects, even vector objects, must be translated into bit maps before being
output. The difference between vector graphics and raster graphics from a printing
viewpoint, therefore, is that vector graphics are not translated into bit maps until the
last possible moment, after all sizes and resolutions have been specified.
Limitations of Current Vector Graphics Solutions for the Web
The current vector graphics formats for the Web have various limitations (and thus they
are not so "flashy"):
- Lack of an Open Standard. There are a number of proprietary vector
graphic formats being used on the Web. Examples include
Macromedia
Flash and
Apple QuickTime.
These are generally implemented by plug-ins for inline browser support. In general, no
standard Web vector graphics format has been in existence, and there is a lack of
cross-platform support. This in part has motivated the development of scalable vector
graphics.
- Lack of Interoperability. The vector graphic formats in existence can
not interact with other Web standards (often, not even with the document type, say HTML,
they are embedded in), and vice versa.
- Limitations towards Production. The development of existent vector
graphic formats usually requires a graphical user-interface based authoring environment.
(For example, authoring software for both Macromedia Flash and Apple QuickTime fall in
this category.) This works only for a "one at a time" image creation approach
requiring human intervention but not for a large-scale production, such as, generating
1000 images simultaneously corresponding to weather simulation or generating images in
real-time with respect to user preferences using a CGI. (Large-scale production and
dynamic generation is possible with raster graphical formats, such as, GIF or PNG, but
they suffer from various problems indicated earlier. It is
also possible with both PostScript and PDF, however, they are proprietary formats.)
- Lack of Machine-to-Machine Communication. Existing vector graphic
formats, such as, Macromedia Flash and Apple QuickTime, primarily take an approach of
human-to-machine communication. This is fine for presentation and aesthetics, but not for
data interchange, which can be important in several scenarios, such as exchange between
two image databases. Also, there is no way in which images created using these formats can
be validated automatically or that images created by one tool is guaranteed to work with
another (there is no notion of conformance). Thus, current
formats are prohibitive towards machine-to-machine communication and tool
interoperability.
For a discussion of the reason of designing an entirely new language as opposed to
simply adopting an existing technology for vector graphics on the Web, see the posting on the W3C SVG mailing list.
Scalable Vector Graphics for the Web
SVG is going to change the face of the Web.
- Tim Bray, in a posting on the XML-DEV mailing list
History and Motivation
It is said that often ideas precede their formalization. Scalable vector graphics is no
exception. Early efforts towards a scalable vector graphics standard based on XML came in
mid-late 1998 in for of different initiatives:
- Precision Graphics Markup Language
(PGML), a 2D scalable graphics language that used the imaging model common to the
PostScript language and Portable Document Format (PDF),
- Vector Markup Language (VML), which defined
a format for the encoding of vector information together with additional markup to
describe how that information may be displayed and edited, and
- DrawML Specification (DrawML), a 2D
scalable graphics language designed to facilitate the creation of simple technical
drawings.
These efforts led to the realization that a generic solution for scalable
vector graphics for the Web was necessary, and along with the limitations of current vector graphics
initiatives, motivated the development of Scalable Vector Graphics (SVG). SVG is an
open two-dimensional vector graphics format being developed under the auspices of W3C. It
works well across platforms, across output resolutions, across color spaces, across a
range of available bandwidths.
Advantages of SVG for the Web
The advantages of using structured markup in general, and scalable vector-based
graphics (such as SVG) on the Web in particular, can be summarized as follows:
Graphical Advantages
The advantages from a graphical perspective are:
- Aesthetics. When initially created, raster graphics may look
aesthetically pleasing, but problems arise when they are viewed on different kinds of
screens and at different sizes. When an image is scaled, anti-aliasing comes into play,
the lines become jagged (the "staircase effect") and the image blurred or
"pixelated" due to the pixel data being smeared. When printed at a different
size from the original, the quality of raster images is also far from an acceptable
quality. Shown large or small, the angles and measurements the computer uses are the same.
Therefore, such problems are avoided in vector-based images by their very nature. SVG has
enhanced color palette and color control: more than 16 million colors, pan and zoom
without pixelation at any magnification, support for ICC color profiles and sRGB,
gradients, and masking, which will all bring print-quality graphics to the Web.
- Rich Content. SVG will be written as an XML application and usable as
an XML namespace. This will mean that the SVG will be able to be used in conjunction with
other XML applications, such as XHTML, SMIL and MathML. SVG graphics will thus be able to
provide rich page-layouts, with boxes of text containing HTML paragraphs, lists, images
and other items as required. Layering, masking, clipping paths, dash
patterns, vector fills, and transparency could be used to
create more sophisticated Web graphics without substantially increasing the file size.
- Styles. SVG increases the ability to apply different styles. With
vector graphics, you can apply different styles (as opposed to raster graphical images
which are essentially "frozen"). For example, the text in diagrams can be set to
a particular font or color. Cascading Style Sheets (CSS) may be used to alter the look of
the graphics, for example, to control the font and positioning of text, color and other
aspects of a presentation.
- Color Matching Precision. Color is an important aspect of graphics. In
the context of the Web, the question is: how can one be sure that a given image created on
one medium will appear as intended when displayed (or printed) on another? The level of
control over color matching that has been obtained in conventional printing on paper has
not been possible on the Web. Use of SVG may improve this situation by allowing
information about the colors used in an image to accompany it as it is sent across the
Web, enabling a better match to be obtained. The range of colors which can be
printed on printers is known as gamut. Knowledge about the gamut of a device is
important to achieve the best color match. Screen displays tend to have a different gamut
from printers, and there are some colors which can be displayed but cannot be printed. The
gamma value characterizes a device to some extent, but it is still insufficient. There is
also the notion of more precise control using color profiles as defined by the International Color Consortium (ICC). Color profiles
provide a more comprehensive description of the color characteristics of different
devices, extending for example, to the manifestation of "white" on the screen
appearing yellowish. ICC color profiles can be used to generate the image and the profile
of the output device, by applying the appropriate transformation from one to another. If
colors fall outside the gamut of the receiving device, a compromise is required by the
author: to preserve the relationship between the colors or to choose alternative colors.
The defined color profile for SVG is sRGB, which is a predefined color profile
usable on all systems (Macintosh, PC, Unix), and used previously by the CSS Level 1 and 2,
and HTML 4.0. As is the case with the CSS, it is possible to specify colors which are
outside the gamut of colors. Whether or not they can be displayed is another matter, and
depends on the capabilities of the eventual device. The ICC color profile can also be
referenced as metadata by an SVG image.
- Typography. Sophisticated typographic controls, such as kerning, text along
paths, and ligatures, as well as an unlimited selection of fonts, produce superior text
that is both editable and searchable.
- Integration. SVG is a text-only collection of XML-compliant commands, similar to
the PostScript language, producing graphics that can reside entirely within a Web
document.
- Backward Compatibility. SVG graphics can include raster
graphic images, such as GIF, JPEG and PNG. SVG graphics can also include other SVG files.
Functional Advantages
The advantages of SVG from a functional perspective are:
- Dynamic Interactivity. Due to support for ECMAScript, SVG can respond to user
actions with highlighting, tool tips, special effects, animation, and real-time changes to
surrounding HTML text, to name just a few examples. Animation along
simple paths, fading and other effects, are possible. Here is an example
of the map of the City of Moscow whose details can be dynamically modified.
- Archivability/Searchability. The often used method of archiving graphic
files is to store them in directory names that are "sensible" and assign them
names that are "common knowledge." The objective is that they can be retrieved
easily later. For example, company logos created in 1999 can reside in the following
hierarchy:
/internal/graphics/logos/1999
, and the second logo created by the
artist John Smith can be assigned the name smith_john_2.gif
. However, this is
useful only to a certain extent as there are obvious differences in interpretation.
Furthermore, much of the essential information contained in the graphic can not be made
explicit for practical reasons. (A file/directory name can only be so long.) Such problems
disappear with SVG as essential information of a graphic (such as size, color, and so on)
can be expressed within the graphic itself. If the drawing instructions include text, they
becomes selectable and hence searchable.
- Metadata. A graphic can contain "metadata" information such
as author, title, date and copyright, the aspect ratio or physical size for printing,
business information such as fees for usage. Adding metadata to graphics opens the door to
new applications without significantly adding to the document's file size or download
time. When graphics is expressed as text, indexes of graphical components can be build.
With the appropriate use of standard metadata frameworks, such as Resource Description Framework (RDF) in
graphics, search engines can create indexes by associating meaning to them in terms of
what the diagrams contain. Then, there is also no need for resorting to optical
character recognition (OCR) techniques, which is more complex, often expensive, and has
relatively limited ability.
- Printing. Most vector graphics are intended to be used in printing
because they are scalable. Because of its reliable color model, SVG prints with the same
colors you see on your display and at full printer resolution.
- Time and Space Efficiency. In some cases, after compression, vector
graphic images will be considerably smaller than the raster equivalent. The file size of a
vector graphic is usually much smaller than a raster graphic because it does not keep
track of large number of bits of information. Furthermore, SVG is designed to be well
compressible using zip and similar schemes, which HTTP/1.1 can use on the fly.
Such compression schemes have little impact on GIF, JPEG, and PNG images but can have a
considerable effect on SVG, particularly for larger file sizes where the differences
become quite apparent. Optimization of SVG files, from inception to delivery, remains an
important issue.
- Maintainability. When represented appropriately, SVG graphics are
easier to modify, particularly in cases such as text in graphics, assigning geometrical
properties, or modifying style elements and attributes. Modification of corresponding
raster graphics in many of these cases could mean creating the graphic from scratch just
because it may be more time efficient, or because changes just simply can not be carried
out.
- Distributed Authoring. Since SVG graphic is just text, any text editor
can be used for the purposes of authoring. This is particularly useful in creating simple
graphics and/or making minor editorial changes. A very useful implication of this is the
possibility of remote editing. SVG language elements can be viewed as an
"object-based" architecture. For example, a graphic in certain cases (such as a
roadmap) could be conceptualized as consisting of several "components." Then,
each of these different components of the same graphic could be created by different
authors, even reside in different places, and when called upon (HTTP or viewer request)
presented transparently in a single SVG graphic. Even the styling mechanism (say via a CSS
stylesheet) can exist as an independent object separated from the SVG graphic and can
reside in different places. This has various implications: reusable libraries of
frequently and commonly used objects can be created, authors can focus on their part of
the work since eventual integration is not a cumbersome issue, instills collaboration. For
example, a group of researchers could work together on a "graph drawing" of a
VLSI circuit design, where each person contributes his/her expertise to a specific part of
the drawing, and they are reside in different parts of the world. This is reminiscent of
the situation in Web-based electronic document publishing, but is yet to be realized in
Web graphics.
- "Markup Once, Draw Everywhere". With the stylesheet support
in SVG, images can be styled (their properties modified) depending on the context
and prior to being served, repurposed according to the media (screen, printer,
speech synthesizer), giving a consistent "look-and-feel."
- Accessibility. SVG graphics are accessible to people with visual
disabilities through alternate rendering possibilities.
- Internationalization. SVG has support for internationalization via
Unicode support. With the appropriate stylesheet, delivering graphical content for global
use thus becomes straightforward. Delivering Web documents according to the user's domain
name or time zone is common and is achieved by using, for example, DOM Level 0 (commonly
known as "Dynamic HTML"). With the DOM support in SVG, any
"language-specific" information within the graphic, such as the title
of the graphic, can be changed on-the-fly and served.
- Interoperability. SVG is an XML application, and hence carries with it
all its benefits, such as interoperability with other Web standards. Via the XML
namespace "bridge," SVG can be used in conjunction with other XML applications,
such as XHTML, SMIL and MathML by "embedding" from one into the other
transparently.
- Extensibility. SVG graphics is extensible, for example, by using other
XML applications in it (via XML namespaces facility) or through modularization.
- Progressive Rendering. Even if a given SVG file turns out to be the
same size as a GIF, SVG has the advantage that it can start rendering meaningful graphics
as it receives it (and a user can start interacting with it immediately), whereas an image
generally is indecipherable until fully loaded, even if interlacing is used.
Pedagogical/Epistemological Advantages
Out of Sight, Out of Mind.
The advantages of SVG from an educational perspective are:
- "I Point, I Zoom, I Understand". Computer graphics is playing
an increasingly significant role in various fields of study, such as Geometry, concepts
from which were previously were difficult to represent on paper or blackboard, for a
variety of reasons. The clarity of a graphic under study is essential for
understanding. Often, multiple copies of the same image are placed on different pages both
to present it at different magnifications and (thus) to avoid overload. However, this
breaks the cognitive continuity. Thus, the role of SVG in education is critical.
- "I Point, I Zoom, I Discover". In the last decade,
visualization via computer graphics has played a significant role as an aid in computer
experiments in various fields of study, such as Dynamical Systems, that had reached a
period of stagnation. It has helped discovering phenomena which might not have been
possible otherwise. However, clarity of a graphic being used for research is
essential for visualization. There are various areas where the details of a graphic are
not apparent or "hidden" from a naked eye at the first glance. Mysteries of a
graphic can be unravelled if "zooming" at any (physically possible)
magnification is feasible without deterioration or apparent loss of information. Thus, SVG
could play a major role in research.
These possibilities, however, will not happen "automagically" and should be
seen objectively. There are several issues in the road to learning, including
SVG-generated images may be presenting an incomplete picture
and may even be computer artifacts.
Commercial Advantages
The advantages from a commercial perspective are:
- "Show Me, and I'll Buy it." The Web has made a major impact
on the proliferation of electronic commerce (E-Commerce). Companies use the Web for a
variety of purposes, such as an online financial chart, real-time stock quotes, a street
map at an online informational kiosk. A company that displays promotional items can take
advantage of SVG color support to better represent their products, and thus increase the
possibility of online purchase. According to the GVU Center's 10th WWW User
Survey (October 1998), quality is the most desirable feature in E-Commerce
that the users look for. The following flow diagram (or chain of implications), though an
oversimplification of the actual situation (as there are other factors involved), reflects
the essence of the issue in this context:
SVG -> Quality
[Re]presentation -> Consumer Confidence -> Purchase (Sale) -> Profit |
- Cost Reduction. Use of SVG can result in a cost reduction in various
ways. Consider an example of a company that designs logos. As a part of the process it may
develop text-based logo templates, which would need to be repurposed: different font,
different color, different size. Once the required images are created, often dual
copies of such images are maintained: one in a proprietary format (or TIFF) of the
graphics program (so that it could be modified later) and another in a format that could
be served over the Web (usually, GIF). With SVG, multiple copies are unnecessary, which
saves space. Furthermore, modification becomes a simple exercise in (regular expression
pattern) search and replace, which can be carried out both quickly and efficiently. This
saves time and effort, and thus can result in reduced cost.
- Software Production. Companies that develop graphics software and see
the Web as a potential market can, to a certain extent, simplify the software production
process. These software offer several "Web Enabled" options such as (reduced
number of colors, inferior interpolation techniques) which usually translates to reduced
file (and also quality) size. Several import facilities may be desirable, particularly for
backward compatibility, but a plethora of export formats may become unnecessary. They can
concentrate their efforts towards other components and features of the package. There
will, of course, be an initial cost of providing SVG support, but with long-term potential
benefits.
Applications of SVG
A language is only as good as the applications that can be written in it.
Vector graphics, in general, and SVG, in particular, can be very useful in context of
the Web and can have various applications.
When browsing on the Web, one is limited to the dimensions of the browser, which in
turn is limited by the size of the monitor. However, there are various cases where minute
details of a graphic are of significance and are not visible to the naked eye. Here are
some examples.
- Cartography. Generation of maps is one of the fundamental areas of this
field, and their vivid and accurate interpretation at the user's end is a major issue. In
the past, raster graphics has been used for delivery of maps over the Web. The advantages
of SVG in this case are evident, particularly when one realizes that pinpointed accuracy
of the (say, previously unvisited and relatively less known) destinations would be an
important requirement by a driver on a cross country tour. The technology also has the
potential to be delivered on products for mobile access, such as a car phone. The City of Moscow is an illustrative example of the advantages that
SVG offers. The SVG Internet Mapper
service is an example of server-side interactive map generation program that can output in
SVG.
- Engineering. Technical drawing in, for example, Electrical Engineering
(say, integrated circuit design) and Mechanical Engineering (interior design of a car
engine or a turbine) carry a lot of details. Providing explanations in a classroom
lecture, a seminar describing novel research, a presentation of a product design to a
government body for approval, are all real-world instances where SVG can play an important
role. Engineering semantics itself, such as for an automobile, can be expressed in XML-based markup language for the automotive
industry.
- Geometry. Geometrical representation is at the heart of several
mathematical concepts and entities. Complex geometries arise in mathematics in various
contexts. For example, a Fractal Set, such as, the well-known Mandelbrot Set or a Julia
Set in the complex plane (which is isomorphic to R2, and so we can use SVG), or
a Bifurcation Diagram resulting from the asymptotic behaviour of a
planar system of nonlinear ordinary differential equations when the parameters are varied.
These sets encapsulate immense complexity and require a "microscopic vision" to
unravel it a task well-suited for SVG. The equations themselves can be represented
in Mathematical Markup Language (MathML).
- Human Physiology. Schematics of complex physiological systems, such as
the nervous system or the muscular system, require minute details to be well-represented.
Currently, such schematics are often developed in raster graphics and
"converted" into image maps to provide details and/or annotations. SVG, with
support for textual descriptions and hyperlinking, provides an "author once"
solution.
- Molecular Organic Chemistry. There are several 2D molecular
configurations that have a nontrivial structure. The chemical information, depending on
the nature of content (static or dynamic) could be provided by Chemical Markup Language (CML) and Molecular Dynamics Language (MoDL),
respectively, while the graphics could be provided by SVG. Furthermore, for complex
structures, such as amino acid configurations, the content can be "enriched" by
metadata information "attached" to each component of the structure (such as
bondings, molecules).
- Theoretical Computer Science. State diagrams for nontrivial grammars
can be quite large and may not "fit" entirely on a single piece of paper or on a
screen of a user, and therefore can benefit from SVG for illustrative purposes.
- Object-Oriented Design. The Unified
Modeling Language (UML) is a standard language of the Object
Management Group (OMG) for specifying, visualizing, constructing, and documenting the
artifacts of software systems. SVG can be used for large-scale UML class diagrams.
- Advertising. Using animated banners on the Web is a popular way for
business to advertise their products and services. These banners have evolved from the
simple two or more frame-based GIF animations containing text-based graphics to the ones
containing product pictures and slogans, to the extremely sophisticated ones, such as
those using Macromedia Flash technology. Lot of effort goes in optimizing these for
delivery. Development cycle and some of the effort can be reduced with the used of SVG.
The advertising information itself can be delivered in an XML-based advertising markup language.
In these instances, the creator can label the crucial portions of the graphic, which
can be scaled by the user to a desired dimension for the purpose of viewing without
distortion. Multiple copies with different magnifications (as often the case with GIF) are
not required.
SVG Issues : Picture Imperfect
This section addresses certain concerns that will arise in development and deployment
of SVG. Some of the major issues are optimization, security, and use of DTD as SVG
grammar.
The following remarks are not necessarily related specifically to SVG language itself,
but also to human behaviour and human-computer relationship. They may, directly or
indirectly, imply various limitations of SVG. This should not be taken to be lack of
enthusiam for the subject but knowing them helps one put the language in context, beware
of overexpectations and avoid potential pitfalls.
SVG Rendering
At present, there are standalone SVG-only viewers for a variety of platforms, as well
as, browser plug-ins/ActiveX controls for Netscape Communicator and Microsoft Internet
Explorer. For a broad adoption of SVG, it will be necessary that to have native support in
widely-used browsers. This becomes all the more significant as historically the support
for even HTML and CSS has been incomplete, and with propriatary extensions. A list of SVG implementations is
available at the W3C SVG site.
SVG Optimization
Performance is an important issue that remains unsolved. Certain steps need to be taken
for minimizing SVG file size for
optimal transport. Not all of the techniques, however, may be supported by a WYSIWYG image
editor. Furthermore, if the source file is processed automatically (for example, to remove
unecessary whitespace), the process is irreversible, and hand-editing will become
difficult.
SVG Security
Security is another issue. Since SVG graphics is in the end just text (excluding the
cases of embedded raster graphics), the source is "open." This raises potential
security-related concerns in form of copyright infringement and misuse in a variety of
contexts:
- Breach of Intellectual Property Rights. Ad hoc "copying" at
the user's end and use for personal (arguably, less damaging) and/or commercial purposes
(more damaging).
- Competitive Threat. An open source may be seen (particularly, to
commercial enterprises) as "loss of edge" over competition. This can be the case
for a company which sells image libraries over the Web, and makes available thumbnails for
display to its client-base.
These issues already exist with other text-based formats on the Web, such as HTML, CSS
and JavaScript. There is a dire need for a solution; some possibilities are:
- A compression mechanism (conversion to binary) with an "encryption" to
increase security. The problem with this approach is that it is contrary to the advantage
of including metadata information in SVG, if the markup is "scrambled" in any
way. Even if the metadata information can be extracted, the authoring and rendering (not
to mention searching) software are imposed with the additional burden of supporting that
compression mechanism. A compression scheme that leaves the metadata information intact
could be a partial solution to the problem. XMLZip converts XML documents
into binary format, but its applicability seems limited as the file is uncompressed on the
client-side according to the specific DOM node the user is referencing.
- A "digital signature" mechanism. Such efforts are already in place in binary
files, for example, by digital
watermarking a JFIF file or scrambling the code corresponding to Java class files (to
prevent decompilation). An initiative to adopt XML for digital watermarking in one of its
products, the MediaBridge System,
has been announced by Digimarc.
Of course, a screen capture utility can be used to bypass these schemes, a problem that
is beyond the scope of SVG (and even XML). In this case, though the perpetrator will not
have the "source," however, will have the "concept."
SVG Grammar
SVG grammar is based on an XML DTD. Among other limitations, DTDs are known to have
weak data typing. This can lead to semantic ambiguities in SVG markup. For example, it is
possible to write a valid SVG document which assigns a negative value to the radius of a
circle. It is expected that use of XML Schemas will improve this situation.
The Missing Dimension
SVG represents 2D graphics, that is, graphics in a plane. 3D objects
represented in 2D are only projections and may not completely reflect the true
structure of the object. This is because 2D does not have the notions of "depth"
and "perspective." In certain cases, when there is no apparent loss of
information, this is not a problem. Otherwise, it may lead to what in psychology is known
as a geometrical obstacle on part of the viewer, leading to incorrect
conclusions. Abstract data sets that have exactly three attributes or shape of a molecule
are appropriate instances where the use
of 3D is preferable over that of 2D for visualization.
EVANGELISM VS. OBJECTIVISM
Anyone who issues a sweeping prediction, at this moment in Internet history, about
which standards and protocols are going to win, has more courage than intelligence.
- Tim Bray, in An Introduction to 3DML, January 1999
The growth of SMIL may not have benefited (and actually suffered from overexpectations)
from evangelistic claims made in several trade publications as the last one and a half
year has shown. The dependence of SVG growth is not far from those factors. Evangelism
only lasts so long and reality sets in quickly; unsubstantiated exaggerrated assertions do
more harm than good. Several unsubstantiated and outlandish assertions such as "SVG could [...] kill PDF"
(which assumed that Portable Document Format (PDF) is for graphics) or that
"SVG [...] a
revolution in Web animation" (which assumed that script-based image manipulation
is new). The point here is not that those assertions are false, but that even raising such
possibilities can have negative consequences. When, in absence of concrete examples,
opinions are expressed as facts, they can be seriously misleading to new users because the
route to reach those either does not exist, or the conclusion has been derived using a
poor form of induction. Imprecise and incorrect terminology such as "scriptable
animation" (a nonstandard term that implies animation could be scripted, rather
than that SVG content can be animated
via a script utilizing the SVG DOM)
have also appeared recently. To an informed user, it only leads to distraction, confusion
and disbelief.
Limitations of Vector Graphics for the Web
Vector graphics does have some inherent limitations. Photographs, for example, contain
too much information to effectively reduce down to vectors. Therefore, in such cases, JFIF
would still be the preferred format of use.
Conclusion
The Document is The Graphic
SVG creates a "technical" infrastructure for graphics particularly oriented
towards the Web. It is an important addition to the world of digital imagery.
Through the advantages it offers and its applicability, SVG expands the graphical
horizon of the Web in various dimensions. With the "XMLization" of Virtual Reality
Modeling Language (VRML 97), as X3D, SVG will achieve another
dimension, spatially.
Acknowlegements
This work has benefited from postings by Chris Lilley (SVG Editor, W3C), by Jon
Ferraiolo (SVG Editor, Adobe Systems, Inc.) and by Paton Lewis (Adobe Systems, Inc.) on
the W3C SVG mailing list. I would also like to thank Martin Webb and Hsueh-Ieng
Pai for their critical reading and various useful suggestions.
References
- Scalable Vector Graphics (SVG) - Jon Ferraiolo
(Editor). W3C Working Draft, March 3, 2000. This specification defines the features and
syntax for Scalable Vector Graphics (SVG), a language for describing two-dimensional
vector and mixed vector/raster graphics in XML.
- XHTML 1.0: The Extensible
HyperText Markup Language A Reformulation of HTML 4.0 in XML 1.0 - Steve
Pemberton, et al. (Editors). W3C Recommendation, January 26, 2000.
- SMIL Animation - Patrick Schmitz,
Aaron Cohen (Editors). W3C Working Draft, January 28, 2000. This is a working draft of a
specification of animation functionality for XML documents. It describes an
animation framework as well as a set of base XML animation elements suitable for
integration with XML documents. It is based upon the SMIL 1.0 timing model, with some
extensions.
- Protecting Your Images
with Digital Watermarks - By Wes Thomas, webreview.com. A review of the Digimarc
technology that allows you to add digital watermarks to your images, and track down people
who are using them without your consent.
- SVG - W3C. Official SVG site with
information on raster and vector graphics, in general.
- XML and Vector Graphics -
By Lisa Rein. An overview of CGM, Web Schematics, VML and PGML.
Appendix A : SVG Examples
The examples in this appendix represent nontrivial use of SVG in completely different
contexts.
- City of Moscow. View 1, View
2, and View 3 are the three views of the City of Moscow at
increasing levels of magnification.
- Bifurcation Diagram. This is the bifurcation
diagram resulting from the asymptotic behaviour of a planar system of nonlinear ordinary
differential equations when the parameters are varied.
Related items
Perspectives of XML in E-Commerce
XML Conformance : The Burden of Proof
XML Entities and their Applications
XML Euphoria in Perspective
XML and CSS : Structured Markup with Display Semantics
XML Namespaces : Universal Identification in XML Markup
The Emperor has New Clothes : HTML Recast as an XML Application
XML - What's in it for us?
©2018 Martin Webb