Fenix: Long press > "Share Image" only provides a link to share. It does not share the actual image.

Created on 9 Jul 2020  路  24Comments  路  Source: mozilla-mobile/fenix

Steps to reproduce

  1. Open image on Firefox Beta.
  2. Long press the image > the following options show up:
  • Share image
  • Open image in new tab
  • Save image
  • Copy image location

image

  1. Tap the "Share image" option.
  2. The share sheet comes up, but it shows the url with a copy option, followed by all the apps I can share it to.

image

  1. If I select WhatsApp, and choose a contact, it only shares the url to the image - it does not share the actual image.

image

Expected behavior

I expect that I should be able to share the actual image that I have long pressed on, rather than the link.

Actual behavior

The url to the image is shared, not the actual image.

Device information

  • Android device:
    Pixel 2 XL running Android 10
    Build number: QQ3A.200605.001
  • Fenix version: Firefox Beta v79.0.0-beta-4
ready hershey UX-feedback ac 馃悶 bug

Most helpful comment

Chiming in while the rest of my team is part of the design sprint. I think it's fine to tackle these edge cases as @Mugurell suggests:

This can be seen now on Chrome which I think shares the image from cache.
Immediately after selecting the share option the share menu appears, user can choose an app to share to but then if the image is not yet available the share-to app opens without an image file/title for it actually shared.

We shouldn't treat them as a normal download (that will be confusing to see it in the list since you didn't choose to download it) nor should we randomly pop up the share sheet after the image is finished downloading. at that point the person has probably moved on to something else and we're interrupting. i think doing your above suggestion is a fine compromise. thanks!

All 24 comments

+1

IMO there should be option to "share image" which will share image and "share image link" if you want only share link.

+1
This used to work on fennec. I use facebook from browser and share memes to friends, so this is really annoying for me. Please fix it.

Android FF just updated, still broken in latest build 81.1.1 #2015764547

It would be possible to have separate menu items for "share link to image" and "share image". What do you think @mozilla-mobile/ux?

I think we should change the way "share image" works and just share the image (not the link). I doubt we need a separate "share link to image" menu item.

Yep, I agree that we don't need "Share Link to Image". We already have URL access via "Open image in new tab" and "Copy image location." I'm not sure we even need Copy Image Location. Do we have any data for these?

Whatever decision is made here should probably also apply to this ticket needing UX feedback - #7458

So it sounds like the recommendation from @violasong is: change the functionality of "Share image" to (download and) pass the image to the Share intent?

Yes, assuming that is the same as what Vesta's comment is saying :)

@liuche yes let's change the functionality of "share image" to download and pass the image (and not the image link) to the share intent. Also please note that this is not a UX ticket.

This is exactly how the "share image" used to already function before the last major update broke it.

@violasong @vesta0 Based on this decision, can we close #7458?

With first downloading the image there is an interesting situation which arises when sharing bigger images / having slow network speed for which I'd need some UX feedback:
What I'm currently going with is a behavior similar to what happens when downloading an image:

  • a notification is posted for the download with options to pause and cancel,
  • when the download is complete instead of the "Download completed" dialog I'd show the share menu (the Android Sharesheet), again, just for the tab that from which the user pressed "Share image" and started the download.
  • with the image now downloaded the share process

Does this behavior sounds ok?
I'm mainly interested in what should happen while the image is downloading. Is the notification enough? And is it ok to show the Android Sharesheet after the download is completed?

 
Another scenario would be to have our own new sharesheet for this and let the user

  • press "Share image"
  • select a share target in the new sharesheet

A download notification would be posted and only after the download is complete we'd actually start the share process.
This would be a more complicated approach and would lead to another interesting scenario: after selecting the share target the image would be downloaded in background, user would continue her work but then when the download is complete the share target app would appear on top of everything maybe in some cases unexpectedly so.

I'm also open to other suggestions.

Hello,

I think a good UX example is what is found in other browsers: since this feature is no longer available in Firefox on Android, I've been using the Chrome and Vivaldi browsers to share images on my device. On both browsers, the share image context menu will directly open options for the share intent, and once you choose an option will make the image available to the relevant application. As already mentioned, this is the way the share image functionality used to work for Firefox as well.

I don't think there is a need to download the image first. If the image is displayed on screen, that image has already been downloaded to your device and should be available somewhere, in some temp folder or cache. The share image functionality should use the image from that temp folder or cache.

The old Firefox would function the same - as in it would also have to first download the image.
User would press to share the image, it would be downloaded in the background with the user free to browse around and then the share menu would pop out when the image has finished downloading.
The image displayed in the webpage is only available in the cache for that page, it's not stored on disk / available to the app.
There is an open ticket for having GeckoView provide the image - https://bugzilla.mozilla.org/show_bug.cgi?id=1647568.
@liuche @kbrosnan Maybe that should have a higher priority and block this ticket until it's available?

Even with that we can still get into edgecases where the image is not yet fully loaded, something like this happening for bigger images (like the ones from here) or when having a slow internet connection.

This can be seen now on Chrome which I think shares the image from cache.
Immediately after selecting the share option the share menu appears, user can choose an app to share to but then if the image is not yet available the share-to app opens without an image file/title for it actually shared.

These scenarios can be seen as edgecases with probably most of the images being small enough that the download process is transparent but there can also be cases where this would cause some issues.

If the image doesn't come from GeckoView and we must download it I think another important detail is the location of the said image.
On Fennec these images were downloaded to and shared from a separate temporary directory and so the download part might seem transparent to the user.
Another option would be to treat them as normal downloads and have them appear in the downloaded files list and in the default download directory.

Chiming in while the rest of my team is part of the design sprint. I think it's fine to tackle these edge cases as @Mugurell suggests:

This can be seen now on Chrome which I think shares the image from cache.
Immediately after selecting the share option the share menu appears, user can choose an app to share to but then if the image is not yet available the share-to app opens without an image file/title for it actually shared.

We shouldn't treat them as a normal download (that will be confusing to see it in the list since you didn't choose to download it) nor should we randomly pop up the share sheet after the image is finished downloading. at that point the person has probably moved on to something else and we're interrupting. i think doing your above suggestion is a fine compromise. thanks!

Hi, its been quite a while and there hasn't been any updates on this situation. I'm still having to manually download and share images on whatsapp as a work around. Is there any chance of this being fixed?

Hi, its been quite a while and there hasn't been any updates on this situation. I'm still having to manually download and share images on whatsapp as a work around. Is there any chance of this being fixed?

your app works like that?
If I download image with Firefox, it doesn't show at camera reel on Whatsapp and if I share that via gallery app, it shares that as file, not as image, so you cannot see the image, you have to download that..

I usually copy URL, open chrome, paste URL there and share or download image from there (which is very annoying).

Firefox does something to image when it downloads that. Changes type from image to binary or something like that(??) and it doesn't show properly as image file on another apps.

your app works like that?
If I download image with Firefox, it doesn't show at camera reel on Whatsapp and if I share that via gallery app, it shares that as file, not as image, so you cannot see the image, you have to download that..

I usually copy URL, open chrome, paste URL there and share or download image from there (which is very annoying).

Firefox does something to image when it downloads that. Changes type from image to binary or something like that(??) and it doesn't show properly as image file on another apps.

Whatsapp is able to see all photos i download in firefox, no problems. Still annoying to have to do this workaround. Is firefox unable to copy images to clipboard or is it unable to share images via cache to other apps like whatsapp?

Whatsapp is able to see all photos i download in firefox, no problems. Still annoying to have to do this workaround. Is firefox unable to copy images to clipboard or is it unable to share images via cache to other apps like whatsapp?

I checked file MD5sum when downloaded image via chrome or firefox. No difference there. I can see file downloaded via chrome in whatsapp reel but not image downloaded from firefox.

But if I rename that Firefox file (like add 2 to end of filename before extension) it shows up in whatsapp. Even if I remove that 2 what I've added, it still works. But if I download same image again with firefox (without renaming), new image doesn't show up on whatsapp.

So file is same, filename seems to be somewhat different/broken for some reason (some character encoding? or something weird like that). Even tho chrome downloads new image with (1) added to that.

This happens also with simple filenames like "sormi.jpg", so that excludes all special characters.

EDIT: tested quickly with this: https://serverfault.com/a/423278

says both filenames are ascii encoded, so that didn't show no difference

EDIT2: Image downloaded with firefox doesn't even show up in my Oneplus Gallery app or Google Photos

EDIT3: might be related to this issue from february: https://github.com/mozilla-mobile/fenix/issues/8754

Hi, has there been any progress on this issue?

Hi, has there been any progress on this issue?

You can vote the issue up

Was this page helpful?
0 / 5 - 0 ratings