#ubuntu-uds-appdev-2 2013-11-19
* ChanServ changed the topic of #ubuntu-uds-appdev-2 to: Currently no events are active in this room - http://summit.ubuntu.com/uds-1311/appdev-2/ - http://irclogs.ubuntu.com/2013/11/19/%23ubuntu-uds-appdev-2.html
* ChanServ changed the topic of #ubuntu-uds-appdev-2 to: Track: App Development | Push Notifications | Url: http://summit.ubuntu.com/uds-1311/meeting/22105/appdev-1311-push-notifications/
<popey> https://plus.google.com/hangouts/_/72cpimpvpi9rolli0mdagesc0o
<popey> ^^ url for the next session
<nik90> popey: just a note, the summit page http://summit.ubuntu.com/uds-1311/meeting/22105/appdev-1311-push-notifications/ shows the wrong irc channel
<nik90> it is pointing to appdev-1 instead of appdev-2
<olli> somebody got the HO URL for me
<popey> hmm
<popey> https://plus.google.com/hangouts/_/72cpimpvpi9rolli0mdagesc0o
<nik90> popey: you guys are live
<popey> thanks
<__lucio__> https://blueprints.launchpad.net/ubuntu/+spec/appdev-1311-push-notifications
<olli> https://blueprints.launchpad.net/ubuntu/+spec/appdev-1311-push-notifications
<Chipaca> olli: thanks :)
<rickspencer3> is anyone from foundations and desktop here?
<kenvandine> rickspencer3, i am
<facundobatista> I hear *so much eco*
<alecu> I hear a dog
<alecu> and echo now
<rickspencer3> kenvandine, can you speak for the update UI in the settings?
<rickspencer3> or do we need seb128 for that?
<kenvandine> seb128
<kenvandine> i just heard about that this morning
<kenvandine> rickspencer3, i could try if he can't though :)
<rickspencer3> dang it
<rickspencer3> olli, Chipaca can you guys paste me a link to join?
<Chipaca> rickspencer3: https://plus.google.com/hangouts/_/72cpimpvpi9rolli0mdagesc0o
<olli> thanks ricmm I was having connection issues
<olli> https://docs.google.com/a/canonical.com/document/d/12_a-V9B_ethmVJPF8vtcY7Hs7kc-VP-OcIwRx5ZPmjI/edit#
<karni> Doesn't it mean the phone would need to be talking to multiple push notification servers?
<__lucio__> no.
<__lucio__> at least not for the polling part. yes for giving the registration key.
<facundobatista> karni, the push notification server will be only one
<karni> I see. Thanks guys, reading the spec now
<facundobatista> karni, then, there will be a lot of App servers
<karni> facundobatista: gotcha, that makes sense.
<lool> There are two server types: the application specific server, and the push notification server (Canonical/phone operator)
<karni> Now I get it. At first it was quite confusing from the talk, now I see it's the same as GCM
<lool> rickspencer3: we want to factor notifications
<lool> rickspencer3: or drop notifications
<lool> rickspencer3: or handle network load
<facundobatista> rickspencer3, if each App would talk to their own server, you'll finish with 10 apps in the phone polling their servers => battery drain
<karni> rickspencer3: We're leveraging a single connection for applications.
<facundobatista> (sorry, no mic)
<karni> I love this project. Pull me in! haha
<karni> (the project, not the hangout ;) )
<tvoss_> olli, rickspencer3 o/
<knocte-uds> this is the way other mobile platforms work: only 1keep-alive connection to one server
<olli> tvoss, pls join
<karni> knocte-uds: correct
<larsu> is anyone else having problems with the video stream?
<karni> larsu: all good here
<knocte-uds> it is a keep-alive connection, it's a big dela
<knocte-uds> deal*
<kenvandine> rickspencer3, there is no polling
<karni> rickspencer3: To give you a reference, http://developer.android.com/google/gcm/gcm.html https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html
<karni> (2 URLs)
<karni> It's not a bottle neck. It's enablement.
<ralsina_> each connection is extra wakeups
<larsu> karni: are you in the hangout or watching the stream?
<karni> larsu: watching. I think there's enough people already.
<alecu> rickspencer3: every other mobile platfor(ios, android) does it with a centralized server to save on battery on the devices
<olli> tvoss_, you there?
<larsu> karni: right, me too. But I only get a blank screen
<Azendale> Question: Just to make sure I understand, nothing on the phone is polling with this? The phone just opens a tcp connection, and then the server can send a message any time it gets an update for the phone?
<knocte-uds> the server needs to call the client, so either the client polls, or the client has a keepalive connection
<karni> larsu: reboot/restart browser/it's fine here :(
<larsu> karni: haha "reboot the browser"
<karni> larsu: reboot computer/restart browser bud..
<larsu> ;)
 * karni listens to the session :)
<larsu> works in chromium. thanks.
<karni> larsu: np. using chromium here.
<alecu> rickspencer3: and perhaps "system updates" is not the most useful example to have instant notifications, but this infrastructure is useful for chat or other services where real time is needed
<karni> __lucio__: The reestablishing SSL connection without the handshake each time (I don't know the details, though) is a very good and valid point. GCM send a heartbeat to the server as rarely as 5 minutes.
<tvoss_> olli, joining now
<karni> This is a neat "intro" to GCM in case anyone wants to ramp up http://www.youtube.com/watch?v=y76rjidm8cU
<karni> (ramp up on the subject that is, I'm not a Google advocate or anything)
<facundobatista> rickspencer3, we didn't found (yet) any other design, without a central server (that would be the Push Notification Server), that will give the results we want without draining the battery and network operator to allow our phones to use it
<karni> Shared that just for reference.
<karni> rickspencer3: That's the whole point of push. Live notifications.
<karni> But such notifications that don't drain battery and abuse network.
<Azendale> QUESTION: Will this single server that is being proposed be opensource and available to run on your own server? If so, will you be able to change the one push server the phone uses (I guess you can always recompile)?
<karni> Azendale: (personal opinion) I think that would waste the whole effort of a single centralized server. I feel where your question comes from, though.
<__lucio__> Apps wont know where to push notifications if you use a different service.
<karni> You wouldn't have benefits of switching to a different server if the only app levereging that server would be yours. All other apps would not work
<facundobatista> Azendale, you will not convince twitter, facebook, etc to send notifications to several servers, we need ONE centralized server
<karni> because app servers would still be talking to our server.
<karni> exactly what __lucio__ said
<olli> brb
<Azendale> karni: I think my main concern is that we can read the code that will have all our messages passing through it
<karni> Azendale: ha, there's a twist here. you don't need to contain your messages within. you can say "hey, central server, tel user of id 123456 they have a message from app id: 4321"
<Azendale> karni: maybe opensource like launchpad, where there is one official instance, but we can see the code and propose fixes/changes
<karni> Azendale: the app receives a push from the server, *THEN* talks to YOUR server to pull the message content
<karni> Azendale: Yes, I understant your question. What I mean is, beyond number of push notifications sent, you have a way to avoid any privacy concerns.
<larsu> rickspencer3: no... you really want silent sms waking up the client side service so that you can go into lower power modes...
<rickspencer3> larsu, sure, whatever the right service is
<Azendale> karni: makes sense
<larsu> if this is implemented as a dbus-protocal, how are applications woken up when they're not running when a notification arrives?
<larsu> *protocol
<karni> tvoss_: mind muting yourself?
<karni> you're switching when typing
<bfiller> QUESTION: can the notifications be delivered to the system for generic notifications in addition to being delivered the app? app might not actually need to know about it right away as long as user is notified
<bfiller> i.e. a snap decision displayed by the system, which the user can act further on a launch the appropriate app
<karni> bfiller: I doubt. Each push notification is specific to _some_ application, based on the app registration id. However, you could handle a notification by posting a notification (I would imagine).
<karni> That's a bit of a wild guess, though. Maybe the attendies will adress your question.
<bfiller> kami: sure, but seems overkill to wake the app up if it's something as simple as a notification without further action
<karni> bfiller: That is correct, but our server doesn't know that. Perhaps the app server could decide it no longer makes sense to send the notification. OR (I need to read up the doc) we could have a timeout for push messages, so that if you decide it no longer makes sense to send it after an hour (say, live news updates), it would not be delivered at all.
<kenvandine> lool, the system settings first run wizard could handle the registration
<karni> bfiller: I also think it depends on the ubuntu sdk/api that we will get, because perhaps not the whole app will need to get initialized to make such decision ("should I start? or not.")
<lool> kenvandine: good idea
<bfiller> karni: could be part of the registration api, the app passes in whether or not it wants to be waken on an incoming notification or let system handle it
<karni> bfiller: I think that would miss the point. If you don't want to be waken up for all push notifications, just query a REST api once you start. No?
<karni> bfiller: also, you can update your user data (query feeds, messages, whatever) in the background, and once the user launches your app, you're already up to date. how awesome is that :)
<bfiller> karni: no I mean say you have a messaging app, and someone sends you a message, you just want to see the message show up as a notify-osd or in the messaging menu. not necessilary launch the app
<bfiller> karni: just like sms notifications occur today
<karni> bfiller: right. I still think that would need to be handled by the app itself (and post a notification, for instance).
<karni> bfiller: I think at this stage of development it would be a too-fancy feature to have :) Possibly in the future? :)
<bfiller> karni: yeah I guess, app would need to know about it but not necessarily need to request foreground
<dbarth> lool: don't forget about html5 as well
<karni> bfiller: yep
<dbarth> lool: webapps if your prefer
<karni> dbarth: webapps (running in a web view) can still handle push from QML wrapping it
<dbarth> lool: cause we'll need to integrate with push notifications to get twitter messages in real time
<dbarth> karni: right
<karni> lool: â
<dbarth> but that's a key elemnt for us
<dbarth> we'll get it with qt sure
 * karni nod
<dbarth> or the sdk
* ChanServ changed the topic of #ubuntu-uds-appdev-2 to: Currently no events are active in this room - http://summit.ubuntu.com/uds-1311/appdev-2/ - http://irclogs.ubuntu.com/2013/11/19/%23ubuntu-uds-appdev-2.html
<Chipaca> bfiller: karni: the "not launch the app" thing is what's called "message interception" in the doc
<Chipaca> Azendale: there will be a floss server, and you will be able to point a phone at it (for testing)
<karni> Chipaca: perfect, still haven't finished reading it. bfiller, sorry for the confusion.
<Azendale> Chipaca: Awesome
<bfiller> Chipaca: thanks
* ChanServ changed the topic of #ubuntu-uds-appdev-2 to: Track: App Development | Understand what practical desktop usability issues exist with the current SDK | Url: http://summit.ubuntu.com/uds-1311/meeting/22032/appdev-1311-desktop-usability-issues/
<dholbach> https://plus.google.com/hangouts/_/7ecpjmkt1j1dfisa4c0fvojhmg?authuser=0 for those of you who want to join in in 3-4m
<popey> https://plus.google.com/hangouts/_/7acpikk4fa1i993c57cf7t1mj0?
<popey> wat
<popey> dholbach: I'm doing app-dev 2
<dholbach> popey, I'm sorry - I asked in #ubuntu-community-team and I had set up the blueprint, so I thought I'd do it
<dholbach> popey, but if you want to run the session and you updated summit.....
<popey> ok, you do it
<popey> nope
<dholbach> ok
<dholbach> popey, https://plus.google.com/hangouts/_/7ecpjmkt1j1dfisa4c0fvojhmg if you want to join in
<popey> but you need to re-edit the thing on summit as I trashed the youtube urls
<dholbach> oh ok
<popey> sorry for trashing them, dpm said I'd be on appdev-2 all day, but happy for you to do this session â»
<robotfuel> does anyone in irc want to join the hangout?
<dholbach> popey, no worries
<zyga> hi
<karni> yo
<bregma> which is the correct URL to join?
<dholbach> bregma, zyga, karni: want to join?
<zyga> roadmr: join the fishbowl
<dholbach> https://plus.google.com/hangouts/_/7ecpjmkt1j1dfisa4c0fvojhmg
<zyga> dholbach: I'm a bit tired but if roadmr doesn't want to I can
<dholbach> as you like it :)
<zyga> roadmr: ?
<roadmr> zyga: I'm in the bowl
<zyga> roadmr: thanks the video was lagging
<iBelieve> dholbach: what's the hangouts link? I missed it.
<dholbach> iBelieve, https://plus.google.com/hangouts/_/7ecpjmkt1j1dfisa4c0fvojhmg
<iBelieve> dholbach:thanks
<dholbach> taking notes here: http://pad.ubuntu.com/uds-1311-appdev-1311-desktop-usability-issues
 * karni should have probably provided my initial experience as well ;) but we'll get there
<dholbach> bregma, you said you had some notes already... would you mind sharing them? (added a work item for it already :-))
<bregma> some initial note are at https://docs.google.com/a/canonical.com/document/d/1OvTlzChKhk3374lqAI9j2DRD1fMtyWJLzOGV99_dbTc
<dholbach> thanks bregma
<dholbach> grrrr, the pad is constantly reconnecting
<karni> pad is giving up on me
<iBelieve> Does anyone know if someone under 18 can join? Nothing in the agreements I had to agree to said anything, but I remember another young Ubuntu member writing about about it.
<karni> iBelieve: what do you mean.. ?
<iBelieve> karni: does Google require that users be over 18 to join?
<bfiller> dholbach: most of the system apps already run on the desktop, but with the issues you guys mentioned
<karni> iBelieve: to join the hangout? I know nothing about that honestly, I'm sorry.
<dholbach> bfiller, brilliant
<iBelieve> karni: None of the agreements mentioned anything, but look at this post: http://smartboyhwubuntu.wordpress.com/2013/08/27/google-please-let-me-join-vuds/
<bfiller> dholbach: gallery, notepad, mediaplayer, camera, browser are all candidates/targets for 14.04 to run better on desktop
<karni> #ubuntu-community-team
<robotfuel> 'desktop' and  'sdk-app-desktop-integration' are the tags used in bugs for the sdk @ bugs.launchpad.net/ubuntu-ui-toolkit
<karni> pad is very much no longer functional. 503
<iBelieve> karni, dholbach: thanks for the link and help.
<dholbach> robotfuel, do you know which tag is used for which?
<karni> aye qtcreator-plugin-ubuntu
 * karni thinks what to bring up
<iBelieve> QUESTION: will right clicks on the desktop be equivalent to long-presses? I've often wanted this feature.
<iBelieve> dholbach: ^^^ has that been discussed at all?
<popey> pad is back
<dholbach> iBelieve, I have no idea and we're sort of all consumers of the SDK/UI here, so we don't know either
<dholbach> iBelieve, this session is mostly about doing research to find out which issues we currently see
<bregma> iBelieve, at this point we're still identifying interaction deficits, designers still have to respond on how to address them
<karni> iBelieve: I like your idea. However, we're focusing more on issues than features in this session. But I'll be happy to bring it up in the future talks.
<bfiller> dholbach: looks like there is another session about this topic on thursday (utc 15:00) . maybe we could get design and sdk team to participate in that session and review the current list you guys have identified?
<bregma> bfiller, +1
<karni> bfiller: great idea
<dholbach> bfiller, awesome, that'd be a good start and short-circuit some of the discussion already
<dholbach> bfiller, that's "make click apps runnable from unity7 dash"?
<bfiller> dholbach: no, this one http://summit.ubuntu.com/uds-1311/meeting/22075/appdev-1311-apps-convergence/
<dholbach> sorry, was looking at the wrong place
<bfiller> dholbach: and blueprint here: https://blueprints.launchpad.net/ubuntu/+spec/appdev-1311-apps-convergence
<karni> great
<karni> dholbach: That was a good session.
<karni> Great atmosphere, good notes.
<dholbach> lots of experts
<dholbach> so yeah - thanks everyone :)
<karni> Thanks all :)
* ChanServ changed the topic of #ubuntu-uds-appdev-2 to: Track: App Development | Click software store status and future development | Url: http://summit.ubuntu.com/uds-1311/meeting/22082/click-software-store-status-and-future-development/
<dholbach> does anyone want to join in on the session? https://plus.google.com/hangouts/_/7acpjs8c7j7bmbi47an0mbfbik?
<dholbach> alecu, ralsina_: you guys? :)
<dholbach> cjwatson, are you here for this session?
<ralsina_> dholbach: omw
<dholbach> anyone else who wants to join in?
<ralsina_> alecu: come on in!
<cjwatson> dholbach: coming
<dholbach> notes here: http://pad.ubuntu.com/uds-1311-click-software-store-status-and-future-development
<dobey> beuno, alecu: that would be in the updates app no?
<alecu> dobey: or on the details preview after we add the "apps needing update" category
<mmcc> I saw a nice explanation a while back of how to handle sorting by review rating in the presence of few ratings: http://www.evanmiller.org/how-not-to-sort-by-average-rating.html
<ralsina_> mmcc cool :-)
<mmcc> it's a brief and pretty understandable article. seems like a nice solution that's obviously better than simple sort
<dholbach> ncie
<micah2> QUESTION: Are there plans to support hybrid devices (like the Lenovo Yoga) that sometimes have a functioning keyboard and sometimes don't? When searching for apps on such a device, would both desktop and tablet apps appear?
<dobey> micah2: the point of convergence is that there is no difference between a phone/tablet/desktop app. the difference is how the app is displayed on the device. the devices should work with touch and a keyboard both, just fine
<dobey> tablets and phones can sometimes have keyboards too
<ralsina_> dobey: hold tight to that Pre :-)
<dobey> my Pre isn't going anywhere
<dobey> but it is completely irrelevant to the question :)
<micah2> dobey: Right. I just want to call attention to cases where someone on a lenovo yoga is looking for software, they should be able to install GIMP when in tablet mode, not necessarily use it, but see it in the software center.
<juancarlospaco> hello
<juancarlospaco> test
<dobey> micah2: this isn't about software-center and .debs; it's about click apps which are only converged apps :)
<kiwinote> (mmcc: it's worth noting however that until you have enough ratings per app, care should be taken in emphasizing 'top rated' apps too much - the more you focus on top rated apps the more app developers manipulate the system to gain better ratings (and yes this already happens to some extent in the existing app store))
<alecu> hola juancarlospaco!
<juancarlospaco> the iframe on the page of the streaming is not loading hehe
<ralsina_> I am lagged!
<micah2> dobey: okay, sorry for making it more confusing than it needs to be, just something on my mind.
<juancarlospaco> I was to ask about binary deltas , but already done
<juancarlospaco> chromium and foresight linux got that working since years, but its not easy
<cjwatson> we can pretty easily repurpose debdelta, which has support for various delta backends etc. and basically seems to be the right design for us
<dobey> it's not particularly hard to do it the way solaris, foresight, suse, etcâ¦ did it
<cjwatson> just wasn't time to do it for 13.10
<asomething> has there been any thought about GPL compliance for app that ship compiled code licensed GPL? do we need provide a easy way to get a the source?
<juancarlospaco> conary was written on python it seems, the binary delta based package manager
<juancarlospaco> this is off topic, but theres a planned way to test apps on Mir on headless ?, ala xvfb
<dobey> juancarlospaco: and RPM isn't python, nor is the package manager i wrote, nor is the solaris one
<cjwatson> we're not going to switch to a new package manager :)
<juancarlospaco> True
<dobey> and it is not hard to do with dpkg either
<cjwatson> juancarlospaco: there's emulator work in progress
<juancarlospaco> Cool
<dobey> or just test with the x display backend in qt instead?
<dholbach> bah, and it was the last session of the day - I was just getting warmed up!
<dobey> it's headless, so it's not like you actually need to test how mir deals with the hardware, for your own app
<dobey> dholbach: get mark to join all your sessions so more people will want to join the hangouts :)
<dholbach> dobey, haha :)
<juancarlospaco> for test as in unitary test, or selenium api like tests
<dobey> juancarlospaco: right. but i don't think the display backend should matter, as long as you can run the tests
<dobey> several things are running autopilot tests with xvfb already, for example
<juancarlospaco> selenium api is 3wc standard, theres a draft for it  :P  it scalated quickly, i suppose you can go phantomjs
<juancarlospaco> True
<dobey> right, but selenium has nothing to do with mir
<dobey> it's just an API for driving web apps for testing
<juancarlospaco> ok, thanks, got to go  :)
* ChanServ changed the topic of #ubuntu-uds-appdev-2 to: Currently no events are active in this room - http://summit.ubuntu.com/uds-1311/appdev-2/ - http://irclogs.ubuntu.com/2013/11/19/%23ubuntu-uds-appdev-2.html
#ubuntu-uds-appdev-2 2013-11-20
* ChanServ changed the topic of #ubuntu-uds-appdev-2 to: Currently no events are active in this room - http://summit.ubuntu.com/uds-1311/appdev-2/ - http://irclogs.ubuntu.com/2013/11/20/%23ubuntu-uds-appdev-2.html
* ChanServ changed the topic of #ubuntu-uds-appdev-2 to: Track: App Development | Materials for porting apps | Url: http://summit.ubuntu.com/uds-1311/meeting/22093/appdev-1311-porting-apps-materials/
<dpm> https://plus.google.com/hangouts/_/76cpi8to3h6t7hacjkk6pv0d0s
<dpm> For anyone wanting to join the hangout ^
<dpm> To participate in the hangout, please join https://plus.google.com/hangouts/_/76cpi8to3h6t7hacjkk6pv0d0s
<dpm> The notes: http://pad.ubuntu.com/uds-1311-appdev-1311-porting-apps-materials
<Elleo> yep, all working
<karni> Hi dpm. Yes we can hear you.
<karni> np
<dpm> kyleN, http://pad.ubuntu.com/uds-1311-appdev-1311-porting-apps-materials
<karni> Should we even be talking about Blackberry ;)?
<karni> kyleN: yes, use the link http://pad.ubuntu.com/uds-1311-appdev-1311-porting-apps-materials
<karni> I mean, we should probably focus 100% on the existing platforms, rather than BB(Rim) which died.
<Elleo> karni: those BB developers, like MeeGo developers will be looking for somewhere to go though
<Elleo> and a platform that allows them to work with technologies they're already familiar with might be a pretty attractive target
<karni> Elleo: right. I realized we're talking about porting *to* Ubuntu, not from. you're right.
<karni> Elleo: yeah, I got that wrong.
<Elleo> ah, okay :)
<karni> :)
<Elleo> dpm: plus MeeGo
<Elleo> dpm: I've been vaguely considering writing a tool for automating as much translation as possible between MeeGo, Sailfish and Ubuntu Touch QML components
<lucaotta> Elleo: that's going to work only if the semantics of properties/objects are the same
<Elleo> dpm: basically just a quick script that translates between fairly common components, there's a lot of similar things between Ubuntu Touch and MeeGo but with slightly different property names, object names, etc.
<Elleo> I haven't done much besides sketching out a few ideas, but I've been porting a bunch of MeeGo apps over the past couple of weeks and have found a fair number of commonalities
<Elleo> it'd basically just do as much of the grunt work as possible, and highlight possible translations for things that can't be fully automated
<Elleo> yeah, on kyleN's point, MeeGo has a fair number of apps at the moment (enough to make a usable day-to-day phone platform), and porting is relatively easily (Qt4 -> Qt5 and Nokia QML to Ubuntu QML)
<Elleo> kyleN: nope, I haven't written it yet, all the porting I've done so far has been by hand
<Elleo> dpm: sure
<dpm> Elleo, would you be interested in developing this script further, and if it works well we could use it as a tool we can recommend on developer.ubuntu.com?
<dpm> ah, cool, thanks :)
<Elleo> :)
<dpm> Elleo, what's your Launchpad id?
<Elleo> dpm: michael-sheldon
<dpm> Elleo, cool, if you're ok with it, let me add a work item in the blueprint for you
<dholbach> Elleo, awesome
<Elleo> dpm: sure :)
<Elleo> kyleN: yep, I'll have a go at writing it myself, (time allowing)
<dholbach> maybe a first step could be to have sort of a "dictionary", to know what needs to be translated from meego to what in ubuntu touch
<Elleo> dholbach: yeah
<dholbach> Elleo, great :)
<Elleo> dpm: yeah, I'd be primarily targeting MeeGo first
<Elleo> the eventual goal would be to have it multi-directional
<Elleo> with MeeGo, Ubuntu and Sailfish input and Ubuntu and Sailfish output
<Elleo> kyleN: yeah, Sailfish is basically a continuation of MeeGo
<Elleo> it's mostly developed by ex-Nokia employees who were MeeGo developers
<karni> QUESTION: I was wondering if you guys could talk a little/how much do we know about possibility of porting Android/iOS apps to Ubuntu. I'm not familiar with the topic, and it seems its included on the agenda, so it'd be great if we touched on that :)
<Elleo> yeah, Sailfish has its own components
<karni> I'm only aware of Myriad. Considering Dalvik will be replaced (already testing undergoing in KitKat), they'll also have a lot on their hands.
<karni> hehe
<karni> Yes
<karni> Yes, and we are not promoting Java. That is correct.
 * karni nods
<karni> Yes. I was just looking at "general guidelines" on the pad and was wondering what we plan to include on that subject.
<karni> Ah, gotcha dpm
 * karni nod
<karni> Thanks kyleN, dpm, now I understand what we were aiming for with those 'general guideline' notes
<karni> kyleN: heheh
<karni> kyleN: dpm: It would be good to have a central point for dropping porting material to. Do we already have one? If not, perhaps we could decide who or where to drop whatever porting material/hints we come up with.
<karni> dpm: FYI what you suggested will probably partially be part of app dev school http://pad.ubuntu.com/uds-1311-appdev-1311-app-dev-schools-materials
<dholbach> yeah, it might be hard to already expect attendees in appdev schools to already know how to write Android/iOS apps
* ChanServ changed the topic of #ubuntu-uds-appdev-2 to: Track: App Development | Review core apps process | Url: http://summit.ubuntu.com/uds-1311/meeting/22067/appdev-1311-coreapps-saucy-review/
<popey> dpm: you starting this one?
<dpm> popey, yep!
<popey> sweet!
<dpm> popey, https://plus.google.com/hangouts/_/7acpj0kbue9qr3ib5b7uack0e8
<popey> ^^ if anyone else wants to join us
<dpm> http://summit.ubuntu.com/uds-1311/meeting/22067/appdev-1311-coreapps-saucy-review/
<popey> http://pad.ubuntu.com/uds-1311-appdev-1311-coreapps-saucy-review
<iBelieve> I didn't mean to wave three times :) the webpage was messed up :(
<dpm> For anyone wanting to join the hangout: https://plus.google.com/hangouts/_/7acpj0kbue9qr3ib5b7uack0e8
<iBelieve> I join if I could, but I can't since I'm under 18 :(
<nik90> :(
 * dpm hugs iBelieve
<dpm> iBelieve, feel free to add notes to the pad (I think you already have) or feedback on IRC
<iBelieve> dpm:thanks, will do.
<iBelieve> I need to go, but I'll try to come back for the core apps planning session in the next hour
<asomething> Exactly. Seed it with know great devs, and let them develop their own criteria for letting new people in
<nik90> asomething: you should join the hangout..would love to hear your feedback
<asomething> well, i could help as well =)
<dpm> cool, thanks!
<ahayzen1> we had a few times where people would approve themselves, but usually we would just ping dpm, popey, mhall to check the review
<dpm> asomething, does this work item look ok to you? -> [asomething] Create an ubuntu-core-app-dev (or similar) team to review/triage across core apps, including guidelines
<ahayzen1> a few times we have had it where we need design to review a merge before it can be approved as well, just as a note
<asomething> dpm, I might say something like "investigate creating" as opposed to "create" Don't think I have the power to do that on my own
<dpm> asomething, I think you should be able to edit the pad, but in any case, I've just changed it to [asomething] Investigate creating an ubuntu-core-app-dev (or similar) team to review/triage across core apps, including guidelines
<asomething> The code from http://reqorts.qa.ubuntu.com/reports/sponsoring/ could be used to make an overall view of core app merge proposals if that would be helpful
 * dpm looks
<dpm> that's pretty awesome, could we easily set it up for core apps asomething?
<asomething> dpm, I'll take a look at modifying it
<asomething> it's the distro sides sponsoring queue
<WebbyIT> Just left the university, this was an interesting talk :/
<dpm> https://wiki.ubuntu.com/Touch/CoreApps/DevelopmentGuide
* ChanServ changed the topic of #ubuntu-uds-appdev-2 to: Track: App Development | Planning for core apps in the trusty cycle | Url: http://summit.ubuntu.com/uds-1311/meeting/22068/appdev-1311-coreapps-trusty-planning/
<popey> https://plus.google.com/hangouts/_/7acpjkn9kgb6j6vi40l2t2n03g?authuser=0&hl=en
<popey> ^^^ hangout url for this session
<balloons> seems to be live now :-)
<vthompson> Mark also talked about implementing desktop-like dialogs/pop-ups for running on the desktop, IIRC. How do we plan on doing this?
<iBelieve> popey: will any new or existing apps be added to the core apps? Such as a tasks app or an audio recorder?
<balloons> iBelieve, I don't believe any new core apps are being added apart from what has been announced, aka evernote, etc
<asomething> weather could have an extended or hourly forecast when in tablet
<iBelieve> balloons:thanks
<balloons> vthompson, did they answer your question? :-p
<nik90> balloons: not yet
<sergiusens> popey, filemanager already does the right thing
<sergiusens> popey, has a nice folder list on the left and file list on the right
<vthompson> balloons, no--I doubt it's something we can answer now though
<popey> sweet!
<sergiusens> might need more features though; like the ones you mentioned
<popey> sergiusens: does terminal do the right thing?
<balloons> week view in weather
<sergiusens> popey, it's set as a sidestage app
<vthompson> popey, I assume terminal is fine since the UI in tablet mode won't change... but maybe they could add extra tabs?
<asomething> notes could use a grid view in a larger display
<popey> http://pad.ubuntu.com/uds-1311-appdev-1311-coreapps-trusty-planning
<vthompson> popey, music-app could use a well designed tablet mode. First pass we could just place the main app side-by-side with the Now Playing queue... but there has to be a better design
<ahayzen> \o/
<ahayzen> vthompson, i'm back :)
<vthompson> ahayzen, perfect timing as well
<ahayzen> yh lol..i load the page...'the music app'
<ahayzen> popey, is there anyone we could just ask for their recommendation about specific designs if we don't have a dedicated designer assigned to us?
<vthompson> popey, you should add Evernote as well
<sergiusens> popey, have you tried the click? https://jenkins.qa.ubuntu.com/job/docviewer-app-click/
<sergiusens> it includes the binary plugin
<vthompson> popey, doesn't the design team hold regular hangouts now? Couldn't we hijack some time at one of those?
<ahayzen> popey, understood, thanks
<ahayzen> vthompson, the design clinic?
<vthompson> ahayzen, yea that
<vthompson> popey, nik90, I like the idea of fishing for community designs
<nik90> vthompson: +1..Putting a work task for it
<ahayzen> same +1
<popey> https://ubuntu.mybalsamiq.com/projects/ubuntuphonecoreapps/grid;jsessionid=A2453A091AD4857F26D9DDD8CED046DD-n3
<WebbyIT> I seriously hate Italian network connection :/
<vthompson> popey, how do I log into mybalsamiq? User/pass doesn't seem to be Ubuntu SSO...
<ahayzen> vthompson, looks like dpm manages it? https://ubuntu.mybalsamiq.com/forgotpassword
<popey> https://wiki.ubuntu.com/Touch/CoreApps/Design
<ahayzen> popey, from the wiki 'Next, send an email to David Planella (david.planella AT canonical DOT com) and Michael Hall (michael.hall AT canonical DOT com) to ask to be added to MyBalsamiq (this is the system we use for creating mock-ups.'
<vthompson> popey, ahayzen, excellent. Thanks!
 * sergiusens doesn't mind someone else doing stuff :-)
<balloons> sergiusens, lol
<vthompson> nik90, your help would be very welcomed
<ahayzen> nik90, would love ur help :)
<nik90> vthompson: :D
<nik90> vthompson: would love to join you guys
<ahayzen> vthompson, wht do u think?
<vthompson> popey, I'd like to start doing some wireframes--maybe in mybalsamiq. We could see which designs float to the top
<ahayzen> vthompson, i feel throw it out to community but i'm fine either way
<balloons> nik90, :-p
<vthompson> popey, ahayzen, nik90, if we could find a decent way to put together designs we could call for the community to contribute wireframes
<ahayzen> vthompson, agreed
<nik90> +1
<vthompson> nik90, great idea about utilizing the wiki
<popey> any final comments?
<nik90> thnx guys for your ideas
* ChanServ changed the topic of #ubuntu-uds-appdev-2 to: Currently no events are active in this room - http://summit.ubuntu.com/uds-1311/appdev-2/ - http://irclogs.ubuntu.com/2013/11/20/%23ubuntu-uds-appdev-2.html
<popey> Thanks!
<nik90> Lets make the 14.04 cycle awesome
<ahayzen> thanks guys
<nik90> btw for really awesome designs check out https://www.pinterest.com/ubuntudesigners/appspiration/
<nik90> this was shared during the design session
<dpm> vthompson, ahayzen, just drop me an e-mail with the address you'd like to use for Balsamiq and I'll add you
<ahayzen> dpm, thanks
<vthompson> dpm, doing so now. :)
<dpm> awesome :)
<ahayzen> dpm, sent :)
<dpm> cool
<rottinrob> popey....did I miss our meeting
<popey> hey rottinrob - no it's at 19:05 UTC which is ~20 mins time
<popey> no
<popey> 1 hour 20 mins time
<popey> stupid clocks
 * popey will send a mail to the team â»
<rottinrob> oh great...I have a time translating these time zones...lol
<popey> ditto!
<mandel_> ok, so if my utc foo is good, I should be running a session in this run in about 15 min...
<mandel_> gatox, ask!
<gatox> QUESTION: testing
<mandel_> gatox, I hate xchat
<gatox> QUESTION: testing
<mandel_> yes \o/
* ChanServ changed the topic of #ubuntu-uds-appdev-2 to: Track: App Development | Create an SDK plugin for the Ubuntu Download Manager | Url: http://summit.ubuntu.com/uds-1311/meeting/22104/appdev-1311-udm-sdk/
<mandel_> oSoMoN, hello!
<oSoMoN> hi mandel_
<mandel_> oSoMoN, any idea on how to get to the hangout, I'm utter useless with this kind of things
<oSoMoN> mandel_, if youâre the session owner, someone from the organization should ping you with the link to the hangout
<mandel_> oSoMoN, awesome
<oSoMoN> mandel_, got the link?
<mandel_> oSoMoN,
<mandel_> no
<oSoMoN> dpm, hey, do you know whoâs in charge of creating the hangout for the next session?
<oSoMoN> (the one starting now)
<dpm> oSoMoN, popey
<oSoMoN> popey, ping
<mandel_> dpm, gracias!
<popey> oh
<mandel_> popey, give us hang out
 * popey is on another session
<mandel_> :)
<popey> bah
<popey> ok, will drop out and create one
<mandel_> popey, sweet, thx!
<KaleoF> h
<KaleoF> a
<KaleoF> n
<KaleoF> g
<KaleoF> o
<KaleoF> u
<KaleoF> t
<aquarius> session not started yet/
<aquarius> ?
<popey> https://plus.google.com/hangouts/_/7acpjpo4jb8poer9r3fhb6s3do?authuser=0&hl=en
<oSoMoN> aquarius, about to start
<aquarius> cool
<popey> join that
 * aquarius is keen on watching this one :)
<KaleoF> aquarius is keen.
<popey> who is joining?
<aquarius> I am indeed. The download service is really important to a bunch of app ideas I have :)
<ralsina_> hi aquarius! Long time :-)
<aquarius> yo ralsina_!
<popey> tvoss_: https://plus.google.com/hangouts/_/7acpjpo4jb8poer9r3fhb6s3do?authuser=0&hl=en
<micah2_> yup, we see you!
<netcurli> stream is live
<aquarius> tvoss_ arrives!
<tvoss_> aquarius, o/
<aquarius> "if you take a look at the wiki..." and stop. :)
<dbarth> tvoss_: i assume you wake up the remote party then, right?
<aquarius> tvoss_, I disagree: I think that my app should be able to call DownloadManager.ShowMeAllPreviousDownloads(). I don't think I want my app to get a magic signal on wakeup saying "a download arrived!" because I might not be ready t receive it
<dbarth> aquarius: well, that's the API contract for the location service i guess
<tvoss_> aquarius, sure ... that's another part of the story, but both should be possible
<dbarth> ie, you asked for it, so you get a reply
<tvoss_> aquarius, yup, it depends on the service, too
<aquarius> *nod*
<dbarth> aquarius: hi btw ;)
<aquarius> hi dbarth!
<dbarth> have some nice apps in mind?
<aquarius> my model for the download service is for, say, a podcast player. I say "download this podcast so I can play it later". To do that, I should have to just do downloadManager.downloadAURL(the_url, my_id_for_it)
<tvoss_> dbarth, we don't wake up the app for ordinary location updates, only if the app wants geofencing, and there is a "significant" location change
<dbarth> ah
<aquarius> at that point, I might get put to sleep or get killed; later, I want to check, or be signalled, that the download is complete.
<Elleo> aquarius: ideally I'd have thought you should be able to specify the destination as well, not just ask for something to be downloaded and then later told where it is
<aquarius> but if the download completes while I'm asleep, then I should not miss stuff :)
<Elleo> aquarius: that way you can pass it to the media player service while it's still downloading
<aquarius> Elleo, yes and no. I like the idea that the downloadmanager can pick names, so that there are never any name collides and you don't have to specify "overwrite or abort" as a parameter... but I also want to be able to read a partially completed download, for exactly the reason you suggest ;)
<Elleo> yeah, being able to ask for the location while it's downloading would work yoo
<Elleo> too*
<aquarius> Elleo, I can pass a partially completed download to some other service as long as I get told its name at the start rather than at the end :)
<Elleo> yeah
<aquarius> I have a list of things I think are important ;-)
<aquarius> mandel_, tvoss_ do you want to see my list of things I think are important? :)
<mandel_> aquarius, yes!
<aquarius> Things I think are important in my app: QML support; progress updates for downloads; list previously downloaded things, including in previous sessions; get path of downloaded thing, which must be somewhere inside my sandbox; pass arbitrary URLs; get name of downloaded thing before it's finished downloading.
<aquarius> Things I think are important either in my app or in some centralised service UI (perhaps a "download indicator"?): cancel ongoing download; pause ongoing download; open downloaded thing in some app that declares for it (i.e., download indicator is a content hub provider)
<aquarius> Request for QML API: Create new downloads with a method, *not* by dynamically creating a whole QML object, because that's incredibly irritating. BUT list of current downloads and list of all downloads should be available as a ListModel from DownloadManager to make it easy for me to deal with it in QML.
<aquarius> I agree with KaleoF here -- signals are good, if you are alive, but if you are not alive you need to have some way to query the state explicitly as well as signals on changes.
<tvoss_> aquarius, +1
<aquarius> agreed totally that my app should not be atomatically woken up when my download completes!
<aquarius> *automatically
<Elleo> aquarius: perhaps in the case of things like passing downloading things to the media service it should be possible to pass a reference to a download manager id that the media player can subscribe to (so it can show buffering progress)?
<aquarius> Elleo, that I'd certainly like to see, but I can imagine that being a phase 2 thing :)
<Elleo> yeah
<netcurli> yea
<aquarius> Elleo, that sort of tight integration would be great though
<dbarth> is that where the client API lives as well: https://code.launchpad.net/~ubuntuone-hackers/ubuntu-download-manager/trunk ?
<dbarth> is there a lib already or just the dbus service?
<aquarius> mandel_, see list above of things I care about :)
<mandel_> proposal => https://docs.google.com/a/canonical.com/document/d/1fqeIXENmZsY2ziO9_pq3Xt6xVtLVa4xmb009dJxzaQo/edit#
<netcurli> I like the idea of a notification
<dbarth> cool, thanks
<aquarius> no, no, no automatic notification
<aquarius> or at least let me opt in to them
<aquarius> the download manager doesn't know *what* it's downloading, so it can't meaningfully notify me
<aquarius> I want the notification to say "Your latest podcast from the Ubuntu UK team is downloaded", not "file http://whatever/uupc.12.mp3 is downloaded"
<aquarius> only the app can meaningfully notify.
<netcurli> yea, ideally you could specify what the notification looks like
<netcurli> or if there should be one
<Elleo> aquarius: the app could give the download manager a message to display on completion
<Elleo> then the app doesn't need to be woken up to notify if it's in the background
<aquarius> true, I suppose, I just don't like handing off bits of my UI to other people to deal with ;)
<aquarius> but yes, I could call downloadManager.downloadURL(url, my_id_for_it, message_to_display_on_complete) or similar
<bfiller> tvoss_: multiple clients that want access to downloads in progress
<bfiller> tvoss_: i.e. a download manager app
<tvoss_> bfiller, but they can use getDownloadRequest with the id they would have to know anyway
<aquarius> tvoss_, two different approaches. I can either set up the signal listener once on the DM and then have a big switch statement inside it, or I can attach a signal listener to every DownloadRequest when I get it
<alex-abreu> bfiller, tvoss_ oSoMoN excet that atm there is no "model" (even w/ a restricted view) of the current downloads available
<aquarius> tvoss_, the difference between them is really just personal preference, I think; I'm not sure one is necessarily better than the other
<dbarth> i guess the *manager pattern is where actions are, and the request object is a more inert structure in that case
<aquarius> I'd love to have current downloads and previous downloads available as a ListModel in QML :)
<KaleoF> aquarius: can you summarise your  needs in the pad? :)
<tvoss_> aquarius, might be my strict ood mind then
<KaleoF> aquarius: +1
<alex-abreu> aquarius, indeed
<dbarth> passing the request object to the action functions may look better in that case
<aquarius> KaleoF, I can, but my needs are not necessarily everyone else's needs ;)
<oSoMoN> aquarius, in the initial API proposal, Iâm stating that the DownloadManager object has a list model interface
<aquarius> I have added my list to the pad :)
<aquarius> oSoMoN, yaaay
<aquarius> a magic DownloadManagerProgressBar component would be nice, but it's not critical
<aquarius> and if you make a central one you have to care about letting me theme it for my app
<Elleo> should the general public be able to view the pad? I just get errors telling me I'm not authorised to see it
<aquarius> might be easier to just publish an *example* of one somewhere sensible
<aquarius> rather than a real component in the SDK that you have to support.
<aquarius> Elleo, I can see the pad...
<KaleoF> good point
<Elleo> aquarius: you're an ex-canonical employee though, you might have left over permissions?
<aquarius> Elleo, I should hope not :) Can you see other pads?
<netcurli> I can see the pad as well
<Elleo> aquarius: nope, seems not
<Elleo> perhaps there's something wrong with my account then; guess I'll just have to file a bug later
<aquarius> Elleo, try bringing up the pad alone in its own window; it doesn't like it if you're not signed in right and you're in an iframe
<aquarius> KaleoF, feel free to move around or delete my things; they are just my thoughts, not a list of work items ;)
<aquarius> mandel_, KaleoF, I don't necessarily think we need a central indicator. If there isn't one, then I have to do all the stuff that it can do inside my app, but I can live with that for version 1 at least
<Elleo> aquarius: same error
<aquarius> Elleo, hrm, dunno then, soz
<Elleo> no worries
<bfiller> mandel_: you just need to requery the download service when you are brought back alive, check for the status of your download
<aquarius> bfiller, perfect, that's what I want :) I get signalled if I'm alive to be signalled, but I can also check by hand if I want
<bfiller> aquarius: right, should be pretty striaghtforward I think
<ralsina_> android forgets downloads on restart at least
<aquarius> KaleoF, yeah, other platforms don't provide a central download manager. Meego did, but it was weird and not all that good and required you to talk raw dbus to it ;)
<aquarius> it's hard to check what other people are doing when you're better than they are ;)
<aquarius> I have added a note to the pad about garbage collection
<Elleo> mandel_: what about recoverable errors? i.e. a download is 40% complete, network drops out, do you still delete the file?
<Elleo> mandel_: because surely in those circumstances it's better to provide the capacity to resume the file
<netcurli> is there a way to delete files via qml?
<aquarius> KaleoF, you probably do want *some* garbage collection just in case the app itself deletes one of the files that the download manager downloaded for it. the DM's record should be updated at some point, otherwise you try to open the file *from the download manager* and it's not there any more
<aquarius> netcurli, nope. So the DM needs to provide a deleteThisFileThatIDownloadedForYou method :)
<Elleo> mandel_: excellent, that's perfect
<aquarius> From my perspective as an app dev, I want to say "download this URL!" and then later get told "it is downloaded!" and I don't have to care at all about whether there was network all the time or whatever; that's the benefit that the DownloadManager brings to me :)
<aquarius> OK, I have to step out, gang. Thank you for listening to my thoughts!
<Elleo> mandel_: can the download manager override an app's requests for downloading over 3g? e.g. is it possible for the user to set a global setting saying "Never download anything bigger than 10mb over 3G", regardless of what the app wants?
<aquarius> happy to carry on discussing this another time
<Elleo> mandel_: or have it refuse to do 3g downloads if roaming
<cjwatson> Elleo: it's easier to see what the pad is complaining about if you start it in a new window; but it is restricted to certain teams in Launchpad due to widespread abuse at previous conferences, not just Canonical though (e.g. ubuntu-etherpad gets you it)
<Elleo> cjwatson: ah, okay
<cjwatson> Elleo: (we had people coming onto UDS pads and deliberately blanking their contents, pasting racist abuse, etc.)
<cjwatson> it was all very unpleasant
<Elleo> mandel_: I'd like to switch gpodder (podcast client) to using the download manager
<netcurli> yes
<netcurli> podcast client is a good use case
<Elleo> mandel_: there's catchpodder and gpodder (I'm the guy working on gpodder for UT)
<netcurli> I am the dev of catchpodder
<netcurli> ;)
<Elleo> perfect :)
<mandel_> Elleo, netcurli you two are mine ;)
<popey> \o/
<popey> next session starting shortly
* ChanServ changed the topic of #ubuntu-uds-appdev-2 to: Track: App Development | Planning for the Reminders App (powered by Evernote) | Url: http://summit.ubuntu.com/uds-1311/meeting/22069/appdev-1311-reminders-app-planning/
<mandel_> Elleo, netcurli do you want to chat about this in a diff channel?
<mandel_> Elleo, netcurli mainly get your use cases etc..
<mandel_> Elleo, netcurli I'll be in #ubuntu-download-manager ;)
<KaleoF> aquarius: I transferred your needs to the API gdoc
<Elleo> mandel_: okay
<popey> https://plus.google.com/hangouts/_/7ecpicj893vo9g6r5fivpihc28 for the next session hangout
<micah2_> you are live
<popey> http://pad.ubuntu.com/uds-1311-appdev-1311-reminders-app-planning
<popey> https://blueprints.launchpad.net/ubuntu-phone-commons/+spec/reminders-app-development
<micah2_> popey is not the main video stream
<popey> https://code.launchpad.net/reminders-app
 * karni launches reminders-app and sees the default "Hello... / Tap me!" QML template. I mean, is this code anything else than a qtc template?
<karni> Rotton - do you perhaps have headphones?
<popey> https://docs.google.com/a/canonical.com/file/d/0B9aUQbgVanPGeHhfU0NVTXh5QTg/edit
<karni> *Rottin
<karni> Ok. lp:reminders-app is just a qtc template. Which branch is something more? the trunk is owned by rottinrob?
<karni> I mean, it's named "trunk" ;) Not that it is a trunk in lp terms.
<jkeyes0> karni: I think dpm owns the trunk. I've rottinrob and I have branches out there that we've requested to merge in
<jkeyes0> it's still REALLY early days, though. not much of anything to it yet. establishing UI layout for now, then once the API plugin is ready, we can get it talking to Evernote
<karni> jkeyes0: I understand. Was just cought by surprize when I saw lp:reminders-app. Just had a look at Rob's work.
<dholbach> https://bugs.launchpad.net/reminders-app
<karni> Though I don't work on reminders, I agree with dholbach, file bugs++
 * dholbach hugs karni
<karni> ^-^
<karni> Provide great status/overview, and easy to link with bzr commit --fixes lp:xxx
<dholbach> popey, dpm mentioned something about a blog post... did you guys talk about that already?
<popey> http://popey.com/~alan/phablet/gallery.php
<karni> popey: wohooo \o/
<dholbach> this is my first time talking to real-life core app developers - this is exciting! :-)
<nik90> dholbach: :_-)
<nik90> I meant :-)
<karni> Jordan, you have a familiar face. I'm almost sure I know you from somewhere (MichaÅ Karnicki here). Possible?
<jkeyes0> karni: I make videos on YouTube pretty regularly
<karni> jkeyes0: That's it!! :D I know you :D (not in person, though ;< hehehe)
<karni> jkeyes0: I like your videos!
<jkeyes0> Thanks!
<popey> \o/
<karni> Thank you all!
<popey> thanks guys!
<dholbach> my browser is acting up
<dpm> jkeyes0, karni, the owner of lp:reminders-app is the reminders-app-dev team. The current code right now is essentially generic code to get the app bootstrapped. We need the first branches landing to make it more functional as soon as possible, so that people can start building upon it. In that regard, the merge proposal from Jordan is a step in that direction, which is quite cool
* ChanServ changed the topic of #ubuntu-uds-appdev-2 to: Currently no events are active in this room - http://summit.ubuntu.com/uds-1311/appdev-2/ - http://irclogs.ubuntu.com/2013/11/20/%23ubuntu-uds-appdev-2.html
<karni> dpm: Gotcha, great :)
<karni> dpm: I just found the template in trunk confusing, thought maybe I'm not launching it properly ;D
<dpm> karni, yeah, it's because we need the branches to land to trunk to make it functional
<karni> dpm: Yes, that's usually the way it works =D
<dpm> :)
<karni> dpm: Catch you tomorrow!
<dpm> karni, see you!
#ubuntu-uds-appdev-2 2013-11-21
* ChanServ changed the topic of #ubuntu-uds-appdev-2 to: Currently no events are active in this room - http://summit.ubuntu.com/uds-1311/appdev-2/ - http://irclogs.ubuntu.com/2013/11/21/%23ubuntu-uds-appdev-2.html
* ChanServ changed the topic of #ubuntu-uds-appdev-2 to: Track: App Development | Apps Performance | Url: http://summit.ubuntu.com/uds-1311/meeting/22079/appdev-1311-sdk-apps-performance/
<dpm> for those who want to join the session: https://plus.google.com/hangouts/_/72cpjsk16jg1c64ngroaoqte3o
<cgoldberg> mhall119, got a hangout link for app performance?
<nik90> cgoldberg: https://plus.google.com/hangouts/_/72cpjsk16jg1c64ngroaoqte3o
<popey> dpm: you're live
<karni> Hi dpm, you're live
<dpm> thanks
<dpm> http://pad.ubuntu.com/uds-1311-appdev-1311-sdk-apps-performance
<Kaleo> hi
<dpm> for those who want to join the session: https://plus.google.com/hangouts/_/72cpjsk16jg1c64ngroaoqte3o
<Kaleo> any app dev around?
<dpm> any app developers who'd like to join?
<nik90> dpm: I only have questions
<nik90> dpm: do I still join the hangout?
<dpm> nik90, sure!
<Kaleo> kenvandine, wanna join?
<Kaleo> oSoMoN, ?N :)
<oSoMoN> Kaleo, joining
<pmcgowan> bfiller, ^^
<bfiller> pmcgowan: yup I'll join
<kenvandine> Kaleo, i might jump on in a few
<Kaleo> https://docs.google.com/a/canonical.com/presentation/d/15Gc9MKTQnhUcXtL9GrBdv8va6o8ZfPy_DelfTspbucs/edit#slide=id.p
<popey> dpm: click on yourself so we see slides
<popey> we see Kaleo while he's talking, not slides
<mardy> +1
<dpm> popey, yeah, did it a while ago, sorry
<dpm> you'll get it after the delay
<popey> kk
<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 ?
<alex-abreu> QUESTION ^
<Kaleo> http://qt-project.org/doc/qt-5.0/qtquick/qtquick-performance.html
<alex-abreu> Kaleo, :) ... yeah but in terms of GPU rendering etc ...
<alex-abreu> Kaleo, so can we remotely use the tool?
<dpm> alex-abreu, I understood that we can, but we'll ask Kaleo on the live session in a minute
<alex-abreu> dpm, great thx
<pmcgowan> alex-abreu, I think the other approach is to use a higher bar metric on the faster platform when you measure
<cgoldberg> besides rendering time, are there any other internal performance metrics that can be logged to console?
<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
<pmcgowan> ack
<pmcgowan> is it mir or some combination of upstart apparmor etc?
<popey> Nope. I don't agree that it's just mir
<popey> Before mir, app startup was still poor, multi-second sometimes.
<pmcgowan> what is the best way to analyze app startup ?
<greyback> Prelinking might be an idea too: https://wiki.gentoo.org/wiki/Prelink
<kgunn> just an fyi, if you you've got the choice, have your gl texture sizes in power of two will often help perf
<popey> +1 qmlscene.
<pmcgowan> dpm, lets take an action to do the analysis, assign to me or bill?
<dpm> pmcgowan, ack
<ChrisGagnon> cgoldberg: you can use benchmark_ in qmltestrunner
<cgoldberg> ChrisGagnon, nice.. I'll have to talk to about that
<greyback> In 5.0 & 5.1, the profiling env var is QML_RENDERER_TIMING. But in 5.2 onwards, it is QSG_RENDER_TIMING
<cgoldberg> ChrisGagnon, got a link to benchmark_ or qmltestrunner in general?
<pmcgowan> dpm, btw running in the emulator shows performance issues as well since its much slower under emulation
<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/
<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?
<pmcgowan> popey, I think we know what that is
<pmcgowan> something to do with graphics buffers, Kaleo looked into it
<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 ...
<karni> ... visual feedback responsibility of the platform/framework to indicate "hey you, developer, you actually can do this better than what you did here".
<popey> ok
 * karni initially posted to wrong channel
<pmcgowan> more a bug than a bp
<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.
<popey> bug 1238684
<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
<popey> maybe not, that's old
<greyback> Yeah, we need to investigate the slowdown. Not sure what's wrong.
<karni> Yes, you got my question right.
<Kaleo> karni, sorry, I don't know the answer :)
<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".
<cgoldberg> is there an API for the QtCreator Profiler?   I want to launch an app, profile actions, then extract timing data.. automagically
<karni> That'd be pretty significant chunk of work, though, I can imagine.
<dpm> alex-abreu, it seems the QML profiler works remotely too
<alex-abreu> dpm, ok thx for getting back to me
<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.
<Kaleo> http://qt-project.org/doc/qtcreator-2.8/creator-debugging-qml.html#setting-up-qml-debugging
<karni> This encourages great focus on never doing more than minimum work on the main thread.
<karni> Oh yeas, I love that. FPS, touches, view outlines, etc
<greyback> Detecting hanging application: yes that's something we've in mind
<karni> ack
<pmcgowan> reasonably good but need more focus on it, measure and analyze
<karni> QUESTION: Does our QML somehow reuse views in the background for long lists?
<karni> i.e. the views that disappear at the top get reused and appear at the bottom
<t1mp> karni: what do you mean with views?
<mhall119> welcome to parenthood Kaleo  :)
<karni> t1mp: whatever constitues a QML element showing info. a Label, for instance. or a whole tree of views
<karni> 2 labels, image, button, whatever, bundled in one QML "Item"
<karni> Do we just GC those or re-use them
<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
<t1mp> karni: ok, got it. thanks
<karni> Aha, so we have view re-use. Great!
<t1mp> if you pageStack.push("url.of.a.qml") then it is only loaded when the push is called
<t1mp> components get instantiated when you push them
<t1mp> Items that are defined inside another loaded Item, are created/loaded before they are pushed
<karni> Thanks for the session guys, I need to drop.
<popey> no action about shell performance?
<robotfuel> cgoldberg: we should add the report the the dashboard
<cgoldberg> robotfuel, definitely.
* ChanServ changed the topic of #ubuntu-uds-appdev-2 to: Currently no events are active in this room - http://summit.ubuntu.com/uds-1311/appdev-2/ - http://irclogs.ubuntu.com/2013/11/21/%23ubuntu-uds-appdev-2.html
<pmcgowan> very good thanks
<greyback> good session, thanks!
<Neo31> thanks :)
<ahayzen> vthompson, like .pls files?
<ahayzen> vthompson, ah wrong channel lol
<vthompson> ahayzen, haha
<vthompson> ahayzen, and yes. But it seems that's not a use case.
* ChanServ changed the topic of #ubuntu-uds-appdev-2 to: Track: App Development | Startup Splash Screen for apps | Url: http://summit.ubuntu.com/uds-1311/meeting/22080/appdev-1311-sdk-appstartupsplash/
<dpm> Kaleo, and everyone else wanting to join: https://plus.google.com/hangouts/_/7acpj6fmlcg38c0822d3h38e2c
<dpm> Kaleo?
<dpm> joining us?
<bfiller> http://pad.ubuntu.com/uds-1311-appdev-1311-apps-systemapps-roadmap
<Saviq> greyback, you wanna join the hangout?
<greyback> ok
<dpm> hangout for the live discussion: https://plus.google.com/hangouts/_/7acpj6fmlcg38c0822d3h38e2c
<dpm> notes: http://pad.ubuntu.com/uds-1311-appdev-1311-sdk-appstartupsplash
<kalikianatoli> I'm also sdk
<kalikianatoli> I can join
<kalikianatoli> I think florian had a conflict with anothe session
<dpm> thanks kalikianatoli
<aquarius> sorry I'm late; now catching up with the discussion :)
<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
<dpm> aquarius, fancy to join us? -> https://plus.google.com/hangouts/_/7acpj6fmlcg38c0822d3h38e2c
<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"
<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
<aquarius> dpm, I'm not sure I'm totally caught up because I missed the first 15 minutes :)
<aquarius> can join ifyou want me to
<dpm> aquarius, here are some notes, but sure, always good seeing and talking to you!
<dpm> http://pad.ubuntu.com/uds-1311-appdev-1311-sdk-appstartupsplash
<aquarius> I have a stupid question
<aquarius> there's no way we can just... make app startup be faster?
<aquarius> dpm, ^^
<aquarius> Saviq, ^^
<Saviq> aquarius, wrong session, and yes, but then we'll never reach startup time fast enough to not need a splash screen
<Saviq> aquarius, especially since we don't actually control it
<greyback> aquarius: yep, looking into preloading libraries needed, and Mir seems to cause a real startup slowdown too.
<aquarius> ah, I saw a session about faster startup! I thought that was the OS, not apps :)
<aquarius> Saviq, good call -- we will always need them, you think. fair comment.
<aquarius> thank you, all :)
<Saviq> aquarius, thanks, was very useful to have you there ;)
<greyback> aquarius: thanks for dropping by!
<aquarius> no worries :)
<aquarius> I am fulfilling my role as an app developer :)
* ChanServ changed the topic of #ubuntu-uds-appdev-2 to: Currently no events are active in this room - http://summit.ubuntu.com/uds-1311/appdev-2/ - http://irclogs.ubuntu.com/2013/11/21/%23ubuntu-uds-appdev-2.html
* ChanServ changed the topic of #ubuntu-uds-appdev-2 to: Track: App Development | Input method support in Ubuntu Keyboard | Url: http://summit.ubuntu.com/uds-1311/meeting/22076/appdev-1311-apps-keyboard-input-methods/
<bfiller> https://docs.google.com/a/canonical.com/document/d/1q7yySh39k3Hspif_iE12AN2YNP1dIp8N1XDDVpJ0Aas/edit
 * cwayne couldnt get pinyin to work
<cwayne> even with latest trunk
<bfiller> https://code.launchpad.net/~thomas-moenicke/ubuntu-keyboard/ubuntu-keyboard-language-plugins/+merge/196105
<cwayne> so this should switch over once the locale is changed automatically?
<penk_> http://penkia.blogspot.tw/2013/06/ubuntu-touch-handwriting-recognition.html
<penk_> what about voice recognition :P
<penk_> here's a prototype https://github.com/penk/SlateKit/tree/master/IME/pocketsphinx
<penk_> voice input, yup
<cwayne> bfiller, tmoenicke_ : whenever i try to use it, i still get english words int he ribbon
<tmoenicke_> cwayne: yes
<bfiller> cwayne: we'll fix it
<tmoenicke_> cwayne: lets try after the meeting
<cwayne> tmoenicke_, sure thing
<cwayne> bfiller, thanks
<cwayne> are these plugins going to be click pkgs?
<cwayne> rex tsai
<tmoenicke_> cwayne: right thx
<lool> bfiller: we can have a new click package type if you like
<lool> bfiller: we discussed this in another session
<lool> bfiller: but defining isolation/confinment is IMO too heavy here
<lool> we can just review the source code of these special click packages
<tmoenicke_> ok
<lool> bfiller: we dont really need to enable thousands of new input methods to be shipped as click
<cwayne> or we need to have them all preinstalled
<lool> either way is fine
<lool> the point is just that we dont need to develop a confinment methodology if we control all the input methods
<cwayne> im +1 for either way, click pkgs make it the easiest to get a new one in the image
<penk_> tmoenicke_: oh btw, there's an invokable needed, to change candidates on wordribbon from javascript
<penk_> tmoenicke_: I had a brach back in June
<penk_> http://bazaar.launchpad.net/~penk/phablet-extras/maliit-plugins-qml-candidates/revision/2135
<tmoenicke_> penk_: ok i will add it
* ChanServ changed the topic of #ubuntu-uds-appdev-2 to: Currently no events are active in this room - http://summit.ubuntu.com/uds-1311/appdev-2/ - http://irclogs.ubuntu.com/2013/11/21/%23ubuntu-uds-appdev-2.html
<green-trine> http://geeks.pirillo.com norweigan ÊÇsÊ
<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/
<green-trine> I'll check the logs later .. thank-yous.
