=== jhodapp|afk is now known as jhodapp === jhodapp is now known as jhodapp|afk === mhr3__ is now known as mhr3 [07:47] haleluya a merge \o/ [07:52] Saviq: so which channel do i use for an utopic image? devel-proposed? ubuntu-touch/devel-proposed ? [07:52] tsdgeos, they're the same [07:52] tsdgeos, but the latter is more future-proof [07:52] ok, i remember someone mentioning a difference [07:52] maybe it was about something else [08:03] Saviq: got https://code.launchpad.net/~aacid/unity8/killqt51/+merge/217391 remerged [08:03] should hopefully not conflict anymore... [08:03] tsdgeos, devel vs. devel-proposed is different [08:03] ah sure [08:03] tsdgeos, devel-proposed == utopic-proposed now [08:03] maybe that was the message about and i misread [08:03] it was == trusty-proposed before [08:04] okidoki [08:04] tsdgeos, looks good, no conflict merging on trunk [08:26] MacSlow, I went through your doc, put some comments down [08:27] MacSlow, were you tasked with actually writing that backend? [08:27] Saviq, thx... will look through them in a few minutes [08:27] this would get us on the path of maintaining more, instead of less, of that whole system... [08:28] Saviq, indirectly [08:29] Saviq, I don't know what else to do to try to fight notifications being abused as dialogs [08:30] Saviq, it's causing problems [08:30] MacSlow, that fight needs to happen on design level first [08:30] MacSlow, but anyway, I've commented on the doc, this is the time when the api team should take it over, not later [08:30] IMO [08:31] Saviq, sure... I just needed to start something to get the ball rolling [08:33] MacSlow, kk [09:07] tsdgeos, Saviq you know how much data a qt multimedia player uses? [09:07] I am trying to look into the source but maybe you know [09:07] Cimi, the source won't help you, I really doubt it's static [09:07] Saviq, thought might be a percentage [09:07] of the file [09:07] or so [09:08] Cimi, it's the playback engine that buffers, Qt is only the messenger [09:08] Cimi, in our case, it's stagefright [09:08] or right [09:08] so what do I do? [09:08] youtube-alike? [09:09] a small progressbar ahead the playback? [09:09] Cimi, I asked jhodapp yesterday, but missed him [09:09] Cimi, there's http://qt-project.org/doc/qt-5/qmediaplayercontrol.html#availablePlaybackRanges, but it's not exposed to QML [09:09] and I'm not even sure it's supported in our implementation... [09:11] Cimi, TBH I'm not sure what bufferProgress is useful for, it's effectively a random 0..1 number that doesn't mean anything... [09:11] Cimi, I'd say that warrants a QTBUG [09:13] damn qml is hard sometimes for no reason [09:13] Saviq, it is not random [09:14] Saviq, can be used for a label imho [09:14] "Buffering 0..15...100%" [09:14] so my CardCreatorCache is a singleton which means i have to register it wiht qmlRegisterSingletonType which i can do in main.cpp but where do i do it for tests? [09:14] or we need to make Dash stuff a plugin :S [09:15] Saviq: ideas? ↑ [09:16] Cimi, but what does 100% mean in that case - it is random, if you don't know what 100% is [09:16] tsdgeos, make it a plugin, why not? [09:16] Saviq, yeah just means the player completed buffering [09:16] tsdgeos, we already have DashViews plugin, maybe we need to recommission it? [09:16] Saviq, but is useless [09:16] Cimi, exactly [09:16] Saviq: ok, let me see if i can add it there [09:17] Saviq, I did try it with my slow 3G sim card on purpose [09:17] Saviq, and it reaches 100% super quickly anyway [09:19] Cimi, yeah, uselesss [09:27] Saviq, https://bugreports.qt-project.org/browse/QTBUG-38688 [09:29] did i break all the tryXYZ?¿ === alan_g is now known as alan_g|afk [09:29] tsdgeos, where? [09:30] unity8 [09:31] ok, no it works [09:31] Saviq, make progress widget half-wide [09:32] Saviq, designs? === alan_g|afk is now known as alan_g [09:40] Cimi, https://docs.google.com/a/canonical.com/file/d/0B-a_7E3tDxOgVzlJZEdtNEJ3NDQ/edit [09:40] ah, you were faster [09:42] Saviq, where can I download spotify for ubuntu touch? :P [09:42] Cimi, from the cloud ;) [09:43] Saviq, ah in my dreams :D [09:43] Cimi, exactly! :) [09:53] Saviq: i'll rename the plugin from DashViews to Dash, ok? [09:53] since i moved the card creator singleton there [09:53] or you prefer to keep the DashViews name? [09:58] tsdgeos, rename away [10:10] Saviq, I did a quick test and added sound- and haptics-support to notifications (on the frontend) just to see how straight forward it is. Turns out to be pretty easy. If we can agree on a way to pass a haptics-effect-description via a hint, implementing support for sound and feedback won't be that much work. The sound-hint-value is obvious (string representing a filename). [10:12] Saviq, although I'd rather see modal snap-decisions landing first, before starting something new :) === MacSlow is now known as MacSlow|lunch [10:24] Saviq, basically it has to have same dimensions of the button? [10:25] but it is still higher than the button [10:25] taller [10:25] it will look weird [10:26] MacSlow|lunch, yeah, I'll tackle modals after SDK lands its unity8 tweak [10:30] Saviq, ok [10:30] bah, silly utopic upgrade hosed ns lookup! [10:31] MacSlow|lunch, eat your lunch! [10:54] Cimi, same size as button [10:54] Saviq, done [10:56] Saviq, https://code.launchpad.net/~cimi/unity8/half-progress/+merge/217742 [10:58] tsdgeos, "use back chevron everywhere" task for dash... it's rather done, isn't it? [10:59] I'd center the chevron [10:59] the back chevron [10:59] there is lots of padding on the left [10:59] looks weird [10:59] also, it behaves like a button but has no int of being a button [11:00] it should have a frame around it or something clear to distinguish is clickable [11:00] what you guys think? [11:01] Cimi, it'll all be a header thing, it will come from SDK [11:01] ok [11:01] pete-woods, can you comment on "make infographic configurable" task in https://blueprints.launchpad.net/ubuntu/+spec/client-1410-unity-ui-infographics ? [11:01] pete-woods, is it different than the settings-app task below? [11:02] Saviq: yeah i saw that yesterday too [11:02] Saviq: well at the moment, it just shows all the infographics you have installed [11:03] Saviq: i guess yes [11:03] tsdgeos, ok, marking DONE [11:03] Saviq: i think we don't support ultra embedded stuff though [11:03] tsdgeos, huh? [11:03] like a scope embedding a scope embedding a scope [11:03] Saviq: in the old infographic, the "settings" were basically just "do you want infographics at all or not" [11:04] and that was handled in the shell [11:04] pete-woods, yeah, there's two tasks though: [11:04] [pete-woods] make currently shown infographic configurable: INPROGRESS [11:04] [seb128] add infographic to settings app (similar to background image), only show settings if not explicitly prevented (by OEM): TODO [11:04] Saviq: and a preview embedding a preview [11:04] but should not be hard to fix [11:04] once somebody needs it [11:04] so yeah mark it as DONE [11:04] tsdgeos, and a different task anyway [11:05] Saviq: I guess what I'm saying is that I made it so you can pick your infographic from a list of installed ones, it just uses them all [11:05] pete-woods, sure, we just want the task clarified (see kgunn's question in whiteboard), as we're not sure what that task entails? [11:06] if we need to make it "configurable" (obvs I'd like to know exactly what that means), then I'll do that [11:06] Saviq: I have no idea what it means [11:06] I didn't add that task (unless my brain is totally fried) [11:08] :D [11:08] pete-woods, guess what, I added it ;) [11:09] :) [11:10] pete-woods, I think I copied it from the old blueprint [11:10] hmm [11:10] that would make sense [11:10] hah! [11:10] I still don't know what it means, though [11:10] thostr_, added it initially :D [11:10] it probably came from a whiteboarding session [11:11] thostr_, "make currently shown infographic configurable: TODO", what does that mean? :) [11:11] Saviq: assume you have 10 infographics installed [11:11] which one to display? [11:12] I think it can be as easy of just remember the last one that was shown [11:12] as the user can anyway swipe through all infographics on the greeter [11:12] at least that was the plan AFAICT [11:13] thostr_: there's a slight complication, in that some infographics can produce more than one SVG [11:14] thostr_, so you mean to remember the last displayed one? [11:14] thostr_, because there's also: [11:14] [seb128] add infographic to settings app (similar to background image), only show settings if not explicitly prevented (by OEM): TODO [11:14] e.g. infographics that iterate through all the data of a particular "type", like the timeseries data from the usermetricsinput libraru [11:14] thostr_, could you reply in the bp whiteboard please https://blueprints.launchpad.net/ubuntu/+spec/client-1410-unity-ui-infographics ? [11:25] Saviq: done. [11:26] pete-woods: from practical POV wouldn't it be ok to ignore the fact that one infographic has "subgraphics"? [11:26] thostr_: sure, we could just remember the producer of the particular SVG we were looking at, and remember that [11:26] pete-woods: in the end, the purpose and user interaction is the same: browsing through different graphics [11:27] thostr_, thanks [11:27] pete-woods: yes, we'd remember producer + index [11:27] thostr_: from my perspective, I just want to know what behaviour is wanted (and for that behaviour to be fairly simple) [11:27] pete-woods, why couldn't we remember the actual "subgraphic"? [11:27] Saviq: sure, we could do that, too [11:27] pete-woods: then let's do that [11:28] thostr_: so are we looking for a settings panel for this? or just remembering the last viewed infographic? [11:29] the panel would seem redundant to me, but obviously it's not my choice [11:29] pete-woods: I'd just remember the last one [11:29] as long as that's my official requirement, then I'm happy [11:29] i.e. let's make sure the blueprint says that's what I have to do [11:30] pete-woods: alternative would be: from all the installed infographics, the setting would define which ones to make available to greeter. one the greeter itself we'd remember the last one. [11:30] sure, I don't really care *too* much, I just want to know what I have to implement [11:31] pete-woods: I'll drop a mail to design [11:42] Is it known issue that flicking vertically in the dash is weird. The velocity on finger release doesn't look right [11:43] tsdgeos: ^^ [11:43] pete-woods, that'd be our task then [11:43] greyback: nothing specifically on finger release, no [11:43] pete-woods, I don't think we need to remember it across reboots? thostr_? [11:44] Saviq: sure, just need to know exactly what to do [11:44] Saviq: thostr_ has sent an email to John about it [11:44] we could easily store this in a GSetting [11:44] it doesn't have to be visible in the settings app [11:44] pete-woods, indeed [11:45] pete-woods, only potential issue would be that if we'd store index, it could be a different one, otherwise if we store a name, we'd need to look for it in the model every time... [11:45] pete-woods, but yeah, we'll manage somehow [11:45] tsdgeos: I should have said /after/ finger release. Sometimes it appear to accelerate a little after finger release, before it starts to decelerate [11:46] Saviq: the model internally is stored as infographic-name/hash [11:46] tsdgeos: might just be me [11:46] where the hash is computed consistently from the data source name [11:46] pete-woods, mhm [11:47] so a simple index would remain valid only as long as you didn't add more sources [11:47] but yeah, we could figure something out, I'm sure [11:48] the only real question, as far as I'm concerned, is if we want the settings app to allow the user to enable / disable different infographics [11:48] or if we should just say you have to uninstall them [11:51] Saviq: thinking about it, we could just store the hash prefix of the filename, that would never change as long as that data source was present, then on first load we could just search through the list of SVGs for that one [11:53] pete-woods, yeah, "search through the list" is what worries me ;) [11:54] pete-woods, and it's not on first load, but on every load, 'cause we're destroying the greeter when it's not on screen [11:54] Saviq: well you'd only have to search through the SVGs for a single infographic, as you could store that, too [11:55] but sure, it's something to be aware of [11:55] pete-woods, yeah, we'll get there once we know the requirements [11:55] yep [11:55] Cimi, wanna do changes to infographics? [11:57] Saviq, sure [11:57] Saviq, doing the card touch down effect [11:57] wil be finished before the standup [11:58] Cimi, make sure to not conflict with tsdgeos's changes to how cards are created, where are you doing the touchdown? [11:58] Saviq, Card.qml [11:58] Cimi, then don't [11:59] Saviq, where is that workitem coming from? I've no recollection discussing that topic/taking that action item [11:59] Cimi, Card.qml is going away [11:59] seb128, https://blueprints.launchpad.net/ubuntu/+spec/client-1410-unity-ui-infographics [11:59] Saviq, ah cool [11:59] Saviq, did somebody volunteer me without tell me? [11:59] telling [11:59] seb128, possibly :) [11:59] seb128, it's for "later" currently, not hugely important [11:59] k [12:00] seb128, should probably be blocked on design, actually [12:01] Cimi, so, new infographics → silo 010 [12:01] Saviq, yeah, we need design for that ... we also need to know if users are going to be able to select a bg image for the dash again to update the design [12:01] seb128, indeed [12:02] Cimi, the backend part is https://code.launchpad.net/~unity-team/libusermetrics/file-based-infographics/+merge/21402 [12:02] Saviq, let me finish the touchdown before [12:02] Cimi, didn't I say "don't"? [12:02] tsdgeos, where is your refactoring branch for how cards are created? [12:02] Cimi, Card.qml is going away ;) [12:03] Cimi, shelve it for now, wait until that refactor is done [12:03] ok [12:03] Cimi, net result is that we get a model of svg filenames to display, and switch between them by double-tap [12:03] Cimi, probably a fade-out+fade-in is in order [12:04] pete-woods, you said there's command line to fake data for infographics? [12:04] Saviq: yeah, the usermetricsinput command [12:04] Saviq, my emails tell me you volunteered me for that workitem a week ago ... ;-) [12:05] seb128, ha! not true ;) it was in https://blueprints.launchpad.net/ubuntu/+spec/client-1303-unity-ui-infographic before [12:05] Saviq, anyway, good that mentioned it, I didn't notice it due to the batch of changes in unity8 blueprints, I just mark them read [12:05] oh ok [12:05] well, at least I know about it now ;-) [12:05] Saviq: if Cimi is working on this, them I'm sure we can communicate to get the right information across [12:05] *then [12:05] pete-woods, yup, I'm sure, too :) [12:06] seb128, thostr_ volunteered you last July ;), it was even targeted for 13.08 milestone :D [12:08] Saviq, k, maybe I knew about it back then, it has been a while, lot going on ... ;-) [12:08] indeed [12:08] seb128, got POSTPONED soon after, and got back again very recently [12:08] k [12:08] thanks for the status update! === MacSlow|lunch is now known as MacSlow [12:30] alecu: elopio: I think that is exactly what I needed http://developer.ubuntu.com/api/devel/ubuntu-14.04/cplusplus/unity-scopes/index.html#scopetesting [12:31] alecu: what did you mean by getting rid of 'qtisms' from the scope code? === jhodapp|afk is now known as jhodapp [12:31] karni: we have qt's signals and slots in too many layers of the code [12:32] karni: we'd like to move them lower, so they are only in the layer that uses qnetwork [12:32] alecu: I see [12:32] karni: and, after that, we'll probably replace qnetwork with netcpp [12:33] interesting! [12:56] suppose I have a reference to CategorisedResult - how do I set arbitrary result data on it, other than set_{uri, title, art, dnd_uri} ? [12:56] k, that was easier than expected. always answering my questions ;) result["price"] = Variant(price.toStdString()); [12:57] karni, you're welcome :) [12:57] mhr3: hehe. I thank my rubber duck ;D [12:58] karni, btw solved your yesterday's QMirServer... crash? [12:58] mhr3: yes, just install unity8-fake-env :) [12:58] mhr3: I actually told you yesterday, maybe you missed it [12:58] karni, i guess, didn't see it [12:58] mhr3: Saviq knew the answer from the top of his head, known issue [12:59] Cimi: lp:~aacid/unity8/dynamic_specialized_cards [12:59] Saviq, is that cause something from scope-tool imports the app manager? [12:59] mhr3, yeah :( [12:59] mhr3, DashApps [12:59] Saviq, hm, shouldn't those be instantiated only if you have click scope running? [13:00] mhr3, if you launch the tool manually with no options [13:00] mhr3, and you have click scope installed [13:00] but karni was launching it via sdk [13:00] that should launch just the one scope [13:01] then yeah, should not happen [13:01] correct. but because there's no redirect of scope debug output, I'm back to launching it from CLI [13:01] oh well, adding todo to look at it [13:01] mhr3, actually we're importing it in GenericScopeView [13:01] mhr3, but anyway [13:01] Saviq, that explains it then [13:02] mhr3, it can only happen if you have libunity-mir1 installed already [13:02] mhr3, it doesn't pull -fake-env then, otherwise -fake-env is default [13:02] i see [13:02] anyway, lunch /me bbiab [13:03] * Saviq biab, too [13:23] Do I have any method to get the console log of unity8 running on phone? [13:28] dandrader: greyback just a note, the input dispatcher stuff landed on mir dev branch, is there anything else you want landed before we tag & promote the next one? [13:28] i'd like the next promotion to have all you need for qt comp [13:28] kgunn: unfortunately I mis-understood. One more branch is needed for qt comp, which isn't proposed yet [13:28] hope to land 0.1.9 today, mir team have like 1 more branch to land then we're gonna go to 0.2.0 <- so that'd be the one i hope for [13:29] kgunn, we need the other input stuff anpok is currently working on [13:29] ok [13:39] tsdgeos: i know you're still working on some of the card loading optimization...but we landed some optimization for the scope scrolling correct ? [13:40] kgunn: scope scrolling effect? [13:40] as in "it's jaggy"? [13:40] yes :) [13:40] we landed some small stuff back then [13:40] but what i have now is better [13:40] got it [13:40] jsut unfinished [13:44] mterry: were you wanting to target split greeter for landing? or am i making stuff up ? [13:44] ...maybe it was just retarget at utopic [13:45] kgunn, I'm waiting on blocker branches to land -- we need a small telepathy-service fix (should poke someone for that today), a QA test harness fix, and a Mir fix [13:46] kgunn, but I did want to retarget for utopic [13:47] mterry: ....oh is that all ...lol, short list i see [13:48] kgunn, it keeps growing as the changes happen around split branches :-/ [13:49] i know...it's like trying to cross a highway as a pedestrian [13:49] kgunn, from Mir side, a solution for bug 1313832 would help us get around a design feedback problem [13:49] No bot? [13:49] https://bugs.launchpad.net/ubuntu/+source/mir/+bug/1313832 [13:49] i know... [13:49] hmmpf [13:53] tsdgeos: Fixed the pan over the bound problem. https://code.launchpad.net/~paulliu/unity8/zoomImage/+merge/207941 [13:53] tsdgeos: please re-review it. [13:53] paulliu: cool, will try to find time later today [13:53] tsdgeos: ok. Thanks a lot. [13:58] Saviq: so should I move the Logout dbus interface to unity8/plugins/Unity/Logout ? [13:58] paulliu, as I said in the MP, I don't really care :D, decide within yourselves [13:58] Saviq: ok. Got it! [14:01] paulliu, name it unity8/plugins/Unity/Session or unity8/plugins/Session, not Logout :) [14:01] Saviq: ok. [14:06] dpm, ping? [14:07] dpm, do the scopes docs on duc still auto update? and from utopic? [14:07] dpm, and how often? :) [14:10] Is there any limitation on how many text fields I can put into a preview? seems 4th one doesn't want to show up. http://paste.ubuntu.com/7366536/ [14:11] mhr3, otp, can you check with mhall119 in the meantime? [14:11] nvm, line 30, s/remarks/store [14:12] mhall119, ^^^? [14:12] karni, and again, you're welcome :) [14:13] you use this channel as your debug teddybear [14:13] mhr3: I should shut myself with rubber duck in a room, and only leave 1 hour before EOD. I would probably stop talking at all ;D [14:13] ;D [14:18] mhr3: in UE Live! broadcast, will come back and read the backlog in a bit [14:25] Saviq, pete-woods is there a doc of infographics without reading the merge review? [14:32] Cimi: there are docs, but as far as I'm aware they are wrong [14:32] Cimi: the shell facing API is essentially a list of SVGs as strings [14:32] and you need to move through them on double tap [14:33] ok [14:33] Cimi: https://docs.google.com/a/canonical.com/document/d/1VajNkWbBH61iVixXJAmOvNGiG__GWQTMXGNOZijXWJw/edit#heading=h.uvcw591kzumb [14:33] but as I say, that doc is very different to what Mark has asked for === alan_g is now known as alan_g|tea [14:35] Cimi: the only input the API needs is the user's UID [14:36] which is just a plain old property [14:36] mhr3: currently scopes API docs don't auto-update, but we can change that [14:37] mhr3: I have a script and the server has an API, we just need to get it integrated into your workflow so that it gets run whenever you have a successful build [14:39] mhall119, i thought it's hooked to the pkg in distro/ [14:39] ? [14:40] mhr3: nope [14:41] mhall119, any reason why not do that? [14:41] it could be, I suppose, the script can be run anytime as long as the doc files are available, but I don't have the knowledge/access to do the hooking [14:42] I'll gladly provide the script and instructions on on using it to anybody who can do that though [14:43] mhall119, so none of the docs auto-update? === alan_g|tea is now known as alan_g [14:43] from talking to dpm i thought this stuff is automated === dandrader is now known as dandrader|afk [14:48] mhr3: not curretly, no, I wrote the code to allow it to happen, but I need somebody involve in each project's workflow to actually put the pieces together [15:00] saviq, should https://bugs.launchpad.net/unity-scopes-shell/+bug/1260020 be retargetted to unity8? [15:02] mhr3, it probably should just be marked fixed? [15:02] saviq, do we have an ap test for it now? === dandrader|afk is now known as dandrader [15:02] mhr3, no [15:02] saviq, in that case it isn't fixed [15:03] mhr3, no, that bug is fixed - there's another that there isn't a test, but it's not a unity8 bug either ;) [15:03] the plugin passes a string to shell, it doesn't know if shell is able to do something about it [15:03] mhr3, but a ubuntu-integration-tests one ;) [15:04] saviq, ow, for a moment i thought such a thing actually exists [15:32] early EOD today, see you tomorrow === jhodapp is now known as jhodapp|lunch [15:59] saviq, seeing some slowness when previewing albums [16:00] saviq, and i'm wondering whether we didn't do async stuff properly, or whether it's qml [16:00] saviq, but i guess all those Audio{} elements could be it [16:11] Saviq: you've updated to utopic? [16:24] finding that my unity8 upstart scripts are unresponsive while trying to run an autopilot test, how to debug? [16:24] the logs in .cache/upstart appear untouched [16:24] evil sorcery afoot [16:26] dpm, i set auto transl exports for scopes scope [16:26] apparently i don't have permissions to do it for the rest :/ === dandrader is now known as dandrader|lunch [16:50] mhr3, awesome, thanks. Which one is the one you need permissions for? [16:50] dpm, -mediascanner === dandrader|lunch is now known as dandrader === jhodapp|lunch is now known as jhodapp [17:41] mhr3, ok, let me see who's the maintainer for that project... [17:42] dpm, jamesh is [17:43] mhr3, he's probably not around now, is he? I'm away tomorrow, could you follow up with him to set the exports branch tomorrow? [17:43] dpm, sure, will do [17:43] * mhr3 out [17:43] excellent, thanks! === dpm is now known as dpm-afk [19:17] greyback: you thinkin' much about how to optimize the side channel ? [19:17] or is it just b/c we've glommed onto life cycle [19:17] that it seems to lag a bit [19:21] kgunn: it's laggy? How [19:21] dednick, yes [19:21] well..so there's the video case... [19:21] mhr3, there's only one Audio {} element per preview [19:22] but then also, i was just noticing on a game like wind (or whatever its called) [19:22] mhr3, or well, per audio widget (but there's only one) [19:22] you put it to the back i was "killed" [19:22] cause it keeps rendering for a bit [19:22] kgunn: it's per-app, they need to support being told you've been made hidden or not [19:23] it may not be rendering, but the logic is still moving [19:23] if not supported, only the lifecycle sigstop actually stops the logic [19:23] got it [19:24] so yeah, need a list of those apps to fix [19:24] kgunn: I guess the PPA is built with it? [19:24] * kgunn thinks...this is going to be one of those not so fun, fun things [19:24] yes~ [19:24] or i meant yes! (with excitement) [19:24] nice try.. [19:25] i'm done with manual testing on n4 & n10...just need to run thru AP testing...then i'm done [19:25] its looking good...same as before [19:25] sweet [19:25] i noticed you can get grooveshark into more f'd state than before :) [19:25] but its not us [19:26] one other bug i notice, gallery/camera combo can get into a bad state...but only on n10, n4 works like a champ [19:27] not sure if the camera subsystem is good on n10 ? [19:27] or if its known to have issues... [19:27] nor am I, sorry [19:27] i'll log a bug, but i don't think its our issue [19:33] greyback: back to the educating apps...do we just need to broadcast this http://qt-project.org/doc/qt-5/qwindow.html#visibility-and-windowing-system-exposure [19:34] via the sdk team? [19:34] or what are your thots ? [19:34] ...wonder if apps do like a weekly video... [19:35] mhall119: ^ thots on that ? [19:36] "that" being best/good ways to communicate to app developers they need to consider their occlusion wrt state [19:36] kgunn: this is the property in QML to listen to: https://qt-project.org/doc/qt-5/qml-qtqml-qt.html#application-prop [19:36] ah sorry...the one i did was for native [19:36] i suppose [19:36] kgunn: it's a really a per-app thing, so yeah the only choice is t oeducate developers [19:37] not much the SDK can do, aside from documenting clearly that devs should use it [19:38] so some sort of "hey guys, please update our apps to react to Qt.application.state property" publicity would be important [20:05] kgunn: sorry, can you tl;dr that for me? [20:09] mhall119: finding some apps that aren't paying attn to having focus/visibility....in these cases, you can (depending on the app) [20:10] get a sense of lag, since they're "stopped" by life cycle, rather than themselves...thru "doing the right thing" by reacting programmitcally to [20:10] https://qt-project.org/doc/qt-5/qml-qtqml-qt.html#application-prop === dandrader is now known as dandrader|bbl [20:11] ..before, blocking swap buffers kinda hid this, but with non-blocking swap on its way to archive..some apps ignoring this will exhibit said behavior [20:11] so...what's the best way to educate mhall119 ? [20:25] kgunn: I'm afraid you're gonna have to dumb it down even more than that for me, what would a QML app need to do with this propery and why? [20:41] mhall119: an app can have logic running continuously, yet is is not visible on screen. e.g. a game [20:42] mhall119: currently that's not a problem, as due to implementation details, when app was not visible, that running logic was forcibly stopped. [20:42] but that forced stop has consequences - one example being unable to adjust music volume when screen is off [20:43] or next track failing to load, again with screen off [20:43] so we have decided that forced stop is not desirable [20:43] as a result, now if an application is not visible, it's internal logic continues to run [20:44] there are times when an app developer may not want that to be the case however - take a game [20:45] so the Qt.application.state property is what developers should write code to listen to, and when it is set to inactive, the internal logic should be paused, until that property set to running again [20:46] greyback: hold on, we decided that force stop isn't desirable now? [20:47] mhall119: note, this is very different to the app lifecycle system [20:48] ok, now I'm *more* confused....are we going to allow apps to continue running when they don't have focus on phone, or not? [20:49] mhall119: for this conversation, app lifecyle is not effected. Apps are suspended and resumed as they are now [20:49] mhall119: this is to deal with other situations where apps are not suspended, but need to pause their internal logic for other reasons [20:50] example case: you're playing a game, and you open your indicators - that should pause the game [20:50] game is not lifecycled [20:50] but it still should pause, as the user is interacting with the indicators, not the game itself [20:51] the second use-case is that there is a 3 second delay from app being made invisible, to app being lifecycle suspended [20:52] so for a game, it has proceeded 3 seconds further, without the users knowledge [20:53] mhall119: those problems make sense to you? [20:53] greyback: ah, yes, ok, so instances where the app isn't in the background, but still isn't necessarily visible [20:53] mhall119: right [20:54] and the answer is to do what, exactly? [20:55] https://qt-project.org/doc/qt-5/qml-qtqml-qt.html#application-prop <- this property notifies the app if it is in foreground or not === _salem is now known as salem_ [20:56] nitpick: http://developer.ubuntu.com/api/qml/sdk-14.04/QtQml.Qt/#application-prop we have those docs :) [20:56] we should have app writers know about this property, so that they can pause their internal logic if their app is not visible/visible [20:56] mhall119: those docs are old. We're using Qt5.2, those are 5.0 docs [20:56] is there any way to pause internal logic for them, by default, and allow them to override the behavior if they want something to keep running? [20:56] mhall119: no [20:57] greyback: ubuntu-sdk-14.04 framework has Qt 5.2? [20:57] mhall119: the phone trusty image is running qt5.2, that's all I know [20:57] ok, I'll make a note to myself to update the docs then [20:58] so app developers need to Connect that propery to a handler function, correct? [20:59] mhall119: so there's a reason I'm telling you this now. We're making a change in Mir, with the result that app which do _not_ listen for Qt.applicaiton.state changes, will keep running [20:59] right now, they just stop (due to implementation details) [20:59] but soon, they won't [20:59] ok, so best thing we can do is to get bzoltan to change the QML template to add this connection and a handler function that does nothing, but has comments explaining what should be in it [21:00] that should make it obvious for new apps [21:00] I suppose so yes [21:00] popey can let the Core Apps developers know about the pending change and for those that have something to pause they can implement it [21:00] great [21:00] for the rest, we can blog about it [21:01] add a short guide or "cookbook recipe" to the devportal too [21:01] yeah, just need to get the word out there. The apps which are badly behaved will be noticed pretty quick [21:01] yup [21:01] we can pre-emptively add an askubuntu question with answer too [21:02] can you email popey and I with an example of what the QML code for an app would need to be? [21:03] sure [21:03] thanks === jhodapp is now known as jhodapp|afk === salem_ is now known as _salem [21:51] greyback, we won't be SIGSTOPing apps?? [21:53] Saviq: we are [21:54] Saviq: this is the render thread blocking thing. New Mir won't block render thread any more, so the GUI thread is not blocked. But some apps were relying on that blocking [22:03] greyback, yeah well, they'll only have 5s or so to do their business anyway :) [22:03] but yeah, sure, they should know about us suspending them === dandrader|bbl is now known as dandrader === _salem is now known as salem_