The Long, Remarkable History of the GIF
popularmechanics.com
popularmechanics.com
When it's appropriate I have no problem with a video. But if posting a video it should really be in its original form. Uploading to Youtube or even just using a <video> tag lets the viewer decide if they want to listen to audio, and what resolution to watch in. It's pretty rare that I'd choose to watch in no sound and at the lowest resolution possible. Not to mention the absurd amount of data gifs download.
The recent trend of converting videos into gifs back into videos (websites like gfycat) make even less sense. All you're doing is damaging the quality of the video. To what end?
Even articles that are posted are now scattered with gifs. Why? I guess because it's trendy. But it makes it incredibly difficult to focus on the text. The article above is a good (and likely self-aware) example, but this one from Atom also stuck out for me.
http://blog.atom.io/2016/02/03/introducing-block-decorations...
Terribly nauseating.
So that's my rant. Frankly I'd welcome a browser extension to block animated gifs online and hide reddit posts than only link to them.
There's some black humor here in how the actual imageboards (4chan, etc) are heavily pushing towards WebM for short animations.
Mobile users are also thankful for this trend.
(This reminds me of the other discussion here about Chrome users accidentally activating the Back shortcut because the focus isn't on a text input. Perhaps they were too distracted by all the other cruft on the page, like animations, that they didn't notice more subtle things like the focus changing...)
(The gifs are still loaded and present as static images. Video files pretending to be gifs are not dealt with.)
For that you need:
media.autoplay.enabled
You will have to pause/unpause youtube videos to get them to play.
Biggest issue is that I can't figure out how to play videos with ads on youtube since ads don't have a pause button. (I just play them in VLC instead.)
So even when the anim isn't either a tedious throwback to the worst excesses of geocities, or there just to distract and annoy it's garbage quality. Someone will post a video, in gif form, to help illustrate some post, and you can barely make out a thing as the dithering has sent the detail to oblivion. Just make an mp4.
Simply being able to stop a gif anim by hitting ESC was far too useful, so browsers don't do that any more, or sites are somehow blocking it.
I don't understand the appeal of gif anims at all.
Ideally, such things should—rather than being copied and cut into shape—be transcluded, effectively fancy links to an original that include time-slicing metadata. But making transclusion an easy or default behavior has been a losing battle for text since the web was created; I don't expect changing the medium being embedded will change how people think about things.
The atomicity of the internet - sealed documents at URLs - is really regrettable. A much more powerful design (although admittedly more complicated) would have been a "turtles all the way down", IPFS-style approach where any asset could be transcluded or linked into. But I don't think we'll ever see it.
By linked into, are you saying by URL? I notice that archive.is actually adds its own links to the side like a ruler. I think the status quo of linking only to headers is okay, but maybe you're envisioning something like linking to specific words in sentences. That would be great for quoting but the HTML would probably look/load horribly. Maybe there could be a system that let you link to offsets so it wouldn't need actual anchors in the source, but those could break with a simple addition of a word at the beginning. It's an interesting problem for sure.
This is a very nice definition. Thanks!
Take, for example, the context behind "What is GIF May Never Die." I don't know the reference, but a Google search for "What is * May Never Die" says it's from Game of Thrones, and something to do with the Drowned Gods. But what does the video add to that quote? As far as I can tell, it doesn't. Or do I need to research further to understand the context for that specific scene?
(Transclusion would help here.)
For those who know the series, what does the video add to the quote "What is GIF May Never Die" to justify that use of space?
Or if that's not a good example, what's an example of using this technique at its best? Because the issue trackers I've seen which use GIFs this way come across as using a lot of inside-jokes that I don't understand, and saying little else.
And isn't my complaint the same issue that SquareWheel raised? ("it makes it incredibly difficult to focus on the text.")
In the same way that e.g. video games are at their best as an art-form when their interactivity is essential to their message, these visual quotations are at their best when they're "quoting" something that can't be reduced to static pictures and text.
I note that—where available—people seem to like using sub-second gif clips of old cartoon characters making very particular expressions, in place of emoji. These are quotations: quotations of body-language "acting" depicted in a TV show. We don't think of them that way because we're not "quoting" with rigour for the purpose of critical analysis, but it's still what's going on.
---
† I don't know what to call these... pseudo-gifs. The type of thing you find on Vine or Tumblr: webm videos restricted to a 5-second length, autoplayed and autolooped, but played silently until clicked on. This form is just as common now as the classical gif for sharing, though you don't tend to see these audio-gifs embedded in articles.
I don't know how I'm supposed to interpret that loop, or how it fits into any context. I can think of multiple interpretations, and have no way to figure out which one is meant, or if that mixture of interpretations is the point.
It's "Darmok and Jalad at Tanagra" for me, but without even the search ability that the text phrase has to figure out how it's used in context.
Do you have an example of how quoting is used in a good way?
> "quotations of body-language "acting" depicted in a TV show"
Similar problems exist in TV shows when actors require the watcher to know the allusion (or "quote") in order to understand what's going on. I remember as a kid watching the old Loonie Tunes and recognizing there was a gag, but not understanding it. My mom would explain that it depending on knowing that they were referencing some piece of 1950s American pop culture.
When done well, the quotes fit in smoothly. You don't need to know it's from an external source, though knowing that it does provides extra depth and texture. For example, see "References to 70-80’s movies in Stranger Things" at https://vimeo.com/175929311 .
But in mixed media of text and video, it's very hard to make a smooth transition. That's why I wrote that the clips seem to stand out in large font, exclamation points, etc., as a "look at me!" attention grabber giving the quote far more attention as a quote than as a supplement to the conversation.
Unless it's a commentary on how often animated GIFs are pointless and bloated items which could be equally served by using static captioned images. In which case, it's hit the nail on the head perfectly.
If not, why isn't there a browser plugin that adds video controls to gifs?
That and maybe the fact that it's probably not very easy to travel back and forward in GIF's incrementally painted animation model described by Gankro in https://news.ycombinator.com/item?id=12333329
It lets you play it backwards, frame by frame and change the speed.
I'm a bit late to this thread but honestly after many years online I've come to the conclusion that most people outside of HN don't want to come home after work to have deep discussions and would rather post and upvote "lowest common denominator" stuff.
Fast load times are one of the things that keep bringing me back to hacker news.
Now that the video tag can be reasonably expected to work, in a couple of years we might have the tools to just embed video when we want to.
The funniest part, IMO, is that the people who have "Watch this GIF of me entering code! OMG!" on their Github README are more or less the same crowd who were complaining how low brow and annoying GIFs were ~10-15 years ago.
GIF isn't about optimization. It isn't about the best technology. It isn't about anything that we care about as engineers.
It's about what is easy for users to create.
That's it. That's all there is to it.
GIF is easy.
It doesn't matter if it sucks. It doesn't matter if it's not optimal. It's easy.
I right click on a Twitter 'GIF', I can't save it. I go to developer tools, they did a bunch of JavaScript fuckery just so I couldn't save it. Okay, I find a third party tool and save it anyway as a .mp4 file. Stupid.
I right click on an Imgur link, it saves a webpage. Okay, replace .gifv with .webm - oh, it redirects me to gifv. Last time I had to save something from Imgur, I had to use curl of all things to do it. It's ridiculous.
GIF is simple. You upload the file as an image, something everybody mastered doing, and it will play, no questions asked. Videos are hard. Everybody wants to re-encode them in different formats, everybody has to include a fancy player in an iframe. You have to check for browsers since you can't solely use mp4 because of patent whatever, and can't solely use webm because Apple hates Google that much.
GIF, the file format, is bad. 256 colors, file size, etc. But everything people are trying to replace it with is even worse.
> If GIFs are like framed pictures you can take down and move to your new house, these GIF-like videos are murals painted right onto the wall.
In an ideal world, I would be able to bookmark a URL, refer to it 10 years later, and still get the exact same information. Unfortunately, this is not true for any of the image/video hosting services that we use on a daily basis, from Imgur to YouTube.
So if I really want to preserve a piece of information for later retrieval, I need to keep a copy on my own computer. I can right-click a GIF and save it as a file, and I'm pretty sure it will stay where I put it for the next 20 years (or more). I don't have the same kind of assurance with most other video formats. Yeah, the GIF is 20 times bigger, but who cares? Disk space is cheap. Bandwidth is cheap. Universal compatibility is hard.
Twitter is a massive pile of JavaScript garbage - it's just as difficult to download a still image off it (I have a bookmarklet for the task).
On imgur I can just right-click on an animation and select "Download Video..." and I get the mp4. Just as simple as images.
javascript:location.href=$('.media-image')%5B0%5D.src
This navigates to the picture currently in the lightbox (so you might have to click on it in the tweet to zoom it)Pretty much every user-generated content site lets users upload or embed images. Few of them support video, or if they do, it's in a cumbersome player, or by embedding YouTube or something.
Hopefully the widespread adoption of the HTML5 <video> element, with h.264 support (thanks Cisco!) - and with iOS 10 it can finally play inline and even autoplay on iPhones - will spur these kinds of sites to allow direct embedding of videos.
But we have WebM, works on Chrome, Firefox, Opera and on IE with components https://www.webmproject.org/ie/ - is that not good enough?
No mention of the Animated extention to PNG, which Firefox, Safari and Opera do support. Chrome has an add-on for it but I don't know about IE. You wonder if the image is smaller when it's a silent video or when it's a APNG, probably it's the same with animated GIF, the movie format is more efficient then the animated image format.
Perhaps someone can make a proxy plugin that converts all animated gifs on the fly to webm and all gifs to png. You never have to see these GIFs again, another SaaS subscription model
I downvoted you because your comment is difficult to follow. My best interpretation is that you dislike iOS Safari because it doesn't support a specific CSS feature (one that makes little sense on a touch device), but you don't care enough about iOS to find a workaround. However, you do care about IE8 (a browser that was released 7 years ago) enough for it to be a non-starter to ignore it as well.
That's an interesting business decision, but to each their own. Regardless, none of your comment seems relevant to the ongoing discussion of replacing gif with webm and the difficulty of finding a universal format.
tl;dr ¯\_(ツ)_/¯
When encoded lossily, FLIF is competent with JPEG on still images, and ofcourse very competetent with GIFs.
webm doesn't promise to be silent, which is why we are seeing this gifv container format, which does promise to be silent.
You need out-of-box support by Safari and Chrome to cover enough users. Preferably IE in the mix. This is why all the big gif sites use both gif and gifv.
[1] https://uprootlabs.github.io/poly-flif/polyflif-sample.htmlThis isn't always true. Many, many GIFs I see around now are longer, if not full length clips and/or at obscenely un-optimized resolutions/sizes. Due to the ease of video to GIF conversion tools like Imgur, etc users have no reason not to clip longer and larger potions of videos for GIF conversion.
> webm doesn't promise to be silent
This isn't really such a problem with a change of a browser preference or use an addon. Part of this is also the responsibility of the site to auto mute if it offers embedding for that purpose.
At some point though there needs to be more user awareness and push for the better alternatives all around so the experience doesn't devolve further into posting 10-100MB GIFs of video clips (I see this on a daily basis) just because Imgur or GfyCat spat it out and their posting platform only encourages/supports raw GIFs. There also needs to be more hosts that allow direct video clip uploads to support this.
Edit: brevity.
Which is why I wrote that the length promise can be broken.
> This isn't really such a problem with a change of a browser preference or use an Haddon.
Yes, it is such a problem. If you promise the user that the clip is silent, you also promise the user that it can be consumed in silence. Yes you can click a youtube link while keeping your computer on silence, but guess what, chances are the video is made for consumption with audio.
> and their posting platform only encourages/supports raw GIFs.
All the gif purveyors support webm. It is typically called gifv, because users recognise the gif word and believe all the promises I mentioned. But there isn't an alternative as ubiquitous as animated GIF.
I didn't see this in your comment but was responding to the expectation that GIFs are 'bite size'. I would honestly love for them to be that but it's regularly not the case.
> Yes, it is such a problem. If you promise the user that the clip is silent, you also promise the user that it can be consumed in silence. Yes you can click a youtube link while keeping your computer on silence, but guess what, chances are the video is made for consumption with audio.
It's still the responsibility of the user/site as video clips have different purposes. If the purpose of the embedding is a 'clip' rather than video the site can mute it (or a pseudo-container format like GIFV, like you mentioned). Some hosts disable audio encoding, others mute them by default (eg: Vine), but I still don't believe that GIFs being the incredibly poorly optimized, 256 color limited bloated format it is should 'win' merely because videos can have sound. There needs to be the concept of a generic 'clip' upload/post to differentiate from a regular video upload, GIFV is one such solution. Users expect Youtube videos to have audio, they mightn't for a short clip, which is why it would be great to see sites adapt and continue to be more conscious of this.
> All the gif purveyors support webm. It is typically called gifv, because users recognise the gif word and believe all the promises I mentioned. But there isn't an alternative as ubiquitous as animated GIF.
By posting platform I mean every site/app a user will post on that either encourages or only supports the use of GIFs over video clips. Yes Imgur and Gfycat will auto encode GIFs to VPx/h.264 however only GfyCat supports direct video uploads, on Imgur you can't upload a video clip directly. With only GIF uploads supported by most hosts it fuels the cycle of users, clip creators, sites (blogs, forums, etc), and even browser compatibility sticking to GIFs as the primary clip format.
If there's one thing the past twenty years should have taught us, it's that we can't trust web designers/developers for anything. Browser options are good, though I'd prefer everything to just default to silence.
With <video> becoming so widespread, the future for both these formats seems bleak.
You have to wonder what the PNG standard authors were thinking, not including animation from day 1.
This is what happens when you propose a new standard that purports to replace an existing one, and then doesn't.
If I understand correctly what you mean, the article does mention it, albeit somewhat dismissively:
> It wasn't until 2001 that the PNG group's animated GIF-killer-that-couldn't, MNG, emerged to find a web that had finally resigned itself to the GIF.
Gif is actually a mosaic format. It defines a canvas on which you can render a series of images. By adding a (per image) delay between images, you can make an animation. All this data comes as a stream of blocks. Most are images, but some are extensions. The "NETSCAPE 2.0" extension is what makes gifs loop.
Nothing at all says an image needs to fill the whole canvas, and the format for rendering a new image specifies what should happen to the existing pixels. It also can specify a colour to be interpretted as transparent. Gif is also a palletized format, and you can actually abuse this to get more than 256 colours -- each subimage can have its own palette.
By picking "leave all the pixels there" as the transition format, you can do non-iframes by overlaying only pixels that have changed. You can also apply many small deltas "at once" with 0-second delays to optimize this further (think: only changing the corners of the image). You can then of course "stick" pixels to a single color of they don't change by much to avoid re-encoding them.
The end result of all these tricks is a pretty dramatic compression as one would expect from a "real" video format. It's not great but it's a lot better than the naive encoding described at the start of the article.
If you find a real gif that's "live action" and decode the individual frames, you will very likely see all these optimizations in action!
Note however that much of this is underspecified! The only reason your animated gifs work is because everyone vaguely agrees on an interpretation of certain things which are honestly quite ambiguous. Firefox's testsuite has a pile of ambiguous gifs which will render messed up in different image viewer applications!
Edit: this one is super cool to watch in delta-only mode (don't have that version on hand anymore): https://github.com/Gankro/gif-rs/blob/master/data/cat-jump.g...
[1] https://bugs.chromium.org/p/chromium/issues/detail?id=1171
I don't use Chrome so can't be sure.
After going through the Mozilla bug threads, they're even more infuriating from a rational perspective. I guess I didn't realize how politicized software development could be, even in open source.
Is it impossible to turn back GIF adoption? What if someone makes the equivalent of Steve Jobs's declaration against Flash? To me, Flash was far more vital to the very operation of web services. Then again, processing GIFs doesn't require near the same complexity or security risks as Flash did.
> GIFV is not actually a distinct file format, but it is an MP4 or WebM video that is presented via a HTML 5 video element or an Adobe Flash element with options set so as to make it work similarly to an animated GIF (i.e. endless loop with no video controls visible
Here is a primer on that:
https://news.artnet.com/art-world/a-brief-history-of-animate...
> Unlike GIFs, video files don't actually contain every frame of animation you see
> As a GIF, it takes up more than 60 MB because every single frame needs to be stored as a complete image.
This is ridiculous. See http://www.drdobbs.com/optimizing-gif-animations/184412988
WebM has been awesome for animations on desktop but they don't work properly on iOS: won't animate inline.
[1] https://hn.algolia.com/?query=%22is%20dead%20Long%20live%22&...
I use gif once a while and feel it does its job pretty well.
In particular those "joke"/shock gifs that pretend to be a still image.
One of the first things i go looking for in a new browser install is some way to stop gifs from animating.
The content is too long and the title too click-baity for me to invest time in reading without what I'm getting myself into.
The article is a lengthy article about the history of the .gif format - the recent trend of converting it to a video or video-like format - and this being centered around the ability to share the .gif itself.
This is due to many sites (Twitter, Facebook) making it difficult to save a .gif to share later. You need to share the Twitter or FB link instead (which is what they want...). Giphy was mentioned as a way to share .gifs easily, but it has its own limitations (eg: no pornography).
It was something that was thought of as a "gimmick" but turned out to be popular. Mostly due to browsers not having good inline video support outside of Flash. I also, in large, blame tooling and discoverability of that tooling for easily creating webm, mp4, or other video formated. For example - if I want to record 8 seconds of a video to turn into a .gif, I can do so easily with an online tool nowadays! If I want that same 8 seconds as a .webm, I now need to find a way to download the source file, trim it down to the 8 seconds I want, save it as an .mp4, then use my .mp4 to .webm converting software to finally have the .webm I wanted. Most people will opt for the shorter/easier .gif conversion.
And if you decide to do it yourself, I don't understand why you'd need to go through an mp4 intermediate. With ffmpeg you can trim and encode your clip to webm with a single command and a couple switches. Or if you want an easy GUI tool, there's always WebM for Gits (https://github.com/nixxquality/WebMConverter )
>And if you decide to do it yourself, I don't understand why you'd need to go through an mp4 intermediate.
Screen recording. Although I use a tool that simply records as a .webm ( https://github.com/thetarkus/WebMCam ) Most people aren't going to be installing random Github projects to meet their needs. I doubt many people even know what Github is outside of the tech niche. :P So they record with some other desktop recorder that outputs as a .gif or .mp4/.m4a and then would need to convert from there.
Also Imgur's .gifv wrapper seems to be more widely known than .webm. Which is unfortunate but is the case due to Imgur's popularity.
The article talks about Gifs, their history and current use, (in the sense that War And Peace talks about Russia and Napoleon). The interesting part is all the info it gives (at length) about them.