Simon Busch wrote:
> Heyho,
> 
> as we talked already with some people about application management in
> FSO we should now start discussing this in the public and define some
> spec with all features we want in the end.
> 
> I will start here with explaining my ideas. First of all we need a
> daemon doing all the application management. I think we should call it
> simply fsoappd. The daemon manages all things we have in mind with
> applications (btw. we should define what an application exactly is!).
> There is the lifecycle management of applications. An application has
> always a state which identifies the application as running, inactive or
> whatever. To come from one state into another one there are possible
> events (pause, hide, destroy, ...) which let the application change its
> state (for example, the wm choose another app to become visible, so the
> current app will get paused). We should define some rules an common
> agreements all application should share so we can keep our application
> management simple.
> 
> Furthermore we need a way applications can communicate between each
> other. My idea here is to define common interfaces an application can
> implement. For example the org.freesmartphone.Dialer interface. The
> interface describes which DBus methods/signals should be implemented by
> the app. If one app needs the dialer, it requests the dialer via the
> fsoappd by a method called Request("org.freesmartphone.Dialer"). Each
> application has a file appinfo.config file where it defines which
> interfaces it implements. The fsoappd now searches through all
> appinfo.config files (they should be stored by each application in one
> common place) and tries to get one which implements the requested
> interface. If there is more than one fsoappd looks in a priority list
> which defines priorities for each interfaces (e.g. there are two
> dialers, one provided by SHR and one by a independent developer. The
> priority file now defines that the SHR dialer should be choose with
> higher priority than the other one ...). Finaly fsoappd starts the app
> for the requested interface in a not visible state. The app which
> requested the other app to start can now chose what it wants to do with
> the recent started app. Maybe it calles org.freesmartphone.Dialer.Show()
> to show the dialer application so the user can enter a number and call
> somebody.
> The application interface should be defined as xml spec somewhere. If an
> app does not implement any interface it should define at lest its name
> in the format like org.mycompany.mygreatapplicationname. The
> Request(...) method now looks even for an app called like the interface
> name is set.
> 
> As the application interface implementation is available as xml we
> should even provide a lib called libfso-app which implements all the
> interface in vala or your favourite language so you can easily use it.
> 
> So far from my side. I have some more ideas, but will need some time to
> write them down.
> 
> regards,
> morphis
> 
> Btw. there is already a brainstorming page in the FSO wiki about
> application lifecycle management:
> http://wiki.freesmartphone.org/index.php/Brainstorm/LifeCycle and
> http://wiki.freesmartphone.org/index.php/Brainstorm/Launcher

Seems to me that some of the functionality you mention of searching for
apps which implement a certain interface is already built into DBus
itself. All that remains is to define the minimum interfaces that a
certain application type must implement. An app is free to augment that
list if if requires but there is a minimum set that a Dialer app must
implement.


I'll try to go through those links but I would also say that the android
method of displaying information on the screen is a very good idea. At
present my shr-u phone just displays the apps I have installed, by
default. I don't really consider that to be useful information. HTC's
overlay stuff for android which lets an app display facebook updates or
weather updates or share price updates is a good mechanism of displaying
actual info. Maybe that's already in the links like I say I'll have a
look at them later today.

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

Reply via email to