Application Manager
From Openmoko
| Not implemented: This article or section documents one or more features that are not implemented and which may never be implemented. |
Contents |
Overview
This document defines the Application Manager, an application designed to manage both the applications and the actual system software for the OpenMoko platform. This is a Native Stylus-Based application.
Use Cases
Here are some possible use cases:
- I want to be able to install multiple applications at the same time
- I want to be able to update all of my installed applications
- I want to be able to install a single application from an external source (not from a feed)
- I want to be able to update my system (kernel, core libraries, etc..)
Layout Components
- 1) Application Menu -- Additional options related to application objects.
- 2) Filter_Menu -- Filtering options for the list of applications.
- 3) Navigation Area -- List of applications based on current filter.
- 4) Toolbar -- Primary commands available to applications.
- 5) Details Area -- Detailed view of current selected application.
Application Area
Application Menu
| Item | Action | Constraints |
|---|---|---|
| Update Sources | Opens Dialog to show status. | |
| Sources | Opens Dialog to show Sources | |
| Install Single Application | Opens Dialog to browse for file | |
| Help | Opens Help Viewer Application with help for this application |
Filter Menu
| Item | Action | Constraints |
|---|---|---|
| <category> | Displays all applications from this category (based on the "section" tag of the application) | |
| Search Results | Displays all applications matching current search string | |
| Installed | Displays all installed applications | |
| Upgradable | Displays all upgradable applications | Grayed-out when zero applications can be upgraded |
| Selected | Displays all selected applications | Grayed-out when zero applications are selected |
Navigation Area
Displays list of applications from current category using the Navigation Widget. Has the following structure:
| Item | Action | Constraints |
|---|---|---|
| Column 0 | Status Icon | |
| Column 1 | Displays the application's name | |
| Column 2 | Displays the application's size |
Tap selecting a row, will display corresponding application information in the Details Area.
Applications are installed by tapping on the Status Icon. On Tap the a Popup Menu with the following structure is opened:
| Item | Action | Constraints |
|---|---|---|
| Unmark | Unmarks the application | Grayed-out if application is not yet marked |
| Mark for installation | Marks application for installation | Grayed-out if application is already installed |
| Mark for Upgrade | Marks application for upgrade | Grayed-out if application is not upgradable |
| Mark for Removal | Marks application for removal | Grayed-out if application is not installed |
Toolbar
Search
Search reindexes, after every keypress, the application membership of the Search Results category.
Action Buttons
| Apply | Item | Action | Constraints |
|---|---|---|---|
| Apply | Opens Dialog showing downloading status | Performs no action when zero applications are marked |
| Mode | Item | Action | Constraints |
|---|---|---|---|
| Mode Summary | Activates Summary Mode for Details Area | ||
| Mode Dependencies | Activates Dependencies Mode for Details Area |
| Mark all Upgrades | Item | Action | Constraints |
|---|---|---|---|
| Mark all Upgrades | Marks all upgradable applications |
Details Area
A Details List that behaves different in each of the following modes:
Summary Mode
- 1) Icon -- Application's icon.
- 2) Summary -- Summary of the application's features and usage.
- 3) Name -- The name of the application
- 4) Tagline -- Very short tagline describing what the application does.
Dependencies Mode
- 1) Icon -- Application's icon.
- 2) Dependency list -- A list of all the libraries this application depends on.
- 3) Name -- The name of the application
- 4) Tagline -- Very short tagline describing what the application does.
Footer Area
Status Bar
Displays the total number of applications in the current category.
Constraints
- First time entering application defaults to Summary Mode.
Sessions
- The current application selection and Details Area mode is persistant.
Architectural Details
- When installing a single application from file, and the required dependencies are not met, the application cannot be installed.
Implementation Recommendations
- The performance of the existing libipkg is unsatisfying. We need to improve it by caching or speeding up the parsing of package files. Caching should be done on a single "section". Also make sure each section doesn't have too many applications.
UI Icons
Application Manager --Download the Application Manager icons: click here
- Apply.png -- Apply
- Summary.png --Summary
- Upgrades.png -- Upgrade
- Available.png -- Available
- Installed.png -- Installed
- Mark for install.png -- Mark for install
- Mark for remove.png -- Mark for remove
- Mark for upgrade.png --Mark for upgrade
- Upgradeable.png --Upgradeable
Interactions
- Will be called by Main Menu via "Tap and Hold --> Remove Application"
- After installing (or removing) and application, a dBus message will be sent to Main Menu asking it to update all desktop application files.
Unresolved Issues
- When we are installing an application, or even worse a system upgrade, how will we handle incoming calls?
- What is the best way to handle caching of application information?
Questions and Answers
(see Talk:Application Manager)





