SVG Overview

From SVG

Because of the vagaries of history, some profiles of SVG are not very clearly named. This is a brief overview of the various specifications.

SVG Full

In the beginning was SVG (see the Secret Origin of SVG for the history). The intent was that SVG would be implemented largely on desktop browsers. The "Full" moniker is a retronym, and was added when a demand emerged for a smaller profile of SVG that was suitable for implementation on mobile devices of the day (around 2002).

So, essentially, SVG Full is the profile of SVG intended for desktop browsers, which have more computing and memory resources than mobile devices.

SVG 1.1 Full was a small update of SVG 1.0, which was largely clarifications of ambiguous behavior.

SVG 1.2 Full was begun as a major upgrade of graphical and multimedia features, but because of higher demand on mobile devices, work on SVG 1.2 Full was postponed until SVG 1.2 Tiny was complete.

SVG Mobile

In 2002, there was a disparity between the capabilities of the average mobile phone and so-call "feature phones", that is, devices with more powerful CPUs and more memory, and normally with some sort of Internet access. Therefore, it was decided that SVG would have 2 mobile profiles, SVG Basic and SVG Tiny.

SVG Basic

SVG Basic was intended for the more powerful mobile devices known as "feature phones". It included support for scripting, and a larger subset of the SVG graphics capabilities.

SVG 1.1 Basic was the specification targeted at these devices.

SVG Tiny

SVG Tiny was initially aimed at the average mobile phone of the time, and did not include scripting. It did include SMIL declarative animation, allowing for some interactivity.

SVG 1.1 Tiny was the minimal specification, aimed at low-end to mid-range devices.

However, over the course of the standardization process, mobile devices have gotten much more powerful, with much more memory, dedicated graphics hardware, and better data connections for a lower cost. It was found that scripting and more advanced graphics features could easily be supported on these devices. Additionally, set-top box vendors became interested in SVG Tiny as a presentation format for their GUIs. Therefore, scripting and more graphics features from SVG Full were allowed into the minimal specification. It was intended that SVG 1.2 Tiny would serve as the core of the language, and various modules would be developed that would extend SVG 1.2 Tiny to create SVG 1.2 Full. Some features of SVG 1.2 Tiny were implemented on desktop browsers, with clarifications and errata being produced for SVG 1.1 Full based on this work. But because SVG 1.2 Tiny was under development for longer than expected, with the need for a rigorous implementation test suite to ensure interoperability, mobile devices increased in capability in the interim. New, more advanced, vendor-specific features are already implemented for these devices, and are in development as modules for SVG.

SVG 1.2 Tiny was aimed at the average mobile device that had emerged, ranging from low-end to feature-rich devices.


SVG Core

SVG Core 2.0 is an idea which may become a specification. Since the time SVG 1.2 Tiny started development, browser vendors have been improving their native implementations of SVG, and work has begun on integrating SVG capabilities with HTML and CSS to provide the best development and design experience for open-standards Web developers. SVG Core is intended as a revision of SVG that meets these needs, with certain aspects of the language streamlined, and with increased focus on interoperability. It would be the new core of the language, without certain mobile-specific features, and the modules already under development would be combined with SVG Core 2.0 to make the rich SVG 2.0 Full language.