Monday, 17 June 2013

Re: [Ubuntu-phone] MeeGo applauncherd: faster application startup and more

On Mon, Jun 17, 2013 at 10:02 AM, Michael Zanetti
<michael.zanetti@canonical.com> 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@canonical.com> 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@lists.launchpad.net
>> > Unsubscribe : https://launchpad.net/~ubuntu-phone
>> > More help : https://help.launchpad.net/ListHelp

--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel