DownloadService
|
Size: 828
Comment:
|
Size: 1618
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 3: | Line 3: |
| = Goal and features = | [[https://blueprints.launchpad.net/ubuntu/+spec/touch-download-service|blueprint]] = Rationale = |
| Line 15: | Line 17: |
| However, the interface that apps must be using will be a C library wrapping the service or QML bindings provided by the SDK. | However, apps will either be using QML bindings or a C library wrapping the service. == Initial implementation == This describes the scope of the initial implementation. Apps may: * add downloads * specify whether the download may happen over mobile data connection * start/pause/resume/cancel downloads * get notified on download progress QML bindings allow registering downloads and showing a progress bar. == Download manager implementation == In a latter iteration, we will add the capability to manage an user-visible central list of downloads. Apps will be able to flag a download as user-visible and users will have a dedicated "Downloads" app to see/open/remove completed downloads. == Roaming support == In a latter iteration, add API to block/allow downloads on a *roaming* mobile data connection. |
Rationale
The goal of the download service is to offer a download API in Ubuntu Touch and then Ubuntu Desktop builds for system services and apps.
This allows:
- suspending or terminating apps initiating downloads to save/reclaim resources while downloads are ongoing
- implementing policies such as downloads on wifi mobile data connections centrally
Interface
The service will be exposed over DBus, as most other middlewares and services, which makes it easy to block/allow access via AppArmor sandboxing.
However, apps will either be using QML bindings or a C library wrapping the service.
Initial implementation
This describes the scope of the initial implementation.
Apps may: * add downloads * specify whether the download may happen over mobile data connection * start/pause/resume/cancel downloads * get notified on download progress
QML bindings allow registering downloads and showing a progress bar.
Download manager implementation
In a latter iteration, we will add the capability to manage an user-visible central list of downloads. Apps will be able to flag a download as user-visible and users will have a dedicated "Downloads" app to see/open/remove completed downloads.
Roaming support
In a latter iteration, add API to block/allow downloads on a *roaming* mobile data connection.
DownloadService (last edited 2013-09-05 13:28:10 by 21-219-114-200)