Presenting APNG: Like MNG, Only Better
An anonymous reader writes "It's fair to say that most people love PNG images (or at least hate GIFs). However, the one advantage GIFs have over PNGs is that they can be animated. There is, of course, an animated version of PNG, MNG, but few programs can view these images (mainly because the MNG decoder is so large that the likes of Mozilla refuse to include it). But there may be an answer coming: Vladimir Vukicevic and Stuart 'Pavlov' Parmenter (of Mozilla fame) have put together a specification for APNG (Animated Portable Network Graphics)." (Read more below.)
"Unlike MNG, APNG is not a separate file format, but rather an extension to PNG. Thus, APNG images are just normal PNG images (with the .png extension) but can be animated. The system is fully backwards-compatable, so any program that can open a PNG image will be able to open an APNG image (though non-APNG viewers will only show the first frame). Vitally, the decoder just adds an extra few kilobytes onto a standard PNG decoder. APNG support is in the process of being checked into Mozilla. Hopefully, other programs will follow suit."
IE won't support it until 2012, and even then, it'll only support half the features.
how soon will such functionality be implented in major graphic manipulation programs like Photoshop?
:P
Oh, and yeah, I'm sure someone will make it work with The Gimp, so don't flog me over that detail.
Join the TWIT army now!
Microsoft holds the power in their hands as to what file formats become standards. Hopefully they'll make the right decision...
Discussion can be found here: http://bugzilla.mozilla.org/show_bug.cgi?id=257263
It's fair to say that most people love PNG images (or at least hate GIFs).
Now that Unisys's patent has expired across the globe, I certainly don't hate GIFs.
Haven't they realised that animated GIFs only serve to irritate?
Well now, this sounds really nice. I have always wondered why MGN never really took off, but then PNG never really took off either (you all know the MSFT story...). Just never knew this had a big-decoder-problem.
So naturally I was disappointed when Mozilla took out MNG support back then, but this seems to make it better (read: more chances of survival in the real world out there) standard, and that is always a good thing.
One more reason to finally get rid of all them GIFs, even if they are no longer patent-encumbered - the format is still not capable of alpha transparency...
the MNG decoder is so large that the likes of Mozilla refuse to include it
Yeah, and a damn good thing too, otherwise we'd have a browser that's so huge and bloated that...
Nevermind...
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
...no alternative to animated gifs or no IP fines for annoying dancing lemmings and flashing "under construction" pictures?
?$!@...@!$?
This is probably a stupid question, but what are animated gifs used for besides online ads? It seems to me that the animated gif is now an endangered animal found only in annoying online ads, or annoying web-pages that were put together by someone with a rudimentary knowledge of HTML and a free CD of clip-art (or images that they stole from another unattractive site). I would not be sad to see animated gifs (or apngs) disappear entirely. If someone can post a good use of apgns/gifs for which a better solution does not exist, I will humbly retract my opinion and we can all consider this to be have been, indeed, a stupid question.
well now that the lempel-ziv-welch algorithm patent has expired, maybe they should look into whether or not this algorithm could be used for a better *PNG format.
Most people don't know what png images are and they probably couldn't care less whether they get png or gif images.
"When you sit with a nice girl for two hours, it seems like two minutes. When you sit on a hot stove for two minutes, it
...(mainly because the MNG decoder is so large that the likes of Mozilla refuse to include it)
So large that even Mozilla won't include it, you say?
Uh huh.
Ooookay...
*eyes >10MB binary while whistling*
Uh, no. Most people have no freakin' clue about what PNG and GIF are. Only we geeks know or care about the difference.
And speaking as a fellow geek, if you're feeling emotions like "love" and "hate" over freakin' image formats you really need to get out of the house more often.
Java? Flash? I've seen lots of animated gifs in educational contexts -- showing how changing parameters affects a curve, for example. Yes, Java and Flash can be used, although they tend to be sluggish to load and crash browsers not infrequently,
Not to worry, though. Nearly everything that is taken out of the Firefox core can be reimplemented as an extension. I know I've been loving my Mozilla Calendar, and Web Developer extensions. There's no reason that the Javascript Console can't just become a plugin.
Y'all are missing something. The browser market is dominated by IE, and, if I remember correctly, IE doesn't even support non-animated PNG's perfectly. What are the chances that APNG gets added? And if it doesn't get added, what web designer will use a format that can't be viewed by 93% of their users? I'm not trolling, I'm not dissing Moz, but the reality of the market is there...
However, the one advantage GIFs have over PNGs is that they can be animated.
Surely I am not the only one here to disagree with this statement.... !
"Quoting famous computer scientists out of context is the root of all evil (or at least most of it) in programming." - K
The story begins with: "It's fair to say that most people love PNG images (or at least hate GIFs)." No, it's not fair to say that; it's wrong. Most computer users don't even know the difference and don't care as long as they can see the image. Most people don't know about the GIF patent issues and anyways GIF is now free. Plus why hate a file format? If you really want to hate something then hate what Unisys did.
Web developer has been my full-time job since 1995, and I have tried *so many times* to switch to PNG. And every single time, I slowly (and unfortunately) end up reverting back to GIF.
The two reasons that PNGs are unsuitable for large-scale use are:
* MSIE support sucks. It is getting better, but it still sucks (yes, I know this is a Microsoft issue not a PNG issue, but I'm not trying to place blame here.)
* Gamma value variation. Look at a PNG on one browser, and the blue value will match #0000CC, but look in another browser on another OS, and IT WON'T! Talk about maddening... this is one situation where the extra control by having the ability to specify a gamma value is a curse, not a blessing.
Yes, I know there are workarounds for both of thses issues. But the fact that they are both fatal flaws, and both have to be worked around, makes PNGs unusable for every-day use.
The article says it's because it's too big, but that's hard to believe, coming from the Mozilla camp. Does anyone have more details? I've been wondering for a while why this hasn't shown up in any of the free browsers. Also, I wonder how SVG relates to APNG. SVG seems like a great format for distributing scalable and moving things, although it's not a bitmap format.
First off, I know all about the drama surrounding IE's PNG support. Secondly, I think those that gripe about it to Microsoft pretty much gripe in vain (at least for now). Thirdly, at least on my work computer, IE uses Quicktime to render PNG files. This leads me to conclude that we, the concerned few should ask Apple to make Quicktime for Windows support PNG's alpha channels. As we do this, we can ask Apple to add support for this APNG format too.
There are only two valid reasons to include Flash in a web document: sound (for which there should be a global setting in the Flash plugin) and stick fights (SVG anyone?). Everything else does nothing but reduce useability and accessibility. The absolute kicker are flash intros with the skip button embedded instead of a normal link.
And: what do you need flash or MNG/APNG for if all you want is a red/green-annoyance? To make really good fakes of Luna GUI elements?
Fight hunger. Filet a politician and send him to a 3rd world country of your choice.
They'll probably come out with the "WMG" format which you will have to pay for a license to sign your own images. Users that visit your site will contact a Microsoft server and ask if it's okay to decode the images. Only IE will work with this system.
The official press release would be something like "We feel that this new open (to IE) format will provide the much needed protection against web site theft and give necessary control to Microsoft over your own content."
Would it surprise you?
- It's not the Macs I hate. It's Digg users. -
MNG is as far as I can see the _only_ format suitable for an Amiga-DPaint-workalike in this day and age (no good one exists today except for the astronimically-priced Windows TVPaint/Mirage, and that is a direct descendant of Amiga TVPaint).
APNG looks too lightweight, missing many features necessary to replace the ancient (but still in use!) Amiga-IFF-ANIM. Sure, it's a replacement for shitty animgifs. But can it replace the Amiga-IFF-ANIM7 roughs for a feature-length cartoon?
Yes, much of the industry now uses vector animation (i.e. macromedia's stuff), but bitmapped animations are much easier to seamlessly integrate with bitmapped digitised film. Want a(nother) open source killer app? Take the cinepaint/gimp engine, add a dpaint-like interface and MNG support and lots of bitmap-animation-creation-and-editing features, and several animation companies I know can finally lose their old big-box Amiga stockpiles...
Microsoft recognizes that a new animated image format was needed (after seeing it mentioned on /.). As such they have announced the release of a new standard, Microsoft Extended Sequential Series (MESS).
MESS will be incorporated into Longhorn and will be one of the major enhancements to the Microsoft operating system. The MESS graphics format will permit content providers to render highly complex images on a users system. The MESS format allows use of Active X components which permits all kinds of interesting effects on a users system.
When asked about using existing standards executives at Microsoft responded that no other standard in this area exists. Patents have been applied for covering this novel concept and will be agressively defended. Anyone trying to duplicate the intelectual property of Microsoft would be better off using MESS as long as they pay the royalties due Microsoft or they may find them selves in an even bigger MESS.
Executives were then asked about possible security implications of the new MESS protocol. Executives replied that security is a number one priority and that an updated SP3 patch is currently in the works that will address all security issues. The only thing holding up SP3 release is final release of SP2 patch 1 that is needed to address security issues caused by various linux distributions.
You're probably trolling, but just in case you're really that stupid...
Read the first half of what you wrote: 1 kg = 2.2 lbs.
Now, quick, what is 1 x 2.2? Could it... 2.2?
I hope this isn't too complicated, but let's go on to a more advanced example.
If 1 kg = 2.2 pounds, then 2 kg (and you can verify this with a scale if you can't do simple arithmetic) must weigh 4.4 pounds. And by some odd coincidence, 2 x 2.2 = 4.4.
Now, if you were to divide 1 by 2.2, you would get app. 0.45, which doesn't fit very well into the idea that to convert kilograms to pounds, you divide the kilogram figure by 2.2, since 1 kg most certainly does not equally app. 0.45 lbs.
What, indeed, is the world coming to when people (pick one):
A) Really can't do simple arithmetic anymore;
B) Can't troll any better than claiming you divide kilograms by 2.2 to get pounds.
Another advantage GIF has over PNG is its smaller header size which makes small images lighter. A typical 16x16 GIF icon weighing about 100 bytes will translate into a PNG of 200 bytes or more.
That may sound like nitpicking but it can still matter, for example when transferring images to mobile phones.
The whole reason for PNG's creation was as a response to the potential doom spelled by the enforcement of GIF patents and of course they took the opportunity to improve on the limitations of GIF as well... but was back in the day, in the very beginning, I assumed that the PNG specification would include animation as part of PNG's purpose.
I think the best answer here would be to enhance the existing PNG specification just as GIF's original specification was enhanced to include animation. Let's not call it "*.APNG" or "*.MNG" for that matter. It should still be called *".PNG" just as *.GIF always remained.
I think it would be a mistake to add to the ever-increasing number of filename extensions that exist out there. Isn't this convention a part of DOS and CP/M's legacy anyway? Filename extensions are handy information to append but only to a point.
Your two problems are easy to get around.
1) IE does support transparent PNG, you just need a CSS hack for it. There are tons of scripts around the web to include the hack automatically, one of which is the 'IE7' DHTML behaviour which fixes a lot more than just PNG transparency, and which anyone who wants to do modern webdesign (semantic and tableless) should consider.
2) If you simply omit the gAMA chunk from your PNGs (pngcrush can do this easily, plus you get tiny PNGs to boot), then the gamma issues will be gone for 99.99% of the browsers. The only ones that will mess up are an outdated version of Opera, a pre-1.0 mozilla on Mac OS, and (unfortunately) Safari on Mac OS X. But Safari is still under development. You can assume that people who use it are keeping it up to date.
You don't include any gamma information with the rest of your colors (CSS), so it makes sense not to have any in your PNGs either.
I refuse to consider you a fellow geek if you suggest getting out of the house.
I just took a look at the 'specification' and I think it's a great one.
It's not overly complex, it's backwards compatible and it's easy to implement.
It probably will lack some features which would be nice but at the moment I don't see them being spoken about in the specification (ie, what mode of application for the next frame, OR/AND/XOR/INVERT etc).
I think with it being as simple as it is to create an APNG from existing PNG's, we could see this format take off a lot faster than MNG. Now it's simply a matter of waiting for Firefox/Mozilla/Opera to pick up their end and make use of the APNG format.
PLD.
The standard way to animated JPEGs in the past has always been using server push (multipart/x-mixed-replace). Mozilla does support this. A lot of webcam sites use this.
APNG files _are_ PNG files. We didn't create a whole new format (since that would be silly) so APNG files will still be .PNG files. The first frame in an APNG file looks to current PNG decoders to just be a regular PNG. The APNG spec specifies some additional chunks that if found tell an APNG aware decoder how to find the rest of the frames.
Several people tried to get animation in the original PNG standard, but they were rebuffed because it would take too long. Most of the energy that could have gone to getting a simple animation mechanism out was spent on generating really cool interlacing so that when you downloaded PNGs over your 9600 baud dial-up they'd fade in nicely.
I admit that I thought the interlacing was kind of cool myself: I had a 9600 baud dial-up at the time.
I lost interest in the process and left the PNG list after the MNG group was split off. I wanted a format that just let you place PNG images over the background at a given X, Y, and T, and re-use tagged images to make cartoony animations easier. It wasn't nearly as simple as APNG but I don't think it was excessively complex.
------- Additional Comment #474 From Mike Connor 2004-07-04 09:25 PDT [reply] -------
reasons why this isn't going to block aviary 1.0 (again, posting to prevent more advocacy posting. If you want to debate this with me, feel free to email)
a) the code isn't ready, per the owner of the bug and the person responsible for getting things to a point where it can be added back into CVS. We're on way too short of a timeline to take major last minute code.
b) no one working on Firefox/Thunderbird really wants this at this point (speaking as one of the people heavily involved in Firefox). Thunderbird stopped building with MNG before CVS removal took place. Firebird was probably going to do the same, but CVS removal came first. Its not something that'll likely change going forward, unless MNG support is really low cost (i.e. not 200-300k). At 50-80k the case becomes stronger, of course. The "if you support it, they will come" argument is weak, since we did support this for three years and the content didn't come.
c) Content that 90% of the web doesn't support isn't going to get created in any substantive way. MNG has the advantage of being more ideologically pure than Flash etc, but if people aren't using it, its cruft, and that's the reality. Given the choice, we'd be much better off bundling Flash with Firefox based on the "size vs. usability boost" equation. I realize lots of people don't like Flash for a myriad of reasons, but users don't care.
It doesn't break such code -- if that code is expecting png datastreams one after the other, then it won't find a PNG header after the first one. The "bunch of user chunks" after the IEND are simply an entire PNG, minus the 8-byte PNG header, hardly random chunks. Finally, EOF is mentioned nowhere -- the number of frames that are expected to follow is clearly specified as part of the anIm chunk; EOF before this would be an error/incomplete data condition, and nothing more.
I was quite interested in using MNG... Not for web images, but actually as a rather good lossless video codec. MNG would make a great codec, and it's already supported by Ogg... You can mux a MNG image into an ogg file (with audio) using oggmerge, available via cvs...err...I mean svn.
Unfortunately, it seems that there is almost no MNG software available that supports delta encoding (eg. storing only the difference between sequential images), so if you take (10) 100K PNGs, you get a 1,000K MNG. No space savings, no point really. That is where MNG really falls behind GIF.
It seems mostly pointless, to me, to introduce a new, very similar spec. Backwards compatibily is nice, but not all that necessary, as evidenced by PNG in the first place. In any case, APNG certainly can work where MNG failed, if only good software comes out for it. It's more likely that MNG will get properly advanced software first, but you never can tell.
As for MNG not being in Mozilla, well that is a strange issue... libMNG supports PNG rendering, so if there were more than a nominal number of MNGs on the web, you might have seen libPNG removed instead. However, since you don't see many MNGs, there wasn't much point to keeping it.
Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
Anyone thought of this? Often animated gifs are used to animate photos. This is probably not the best way to do it and APNG won't help unless it supports some kind of lossy compression.
Is it possible to implement little motion-JPEGs in a browser without it adding too much code?
Just asking.
We are changing the format of APNG so that all the frames live inside of a single IHDR/END. This should resolve any problems you might have. v0.3 of the spec (should be out tomorrow) will have these changes.
Because JPG is completely inappropiate for screenshots, that's why.
JPG deals *very* badly with straight lines and black/white transitions, both of which are really common in screenshots, like interface elements and black text on a white background. 500KB screenshots mostly happen because people take a screenshot of their background image.