[13:58] <dpm> for those who want to join the session: https://plus.google.com/hangouts/_/72cpjsk16jg1c64ngroaoqte3o
[13:59] <cgoldberg> mhall119, got a hangout link for app performance?
[14:00] <nik90> cgoldberg: https://plus.google.com/hangouts/_/72cpjsk16jg1c64ngroaoqte3o
[14:02] <popey> dpm: you're live
[14:02] <karni> Hi dpm, you're live
[14:02] <dpm> thanks
[14:02] <dpm> http://pad.ubuntu.com/uds-1311-appdev-1311-sdk-apps-performance
[14:02] <Kaleo> hi
[14:02] <dpm> for those who want to join the session: https://plus.google.com/hangouts/_/72cpjsk16jg1c64ngroaoqte3o
[14:03] <Kaleo> any app dev around?
[14:03] <dpm> any app developers who'd like to join?
[14:03] <nik90> dpm: I only have questions
[14:03] <nik90> dpm: do I still join the hangout?
[14:03] <dpm> nik90, sure!
[14:04] <Kaleo> kenvandine, wanna join?
[14:04] <Kaleo> oSoMoN, ?N :)
[14:04] <oSoMoN> Kaleo, joining
[14:05] <pmcgowan> bfiller, ^^
[14:05] <bfiller> pmcgowan: yup I'll join
[14:05] <kenvandine> Kaleo, i might jump on in a few
[14:05] <Kaleo> https://docs.google.com/a/canonical.com/presentation/d/15Gc9MKTQnhUcXtL9GrBdv8va6o8ZfPy_DelfTspbucs/edit#slide=id.p
[14:08] <popey> dpm: click on yourself so we see slides
[14:08] <popey> we see Kaleo while he's talking, not slides
[14:08] <mardy> +1
[14:08] <dpm> popey, yeah, did it a while ago, sorry
[14:08] <dpm> you'll get it after the delay
[14:09] <popey> kk
[14:13] <alex-abreu> Kaleo, are the instrumentation aqtc tool's results consistent when running on desktop & phone (they must be for some area but maybe not others), can we use it remotely ?
[14:13] <alex-abreu> QUESTION ^
[14:13] <Kaleo> http://qt-project.org/doc/qt-5.0/qtquick/qtquick-performance.html
[14:16] <alex-abreu> Kaleo, :) ... yeah but in terms of GPU rendering etc ...
[14:16] <alex-abreu> Kaleo, so can we remotely use the tool?
[14:17] <dpm> alex-abreu, I understood that we can, but we'll ask Kaleo on the live session in a minute
[14:17] <alex-abreu> dpm, great thx
[14:18] <pmcgowan> alex-abreu, I think the other approach is to use a higher bar metric on the faster platform when you measure
[14:19] <cgoldberg> besides rendering time, are there any other internal performance metrics that can be logged to console?
[14:19] <alex-abreu> pmcgowan, yeah *if* the measures stay proportionate relative to one and another when running on the phone which is not a given afaik
[14:19] <pmcgowan> ack
[14:22] <pmcgowan> is it mir or some combination of upstart apparmor etc?
[14:22] <popey> Nope. I don't agree that it's just mir
[14:23] <popey> Before mir, app startup was still poor, multi-second sometimes.
[14:23] <pmcgowan> what is the best way to analyze app startup ?
[14:23] <greyback> Prelinking might be an idea too: https://wiki.gentoo.org/wiki/Prelink
[14:23] <kgunn> just an fyi, if you you've got the choice, have your gl texture sizes in power of two will often help perf
[14:24] <popey> +1 qmlscene.
[14:27] <pmcgowan> dpm, lets take an action to do the analysis, assign to me or bill?
[14:27] <dpm> pmcgowan, ack
[14:28] <ChrisGagnon> cgoldberg: you can use benchmark_ in qmltestrunner
[14:28] <cgoldberg> ChrisGagnon, nice.. I'll have to talk to about that
[14:29] <greyback> In 5.0 & 5.1, the profiling env var is QML_RENDERER_TIMING. But in 5.2 onwards, it is QSG_RENDER_TIMING
[14:30] <cgoldberg> ChrisGagnon, got a link to benchmark_ or qmltestrunner in general?
[14:30] <pmcgowan> dpm, btw running in the emulator shows performance issues as well since its much slower under emulation
[14:30] <oSoMoN> looks like the scene graph renderer is going to give us a much improved performance in Qt 5.2: http://blog.qt.digia.com/blog/2013/09/02/new-scene-graph-renderer/
[14:34] <popey> The discussion so far has mostly been about app startup and interaction. What about the shell itself? The UI becomes very sluggish once a few apps are open. Are we measuring that?
[14:34] <pmcgowan> popey, I think we know what that is
[14:34] <pmcgowan> something to do with graphics buffers, Kaleo looked into it
[14:34] <karni> So there's a difference between operation kicking in long (like waiting for a download from the store to start) which should be indicated by a spinner or something, and an operation taking unacceptably long on the UI thread (i.e. you press a button, see it's highlighted, when you lift a finger, it's still highlighted because the operation hooked to that button has not finished). The spinner is responsible of the developer, the latter ...
[14:34] <karni> ... visual feedback responsibility of the platform/framework to indicate "hey you, developer, you actually can do this better than what you did here".
[14:34] <popey> ok
[14:34]  * karni initially posted to wrong channel
[14:36] <pmcgowan> more a bug than a bp
[14:36] <karni> I meant that showing a spinner for long lasting operation is a responsibility of the developer. While indicating a long lasting operation on the UI thread would be the responsibility of the platform/framework.
[14:36] <popey> bug 1238684
[14:36] <udsbotu> Ubuntu bug 1227739 in unity-mir "duplicate for #1238684 Mir continues to render background application surfaces even when they're not visible" [High,Triaged] https://launchpad.net/bugs/1227739
[14:37] <popey> maybe not, that's old
[14:37] <greyback> Yeah, we need to investigate the slowdown. Not sure what's wrong.
[14:37] <karni> Yes, you got my question right.
[14:37] <Kaleo> karni, sorry, I don't know the answer :)
[14:38] <karni> That's okay. What I mean is that we could try helping with a visual feedback to indicate "you're doing too much on UI thread".
[14:38] <cgoldberg> is there an API for the QtCreator Profiler?   I want to launch an app, profile actions, then extract timing data.. automagically
[14:38] <karni> That'd be pretty significant chunk of work, though, I can imagine.
[14:38] <dpm> alex-abreu, it seems the QML profiler works remotely too
[14:38] <alex-abreu> dpm, ok thx for getting back to me
[14:38] <karni> i.e. Android whould show ANR (App not responding) dialog after a couple seconds if you're doing too much on the UI thread.
[14:38] <Kaleo> http://qt-project.org/doc/qtcreator-2.8/creator-debugging-qml.html#setting-up-qml-debugging
[14:39] <karni> This encourages great focus on never doing more than minimum work on the main thread.
[14:40] <karni> Oh yeas, I love that. FPS, touches, view outlines, etc
[14:40] <greyback> Detecting hanging application: yes that's something we've in mind
[14:40] <karni> ack
[14:43] <pmcgowan> reasonably good but need more focus on it, measure and analyze
[14:47] <karni> QUESTION: Does our QML somehow reuse views in the background for long lists?
[14:47] <karni> i.e. the views that disappear at the top get reused and appear at the bottom
[14:48] <t1mp> karni: what do you mean with views?
[14:48] <mhall119> welcome to parenthood Kaleo  :)
[14:48] <karni> t1mp: whatever constitues a QML element showing info. a Label, for instance. or a whole tree of views
[14:49] <karni> 2 labels, image, button, whatever, bundled in one QML "Item"
[14:49] <karni> Do we just GC those or re-use them
[14:49] <greyback> The proper fix is for Mir to tell shell when the application has drawn it's first frame - only then can shell take the screenshot away
[14:50] <t1mp> karni: ok, got it. thanks
[14:50] <karni> Aha, so we have view re-use. Great!
[14:52] <t1mp> if you pageStack.push("url.of.a.qml") then it is only loaded when the push is called
[14:52] <t1mp> components get instantiated when you push them
[14:53] <t1mp> Items that are defined inside another loaded Item, are created/loaded before they are pushed
[14:55] <karni> Thanks for the session guys, I need to drop.
[14:56] <popey> no action about shell performance?
[15:00] <robotfuel> cgoldberg: we should add the report the the dashboard
[15:00] <cgoldberg> robotfuel, definitely.
[15:00] <pmcgowan> very good thanks
[15:01] <greyback> good session, thanks!
[15:01] <Neo31> thanks :)
[15:23] <ahayzen> vthompson, like .pls files?
[15:24] <ahayzen> vthompson, ah wrong channel lol
[15:26] <vthompson> ahayzen, haha
[15:26] <vthompson> ahayzen, and yes. But it seems that's not a use case.
[16:05] <dpm> Kaleo, and everyone else wanting to join: https://plus.google.com/hangouts/_/7acpj6fmlcg38c0822d3h38e2c
[16:07] <dpm> Kaleo?
[16:07] <dpm> joining us?
[16:07] <bfiller> http://pad.ubuntu.com/uds-1311-appdev-1311-apps-systemapps-roadmap
[16:09] <Saviq> greyback, you wanna join the hangout?
[16:09] <greyback> ok
[16:09] <dpm> hangout for the live discussion: https://plus.google.com/hangouts/_/7acpj6fmlcg38c0822d3h38e2c
[16:10] <dpm> notes: http://pad.ubuntu.com/uds-1311-appdev-1311-sdk-appstartupsplash
[16:10] <kalikianatoli> I'm also sdk
[16:10] <kalikianatoli> I can join
[16:10] <kalikianatoli> I think florian had a conflict with anothe session
[16:11] <dpm> thanks kalikianatoli
[16:15] <aquarius> sorry I'm late; now catching up with the discussion :)
[16:18] <aquarius> At least some people will want to use a screenshot *of* their app as the splash screen so that it looks like it starts up really fast. That may not be a good idea (it looks like your app has started but is unresponsive), but having guidelines on that might be a good idea
[16:19] <dpm> aquarius, fancy to join us? -> https://plus.google.com/hangouts/_/7acpj6fmlcg38c0822d3h38e2c
[16:20] <aquarius> also, if we're doing multiple form factors, there ought to be a "cascade" defined: that is, define what happens for various splash screens being present. So, if you provide a portrait image and no landscape image, then on a  landscape form factor say "we will display your image as big as possible, centred, on a white background"
[16:21] <aquarius> an app can't update its own splash image -- the splash image will be stored with the click package, and apps can't write to their own package
[16:21] <aquarius> dpm, I'm not sure I'm totally caught up because I missed the first 15 minutes :)
[16:21] <aquarius> can join ifyou want me to
[16:22] <dpm> aquarius, here are some notes, but sure, always good seeing and talking to you!
[16:22] <dpm> http://pad.ubuntu.com/uds-1311-appdev-1311-sdk-appstartupsplash
[16:52] <aquarius> I have a stupid question
[16:52] <aquarius> there's no way we can just... make app startup be faster?
[16:52] <aquarius> dpm, ^^
[16:53] <aquarius> Saviq, ^^
[16:53] <Saviq> aquarius, wrong session, and yes, but then we'll never reach startup time fast enough to not need a splash screen
[16:54] <Saviq> aquarius, especially since we don't actually control it
[16:54] <greyback> aquarius: yep, looking into preloading libraries needed, and Mir seems to cause a real startup slowdown too.
[16:54] <aquarius> ah, I saw a session about faster startup! I thought that was the OS, not apps :)
[16:54] <aquarius> Saviq, good call -- we will always need them, you think. fair comment.
[16:54] <aquarius> thank you, all :)
[16:55] <Saviq> aquarius, thanks, was very useful to have you there ;)
[16:55] <greyback> aquarius: thanks for dropping by!
[16:55] <aquarius> no worries :)
[16:55] <aquarius> I am fulfilling my role as an app developer :)
[18:06] <bfiller> https://docs.google.com/a/canonical.com/document/d/1q7yySh39k3Hspif_iE12AN2YNP1dIp8N1XDDVpJ0Aas/edit
[18:12]  * cwayne couldnt get pinyin to work
[18:12] <cwayne> even with latest trunk
[18:12] <bfiller> https://code.launchpad.net/~thomas-moenicke/ubuntu-keyboard/ubuntu-keyboard-language-plugins/+merge/196105
[18:14] <cwayne> so this should switch over once the locale is changed automatically?
[18:15] <penk_> http://penkia.blogspot.tw/2013/06/ubuntu-touch-handwriting-recognition.html
[18:18] <penk_> what about voice recognition :P
[18:19] <penk_> here's a prototype https://github.com/penk/SlateKit/tree/master/IME/pocketsphinx
[18:19] <penk_> voice input, yup
[18:21] <cwayne> bfiller, tmoenicke_ : whenever i try to use it, i still get english words int he ribbon
[18:21] <tmoenicke_> cwayne: yes
[18:22] <bfiller> cwayne: we'll fix it
[18:22] <tmoenicke_> cwayne: lets try after the meeting
[18:22] <cwayne> tmoenicke_, sure thing
[18:22] <cwayne> bfiller, thanks
[18:26] <cwayne> are these plugins going to be click pkgs?
[18:27] <cwayne> rex tsai
[18:28] <tmoenicke_> cwayne: right thx
[18:28] <lool> bfiller: we can have a new click package type if you like
[18:28] <lool> bfiller: we discussed this in another session
[18:28] <lool> bfiller: but defining isolation/confinment is IMO too heavy here
[18:28] <lool> we can just review the source code of these special click packages
[18:29] <tmoenicke_> ok
[18:29] <lool> bfiller: we dont really need to enable thousands of new input methods to be shipped as click
[18:29] <cwayne> or we need to have them all preinstalled
[18:29] <lool> either way is fine
[18:29] <lool> the point is just that we dont need to develop a confinment methodology if we control all the input methods
[18:29] <cwayne> im +1 for either way, click pkgs make it the easiest to get a new one in the image
[18:36] <penk_> tmoenicke_: oh btw, there's an invokable needed, to change candidates on wordribbon from javascript
[18:36] <penk_> tmoenicke_: I had a brach back in June
[18:36] <penk_> http://bazaar.launchpad.net/~penk/phablet-extras/maliit-plugins-qml-candidates/revision/2135
[18:54] <tmoenicke_> penk_: ok i will add it
[21:38] <green-trine> http://geeks.pirillo.com norweigan ʇǝsʇ
[21:48] <green-trine> I just about loling over the frozen beauty of my Nexus 7 on AWS .. Is this appp going to be another addition ? http://code.google.com/p/debmarshal/
[21:49] <green-trine> I'll check the logs later .. thank-yous.