Hacker News new | ask | show | jobs
by LukeLambert 3804 days ago
Over 60 MB of GIFs on that page according to DevTools. The Fight Club GIF alone is 9 MB.

It's a terribly inefficient format, but I think a lack of free and open video formats (and editing software) is partly to blame for its meteoric rise.

Also: video is harder to share and is typically recompressed on every upload, reducing quality.

4 comments

GIFs are so stupidly easy to use and distribute that I sometimes can’t wrap my head around how convenient the format is.

A while ago, I tried to be a good nerd and convert some GIFs to HTML5 video, and I crashed and burned pretty hard: https://ndarville.com/asides/webvideo/.

I gained a new appreciation of GIFs that day.

That said, it would be great if we got a compromise where browsers can load only the first frame of the GIF and play the reminder on click or touch to save all the loading and data—on both sides, really.

In the linked page, FOIT = "Flash of invisible text", when the user briefly sees empty space while the webfont is loading. I had to look that up.

https://css-tricks.com/fout-foit-foft/

Oh yeah, that’s just quoted text from the original article, which deals with the phenomenon: https://ndarville.com/blog/2015/12/04/web-fonts/. It’s not directly relevant to the aforementioned article. :)
> That said, it would be great if we got a compromise

Wouldn't a better compromise be to support MP4/WebM videos in the IMG tag? Videos embedded this way could play without audio by default (just like GIFs).

>Also: video is harder to share and is typically recompressed on every upload, reducing quality.

Yeah, gifs being lossless is incredibly important for remixing. This is why we must get APNG going to really improve on GIF, instead of lossy video bullshit.

> I think a lack of free and open video formats (and editing software) is partly to blame for its meteoric rise.

GIF isn't a free and open video format either. The LZW algorithm used to compress them was patented in the 80s and didn't expire in most jurisdictions until 2003-2004.

If we want to see more efficient unencumbered video coding methods used online, the answer is most likely is going to have to come from patent reform (making patent lifetimes shorter).

The situation with H.264 isn't ideal if you're looking for purity, but licensed decoders are pretty readily available (most phones have at least one hardware decoder for it; Google/Microsoft/Apple pay to license the patents for Chrome/Windows (IE)/OS X (Safari); Cisco pays the license the patents for its binaries too).

> Also: video is harder to share and is typically recompressed on every upload, reducing quality.

This is such a terrible standard. Using FFprobe, one should be able to determine a video's fitness for universal playback on HTML5 streaming technologies. Automating this process is easy. I've built several high-volume media processing automation platforms for video, and never has this been a challenge for me. Could you (or others) shed some light on why devs don't do this?

Maybe people like you should do some evangelizing of these techniques.
I would love to! But I cannot imagine what I can say that would be unique. If people wanted to determine if a video were able to run universally on HTML5 streaming software, wouldn't they just use FFprobe and check the necessary stream metadata for compatibility upon output? Surely, these sites are using FFprobe already to determine other metadata within the video container files they receive from users?

I have always run under the assumption that sites like YouTube want to further compress all video uploads so that they can implement proprietary functionality dealing with the video content and its other important business services (ad sales, user agent scraping, data collection, etc.)

>> But I cannot imagine what I can say that would be unique.

It doesn't have to be unique - when evangelizing anything redundant repetition in a myriad of different ways is most important. You never know what will produce the light bulb moment in people. A video, a talk, a Github gist, a blog entry, a Stackoverflow answer, a Slideshare, a Hacker News comment that sparks curiosity..