This site has been retired. For up to date information, see handbook.gnome.org or gitlab.gnome.org.


[Home] [TitleIndex] [WordIndex

Sharing

Goals

Constraints

The design must be secure, and be consistent with application sandboxing.

The user must approve all share operations through a system-owned (ie. not generated by - or under the control of - the sender application) user interface. Two reasons for this:

Relevant Art

Firefox F1

Firefox F1 is still in development.

https://bug642684.bugzilla.mozilla.org/attachment.cgi?id=522780

Windows 8

http://andrewtechhelp.com/images/stories/windows8devpreview/Share1.png

http://andrewtechhelp.com/images/stories/windows8devpreview/Share2.png

http://cloud.addictivetips.com/wp-content/uploads/2011/09/share.jpg

In Windows 8, sharing is supplemented by extensions. Extensions allow applications to extend stock OS functionality, such as the contact picker or account picture provider.

iOS

http://cdn.iphonehacks.com/wp-content/uploads/2013/08/airdrop_send_screen.jpg

In the above screenshot, the list of contacts are Airdrop recipients.

Sharing in iOS 8 is implemented as a type of extension. Extension types are:

Apple App Extension Programming Guide

Android

http://media02.hongkiat.com/manage-cloud-files-on-android/explorer-share.jpg

Android Developer: Building apps with content sharing

Discussion

Tentative Guidelines

Workflow

  1. The user clicks on a share button within the application.
    • At this point, the application sends a content item to the sharing framework.
  2. A share dialog appears over the sender application window. This:
    • Is completely system-owned - the application has no ability to affect it.
    • Lists available share points for the content item.
  3. When the user selects a share point in the dialog, the content item is sent to the appropriate destination.
  4. The destination receives the content item. At this point:
    • The destination application is activated - a window is shown, which should display the content item that it has received.
    • Or the destination application returns a dialog, which is displayed over the sender application. This should enable actions to be taken in relation to the shared content item, such as posting to a social media site.
  5. Optional: in editing cases, the destination application can return the content item back to the sender application in a modified form.

Mockups

Share Dialog

https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/sharing/wire-share-dialog.png

Bluetooth Send

https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/sharing/wire-bluetooth-send.png

Device Send

https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/sharing/wire-device-send.png

Sharing Settings

https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/system-settings/sharing/app-sharing.png

TO DO: figure out how this relates to the existing sharing settings. These might need rebranding as something else.

Technical Details

Affected Modules

Comments

See Also

https://wiki.apertis.org/Sharing


2024-10-23 11:03