31

I think that having the user to click the GIF to play it in chat when oneboxed, would make the experience more user-friendly and bandwidth-friendly. Can this be implemented here? I saw it on a few websites (well... 9gag).

This would also make all the chat users more tolerant on GIF's and not dissalow or remove such messages.

Not playing example:

enter image description here

User clicks, GIF plays:

enter image description here

User clicks again, GIF stops playing:

enter image description here

8
  • 4
    I think the gif should play only once; then you would have to press the button again. That's the one thing I truly loathe about gifs - they never stop going.
    – user206222
    Jun 6, 2013 at 0:26
  • 4
    My thoughts after reading this
    – Cole Tobin
    Jun 6, 2013 at 1:45
  • 2
    @KnightswhosayNi That would be pretty disruptive if the gif in question is designed for looping (e.g.: a four frame, one second long animation of someone's hair blowing in the wind). If you don't want it playing further, just click it a second time to stop it. Jun 6, 2013 at 1:45
  • 1
    @Cole Johnson, elaborate. Jun 6, 2013 at 2:27
  • 6
    But then how would I overreact to things in chat with creative use of gifs?
    – Adam Lear StaffMod
    Jun 6, 2013 at 3:06
  • @Annalear you mean something like this? meta.stackexchange.com/a/169210 it gets annoying fast. Jun 6, 2013 at 3:11
  • 3
    In Opera they're all frozen by default if you want it that way. Also, if you must superuser.com/questions/23655/…
    – random
    Jun 6, 2013 at 3:51
  • 1
    Quora does this; it treats GIFs as videos and thumbnails them. It's much less annoying. Jun 6, 2013 at 4:05

3 Answers 3

5

When you're in a room that id being bombed by animated GIFs they are a real pain and having some way to control them would be awesome. Even the ability to hide the individual message would be helpful. This need not be a permanent thing which is remembered in a database, just hide them or stop them playing for now.

Some time ago I asked Nathan Osman to whip up a userscript that can be used to clear the whole chat screen. It comes with a handy button.

4

What problems would this implementing this feature really fix? The occasional gif in chat happens too infrequently in chat to disrupt the general flow of discussions in most chat rooms. Even if it happened en masse, one could always flag it as spam or for moderator attention, if such an action is merited.

How would it affect the general flow of things?

Depending on how you like to utilize chat, adding this feature might be disruptive to the one's general flow of things. If I often like to idle in an particular chat on one screen while I'm at work (or at home playing a game on one screen), I'll occasionally glance at it to follow the conversations. Adding such a feature would force another added level of effort of moving my mouse all the way to the chat window and click just to play a GIF, taking away from time I be doing other things (procrastination included).

Depending on how it's implemented, the click-to-start, click-to-stop behavior would be a bit disruptive. If I wanted to save the particular GIF at it's original resolution (either because it's awesome or because I foresee a need in the future to use said GIF). At the very least, if this feature were to be implemented, there needs to be a quick and easy way to view and save the original GIF.

Would it really affect bandwidth?

As for being more bandwidth-friendly, (again depending on the implementation) loading both the still preview image and the the full GIF would still be required if I intended to view it. I also don't see occasional GIFs as a huge bandwidth problem, especially since the largest ones that can be uploaded using the chat upload interface are restricted to be <= 2MB (and most are far smaller than that anyway). Typically, GIFs are infrequently used by most users, if it becomes a problem, that's what chat flags are for. I can see a potential need for implement with mobile users who typically have monthly data limits, but it shouldn't matter much to most people on desktop clients.

Would it be user-friendly?

I'm not convinced that being required to click an image just to play the animation qualifies as more user-friendly (it works better with videos due to their length and file size). Especially if the discussion in a particular chat is moving quickly, the likelihood that it would have already been bumped up by the by the time I get my mouse up to that screen is pretty high. If it becomes a problem, especially in highly traffic chatroom, one could always coordinate with the moderators of that particular community and give room ownership with trust worthy regulars so they can help move or delete disruptive or inappropriate GIFs.

If you really don't like gifs in your chat, you could always install a GIF stopper add-on or extension, make your own GreaseMonkey script, or Javascript bookmarklet to handle it.

5
  • 12
    "The occasional gif in chat happens too infrequently in chat to disrupt the general flow of discussions in chat." -- To be fair, this rather depends on which chat rooms you frequent.
    – Adam Lear StaffMod
    Jun 6, 2013 at 5:08
  • 4
    Well, then this is a problem of the chat room, not a reason to change this for the entire network. Or make it a setting for the room. Or tell the people to post less GIFs if it's so annoying.
    – slhck
    Jun 6, 2013 at 6:57
  • Animated gifs are really only a problem in the moderator chat rooms. [ducks]
    – user50049
    Jun 6, 2013 at 8:16
  • 2
    or add an user option "Auto play gifs" ? not that hard I think xD
    – user214961
    Jun 6, 2013 at 12:43
  • An option then, sounds like the best course of action.
    – James
    Jun 20, 2013 at 9:22
2

I've made a userscript to do this. It stops auto-playing GIFs and clicking on it will play/stop it.

It uses @krasimir's gifffer library (you can upvote him here! :))

It will stop new GIFs posted auto-playing as well as existing ones.

enter image description here

Install it from GitHub Gist.


// ==UserScript==
// @name         Stop GIFs auto-playing
// @namespace    http://stackexchange.com/users/4337810/
// @version      1.0
// @description  A userscript that stops auto-playing GIFs in chat
// @author       ᔕᖺᘎᕊ (http://stackexchange.com/users/4337810/)
// @match        *://chat.stackoverfow.com/*
// @match        *://chat.meta.stackexchange.com/*
// @match        *://chat.stackexchange.com/*
// @require      https://rawgit.com/krasimir/gifffer/master/build/gifffer.min.js
// @grant        none
// ==/UserScript==

function replaceSrcAttributesAndStartGifffer() {
    //Thanks to Krasimir's gifffer library: https://github.com/krasimir/gifffer, https://stackoverflow.com/a/24314098/ :)
    setTimeout(function() {
        $('img[src*=".gif"]').each(function() {
            src = $(this).attr('src');
            $(this).removeAttr('src').attr('data-gifffer', src);
            $(this).parents('a').click(function(e) {
                e.preventDefault();
            });
        });

        Gifffer();
    }, 1000);
};


var observer = new MutationObserver(function (mutations) { //for NEW messages
    mutations.forEach(function (mutation) {
        var length = mutation.addedNodes.length;
        for (var i = 0; i < length; i++) {
            var $addedNode = $(mutation.addedNodes[i]);
            if (!$addedNode.hasClass('message')) {
                return;
            }

            var $lastanchor = $addedNode.find('img').last();
            if (!$lastanchor) {
                return;
            }

            replaceSrcAttributesAndStartGifffer();
        }
    });
});

$(function() {
    replaceSrcAttributesAndStartGifffer(); //for EXISTING messages

    observer.observe(document.getElementById('chat'), {
        childList: true,
        subtree: true
    });
});

You must log in to answer this question.