On Monday 18 October 2010, Arigead wrote:
> 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.

That's what I was thinking, though IIRC tiy have to walk the tree looking for 
the method rather than simply asking "what implements X?"

> 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.

There is also the matter of preference when multiple apps implement the 
method/profile.

> 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