Closed Bug 1512851 Opened 6 years ago Closed 3 years ago

Add Share Menu to File Menu on macOS

Categories

(Firefox :: Menus, defect, P3)

Desktop
macOS
defect
Points:
3

Tracking

()

VERIFIED FIXED
92 Branch
Tracking Status
relnote-firefox --- 92+
firefox89 --- wontfix
firefox90 --- wontfix
firefox91 --- wontfix
firefox92 --- verified

People

(Reporter: kristoffer, Assigned: Gijs, NeedInfo)

References

(Depends on 1 open bug)

Details

(Whiteboard: [proton-cleanups])

User Story

As a macOS user, I want to share URLs through the File menu, so it aligns with my expectations on this OS.

Acceptance criteria:
- If the native OS share menu is not present, retain the Firefox "Send link as email" option
- If a native share menu is present, hide the Firefox "Send link as email" option and expose a "Share" menu entry which when selected triggers the OS share menu

UX is detailed in comment 29

Attachments

(10 files, 1 obsolete file)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:65.0) Gecko/20100101 Firefox/65.0 Steps to reproduce: The native sharing menu is hidden under the three dots in the address bar. Actual results: I though Firefox didn't support any other sharing than emailing the link, since the sharing functionality was so hidden. Expected results: It should also be accessible from the File menu too, like in Chrome. See the attached screenshot.
Component: Untriaged → Menus
Blocks: 1363168
Status: UNCONFIRMED → NEW
Ever confirmed: true
Priority: -- → P3
OS: Unspecified → macOS
Hardware: Unspecified → Desktop

I think this should be added to the right click menu rather than File, since it's already available by clicking the three dots in the address bar.

By that standard most of the other menu bar options should also be removed. Bookmarking the current page should be removed from the Bookmarks menu. Emailing the page should be removed. Etc... That's just foolish.

The goal should be to make the Firefox UI better, not worse. The problem is actually the opposite, that Firefox has created an additional menu while disregarding UI best practices and confusing users by not exposing the functionality where it is customary to do so - in the menu bar.

Firefox already has at least three different top level menus (disregarding right click) - the menu bar, the hamburger menu and the three dots menu, too many. Where each option is placed is completely random and confusing - you can email using any of the menus, if you want to share a link you can't use the menu bar, but if you want to save a page you can't use the three dots menu..

Ideally the three dots menu should be removed completely, but I can see why that is difficult due to cross-development with other operating system.

Moving the Share menu (and other hidden functionality) to the main menu (the menu bar) is the very least that can be done.

Type: defect → enhancement
Priority: P3 → P2

This gains extra significance since Proton removed the Thee dot menu totally.

Type: enhancement → defect
Priority: P2 → P1

This flaw needs to be fixed ASAP, it's so dumb that links need to be copied into Chrome to be AirDropped.

You don't need to copy it to Chrome, you can just right click the tab you want to share, but I can see how you wouldn't know that since they keep moving it around with no info in the updates... But I still think they should add it to the File menu and Right click context menu like every other browser.

(In reply to dylthom from comment #6)

You don't need to copy it to Chrome, you can just right click the tab you want to share, but I can see how you wouldn't know that since they keep moving it around with no info in the updates... But I still think they should add it to the File menu and Right click context menu like every other browser.

No, I'm using Tree Style Tabs, and they haven't even created an API that the TST dev can use to replicate the same functionality. Right clicking tabs is an arbitrarily weird place to place it anyway, other browser place the Share functionality in the File menu for a reason - that has been customary for more than a decade. The Send as Email function is already there, why would you spread sharing functionality all over the app - horrible UX.

As of Firefox 89 using Chrome/Safari is required if you need to Airdrop stuff while using TST.

No longer blocks: proton-foundations

I asked :jaws whether it makes sense to introduce a "Share" option under the "File" menu since there is already an ancient "E-mail link" menu item (from two decades ago in bug 173954), and he didn't object. This could help users with sharing content when the tab strip is absent, e.g. when hidden (Tree Style Tabs users) or in popups for example.

To implement this, the following changes need to be made:

Patches are welcome. To get started:

Basically:

  • Check out the code.
  • Run ./mach bootstrap and choose artifact builds (this is just a frontend change, you can build in a few minutes rather than hour(s)).
  • ./mach build to build Firefox
  • ./mach run --temp-profile to try out the build.
  • Make the changes described above and run the Firefox build again to manually confirm the fix.
  • Now or somewhere earlier, add the unit test and run ./mach test [path/to/test/here] to run the test.
  • Submit the patch for review.

PS. I suggest to not change priorities from P3 to P2 to P1 yourself. Changing the priority of a bug won't get the issue fixed sooner. What can help is approval for the change (which I just got) and finding someone to contribute the code (and knowing what needs to be done helps - which I've written here).

(In reply to Rob Wu [:robwu] from comment #8)

I asked :jaws whether it makes sense to introduce a "Share" option under the "File" menu since there is already an ancient "E-mail link" menu item (from two decades ago in bug 173954), and he didn't object.

This needs product and UX signoff though, so Jared's say-so alone is not enough. The relevant people have been pinged, but until we hear from them I would not recommend people working on this.

I'm reverting priority and, because we can't just crash-land strings for this in shipped releases, marking the non-nightly branches wontfix - if PM/UX sign off, we may do this in 91.

Severity: normal → S3
Priority: P1 → P3

Glad to see that this is being worked on finally, although it is a shame that Proton were introduced without proper replacements of some important features it made inaccessible.

Anyway, bug 1512851 should likely be introduced at the same time as this, no-brainer to have the various sharing functionality at the same place. When both are added, the sharing UX in Firefox will finally make some sense.

Sorry, meant bug 1709609 in the last comment.

Meridel, I discussed with Martin that this entry is pretty desirable on macOS. I feel like it fits on the "File" menu underneath "E-mail link..." do you concur?

Flags: needinfo?(mwalkington)

(In reply to Romain Testard [:RT] from comment #12)

Meridel, I discussed with Martin that this entry is pretty desirable on macOS. I feel like it fits on the "File" menu underneath "E-mail link..." do you concur?

This comment only mentions macOS, while the feature is also present on Windows (but not Linux though).
I assume that if the menu were to be introduced again, that this would mean to add the menu on macOS + Windows, right?

(In reply to Rob Wu [:robwu] from comment #13)

(In reply to Romain Testard [:RT] from comment #12)

Meridel, I discussed with Martin that this entry is pretty desirable on macOS. I feel like it fits on the "File" menu underneath "E-mail link..." do you concur?

This comment only mentions macOS, while the feature is also present on Windows (but not Linux though).
I assume that if the menu were to be introduced again, that this would mean to add the menu on macOS + Windows, right?

Yes, though it works differently on Windows/macOS. I have a WIP patch ready, but the precise location will be determined by UX so I haven't put it up yet.

(In reply to :Gijs (he/him) from comment #14)

I have a WIP patch ready, but the precise location will be determined by UX so I haven't put it up yet.

I'm off on PTO for a while, but in case the UX request is resolved before then someone can take this and run with it - or I'll do it when back. Caveats: untested on Windows, will still need an automated test, and might need the exact location of the menu and/or separators in it adjusting.

Attached image Menu IA options for Share.png (deleted) —

Thanks for bringing me in, Gijs.

Having "Share" and "Email link" on the same level is a bit confusing since emailing a link is a form of sharing. Could we move "Email link" to a sub-menu of "Share", as I have here in Option 1? This aligns more closely with other browsers, too. We talked about doing something like this earlier in the menus work.

I assume Option 1 might be more work, though.

Flags: needinfo?(mwalkington) → needinfo?(rtestard)

Mail is always the first option of the Share menu on macOS though, so Option 1 wouldn't be any less confusing - it would actually be more confusing, since users would first see the Firefox "Email link" and then "Send link with Mail".

It makes way more sense IMO to keep the native Share menu clean than to have duplicate email options right next to each other inside the same sub menu.

I am on a macOS and do not see the option for "Send link with Mail." Can you share a screenshot of what you are seeing?

Flags: needinfo?(kristoffer)

(In reply to Meridel [:meridel] from comment #19)

Created attachment 9225489 [details]
Screen Shot 2021-06-06 at 3.33.33 PM.png

I am on a macOS and do not see the option for "Send link with Mail." Can you share a screenshot of what you are seeing?

Your screenshot is from release (89) - it doesn't have the fix from bug 1707223 - we previously (in 89 and earlier) explicitly removed Mail from the list, to avoid more or less this exact problem. Your e-mail app will be in any other macOS app with a share menu, or in Firefox beta/nightly.

The issue with the designs in attachment 9225387 [details] is that at least at the moment, there is no way for us to know which share item is an email item - if the user has a different email client (hi, I do!), it'll be a different app, so although we could go back to specialcasing com.apple.mail or whatever it is, that will still look odd. There is also the fact that Firefox lets you configure using a web page (by default, gmail or yahoo mail; we have bugs on file to expand that list, and users can already add their own with some help from the website in question) for email, and "email link" will use that; the OS share option will not.

Right now, the share menu's list comes directly from platform widget code, which gets it from macOS. Adding our own items is possible but fiddly, and it's not clear to me if users would expect the email option to delegate to the OS mail app or a webmail handler, if configured (like "Email link..." does right now). Either way (ie for either of the 2 designs in attachment 9225387 [details]) ideally frontend code would need to know which of the OS's items is for e-mail.

comment #18 suggests the email item is always the first item; I have no idea if there is any platform guarantee for this and/or if our widget code knows. :spohl or Dale, do you know, or is there perhaps another way to tell?

(We could of course go back to not showing only Mail.app, but IMO that's pretty yucky.)

Flags: needinfo?(spohl.mozilla.bugs)
Flags: needinfo?(kristoffer)
Flags: needinfo?(dharvey)
Attached image macOS Sharing menu configuration (deleted) —

(In reply to Meridel [:meridel] from comment #19)

Created attachment 9225489 [details]
Screen Shot 2021-06-06 at 3.33.33 PM.png

I am on a macOS and do not see the option for "Send link with Mail." Can you share a screenshot of what you are seeing?

The checkbox for the default mail app can't be removed on my end. Are you sure you've configured your email client?

I think the best option would be to hide the Firefox "Send link as email" option if a native share menu is present.

Modifying the share menu to facilitate duplicating a native feature is pretty pointless in my view - since the share menu already has an email action

I don't understand why hiding the native email action and then adding the exact back same action again non-natively would be preferable.

Not sure if a second bug should be opened but could the "E-mail Image" in the menu when right clicking an image be replaced at the same time? In Safari and other browsers the Share menu appears there as well which is very convenient when texting or airdropping images, etc. Attached two screenshots for reference.

(In reply to :Gijs (out; back Jun 21; he/him) from comment #20)

comment #18 suggests the email item is always the first item; I have no idea if there is any platform guarantee for this and/or if our widget code knows. :spohl or Dale, do you know, or is there perhaps another way to tell?

As you mentioned, we do have granular view into the sharing services, but it is probably best to not rely on the idea that the first item is always the "email item" without any further checking.

Flags: needinfo?(spohl.mozilla.bugs)

(In reply to dylthom from comment #23)

Not sure if a second bug should be opened but could the "E-mail Image" in the menu when right clicking an image be replaced at the same time?

Please open a second bug.

Flags: needinfo?(dylthom)
Attached image Share item, IA.png (deleted) —

Romain, please review the proposed.

Adding some context for record-keeping: We are proposing to only show the "Email Link..." item when a native Share option is NOT present because the "Email link..." functionality is legacy Windows work where there is no Share menu. For MacOS users, including the "Email link..." item only contributes to confusion and does not offer unique or better functionality. In contrast to "Email link," the "Share" functionality is more powerful and can integrate with other apps.

(In reply to Meridel [:meridel] from comment #29)

Created attachment 9230750 [details]
Share item, IA.png

Romain, please review the proposed.

Thanks Meridel, I agree this is the path that makes most sense, this aligns with comment 22.
I updated the user story field to clarify the requirements since a few approaches were discussed on this thread.

User Story: (updated)
Flags: needinfo?(rtestard)

I don't but looks like you have a good way forward here (sorry for missing the needinfo)

Flags: needinfo?(dharvey)
Assignee: nobody → gijskruitbosch+bugs
Status: NEW → ASSIGNED
Whiteboard: [proton-cleanups]
Points: --- → 3
Attachment #9225323 - Attachment description: WIP: Bug 1512851 - add share item to the file menu, r?jaws → WIP: Bug 1512851 - add share item to the file menu, r?sfoster
Attachment #9225323 - Attachment is obsolete: true
Attachment #9232653 - Attachment description: WIP: Bug 1512851 - tidy up file menu popup event handling, r?sfoster → Bug 1512851 - tidy up file menu popup event handling, r?sfoster
Attachment #9232654 - Attachment description: WIP: Bug 1512851 - extract share menu handling from tabbrowser.js into a utility in browser.js, r?sfoster → Bug 1512851 - extract share menu handling from tabbrowser.js into a utility in browser.js, r?sfoster
Attachment #9232655 - Attachment description: WIP: Bug 1512851 - make share menu handling more generic and replace the file menu's email link with it on macOS, r?sfoster → Bug 1512851 - make share menu handling more generic and replace the file menu's email link with it on macOS, r?sfoster
Pushed by gijskruitbosch@gmail.com: https://hg.mozilla.org/integration/autoland/rev/85824b437d49 tidy up file menu popup event handling, r=sfoster https://hg.mozilla.org/integration/autoland/rev/b2b7fe3afdfb extract share menu handling from tabbrowser.js into a utility in browser.js, r=sfoster https://hg.mozilla.org/integration/autoland/rev/1ecacabac728 make share menu handling more generic and replace the file menu's email link with it on macOS, r=sfoster,fluent-reviewers,flod
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 92 Branch

Release Note Request (optional, but appreciated)
[Why is this notable]: User visible improvement to the macOS experience
[Affects Firefox for Android]: No
[Suggested wording]:Mac users can now access the MacOS share options from the Firefox File menu.
[Links (documentation, blog post, etc)]:

relnote-firefox: --- → ?

Added to the Fx92 beta relnotes.

Depends on: 1725657

Verified as fixed on 92b during the PI-1133 testing.

Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: