Implementation
A frozen spec opens the door to implementations, and many people set about
writing PNG encoders and decoders as soon as Draft 9 appeared. The real
glory, however, is reserved for the handful of people who took it upon
themselves to write the free programming libraries supporting PNG: Jean-loup
Gailly and Mark Adler, both of Info-ZIP and gzip fame, who rewrote the
deflate compression engine in a form suitable for general-purpose use and
released it as zlib; and
Guy Eric Schalnat of Group 42, who almost single-handedly wrote the
initial version of libpng (then known as
pnglib). The first truly usable versions of the
libraries were released
two months after Draft 9, on May 1, 1995. Although both libraries
were missing some features required for full implementation, they were
sufficiently complete to be used in various freeware applications.
Draft 10 of the specification was released at the same time, with
clarifications and corrections resulting from these first implementations.
The pace of development slowed at that point, at least to outward appearances.
Partly this was due to the fact that, after four straight months of intense
development and many megabytes of email, everyone was exhausted; partly it
was due to the fact that Guy controlled the development of libpng, and he
became busy with other things at work. Often overlooked is the fact that,
while writing the spec was a very focused effort and writing the reference
implementation was only slightly less so, once the library had been released
in a usable form there were literally hundreds of potential applications
pulling at developers' interests. And finally, there was the simple
perception that PNG was basically done--a point that was emphasized by
a CompuServe press release to that effect in June 1995.
Nevertheless, progress continued. June saw the genesis of the
PNG web site, which has now grown to more than two dozen pages,
and Kevin Mitchell officially registered the ``PNGf'' Macintosh file
ID with Apple Computer. In August 1995, Alexander Lehmann and Willem
van Schaik released a fine pair of additions to the NetPBM
image-manipulation suite: pnmtopng and pngtopnm version 2.0. And in
December, at the Fourth International World Wide Web Conference, the
World Wide Web Consortium (W3C) released the PNG Specification version
0.92 as an official standards-track Working Draft.
February 1996 saw the release of version 0.95 as an Internet Draft by
the Internet Engineering Task Force (IETF), followed in July by the
Internet Engineering Steering Group's (IESG) approval of version 1.0
as an official Informational RFC. (It was finally released by the IETF
as RFC 2083
in January 1997.) In early August, the Virtual Reality Modeling Language
(VRML) Architecture Group adopted PNG as one of the two required
image formats for minimal VRML 2.0 conformance.
Meanwhile, the W3C promoted the spec to Proposed Recommendation status in
July and then to full Recommendation status on the first of October.
Finally, in mid-October 1996, the Internet Assigned
Numbers Authority (IANA) formally approved ``image/png'' as an official
Internet Media Type, joining image/gif and image/jpeg as non-experimental
image formats for the Web. Much of this standardization would not have
happened nearly as quickly without the tireless efforts of Tom Lane and
Glenn Randers-Pehrson, who took over editing duties of the spec from
Thomas Boutell.
|