- Hour 3: Viewing SVG
- What Environments Can View SVG?
- Implementation
- Summary
- Q&A
- Workshop
What Environments Can View SVG?
If this technology is so amazing, you'll want to see what it looks like, right? Thankfully, SVG isn't vaporware, and you're able to view SVG documents in a variety of ways. SVG content can currently be viewed in a variety of Web browsers, as well as in some alternative environments.
Browsers
The most common environment (as of publication) in which you will encounter SVG is your Web browser. Some XML browsers, such as X-Smiles (http://www.xsmiles.org/), actually have native support for SVG in the browser, meaning you need not do anything to view SVG files; they will automatically appear in the browser window.
Sadly, that doesn't hold true for just about any other browser out there, much less for any well-known and well-used browser. Both Microsoft Internet Explorer and Netscape Navigator allow the viewing of SVG content through the Adobe SVG Viewer, a third-party browser plug-in. Adobe has been one of the biggest corporate promoters of SVG, and they have been working hard to get the public to be able to see and work with SVG. Their plug-in works with Internet Explorer and Netscape Navigator versions 4 and above on both the Macintosh and PC platforms.
Note
Like Flash and other plug-ins, the SVG Viewer can be enhanced in certain ways by using JavaScript. Sadly, unlike its PC counterpart, Internet Explorer on the Macintosh does not allow plug-ins to communicate with the browser, and vice versa, via JavaScript. Although the bulk of SVG development does not require JavaScript, you may find certain tasks easier to accomplish using JavaScript. This issue, which has been quite problematic for Flash developers as well, limits the ability of the Adobe SVG Viewer to work with such enhancements. Accordingly, any non-native SVG scripting will not perform as expected. Although version 3 of the plug-in has its own built-in JavaScript interpreter, Macintosh IE users will still encounter difficulties viewing such enhanced SVG content. The bulk of the examples in this book will not require JavaScript for proper execution, except where noted.
Requiring an installation similar to Flash and other common plug-ins, the Adobe SVG Viewer is generally the quickest method for users to get access to SVG display. However, the Adobe plug-in is not the only means on the market of viewing SVG in a browser. Several others have emerged and may increase in popularity over time.
IBM's alphaWorks division has produced SVGView, a Java-based SVG viewer that works on the Windows platform. The viewer uses Java2D and XML Parser (another alphaWorks product) to display SVG graphics. Also available is CSIRO's (Australia's Commonwealth Scientific Industrial Research Organisation) SVG Toolkit. This software package is also a Java implementation and, as such, requires a Java applet to be called from the browser in order to function (or to be run as a Java application). The knowledge requirements of SVG View and SVG Toolkit, as well as their limited support for the specification, are an impediment to most people's utilization of these tools. However, both are alternative solutions should you be looking for display on Windows machines in a Java environment.
Last but not least is the Apache XML Project's Batik software. Batik offers developers an array of SVG functionality in one product. Functioning as viewer, generator, and converter of SVG, Batik provides another Java-based solution. Experienced developers can use Batik to pull data from an XML file, create an SVG file, and then convert the file to another format if the person accessing the file does not have SVG-viewing abilities. Similar to SVG View and SVG Toolkit, Batik is not for the novice, nor does it support animation or scripting in its 1.1 release. Before venturing off into the much more complex realms of these three alternative viewers, you should strongly consider completing this book (and thus the basics of SVG).
All the examples in this book have been tested against the Adobe SVG Viewer (Version 3.0), as this viewer is the most predominant and easily accessible means of seeing SVG on most people's machines. Because of this, and because of the ease of installation, this book will assume you have the plug-in installed to view and test these examples. It is important to note, however, that the Adobe SVG Viewer is not the be-all, end-all viewer. The Viewer accommodates a very large portion of the W3C SVG specification, albeit not all of the specification, and some results (especially performance) can be buggy. Ideally, as mentioned before, SVG will be rendered by the browsers themselves.
Note
To download the Adobe SVG Viewer, visit http://www.adobe.com/svg/. The download option is prominently featured at the top of the page. Be certain to download the most recent version of the plug-in. Further installation instructions are on the Adobe Web site.
Other Environments
Fortunately (for its chances of success), SVG isn't tied to the Web browser. Applications for SVG are popping up in various places already. The two emerging areas for viewing SVG content are handheld devices and interactive TV.
CSIRO, the company that makes the SVG Toolkit, which was mentioned before, has also released a viewer for PocketPC handheld devices. Built as an ActiveX control, the Pocket SVG Viewer is able to display a variety of SVG graphics on a wide variety of popular handheld devices.
BitFlash, on the other hand, has developed an SVG viewer for an array of small-screen devices. Their viewer is actually a part of the larger BitFlash Mobility Suite (BMS), a series of technologies for converting and delivering a wide number of graphic and data formats into SVG content for display in the viewer, and the BitFlash Mobile Messaging Suite 2.1. Both Palm and PocketPC handhelds are supported, as well as a number of cellular phones and RIM Blackberry devices. The viewer is currently available only to developers building solutions using the BMS.
Also on the horizon is support for SVG in interactive television set-top boxes. Nokia's Media Terminal harnesses the Linux development of Mozilla (the open source version of Netscape's commercial browser) and offers support for using SVG as a graphics format for the terminal. As this box has yet to hit the United States, it will be hard to tell how popular SVG will become in handling the graphical display of content for interactive television.