/srv/irclogs.ubuntu.com/2013/11/21/#ubuntu-uds-appdev-1.txt

=== ChanServ changed the topic of #ubuntu-uds-appdev-1 to: Currently no events are active in this room - http://summit.ubuntu.com/uds-1311/appdev-1/ - http://irclogs.ubuntu.com/2013/11/21/%23ubuntu-uds-appdev-1.html
=== dholbach_ is now known as dholbach
=== ChanServ changed the topic of #ubuntu-uds-appdev-1 to: Track: App Development | App Developer Roundtable Thu | Url: http://summit.ubuntu.com/uds-1311/meeting/22021/app-developer-roundtable-thu/
mhall119hangout link to join: https://plus.google.com/hangouts/_/7acpjj0d3h4nsehsjvkqrs2h8o?authuser=1&hl=en14:02
mhall119will be a minute late, helping somebody with their schedule14:03
mhall119alright, going live now14:04
mzanettimhall119: here nowe14:06
mzanetti-e14:06
mhall119any last minute questions?14:13
MosheYes14:25
MosheWhy David attends this http://summit.ubuntu.com/uds-1311/meeting/22079/appdev-1311-sdk-apps-performance/14:29
MosheBye14:34
Moshesee ya14:34
=== ChanServ changed the topic of #ubuntu-uds-appdev-1 to: Track: App Development | Supporting touch apps on Ubuntu desktop | Url: http://summit.ubuntu.com/uds-1311/meeting/22075/appdev-1311-apps-convergence/
bfillermhall119: should I setup the hangout for the next session?15:01
mhall119bfiller: if you're running it yes15:02
bfillermhall119: ack15:02
mhall119hangout URL: https://plus.google.com/hangouts/_/7ecpji96dlvlrvqdueto0ho8u4?authuser=0&hl=en15:08
dholbachhttp://pad.ubuntu.com/uds-1311-appdev-1311-apps-convergence15:08
oSoMoNlink to the hangout?15:10
boikooSoMoN: hangout URL: https://plus.google.com/hangouts/_/7ecpji96dlvlrvqdueto0ho8u4?authuser=0&hl=en15:11
oSoMoNthx boiko15:11
greybackQUESTION: Is the "Tabs" design considered usable on the desktop?15:15
iBelievegreyback:I filed this bug, which got marked as wishlist: https://bugs.launchpad.net/ubuntu-ui-toolkit/+bug/119398115:16
udsbotuLaunchpad bug 1193981 in Ubuntu UI Toolkit "Display tabs as traditional tabs on the desktop" [Wishlist,Confirmed]15:16
asomethinggreyback, I've thought it would be nice if tabs turned into columns if there was enough space (ie on the desktop)15:16
greybackiBelieve: yep, that's an option15:16
greybackasomething: that's a very responsive UI layout idea, and yes something we've been experimenting with15:17
pmcgowanbfiller, there was a commitment from the last sprint to get initial design feedback mid dec15:18
iBelieveasomething:the problem with that, at least in some apps, is that a specific tab might want to be full-width, and some apps might not want that type of layout. So if that type of layout is added, it should be optional15:18
boikoasomething: I'm not completelly sure turn tabs into columns is a good idea, usually tabs are used to separate different kinds of content/presentation/context, but maybe on a case-by-case evaluation that can be an option15:19
greybackQUESTION: desktop apps can take advantage of right-click - do we need a widget for a right-click menu?15:19
iBelievegreyback:I'd like to see long-press on a touch screen be turned into a right-click on the desktop15:20
iBelievegreyback:so then a popover component should be good enough15:20
iBelieveQUESTION: Will a settings page be displayed differently on the desktop, such as in a separate dialog, versus in a tab on tablet/phone?15:20
greybackiBelieve: tbh I'm not a fan of long press at all. It's quite easy to do accidentally15:21
pmcgowanwe won't have "two sdks", but we will keep it simple for 14.0415:22
bfillerhttp://developer.ubuntu.com/api/qml/sdk-1.0/Ubuntu.Layouts/15:22
pmcgowanthere is a devices API, need to check it15:24
greybacknope, nothing in qtubuntu for that15:24
pmcgowanthere is in qt if I recall right15:24
mhall119greyback: can you join the hangout?15:25
greybackmhall119: if you'd like. I've not much to say15:26
mhall119greyback: you have questions :)15:26
mhall119iBelieve: you too if you can join15:26
mhall119https://plus.google.com/hangouts/_/7ecpji96dlvlrvqdueto0ho8u4?authuser=0&hl=en15:26
iBelievemhall119:I wish, but I'm not 18 yet, so Google won't let me :(15:26
mhall119ah, that limit sucks15:26
iBelieveyeah, it is disappointing15:27
asomethingThese should be landing along with Qt 5.2 in trusty http://blog.qt.digia.com/blog/2012/06/06/desktop-components-for-qt-5/15:30
iBelievemhall119:I meant an app's own preferences/settings15:32
michelRin previous vUDS? Katie said that settings will be unified via HUD15:34
iBelievewhen I referred to displaying in a separate window, I was referring to the SDK somehow opening it in a separate window on the desktop. The developer wouldn't be able to open windows.15:36
iBelieveNo desktop app that I know of replaces the app's content view with settings or puts the settings in a tab, so the current way of having everything from an app in one window doesn't make sense on the desktop.15:37
iBelievebfiller:an example of an app that doesn't scale well when being resized is the calendar app. It looks really bad when maximized.15:39
boikodesktop Qt apps are given the chance to limit their sizes if they want to, maybe that's something we can include in the mainview or layout API?15:40
mhall119iBelieve: if we're going to provide a unified way or defining and displaying settings, we can offer something like a modal dialog on desktop yes15:41
karniWas a bit in an out. Were pickers and toolbars mentioned? How would they change when a tablet switches to 'desktop' mode with keyboard and mose, or how common bits on the phone & desktop?15:42
iBelieveQUESTION: Will multi-touch mice/touchpads, like on Macs, be supported? For example, if there is a mouse, but it is multi-touch, then scrollbars would be hidden as on touch.15:44
mhall119karni: toolbars were, pickers not yet15:47
mhall119switching from touch to mouse input has also been discussed15:47
iBelievemhall119:I heard/saw that, but I don't think anything about multi-touch mouse input was discussed.15:48
mhall119iBelieve: right, I was answering karni15:51
karnimhall119: I'll review that, thanks15:51
iBelievemhall119:oh, sorry15:51
=== ChanServ changed the topic of #ubuntu-uds-appdev-1 to: Track: App Development | 14.04 Roadmap for System Apps | Url: http://summit.ubuntu.com/uds-1311/meeting/22077/appdev-1311-apps-systemapps-roadmap/
karniThanks all16:03
bfillerhttp://pad.ubuntu.com/uds-1311-appdev-1311-apps-systemapps-roadmap16:07
tedgbfiller, Any plans to increase HUD usage in the core apps?16:10
tedgbfiller, Cool, thanks!16:13
tedgbfiller, I thought syncevolution just needed to be setup?  Why can't that land?16:27
tedgbfiller, My understanding is that it's build for that use-case.  So it's more a matter of setting up a refresh.16:32
tedgbfiller, I believe that kenvandine knows more about it.16:32
tedgHe likes work items :-)16:32
kenvandinetedg, not really, ideally we really need UOA support16:32
kenvandineand a mechanism to make it refresh16:32
tedgkenvandine, I thought that UOA support was in progress?16:32
kenvandinenot sure what the latest is16:33
kenvandinetedg, i know upstream is receptive to it16:33
tedgK16:33
tedgThe Upstart guys are talking about trying to get the time bridge working this cycle.16:33
tedgSo that'd provide the refresh mechanism16:34
tedgThanks bfiller, great update!16:36
karniThank you bfiller!16:36
bfilleryou're welcome :)16:37
=== boiko_ is now known as boiko
=== ChanServ changed the topic of #ubuntu-uds-appdev-1 to: Currently no events are active in this room - http://summit.ubuntu.com/uds-1311/appdev-1/ - http://irclogs.ubuntu.com/2013/11/21/%23ubuntu-uds-appdev-1.html
=== ChanServ changed the topic of #ubuntu-uds-appdev-1 to: Track: App Development | Apps and easy data access (webservices and more) | Url: http://summit.ubuntu.com/uds-1311/meeting/22078/appdev-1311-sdk-apps-data-access/
Kaleohi18:07
pmcgowanmhall119, this your HO?18:08
mhall119pmcgowan: kind of18:08
pmcgowanI mean setting it up18:08
Kaleohttps://plus.google.com/hangouts/_/72cpjq6gpjgk9fene1cuscahkk?authuser=1&hl=en18:09
mhall119pmcgowan: I've setup the hanout, going live now18:09
mhall119it's Kaleo's topic though18:09
pmcgowanunderstood18:09
Kaleomzanetti, you want to join?18:11
Kaleokenvandine, ? :)18:11
dobeypmcgowan: yeah i think the fan noise is you18:12
kenvandineKaleo, i'm in another session18:12
Kaleo:)18:12
kenvandineKaleo, but if you need me, ping me :)18:12
pmcgowandobey, yeah18:12
aquariusconsider my +1 for jsonlistmodel.... or +100 :)18:13
kenvandine+10 for me :)18:13
aquariusgiven that, and some way to do authentication, working with remote APIs is trivial18:13
aquariusit's reasonably easy now, if you implement stuff yourself with XHR, but it'd be nice if that was wrapped up in something.18:14
Kaleoaquarius, nice18:14
Kaleoaquarius, join us!18:14
dobeyheh. i have thought a lot about this problem, but never got around to writing the stuff i wanted to write, to do this. and then the current online-accounts stuff got written and i had nothing to do with it18:14
aquariusthe biggest problem here isn't JSONListModel, really, it's authentication. JSONListModel isn't that hard to implement yourself, but it is hard to implement generically so that you can do arbitrary authentication methods (oauth, basic auth, add api key to every request, flickrauth, etc)18:15
aquariuspmcgowan, I think that that abstraction layer you're talking about *is* JSONListModel18:15
aquariusI'm not sure anything more complex is required18:15
mzanettiyeah. the problem is that you need queries18:16
aquariusKaleo, I'm trying to cook dinner at the same time, henc not joinnig ;)18:16
aquariusmzanetti, xmllistmodel handles that well with query and role; jsonlistmodel can do a similar thing, using JSON Pointer.18:16
Kaleook18:16
aquariusthis is what JSON Pointer is *for* :)18:16
dobeyaquarius: you need google glass apparently18:16
aquariushttp://tools.ietf.org/html/rfc690118:16
dobeyaquarius: then we can watch you cook, and listen to you rant, at the same time18:16
aquariusjsonpointer RFC18:17
dobeymhall119: why do we even have online-accounts then? :)18:17
aquariusmhall119, almost nobody uses basic auth for API access.18:19
dobeyhaving written a non-standard online-accounts plug-in, i wouldn't recommend other people do it18:19
aquariusmhall119, it's either api key based, or oauth. Neither are a username/password combinaion.18:19
pmcgowanI mispoke when I said basic18:19
dobeyit would be nice if it didn't require adding the metadata to use basic auth or oauth though18:19
dobeyyou'd be surprised how many services use basic auth18:20
aquariusI think you guys are confusing two things to do with API auth here: there is "how do I get the credentials" (which is clearly Online Accounts's job) and then "once I have the credentials, how do I use them to make a request for the API endpoint" (which is not necessarily Online Accounts at all; it is oauth signing, or flickr auth signing, or getting a frob, or whatever)18:21
dobeythere are thousands of sites that use basic auth18:21
dobeyaquarius just isn't interested in them because they're not web 10.018:21
aquariusdobey, for json-based APIs? I think I'd disagree, but OK -- my point is really that there are many different auth methods18:21
dobeyaquarius: they aren't necessarily using JSON, no. but they exist18:21
aquariusIt's not at all clear to me that "make a request to the endpoint and use the credentials" belongs in Online Accounts at all; that sounds like something my app should do18:22
dobeymhall119: i mean it would be nice if for standard auth models (basic, pure oauth, etc… ) that one didn't need to provide the service/provider info for online-accounts18:22
dobeyjust have an API to say "here is my endpoint, or the realm i need to use" "set it up"18:22
mzanettiso I guess OnlineAccounts would need to be capable of signing oauth parameters and/or building those queries - depending on which oauth method is used18:23
dobeyaquarius: i think they do belong there. every app that wants to show an image from flickr shouldn't have to duplicate code to talk to flickr18:25
aquariusdobey, right, but I can't think what a generic API would look like that Online Accounts can provide to apps18:25
pmcgowando we need any additional level of abstraction like a DataSource ?18:25
Kaleohttp://techbase.kde.org/Development/Tutorials/Plasma/DataEngines18:25
dobeyaquarius: i sort of can, but i never got around to actually writing it (as i said earlier) :)18:26
mzanettiKaleo: that's probably not what we want18:26
Kaleohttp://developer.blackberry.com/native/reference/cascades/bb__data__datasource.html18:26
aquariusOnlineAccounts.Account.requestThisApiUrlUsingWhateverAuthMethodYouNeedToUse("http://service.com/api/method?whatever"), I suppose/18:26
dobeyaquarius: i mean, we're already doing some of this anyway, in unity. the scopes api does exactly that (though in most cases currently unauthenticated)18:26
Kaleohttp://developer.blackberry.com/native/documentation/cascades/device_platform/data_access/using_data_source.html18:26
aquariusdobey, right, but the scopes API is very constrained: it provides getAListOfSearchResults and getDataForThisOneSearchResult, and then the rest is scope-specific18:27
aquariusdobey, apps want to do things other than those :)18:27
dobeyaquarius: right. i'm just saying it's a start, not the end solution18:27
aquariuslike, say, upgrade my account by paying £5 or something. It's hard to see how to map that onto a generic API18:27
dobeyaquarius: for basic things like searching inside the gallery app, for photos on flickr, it'd work great18:28
mzanettiaquarius: yeah... that's what I think too18:28
aquariusKaleo, all the datasource stuff I know about doesn't handle authentication very well :(18:28
dobeyaquarius: it doesn't need to be a totally generic api though18:28
dobeyaquarius: it needs to be generic for doing generic things, and provide a way to do specific things when needed18:28
aquariusThis conversation is, I think, too handwavy. Kaleo, mhall119, I think a useful approach might be to define four or five things that would be good to talk to, and then define what the API would look like that would allow talking to them. So a couple of the things that dobey mentioned which have basic auth, and then Flickr, Yummly.com, and Paypal, for example18:30
aquariusmhall119, there is potential commonality here with the generic json scope, no? Both need a semi-generic way to define a JSON endpoint, queries into it to get data, and auth...18:33
mhall119aquarius: to a point yes, but I think apps will need more than scopes18:33
aquariusI can rough out a few different APIs if you want me to, mhall11918:33
aquariushappy to do, say, simple flickr, yummly, and something that dobey comes up with?18:34
aquariusbut it will look a lot like What Stuart Wants The API To Look Like18:34
KaleoWhat Stuart Wants The API To Look Like is usually good18:34
aquariusbilf: there are about fifteen different half-baked implementations of JSONListModel ;)18:35
aquariuser, bfiller ;)18:35
mzanettiyeah... exacly bfiller... You never know what you get. in the end you have tree of json objects but you don't know what to do with it18:35
dobeyJSON, XML, or csv are the most common way to get data18:36
aquariusbfiller, do you have a few good examples of that sort of XML data?18:36
aquariussomething that's not easily parseable with xmllistmodel but *is* regular enough that it could be parsed with a theoretical BillFillerXMLListModel? (i.e., not totally irregular)18:36
pmcgowanthe rss reader also did a lot with this18:37
pmcgowanxml data18:37
aquariusbfiller, being unable to parse multi-model XML into a ListModel isn't really an XML parsing problem... it's a function of ListModel itself. The rule for a ListModel is that all the items in the model have to have the same keys -- you are not supposed to have one ListModel which contains both airlines and hotels :)18:39
pmcgowansounds like the problem is very data/site specific18:39
aquariusbfiller, that's not an XML problem -- you can't have one ListModel with both airlines and hotels in it even if you populate it yourself18:39
aquariusyou can get to the parent node, indeed18:41
Kaleohttp://qt-project.org/wiki/Qt_and_Web_Services18:42
aquariusyou'd end up with your ListElements being { type: airline, details: { an airline-specific dict of stuff }}, { type: hotel, details: { an hotel-specific dict of stuff }}18:43
aquariusbfiller, yeah, I've been going on about auth and controlling the request from XMLListModel for the whole session, don't worrk ;)18:43
aquarius*worry :)18:43
bfilleraquarius: haha, good :)18:43
aquariusNo way to create an XML/JSON doc from input data simply in QML, other than by hand ( mydoc = {name: qmlinputfield.text, address: qmlinputfield2.text}, etc)18:45
aquariusKaleo, yeah, I just noticed that that work item is totally fixed by your link ;)18:46
Kaleo:)18:46
Kaleoaquarius, write a beautiful Stuart API TM18:46
Kaleoaquarius, that's the next work item for you18:46
* aquarius updates the notes to point at Kaleo's link ;)18:46
mzanettiyeah... I guess I can look into it if kgunn is fine with it18:48
Kaleolol18:49
* aquarius laughs18:49
aquariusstop trying to just trying to assign stuff to me :)18:49
bfilleraquarius: good example of problem I was talking about: http://qt-project.org/forums/viewthread/368518:49
aquariusbfiller, right. That dude there wants a ListModel which contains both Channel and Program items18:50
aquariusthat's not allowed. ListModels don't work like that.18:50
aquariusIt would be nice if they did, but they don't ;)18:50
bfilleraquarius: I want the same thing :)18:51
aquariusI see what you mean about the parent node thnig, though18:51
kyleNI'll be glad to write something up with a bit of guidance to start with from the technical experts18:52
mzanettio/18:52
pmcgowankyleN, thanks18:52
bfilleraquarius: your ListElement example above though is exactly what I want but from XmlListModel. Looks like it's easy with Json to do it18:53
=== ChanServ changed the topic of #ubuntu-uds-appdev-1 to: Currently no events are active in this room - http://summit.ubuntu.com/uds-1311/appdev-1/ - http://irclogs.ubuntu.com/2013/11/21/%23ubuntu-uds-appdev-1.html
=== bfiller is now known as bfiller_afk
aquariusbfiller, yeah... ideally you'd do this: http://pastebin.ubuntu.com/6454817/ but it doesn't work, which must be an XmlListModel limitation where it won't ascend to the parent :(19:10
aquariusbfiller_afk, mzanetti ^19:12
=== bfiller_ is now known as bfiller
=== salem_ is now known as _salem

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!