Hacker News new | past | comments | ask | show | jobs | submit login
Apngasm Wants To Promote Animated PNGs As An Alternative To GIFs (techcrunch.com)
51 points by xmpir on Aug 26, 2013 | hide | past | favorite | 39 comments



Scratching an itch that doesn't exist, with a name that makes it impossible to have an intelligent conversation around.


GIFs seem quite popular on places like tumblr, with a crowd that is unlikely to be put off by that name....


* a name that makes it impossible to have an intelligent conversation around

why? Is the word orgasm so scary to you?


Thus proving the point.



Let's name a company that loosely sounds like "orgasm", that we cannot pronounce. Genius.


I'd like to promote static PNGs as an alternative to animated GIFs. Who's with me!?



GIF video has "privileged" support in browsers, because it used to be the only native video format, and that level of integration has been impossible with '90s QuickTime/RealMedia/WMW plug-ins.

And decade of this situation has conditioned us to think that only shitty video formats (like GIF, APNG, WebP with animation) can be allowed to have first-class support in browsers, and any video format that is technically competent must be kept isolated in special tags, must not work well with rest of the browser and must cargo-cult limitations of plugins of the '90s.

But browsers can and do support H.264/WebM natively now. Technically (patents aside) we could have <img src="video.mp4-or-webm"> work just as well as GIF (and maybe even faster given 10th of bandwidth needed and possibility of HW acceleration).


Isn't it a bit late for that? I feel the modern alternative to gifs is simply embedded video.


Besides the whole video codec debacle, APNG has many advantages for the web (which are shared with gif). Since you have transparency, you can make each frame transparent, and lay them on top of each other; which allows more efficient temporal compression. You could also used an indexed palette, to save a lot of space (but not be limited to 256 colours per frame). Then you also get proper lossless compression, which is important for logos when scaling.

While much more efficient in the long run, a video codec loses out for short animations when you consider the above points.


>Since you have transparency, you can make each frame transparent, and lay them on top of each other; which allows more efficient temporal compression.

There is simply no way that you are going to achieve more efficient compression with that crude technique than with the algorithms used by modern video codecs.

I also think that losslessness is probably relatively low concern with an animation.

The transparency thing is important, although that is achievable with video as well. WebM is apparently going to support it directly one of these days, but the cross-browser way is to store the alpha channel in a separate half of the frame and combine them using an off-screen canvas. (Edit: see this demo: http://jakearchibald.com/scratch/alphavid/)


Not having audio is also an advantage since it means that "paused by default" isn't desirable by most users.

I want all video on sites to never autoplay solely because of sound.


Do any browsers offer that option from the GUI? It seems unlikely to be common. It also seems like an easy fix for browser developers to allow you to exclude from that rule any video that has no audio track.


There's probably too many places where embedding a full blown video isn't practical - at least not in existing products. Avatars, emoticons, simple GUI elements (I'm thinking e.g. of a "copy file" dialog) and similar.


But isn't gif sufficient for that? apng is obviously technically superior, but gif is already supported everywhere. It's one of those cases where "perfect is the enemy of good" IMHO.

Don't forget that we now have javascript, CSS animations, canvas and webgl in addition to good old gifs to deal with animated features. Do we really need apng on top of that?


With GIF one have to create multiple versions of the same image for different backgrounds. APNG works nicely on any background.


Refinement of video embedding would still be ideal in my opinion. Isn't APNG lossless? Something lossy but low-resource (an older compression format, in other words) embedded as the full file (instead of streaming) would be deal - like dumping a little MP2 in place of a GIF.


Can you elaborate on why it's impractical? I understand that at a gut level you have the concept of "full blown video", but I'm not sure instinct is faithful to reality.


Not a proper answer - but h.264 has one clear goal, good compression ratios at good quality. Performance is secondary and as such h.264 is pretty expensive. This makes it a little silly for small assets where filesize is not a concern.

Little emoticon stuff makes more sense with GIF which are very inefficient with filesize but with very very little performance overhead.

This is just 'my gut' like you have said. A proper analysis of the performance of h.264/GIF vs resolution would be nice though.


I expect that the performance issues with small assets are probably minor (and smart phones have hardware acceleration for it). H.264 is expensive to encode, but the decoding cost is much lower, and is also adjustable at the cost of the compression ratio. If you want transparency, then the workaround you currently have to do with going through an off-screen canvas is another story for performance.

I can think of one other hypothetical problem, although it would need testing to confirm: block sizes. h.264 works with block sizes that are a multiple of 4, and AFAIK codecs often perform sub-optimally with input that cuts off mid-block. For large videos that doesn't matter much, since you don't usually focus on the edge of a video, but for a small asset, it might be a problem. Someone with more knowledge of h.264 might be able to correct me on this.


With the <video> tag, you can hide the controls, autoplay, and loop. I don't see the issue.


The alpha channel in PNG/APNG is nice.


I tend to agree with you, but apparently people _really_ like GIFs, irrationally. I built a service[1] that converts GIF files to HTML5 video (h264 MP4 + OGV) and people reacted very violently, arguing that "it's not a GIF". It makes me kind of sad, but oh well. It even has a simple embedding mechanism[2].

[1] https://mediacru.sh [2] https://mediacru.sh/docs


Excellent! I had this same idea in 2011, kudos on the execution! The size difference between animated GIF and actual video codecs is vast and the idea seemed obvious. I made a quick mashup with ffmpeg+Django (I'd use Go/MongoDB for web instead of Django these days.)

HTML5 video wasn't uniformly supported across browsers (and remember Google announced Chrome would drop h.264 around that time) and I didn't get positive responses on the idea. Maybe with more tools to support HTML5 video in animated GIF use cases and educational tools showing the difference in loading times and encoding algorithms this idea could take hold.

Also the WebP engineers have developed an animated WebP format which I disagree with but could be a step toward breaking GIF's monopoly on short animations.


>HTML5 video wasn't uniformly supported across browsers

It's still the case, IMHO. For example, mobile devices are a lost battle, in my experience, when it comes to HTML5 video (with autoplay and without controls). So MC ends up serving the straight up GIF to them.

I hope animated WebP becomes a thing but I have my doubts. I'm not sure whether the three major browsers will support it to an extent that it's actually sensible to use animated webp.


Well you can't embed videos on forums, tumblr, 2ch, etc. So it's harmful to convert to video for most people.


It'd be nice if that would change, though. Some forum software allows you to embed video from YouTube and friends, so it wouldn't be too much of a leap to embed short video clips using the mechanism described in the MediaCrush docs. I think it's an elegant solution.


This is like converting ASCII art to a .jpg. Sure it looks exactly the same, but the history of the format is gone.


The point is not that it looks the same (although it does). The point is that videos load much, much faster than gifs. I've seen gifs converted to videos, with the video loading 30 times faster than the gif.


There is a definite difference. The .gif has a dithered appearance, while the video is blocky.

A good animated picture format could be similar in size to video, while maintaining the advantages of a gif.


I bet you are absolutely right that it's too late to get adoption, and I'm relieved to think so.

Here's an example of an increasingly-popular idiom on the web where embedded video doesn't quite do as good a job as animated GIFs.

I'm sorry for sharing this, but it is both timely (it's about some music award event yesterday evening) and relevant:

http://www.buzzfeed.com/lyapalater/the-weirdest-and-craziest...

If anything, though, this makes a case for not creating yet another tool for this kind of expression.


Absolutely not. None of video codecs can reproduce PNG quality/compression.


Slightly related ... I'm only supporting IE8 and higher now for all new website work. Wow! I just said that out loud! I feel ... better.


The name is juvenile.


The ruby interface is plain offensive https://github.com/apngasm/rapngasm


With a higher-end stretch goal of $20,000: Python native extensions, it is apparent someone doesn't understand Python. On a humorous note, isn't import apngasm part of the batteries included?


animated gifs are used instead of video, because the restrictions lend it to less cruft, fast(er) downloads and widespread browser support without plugins.

Building extensions/plugins to increase quality is not only missing the point, it's directly opposed to it.


Let control to keyframes via JavaScript and it could be interesting.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: