Hey,

some months ago there were some people (including me) who started thinking
about 
and application framework (most informations are available on 
http://www.freesmartphone.org/index.php/UMAF). After some weeks the
discussion 
ends cause of no visible results and reason that we discussed about many
high 
level stuff and not about the basics.

Currently I want to restart working on such a mobile application framework.

Basically there should two things I want to manage with such a framework

 * handle the life-cycle of applications (lifecycle as android defines it
for 
   its applications 
   http://developer.android.com/guide/topics/fundamentals.html#lcycles)
 * give the user an infrastructure to create easily application without
carying
   about how he has 'to place a single button on the screen' through
creating 
   basic widgets e.g. a std. Calendar Widget which has the option to enter
a new
   event and in every application it looks the same way

I looked at the lifecycle of the activities (thats the name android uses
for its 
visible applications). An activity has seven states: onCreate, onStart,
onRestart, 
onResume, onPause, onStop and onDestroy. 
If an applications got created it enters the onCreate state, if it was
started it 
enters the onStart state and so on. Through such states we can
easily control the behaiviour of our applications with a daemon when
different 
events like an incomming call occurs. So tell the application to Suspend
when a
call occurs or another application gets started by the user. Another thing
we can 
is, we can control how many applications we run on our system. If we notice
that 
five applications are running and a sixed gets started our daemon could
suspend 
the other ones or stop the least used application.

Another point I want to focus with the framework is the separation between
the view
of an application and the data handling. The visible part of an application
should
always be flexible and fast to provide the user a good user experience. The
handling
of the date or other operation should be done in the background without
being noticed
by the user. For that the framework should provide some functionalities to
get this
easily realized by an application.

So I have spoken much about the thought I have about such a application
framework, but 
what about the implementation?
For the lifecylce and application handling I would implement this by using
dbus. There 
is some daemon on which each application can register an handle. Through
this handle 
the application gets informed about state changes. Each handle has a unique
name so each
application can be identified by the daemon and can even accessed by other
system services.
If the daemon deceides on a state change for the application the daemon
emits an dbus 
signal to inform the application about that. 

For background services I am even thinking about to implement this with
dbus. If you create your
application you create a plugin for the background service infrastructure
which is managed 
by the application framework daemon. So the daemon can deceide when to stop
or to kill a 
background service or how much power it gots. The communication between the

application and the background service should be self defined by the user,
but easily to
create so the user should not concentrate to much on dbus things.

I setup some initial git repository for my work on this application
framework on 
http://git.gravedo.de/?p=aurora.git;a=summary
Currently its only a skeleton for my further work, nothing implemented even
because
I am currently playing with this ideas and have no concrete plans how to
implement 
this.

Tell me what do you think about my thoughts. Do you have the same in mind
or maybe
something different? 

regards,
morphis





_______________________________________________
smartphones-standards mailing list
smartphones-standards@linuxtogo.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/smartphones-standards

Reply via email to