← Back to team overview

ubuntu-phone team mailing list archive

Re: MeeGo applauncherd: faster application startup and more

 

I think this is something that should be looked into, this cycle. We really
nned faster startup for apps :)


On Mon, Jun 17, 2013 at 1:35 PM, Thomas Voß <thomas.voss@xxxxxxxxxxxxx>wrote:

> On Mon, Jun 17, 2013 at 10:02 AM, Michael Zanetti
> <michael.zanetti@xxxxxxxxxxxxx> wrote:
> > On Monday 17 June 2013 07:43:26 Thomas Voß wrote:
> >> thanks for bringing this up. Upstart user session will take care of
> >> single application instances and integrates with AppArmor to implement
> >> our confinement strategy (for >= saucy). The interesting feature from
> >> my pov is the accelerated application startup. Is that relying on
> >> preloading specific symbols?
> >
> > Yes, Its preloading all the Qt and libmeegotouch stuff.
> >
> > Basically instead of launching your app normally, you give it as an
> argument
> > to a the so called invoker (/usr/bin/invoker) which has all the common
> stuff
> > already loaded and forks to your application.
>
> Ack, here is where the upstart-launcher would come into play.
>
> > Additionally, they've introduced an own QApplication class with some
> better
> > tuned caching. Instead of creating a QApplication like you would do with
> > standard Qt, you use this
> >
> > QApplication *app = MDeclarativeCache::qApplication(argc, argv);
> >
> > to create a new QApplication. I don't exactly know the details what they
> do
> > inside that MDeclarativeCache. I guess one thing is to monitor the state
> of
> > the created QML view and make the splash screen go away when ready.
> >
>
> This is something we would need to investigate further. Alberto, can
> you take a look at MDeclarativeCache and try to summarize the benefits
> it provides?
>
> Thanks,
>
>   Thomas
>
> > Hope this helps,
> > Michael
> >
> >>
> >> I'm CC'ing Ted and Steve explicitly on this mail as they are most
> >> familiar with upstart user session.
> >>
> >> Thanks,
> >>
> >>   Thomas
> >>
> >> On Mon, Jun 17, 2013 at 7:33 AM, Alberto Mardegan
> >>
> >> <alberto.mardegan@xxxxxxxxxxxxx> wrote:
> >> > Hi all!
> >> >
> >> >   I'm sending this message both to ubuntu-devel and ubuntu-phone, in
> the
> >> >
> >> > hope of reaching the widest interested audience as possible. However,
> >> > please reply to ubuntu-devel only.
> >> >
> >> > I want to bring to your attention the existence of a project which
> IMHO
> >> > would be very beneficial to Ubuntu (especially on embedded devices,
> but
> >> > not
> >> > only): the application launcher originally developed for Maemo/MeeGo.
> >> >
> >> > In short, the main features that applauncherd bring to the system are:
> >> >  * faster application startup
> >> >  * support for single instance applications
> >> >  * splash screen while the application is starting up
> >> >
> >> > The recommended readings are these:
> >> >   http://apidocs.meego.com/1.0/mtf/launcher.html
> >> >   http://goo.gl/DjGCV
> >> >
> >> > In order to be used in Ubuntu, the software itself needs some
> porting, to
> >> > remove the dependencies to Qt4, X11, and the AEGIS security framework
> used
> >> > in MeeGo. Luckily though, these changes have already been made by the
> Mer
> >> > people, who ported the software to Qt5, removed the AEGIS stuff and
> also
> >> > simplified a bit the architecture (there isn't an applauncherd daemon
> any
> >> > more, but the invoked directly talks to the booster processes). They
> also
> >> > wrote a booster for speeding up the startup of applications using QML
> >> > components, and we could easily modify that to use our Ubuntu SDK
> >> > components instead.
> >> >
> >> > Their code is here:
> >> >   https://github.com/nemomobile/mapplauncherd
> >> >   https://github.com/nemomobile/mapplauncherd-qt
> >> >   https://github.com/nemomobile/mapplauncherd-booster-qtcomponents
> >> >
> >> > Please let me know what you think of this. IMHO it's a simple and
> >> > brilliant
> >> > idea, it could be integrated with apparmor and also be used to provide
> >> > sane
> >> > default callbacks for handling the application lifetime state changes.
> >> >
> >> > I've never been directly involved in this project, but given how much
> I
> >> > dislike NIH, I'd be happy to collaborate with whoever wants to bring
> this
> >> > to Ubuntu.
> >> >
> >> > Ciao,
> >> >
> >> >   Alberto
> >> >
> >> > --
> >> > Mailing list: https://launchpad.net/~ubuntu-phone
> >> > Post to     : ubuntu-phone@xxxxxxxxxxxxxxxxxxx
> >> > Unsubscribe : https://launchpad.net/~ubuntu-phone
> >> > More help   : https://help.launchpad.net/ListHelp
>
> --
> Mailing list: https://launchpad.net/~ubuntu-phone
> Post to     : ubuntu-phone@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~ubuntu-phone
> More help   : https://help.launchpad.net/ListHelp
>

Follow ups

References