Add app-model and -lifecycle to platform api

Registered by Thomas Voß

The platform API currently lacks a well-defined app-model (what constitutes an application) and the definition of an app's lifecycle. Both parts need to be defined and implemented in the API to allow the overall system to be more clever in terms saving resources.

Blueprint information

Status:
Started
Approver:
Loïc Minier
Priority:
High
Drafter:
Thomas Voß
Direction:
Needs approval
Assignee:
Thomas Voß
Definition:
Approved
Series goal:
Accepted for saucy
Implementation:
Good progress
Milestone target:
milestone icon ubuntu-13.06
Started by
Thomas Voß

Related branches

Sprints

Whiteboard

* A well-defined lifecycle specification
* A well-defined application model
* Identify integration points with app confinement and app installation

Relevant documents:
 * http://goo.gl/r0nD9
 * http://goo.gl/g6UM6
 * http://goo.gl/KMlMv

jdstrand, 2013-05-09> couple notes from the sprint - ted blogged about using upstart to manage apps here: http://gould.cx/ted/blog/Application_Centric_User_Experience. per stgraber, cgroup support could be integrated into upstart directly and until then could be setup in the pre-start stanza

(?)

Work Items

Work items for ubuntu-13.04-month-5:
[ricmm] Provide a first cut at an API specification for iteration 0: DONE
[ricmm] Implement iteration-0: DONE
[thomas-voss] Provide iteration-0 archive API: DONE
[fboucault] Check that everything fits together for Qt/QML integration: DONE
[fboucault] Write up high level goals: DONE
Write summary of how other OSes (iOS, Android, Windows) handle background activities: DONE
Write summary of how other OSes (iOS, Android, Windows) handle applications state preservation: DONE
[johnlea] flesh out/complete use cases and sort them in categories (performance, state preservation, background activities): DONE
[thomas-voss] Update document to reflect to state of discussion: DONE

Work items for ubuntu-13.04-month-6:
[thomas-voss] Provide cleaned up API draft: DONE
[ricmm] Inform loicm about changes to the platform API naming: TODO
[thomas-voss] Iterate set of functionality for iteration 1 of the platform API: TODO
[ricmm] Implement archive capabilities: TODO
[ricmm] Define iteration-1 API: TODO
Benchmark app-specific serialization: TODO

Dependency tree

* Blueprints in grey have been implemented.