Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GIFs #1047

Open
PennyBlake1827 opened this issue Jul 24, 2023 · 35 comments
Open

GIFs #1047

PennyBlake1827 opened this issue Jul 24, 2023 · 35 comments
Labels
feature-request A request for a new feature x:on-the-roadmap We're planning to do this but it may be a bit

Comments

@PennyBlake1827
Copy link

Is your feature request related to a problem? Please describe.
We need GIFs to communicate effectively in an engaging and vibrant way - they are the linguistic currency of this generation and a platform that doesn't support them is never going to gain as much fluid and vibrant engagement as one that does.

Describe the solution you'd like
Enable the use of GIFs in posts and replies the same way that twitter does.

Describe alternatives you've considered

Additional context

@PennyBlake1827 PennyBlake1827 added the feature-request A request for a new feature label Jul 24, 2023
@pfrazee pfrazee added the x:on-the-roadmap We're planning to do this but it may be a bit label Jul 24, 2023
@pfrazee
Copy link
Collaborator

pfrazee commented Jul 24, 2023

On the roadmap, will be a bit as we have a lot of other work to finish first

@PennyBlake1827
Copy link
Author

PennyBlake1827 commented Jul 24, 2023 via email

@HeyItsLollie
Copy link

Just want to take the opportunity to mention support for GIF-adjacent formats as well, eg: animated WEBP, or WEBMs and MP4s with zero audio tracks (different to videos with muted audio). Doubly-so if GIFs end up being transcoded into any of these formats, as it seems to be the norm for GIFs nowadays - I'd rather upload a WEBM or MP4 directly in this case.

@Zero3K
Copy link

Zero3K commented Jul 25, 2023

On the roadmap, will be a bit as we have a lot of other work to finish first

Unless someone makes a Pull Request to the proper repository to add it.

@pfrazee
Copy link
Collaborator

pfrazee commented Jul 25, 2023

Unless someone makes a Pull Request to the proper repository to add it.

It's not a purely frontend task. The backend needs processing behaviors and the moderation system needs automated and manual review tooling.

@bluesky-social bluesky-social deleted a comment from Zero3K Jul 25, 2023
@Zero3K
Copy link

Zero3K commented Aug 21, 2023

Those could still be added/changed by Pull Requests.

@TodePond
Copy link

Embedding linked-to gifs could be a good intermediary step! It could even help to make moderation easier

@TodePond
Copy link

Deck.blue now supports uploadable gifs.

Third party apps are demonstrating that it's possible. Graysky supporting a gif keyboard is another example of this.

Because of this, I think the bluesky team should reconsider the priority of this feature, and shift focus to it ASAP. Uploading gifs/video is a required capability of micro-blogging platforms in today's ecosystem, and its absence is preventing many people from being able to use bluesky. It's not a preference to those people -- it's a requirement. They can't switch over to bluesky even if they wanted.


At this point, more and more third party apps are adding gifs/videos in some form. However, they're unable to do this in a fully supported way because the first party bluesky app is incompatible with them. Instead, they have to go through various workarounds and provide a limited version.

I think this makes it even more important for the first party client to support gifs and videos - so that it allows these party developers to build these kinds of features freely.

@meicpalmer
Copy link

I would like to add a request that gifs should not autoplay, or there should be an option to stop them from autoplaying. Animation clutter is a serious problem with a lot of websites which want to show off all this moving stuff without realizing that they're making their own site illegible in the process. The eye is drawn to movement and that's very frustrating when you're trying to read text.

@gingerbeardman
Copy link

I would imagine the app would respect the system "reduce motion" setting that the user can enable, which would be a good start

@jdkruzr
Copy link

jdkruzr commented Aug 10, 2024

think this should be closed?

@HeyItsLollie
Copy link

Not yet - We're still waiting for native GIF support. As in, the ability to upload GIFs directly to Bluesky via the official clients.

@Zero3K
Copy link

Zero3K commented Sep 16, 2024

How much longer until GIF support is added?

@raptorBR
Copy link

Any updates on the inclusion of native GIF support? I ask that since a lot of animators prefer them since the quality loss is less noticeable, specially for niche stuff like pixel art.

@homembarata
Copy link

I know this may sound superficial but it is pretty important for artists, animators and game developers using the platform to show their work

@Tamschi
Copy link

Tamschi commented Oct 22, 2024

Just adding this as a note here since many other places get this wrong:

Animated image formats like GIF and JPEG-XL generally use frame durations, while most video formats seem to use frame timestamps. This means that, when converting animated images into videos frame-by-frame with common libraries, the last frame must be duplicated to display it for the intended duration.

On Mastodon, this manifests itself as irregular GIF timing: mastodon/mastodon#5646

Note that the then second-to-last frame likely must be shortened by one framerate frame accordingly to ensure a smooth loop.
Twitter appears to get that part wrong, which is why the advice there appears to be to duplicate all frames at half the duration, then delete the last one.

It would also be really nice if the native storage format for GIFs was still GIF and the CDN took care of converting them, since the conversion to video is so prone to quality loss. Maybe it will be possible to retroactively upgrade to JXL delivery on supporting devices, then.
(It would be really nice to have JXL (JPEG-XL) as supported upload and storage format too, but it doesn't seem like imageproxy supports that yet, which according to this comment is the CDN used by Bluesky.)

@gabrieloc
Copy link

gabrieloc commented Nov 6, 2024

Hi, in light of recent events, I anticipate a massive influx of new users on BlueSky yet lack of GIF support makes it non-viable for the kind of content I share and consume (programming/gamedev/art).

This is a table stakes feature for many like myself and not having it will presumably have a serious impact on adoption.

I really want to love BlueSky! Please add GIF support!

@SpriterGors
Copy link

Currently my workaround has been converting gifs into mp4 files, but while it works, it is extremely inefficient because the files end up being much bigger than a simple gif. It is imperative to work on this feature as quickly as possible not just for the artists, but also for the server load, we already know that we're suffering with image quality loss as discussed in #5874 and #5855 .

@ArnonClark
Copy link

On the roadmap, will be a bit as we have a lot of other work to finish first

is there a place folks can look at the roadmap?

@ION606
Copy link

ION606 commented Nov 10, 2024

On the roadmap, will be a bit as we have a lot of other work to finish first

is there a place folks can look at the roadmap?

I've been using https://bsky.social/about/blog/05-07-2024-product-roadmap as a roadmap (they update it every now and then I think), but if there's one I didn't find please lmk. Doesn't seem like gifs are actively being worked on tho :<

@ArcaneFox207
Copy link

Also wanted to chime in here and request the ability to add native gifs on bluesky. I am a gif maker and this is a dealbreaker for me. I want to support Bluesky but my intention is to create and share content and in the current state that isn't possible. Gif creators put a lot of work into making them a precise way and usually also maximize file size (which is a win-win for you and everyone else vs loading videos). Making a gif into a video file is so backwards and entirely defeats the purpose of making a gif to begin with. Please please please add native support for gifs that we can upload ourselves. It should be a basic feature and I was quite shocked to see it isn't implemented yet.

@BojanKogoj
Copy link

I've seen people trying to upload gifs, but only a jpeg was visible. Would it make sense to add warning it will be converted to a still image?

@ArcaneFox207
Copy link

I've seen people trying to upload gifs, but only a jpeg was visible. Would it make sense to add warning it will be converted to a still image?

No because that would defeat the purpose of wanting to upload a gif entirely. You can currently upload a gif but it isnt converted properly, so they need to ideally fix that so it uploads properly (which in theory should not be hard, this is very basic file type that has been supported on literally every platform out there usually from Day 1). If its going to just upload a still image then they should disable it entirely until they fix it, because what is the point?

@HeyItsLollie
Copy link

If its going to just upload a still image then they should disable it entirely until they fix it, because what is the point?

This is why Bluesky should display a warning, until animated GIFs are implemented. Make it explicitly known that uploading animated GIFs directly to Bluesky isn't currently supported, instead of it being this weird unknowable thing.

The browser version currently compounds this issue. You can add a GIF as an image, and see it animating in the Post composer, but doesn't actually post correctly. A warning would at least mitigate this until native GIF support is added.

@Zero3K
Copy link

Zero3K commented Nov 23, 2024

They added the converting of uploaded GIFs to Video. Just need to wait for a new version.

@HeyItsLollie
Copy link

Duly noted: #6433 is the relevant pull request, merged today 👀

Curious to see now if this implementation will support multiple animated gifs in one post. The pull request demonstrates gifs being added as a video, but I suspect most people will attempt to upload gifs as images.

@surfdude29
Copy link
Contributor

Curious to see now if this implementation will support multiple animated gifs in one post.

Because they're being uploaded as videos, it will be limited to one per post, just as you can only have one video per post.

@SaySayTakamura
Copy link

Curious to see now if this implementation will support multiple animated gifs in one post.

Because they're being uploaded as videos, it will be limited to one per post, just as you can only have one video per post.

Do you guys plan to change this limitation? Maybe doing 4 Videos/GIFs per post?

@HeyItsLollie
Copy link

Yeah, I do hope that limit can change in the future - animators and gamedevs in particular coming from Twitter are going to notice that limit. Maybe that's a subject for a future issue submission though.

What will be important is that the Post composer:

  • Can automatically handle animated GIFs when uploaded via Image attachment. (GIF is an image format, regardless of how it is processed in the backend. Users are going to attempt to upload GIFs as images.)
  • Does not limit the number of static GIFs that can be uploaded. (Focus on metadata, not the image format.)
  • Throws an appropriate warning when a user attempts to upload a mix of static and animated images. (Unless the limit for one animated GIF per post is lifted, that is.)

@HeyItsLollie
Copy link

HeyItsLollie commented Nov 27, 2024

Just to reiterate on the need to treat animated GIFs and static GIFs differently, an example:
https://bsky.app/profile/eramdam.me/post/3lbxmffhkuc26
(edit: also popped up as #6797)

@Zero3K
Copy link

Zero3K commented Nov 27, 2024

Yeah, I do hope that limit can change in the future - animators and gamedevs in particular coming from Twitter are going to notice that limit. Maybe that's a subject for a future issue submission though.

What will be important is that the Post composer:

  • Can automatically handle animated GIFs when uploaded via Image attachment. (GIF is an image format, regardless of how it is processed in the backend. Users are going to attempt to upload GIFs as images.)
  • Does not limit the number of static GIFs that can be uploaded. (Focus on metadata, not the image format.)
  • Throws an appropriate warning when a user attempts to upload a mix of static and animated images. (Unless the limit for one animated GIF per post is lifted, that is.)
  1. That doesn't happen. GIFs are static when uploaded via the image upload button.
  2. When uploaded via the image button, the image limit is applied (meaning multiple GIFs can be uploaded).

@HeyItsLollie
Copy link

HeyItsLollie commented Nov 27, 2024

  1. That doesn't happen. GIFs are static when uploaded via the image upload button.

Currently, yes. But I'm not talking about what it does currently, I'm saying the post composer needs a way to handle these use-cases. When uploading an animated GIF as an image attachment, it appears animated in the post composer - This is going to be the source of confusion for a lot of users if the post composer doesn't automatically handle it.

@Zero3K
Copy link

Zero3K commented Nov 27, 2024

I think GIFs should only be uploadable via the image upload button. Doing so should cause them to be animated or static when shown in the post if they are such images.

@jonnyawsom3
Copy link

I'm likely vastly oversimplifying things, but I'd bet GIFs are actually uploading correctly, and it's this config option for the CDN causing them to be stills. At worst, it's a starting point
https://docs.imgproxy.net/configuration/options#IMGPROXY_MAX_ANIMATION_FRAMES

@Tamschi
Copy link

Tamschi commented Dec 11, 2024

I'm fairly certain it's converted into JPEG when uploading, already.

There are also a few safety issues with animated image formats related to autoplay, so it's not a good idea to pass them through if the frontend can't stop them yet. (It's important for epilepsy safety, for example, but needs to also respect reduced-motion preferences in general.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request A request for a new feature x:on-the-roadmap We're planning to do this but it may be a bit
Projects
None yet
Development

No branches or pull requests