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:
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:
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.
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.
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.
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.
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.
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.
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.
- 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 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.
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.
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.
- 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.
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?
©2015 Martin Webb