Re-thinking Application Environment
I thought to figure this out that openmoko framework is not an ordinary application environment like .net Compact frmaework, Apple’s iPhone SDK or Symbain. The ultimate openness of Openmoko framework provides an opportunity to manipulte the core services and allow developers to write their on core service that can easily be intergrated with the existing one. Have look at the division of application frameworks below.
The application environments can be divided into following categories listed
hereunder:-
- Internal application environment
- External application environment
The classification is based on the following variables:-
- Level of functionality exposed to an application
- Who can access the functionality (Certified apps only?)
- Depth of integration (Can you replace core apps like dialer and contacts)
- When an application can be installed
- At the point of manufacture
- Before the point of sale
- After the point of sale
- Who can install the application?
Esternal Application Environment EAE
Traditionally once the firmware or the OS is embedded into the device ROM,
vendors not allowed to changed that but if they allow application development
and hardware customization afterwards that will be considered as external
application development.
Accessible:
- External developers
- Designers
- Scripters
Examples:

List of external application environmnts
Internal Application Environment IAE
Application environments that allows application development and hardware
customization before and (during the device life time too) the software is
embedded into the device ROM.
Accessible:
- Handset manufacturers
- Network operators
- Handset distributors
Examples:
Level of Customization
In the next diagram I attempt to classify the above application environments in
terms of the extent of customisation which they permit and the time at which
they can be applied.
The x-axes show, the time of customisation is directly related to the barriers to
customization
The y-axis shows that there are four broad types of customisation that can be
applied via application environments:
- Change of themes and skins across the handset (e.g. Carbide UI theme
edition) - Development and deployment of downloadable applications (using e.g.
S60, UIQ, Windows Mobile, BREW) - Replacement of a core application (e.g. replacing the idle screen or
contacts app) - Core applications re-design (redesigning the entire user interface from
scratch)



