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


[Home] [TitleIndex] [WordIndex

Application Access Control

This is a high-level overview of application sandboxing, with an emphasis on what it means for the user (and developer) experience.

Always Available

Examples of things that applications should be able to access without restriction:

Access Control Points

These are the main points at which application access to resources will be controlled by the system (and the user). In all cases, it will be possible to review and revoke access through the Settings application.

1. Sharing [output]

Access is mediated by the sharing dialog. This is always per-access.

2. Content selection [input]

Access is mediated by the content selection dialog. This is always per access.

3. Save As [output]

This is tentative and requires more thought. In principle, the Save As dialog would grant access to individual files that are outputted by the application. Whether all parts of the file system would be exposed is an open question.

4. Print

Printing could be presented as a share point. However, going through the share dialog isn't necessary in order to mediate access (since the user will always have to go through the system provided print dialog). Also, printing is traditionally not presented as sharing, so it could be confusing to move it there.

5. System authorisation

Used for granting access to services, content collections and devices. Each access request can be granted on a one-time basis, or authorisation can be granted for ongoing access. Access is mediated by dialogs that are provided by the system shell.

Other things we might want to control access to with this:

* System status area indicates when in use.

To Be Decided

Areas of functionality where the need for application access control isn't clear:

Key Design Elements

Key UX elements for sandboxed applications:

  1. Sharing - the mechanism for applications to output content and data, either to other applications, system services, or online accounts. Major tasks here include the creation of the sharing framework itself, the reorganisation of system functionality that will become share points, and adding the ability for online accounts to send data.

  2. Content selection - a system dialog that allows users to open content with their applications. A library for previewing content is a prerequisite for this.

  3. Content and device access - system dialogs for authorising application access, along with status indicators to give feedback on when services, content and devices are being used.

  4. Updated Privacy Settings.

  5. Updated Sharing Settings.

  6. Per-application search - currently, the core content applications share search configuration settings. In a sandboxed world, apps will have to have separate settings and separate collections of content that they manage.

Comments


2024-10-23 11:04