History of the Portable Network Graphics (PNG) Format

PNG is a new, awesome graphics format designed to take the place of GIF—here's how it came about.
Current Status

So where are we today? The future is definitely bright for PNG, and the present isn't looking too bad, either. I now have over 125 applications listed (Reference 10) with PNG support either current or planned (mostly current). Among the ones available for Linux are:

  • XV: image viewer/converter

  • ImageMagick: image viewer/converter

  • GRAV: image viewer

  • Zgv: image viewer

  • xli: image viewer

  • XPaint: image editor

  • The GIMP: image editor

  • Image Alchemy: image converter

  • pnmtopng/pngtopnm: image converters

  • XEmacs: editor/web browser/operating system/etc.

  • gforge: fractal terrain generator

  • Fractint: fractal generator

  • Ghostscript: PostScript viewer/converter

  • GNUplot: plotting program

  • PV-WAVE: scientific visualization program

  • POV-Ray: ray-tracer

  • VRweb: VRML browser

  • X Mosaic: web browser

  • Arena: web browser

  • Chimera: web browser

  • Grail: web browser

  • Amaya: web browser/editor

  • Mapedit: image map editor

  • WWWis: HTML IMG sizer

  • file(1): Unix file type identifier

Discerning readers will note the conspicuous absence of Netscape Navigator. Netscape is still only “considering” future support of PNG despite the following facts:

  1. Netscape was aware of the PNG project from the beginning and unofficially indicated “probable support.”

  2. The benefits brought to WWW applications by gamma correction, alpha support and 2D interlacing.

  3. The WWW Consortium, of which Netscape is a member, released the PNG spec as its first official Recommendation.

  4. Support of PNG is required in VRML 2.0 viewers like Netscape's own Live3D plug-in.

  5. Netscape has received considerable pestering by members of the PNG group and the Internet community at large.

Until Netscape either supports PNG natively or gets swept away by Microsoft or someone else, PNG's usefulness as an image format for the Web is considerably diminished.

On the other hand, our friends at Microsoft recognized the benefits of PNG and apparently embraced it wholeheartedly. They have not only made it the native image format of the Office97 application suite but have also repeatedly promised to put it into Internet Explorer. (Theoretically by the time of the 4.0 betas—we'll see if that happens.) Assuming they do, Netscape is almost certain to follow suit. (See? Microsoft is good for something!) At that point PNG should enjoy a real burst of WWW interest and usage.

In the meantime, PNG viewing actually is possible with Linux Netscape; it's just not very useful. Rasca Gmelch is working on a Unix plug-in with (among other things) PNG support. Although it's still an alpha version and requires ImageMagick's convert utility to function, that's not the problem, Netscape's brain-damaged plug-in architecture is. Plug-ins have no effect on HTML's IMG tag: if there's no native support for the image format and no helper application defined, the image is ignored regardless of whether an installed plug-in supports it. Instead you must use Netscape's EMBED extension. That means anyone who wants universally viewable web pages loses either way: PNG with IMG doesn't work under Netscape, and PNG with EMBED doesn't work under much of anything except Netscape and MSIE, and then only if the user has installed a working PNG plug-in.

However, support by five or six other Linux web browsers isn't bad, and even mainstream applications like Adobe's Photoshop now do PNG natively. More are showing up every week. Life is good.

The Future

As VRML takes off—which it almost certainly will, especially with the advent of truly cheap, high-performance 3D accelerators—PNG will go along for the ride. JPEG, the other required VRML 2.0 image format, doesn't support transparency. Graphic artists will use PNG as an intermediate format because of its lossless 24-bit (and up) compression, and as a final format because of its ability to store gamma and chromaticity information for platform independence. Once the “big name” browsers support PNG natively, users will adopt it as well—for the 2D interlacing method, the cross-platform gamma correction, and the ability to make anti-aliased balls, buttons, text and other graphic elements that look good on any color background. No more “ghosting,” thanks to the alpha-channel support.

Indeed, the only open issue is support for animations and other multi-image applications. In retrospect, the principal failure of the PNG group was its delay in extending PNG to MNG, the “Multi-image Network Graphics” format. As noted earlier, everyone was pretty burned out by May 1995; in fact, it was a full year before serious discussion of MNG resumed. As (bad) luck would have it, October 1995 is when the first Netscape 2.0 betas arrived with animation support, giving the (dying?) GIF format a huge resurgence in popularity.

At the time of this writing (mid-January 1997), the MNG specification has undergone some 31 drafts—almost entirely written by Glenn Randers-Pehrson—and is close to being frozen, although there has been a recent burst of new activity. A couple of special purpose MNG implementations have been written, as well. But MNG is too late for the VRML 2.0 spec, and despite some very compelling features, it may never be perceived as anything more than PNG's response to GIF animations. Time will tell.