Application Manager

From Openmoko

Jump to: navigation, search
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

image:Screen application manager.png

  • 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

image:application_manager_summary.png

  • 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

image:application_manager_dependencies.png

  • 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)

Personal tools