Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PNG maintenance and development #58

Closed
svgeesus opened this issue Dec 8, 2016 · 20 comments
Closed

PNG maintenance and development #58

svgeesus opened this issue Dec 8, 2016 · 20 comments

Comments

@svgeesus
Copy link
Contributor

svgeesus commented Dec 8, 2016

The first version of PNG was done on a mailing list, and independent of W3C. It was then published a Proposed Rec.

The original group of people that wrote PNG still functions to discuss PNG and to consider updates to the specification (via an extension registry not by changes to the main spec). It has occasional bursts of activity. It has it's own, lightweight, process involving a minimum duration of involvement before getting to vote.
You can see that not much happens by looking at the revision history section in
http://www.libpng.org/pub/png/spec/register/pngreg-1.4.6-pdg.html
and
http://www.libpng.org/pub/png/spec/register/pngext-1.4.0-pdg.html

The second edition was done jointly with ISO. It included errata from the first edition, but the majority of the work was to comply with ISO requirements on wording and document structure, and to then ensure the resulting spec was technically identical to the original wording. Having gone through that process, it was a lot of effort for little gain.

The ISO and W3C versions of PNG second edition are precisely identical, except for the cover pages. The W3C one is free and the ISO one is on paper and costs money. Copyright is joint; W3C copyright on ours, ISO copyright on theirs.

The APNG proposal was voted on but rejected (I voted in favour). Since then it had a little implementation (in Mozilla and in the old, Presto-based Opera). In 2016 Apple also added support (at the OS level, for the iOS iMessage app).
http://caniuse.com/#search=apng

Google was always opposed because they wanted to promote WebP instead, although that continues to be discussed and experimental (non-shipping) support is going in as of July 2016:
https://bugs.chromium.org/p/chromium/issues/detail?id=1171
and now seesm to be ready to ship
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/KcMjmFOgG2w

Microsoft was neither for or against. There is a uservoice for it
https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/6513393-apng-animated-png-images-support-firefox-and-sa

It would be valuable to get the APNG spec rolled back into the PNG spec (MNG is a separate, and largely failed, specification). However, from a W3C perspective, that was only worth doing if at least one of Google or Microsoft planned to ship APNG support in their browser. Getting support into the main libpng software library would also be a benefit.

That work would also roll in the extensions:
http://www.libpng.org/pub/png/spec/register/pngreg-1.4.6-pdg.html
http://www.libpng.org/pub/png/spec/register/pngext-1.4.0-pdg.html

@svgeesus svgeesus added the Core label Dec 8, 2016
@svgeesus svgeesus self-assigned this Dec 8, 2016
@svgeesus
Copy link
Contributor Author

svgeesus commented Jan 6, 2017

The original PNG group has become active again recently and is discussing adding EXIF to PNG. Will see how that discussion and eventual vote goes.

@svgeesus
Copy link
Contributor Author

svgeesus commented Mar 7, 2017

http://caniuse.com/#feat=apng
Chrome in development
Native support in iOS
Edge uservoice

@swickr
Copy link
Contributor

swickr commented Jun 13, 2017

APNG spec

Authors:
Stuart Parmenter pavlov@pavlov.net
Vladimir Vukicevic vladimir@pobox.com
Andrew Smith asmith16@littlesvr.ca
...
last modified on 26 September 2015, at 03:02.

and another version, same authors,

Contributors to this page: p-schneider, teoli, trevorh, Potappo, Gryzzly92, Mgjbot, Sheppy, Nanomo
Last updated by: p-schneider, Sep 7, 2016, 11:03:18 PM

@svgeesus
Copy link
Contributor Author

svgeesus commented Jul 4, 2017

Those are both the same version, 0.10.
The issue is that, due to significant adoption, this should be re-voted and rolled into the main PNG specification, and both the W3C and ISO versions updated.

@svgeesus
Copy link
Contributor Author

@svgeesus
Copy link
Contributor Author

A reasonably complete testsuite

@svgeesus
Copy link
Contributor Author

Chrome shipped APNG support, not behind a flag, on by default, with Chrome 59 so it is just Edge holding out now.

@plehegar
Copy link
Member

Safari preview has APNG support now https://webkit.org/blog/9621/release-notes-for-safari-technology-preview-95/

@svgeesus
Copy link
Contributor Author

Also using the [image/apng Media Type,(https://wiki.mozilla.org/APNG_Specification#MIME_type) which is unregistered at IANA due to lack of an authoritative spec.

I think its time to start a PNG CG to maintain this spec and to roll in APNG into the main spec.

@svgeesus svgeesus changed the title APNG PNG maintenance and development Jan 12, 2021
@svgeesus
Copy link
Contributor Author

This came up again recently, the ColorWeb CG wants a new PNG chunk for CICP

@svgeesus
Copy link
Contributor Author

svgeesus commented Jan 12, 2021

The original PNG Group mailing list is now moribund.

@svgeesus
Copy link
Contributor Author

svgeesus commented Jan 12, 2021

A major issue for any new work is getting support into libpng which is a very mature library, but one which has not had updates in terms of new features for some time. Mainly bugfixes, security fixes.

@svgeesus
Copy link
Contributor Author

Libpng has an issue about adding APNG support, which comes down to waiting for a specification update.

@svgeesus
Copy link
Contributor Author

An Editors Draft for PNG is now being maintained, rolling in all errata.

@svgeesus
Copy link
Contributor Author

svgeesus commented Mar 12, 2021

An updated REC could be published (CR -> PR -> Rec) for just the errata, including substantive change.

New features would need a W3C Working Group.

ISO/IEC JTC1 SC24 should be notified when the errata-ed spec goes to CR so they can apply the same changes to

Information technology — Computer graphics and image processing — Portable Network Graphics (PNG): Functional specification. ISO/IEC 15948:2003 (E)

Question is whether to combine the two steps or do them sequentially. The value of a new PNG Rec with very minor errata fixes, updated references etc seems minimal if it doesn't also document the widely-supported APNG extensions.

Such a specification would also allow libpng to add official APNG support rather than each browser, linux distro etc all supporting their own patched versions.

@svgeesus
Copy link
Contributor Author

svgeesus commented Mar 12, 2021

WPT has just three tests for APNG as of Mar 2021. wpt.fyi results and wpt canvas APNG results.

This should be substantially expanded.

There is also another APNG test suite which is used by WebKit. It should be added to WPT as well. That site serves the APNG and image/png so browsers don't now animate them, but display the first frame only.

@svgeesus
Copy link
Contributor Author

svgeesus commented Mar 12, 2021

Browsers are using image/apng, particularly for srcset, which is unregistered. A PNG specification update should add the image/apng IANA Media Type registration template to the spec, and register it at CR.

@svgeesus
Copy link
Contributor Author

Draft charter, Advance notice sent 18 May 2021

@samuelweiler
Copy link
Member

Funnel issue on chartering: #268

@dontcallmedom
Copy link
Member

given the separate issue on the draft charter, I propose closing this and moving to strategy work concluded

@dontcallmedom dontcallmedom moved this from Investigation to Strategy Work Concluded in Strategy Team's Incubation Pipeline (Funnel) Jun 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

5 participants