[07:31] good morning [07:34] popey, do you think you can upload http://people.canonical.com/~dholbach/tmp/help.ubuntucoredev_0.5_all.click with "Updated translations."? [07:46] dholbach: sure thing [07:47] * dholbach hugs popey [07:50] all done dholbach [07:51] thanks a bunch! [07:54] np [08:31] Good morning all; happy Monday, and happy Eat a Hoagie Day! 😃 [08:32] JamesTait: single handedly driving traffic to the subway sandwich page of wikipedia [08:32] 😃 [08:33] I'm not on commission from Greggs. [09:01] Honest gov'nor [09:03] davmor2, wouldn't it be more like 'tis truth i tell thee' :) [12:11] balloons: seems calculator also still has utopic building, can this please be disabled (across all apps?)? https://code.launchpad.net/~gang65/ubuntu-calculator-app/ubuntu-calculator-app-mathjs-2-upgrade/+merge/268046 [12:19] popey, OWM radar seems pretty accurate as well... rain just beyond Oxford (it just stopped raining :-) ) [12:19] hah [12:20] ahayzen: what's the api like? [12:20] not sure, haven't looked yet [12:20] kk [13:14] morning balloons ^^ :D [13:20] aye-aye [13:21] ta [13:51] nemo: I'll be back from work around 2230 UK time this evening. If you're around and free we can have another look at hw [13:56] m'k [13:57] mcphail: well first thing that would be nice to have would be verbose build logs to look into that link error [13:57] which seems likely due to using libs from wrong location, or else you wouldn'tve gotten to linking [13:59] nemo: OK. I've got a tarball of the tweaked source from my backup machine. I'll ping you later when I've got it building again. Remind me of the build flags to get a verbose log output? [14:00] mcphail: make VERBOSE=1 oughta do the trick [14:00] nemo: ack [15:14] looks like ubuntu started an add campain on android :D https://scontent-ams2-1.xx.fbcdn.net/hphotos-xaf1/v/t35.0-12/12011693_10206563951450537_2014479127_o.jpg?oh=e515a8ae9d301e189b815fbce73905be&oe=55F8F979 [15:27] Hi everyone, I'm working on a open source project for ubuntu, it's called IntelligentSecurity [15:28] and provides face authentication using a webcam [15:28] if you want to check it out, its hosted on github [15:28] https://github.com/charslab/IntelligentSecurity [15:28] huh. kinda neat [15:29] I've never had any luck w/ that on my phone which was why I switched to swipe pattern and fingerprint, but still fun [15:29] (my android phone) [15:29] might work better on a laptop too [15:29] more reliable positioning and such [15:31] check it out, it works on any desktop/laptop [15:32] I must say it works pretty well too, after some training it can recognize my face even with low light and a shitty webcam [15:32] its based on opencv [15:35] carlduke2: well, problem w/ that is always false positives I 'spose [15:35] carlduke2: does it do clever things to cut down on the photo trick? like trying to see if the image seems live? [15:36] Nothing still implemented against photo trick, although it seems not to recognize them as positive (but it may happen with me only) [15:36] so that's one thing which has to be implemented [15:37] but you may try it for yourself [15:37] do you have qt creator installed? [15:38] carlduke2: well. I do have qt build env for Hedgewars ☺ [15:38] carlduke2: but I'm not physically at my machine so wouldn't do much good. [15:38] just install qtcreator, clone the repo, run configure_env.sh and build it :D [15:38] p'raps someone here might be interested [15:39] yeah that would be nice [15:39] you develop hedgewars? [16:16] nemo: np, test it when you can :D [16:16] carlduke2: ah. yeah [16:16] carlduke2: been poking code into hedgewars since jan 2009 [16:16] but. what w/ the kids now my commit rate has fallen way off [16:16] so has unc0rr's so we definitely have a bit of a problem there [16:16] wow, that's cool [16:17] oh yaeh i can image === carloalberto is now known as carlduke === ahayzen_ is now known as ahayzen [18:45] Hello to all spent 4 hours, and can not play any sound from app... can some body help [18:45] ??? [21:04] ping nik90 [21:11] aquarius: I'm around if you'd like to chat. [21:12] heya rschroll! [21:12] you've been making lots of progress ) [21:12] and I'm too busy to do anything :( [21:13] That's what boredom does... [21:13] rschroll, but the container (in my fork) roughly works -- what I don't know is how to wire up all the cmake stuff [21:13] I did manage to establish that one can loop in cmake, so we can basically loop from 1 to 20 and create a container-${n}.desktop and container-${n}.url-dispatcher for each, I think [21:14] but I think the thing I'd best do is actually get this all running on the phone, which is why I wanted to talk to you :) [21:14] sounds good. [21:15] I hadn't seen your webapp branch yet. Taking a look now [21:16] rschroll, first, stupid, question: to open a cmake project in Ubuntu SDK, I browse to and open CMakeLists.txt in the root, right [21:16] ? [21:17] Yes. And then it will complain about not being able to find a .user file and offer you a non-sensical dialog [21:19] Let me clone the project myself and see what happens [21:19] OK. If I do that, I get this: http://pastebin.ubuntu.com/12412293/ [21:20] or just look at your message, I guess.... [21:20] which claims to be missing sqlite3, but I don't know how to add that, and I have no idea where it's looking for it (it should be in some sort of chroot, since I've only chosen the Kit for my Bq phone, not for the desktop) [21:21] yeah. sqplite is the problem [21:21] In Qt Creator Tools > Options [21:21] Choose "Ubuntu" from the left-hand side [21:22] "Click" should be the first tab on the right. It should list "Click build targets" [21:22] it does [21:22] there should be on with armhf architecture. Click the maintain button [21:23] yup [21:23] You should have a root shell in the chroot now [21:23] do I then just apt-get install sqlite3? [21:23] (I do have a root shell in the chroot) [21:24] libsqlite3-dev [21:24] installing... [21:24] balloons: pong [21:24] (sorry you have to give me the little kids class in compiling things. This is why I write stuff in Python :)) [21:24] After that, you can close the chroot shell. Then, on your machine run 'click-chroot-agent -r' [21:25] It does some magic I don't understand to make things work. [21:25] (I still don't understand why we're not writing scopes in javascript....) [21:26] OK. I closed Qt Creator, ran click-chroot-agent -r, opened Qt Creator again, and... same error. [21:26] so, maybe I configured the wrong chroot, although I don't think I did. [21:26] Will try again. [21:27] I've screwed that up before. [21:27] I'll check my chroot to see if other sqlite stuff is installed [21:28] Wait -- I screwed things up for you [21:29] Uninstall libsqlite3-dev [21:29] Install instead libsqlite3-dev:armhf [21:29] (I've wasted hours tracking down that mistake before....) [21:30] Well, if that's a thing. I'm not sure the dev packages are architecture dependent.... [21:30] ahaha! [21:30] that has fixed it :) [21:30] nice one [21:31] *sigh of relief* [21:31] ok. Now to work out how to run it on the device... [21:31] Click projects on the left column [21:31] hm, Qt Creator makes me choose one of addtodash or addtodash-scope to deploy. [21:32] (that's a question: both the scope and the app know how to create the initial database, yes?) [21:32] I've chosen addtodash myself [21:32] ok, deploying the app [21:32] The scope cannot. It looks like it doesn't even have write access to that directory [21:33] ah, yes, you said that [21:33] so if they open the scope first we just display the "Manage your apps" button which launches the app? [21:33] We should check the behavior of the scope when the database does not exist, and show a usage message [21:33] (which we'd need to display somehow anyway) [21:33] or that [21:33] treat it the same as "the DB exists but there's no apps in it" [21:34] yeah, probably [21:34] I already have the manage button working in the query branch. [21:34] We just need to see what happens when the database is gone. [21:34] brb [21:34] ah, we haven't got the content hub stuff wired up yet. [21:36] so, how do you fancy adding the cmake stuff to the container folder? (I'll send a pull request first so you can review the code, natch) [21:37] The content hub should be working.... [21:37] addtodash wasn't showing up in the Share menu from the browser [21:37] will try again :) [21:38] oh, haha, it is now [21:38] Great! [21:39] Yeah, if you have the containers in place, I can try to get things wired together [21:39] once I've added an app, should the scope work? [21:39] It should [21:39] (once I've deployed the scope, which I shall try now) [21:39] It should be running as long as the app is [21:40] look for it in the scopes list [21:40] I don't have to deploy addtodash-scope to get it on the phone? [21:40] The both get installed together. The question is which gets run with output going back to Qt creator [21:41] oh, gotcha [21:41] (I think) [21:42] well, would you look at that. Works! Nice. [21:42] nemo: ping [21:42] whadaya know... [21:42] the "Settings" stuff in the menu is built into the scope API, yes? Or can we make that open the app? [21:42] this is cool. [21:43] Scope settings are very limited. [21:43] I don't think we can trigger the app from them. [21:43] bah humbug. [21:44] But we can put a result at the bottom of the scope that launches the app [21:44] see the query branch [21:44] ya, that was my thought [21:44] Need to save the images, but I think we're probably best if that's done from C++? I can do it in pure QML if I have to but it's hassle; it'd be a lot easier for you to just do a Qt HTTP request and bang the result in the DB... or maybe even on the filesystem, then we can use the new Thumbnailer? [21:45] so I'll hand you an image URL somehow [21:45] I don't know if it makes sense to get the image in the webview, base64-encode it, and pass it out that way? [21:46] Should we store them base64 encoded in the database? [21:46] Or write them to the filesystem and store the path in the database? [21:47] Or store the binaries in the database? But then what? [21:47] that's hard, because of cross-origin issues; reading an image's actual data requires either XHRing it off the server with a good XHR implementation (the one *in* the webview, and then we don't have base64) or writing it into a canvas and then toDataURLing it back out [21:48] I can do both of those if need be, and if you reckon that fetching the image in Qt would be harder, I will do [21:48] It's worth investigating the new Ubuntu thumbnailer service, I think; if that turns out to be worth using, I think we'll need to store the images on the filesystem and store the path in the DB [21:49] https://michihenning.wordpress.com/2015/08/15/a-fast-thumbnailer-for-ubuntu/ [21:49] if it's *not* worth using that then we can probably store base64 URLs in the DB... but can we give a data URL to the scope to display an image? [21:49] Will the scope take advantage of the thumbnailer? [21:50] I don't know. [21:50] it *ought* to [21:50] Not our problem, really. [21:50] the point of the thumbnailer is to be super fast so scopes can use it [21:50] I've managed to pass data URLs to scope things before, so that should work [21:50] huh [21:51] interestingly, it looks like it provides a Magic URL Type [21:51] which there'd be nothing stopping us using in the app too [21:51] what does? [21:51] the thumbnailer [21:51] nifty [21:51] One API is a QML plugin that registers itself as an image provider for QQuickAsyncImageProvider. This allows the caller to to pass a URI that encodes a query for a local or remote thumbnail at a particular size; if the URI matches the registered provider, QML transfers control to the entry points in our plugin. [21:52] that *suggests* that one can set the source of a QML Image to thumbnailer:http://example.com/img.jpg or something [21:52] and then the thumbnailer will cache it [21:52] and then it'll be available to the scope too [21:52] and we didn't have to do any work at all; we just store the upstream image [21:53] but... the docs don't actually *say* that works, they just imply it ;) [21:53] of course. Documentation is for weenies. [21:53] need to ping michi or jamesh [21:53] neither of whom hang in this channel, it seems [21:54] * aquarius pings jamesh [21:54] although it's a bit early for him :) [21:55] OK. So, I should change the container to not do all the chaining stuff, but instead to save its status every time it's made active, yes? [21:55] I'm not too worried about the icons. One way or another we'll get it to work. [21:55] how does the container know where the database is? [21:55] I don't think QML LocalStorage can open an arbitrarily named database, can it? [21:56] No. But you give it a name and that reliably maps to the same location on the filesystem [21:56] no. [21:56] actually... [21:56] they get different appids. [21:56] is that going to mean they get different .local/share folders? [21:56] I hope not. [21:56] need to check that! [21:56] I think that the .local/share comes from the package name [21:56] not the app_id [21:56] yeah. Hope so :) [21:57] ok, I will make that change before sending a pull request for the containers [21:57] but... this is cool. Nice work [21:57] About the containers: [21:57] Should they keep updating their current URL? [21:58] I don't think so. [21:58] If they started at nyt.com, but you follow links to guardian.co.uk, should the next trigger of nyt.com use this container? [21:58] ah, you can't do that [21:58] if you navigate outside the domain, it opens in the browser. [21:58] sounds good [21:58] no worries there, then [21:58] yup [21:59] we can pass a more or less limiting URL pattern to a container if need be and it'll honour it, but for the moment I'm inclined to not make that a configurable thing, and we'll expose it later if need be [21:59] yeah, so I think the container just has to write its id, url, and current time to the database everytime it gets focus [21:59] and then we're good [22:00] then the launcher has to figure out what to do with that.... [22:00] excellent. [22:00] yeah. Did you establish whether the scope code can decide on the URL to launch after the user chooses something? [22:01] I've been reading the docs, but it's not clear. [22:01] I'll have to try and see what happens [22:01] yeah [22:02] BTW, a cool trick: [22:03] (have asked michi about the thumbnailer on g+) [22:03] If you make a bookmark with URL application:///_.desktop, you can use our scope to launch an app [22:03] oh yes! [22:03] Or scope://app-id to launch scopes [22:03] so if we can be faster than the app scope then that'd be a good demo :) [22:03] Let's try not to break this as we add the containers... [22:04] I think we'd need a little special handling for that in the scope, otherwise the container will get launched and then look empty :) [22:04] but that's a neat trick [22:05] Yeah. I don't know if we put it in the docs. But as an easter egg it's sorta cool. [22:05] We can't get icons for them automatically due to confinement, so making it look nice would take some work [22:06] And you have to update the URL everytime there's a new version.... [22:08] Have you used the new ListItems yet? [22:08] you can say current-user-version instead of a version number, so that bit's not a problem, although icons are :) [22:09] I haven't used the new ListItems; every time I try to use the provided nice ListItems they don't do a thing I want and I end up implementing my own on top of ListItems.Empty anyway :( [22:09] :( [22:09] I saw they had drag-and-drop support, which would be nice for ordering favorites [22:09] But when I tried to use them, they looked ugly [22:11] yeah. It did occur to me that maybe we should try to look really really nice, to encourage people to use this [22:11] There's definitely a lot of polish we can add once things are working. [22:12] might be worth talking to super-skill design people; snwh or kevin feyder or someone [22:12] lots of cool ideas to add once things are working, yeah. Recommendations sourced from a server; sharing; etc. But we'll get it working first :) [22:13] One design project I already anticipate -- it'd be nice to have similar but distinguishable icons for the various containers [22:13] oh? [22:14] So when you have several open, you don't have the same icon 5 times in your icon bar thing on the left. [22:14] (there's probably an official name for that) [22:14] (the Launcher) [22:14] yes. That would be good. [22:15] What we really want there, of course, is a dynamic icon so it looks like the actual icon for the webapp [22:15] but I don't believe that's possible :( [22:15] With our database technique, the oft-used webapps will end up using the same container each time, so you might started to get to know htem [22:15] The website icon would be better, of course, but not possible... [22:16] who would know about this, I wonder? [22:17] tedg, ping: is there any way that a phone app can set its Launcher icon? For example, could it set its Icon line in its .desktop file to be /home/phablet/.local/share/appid/mydynamicicon.png and then overwrite that if it wanted? [22:18] I suspect it *has* to be a name which gets looked up on the icon path, which isn't anywhere we can write to :( [22:19] the desktop file *spec* says it can be an absolute path [22:19] that'd be sweet if it works. [22:19] Another thing to try. [22:20] gotta hardcode the path to our app directory, which will sod us up in multi-user, but that's a problem for five years from now :) [22:20] So for now: I'll see about launching containers from the scope. You'll get containers recording progress to a database. [22:21] We'll find out about thumbnailer URLs. [22:21] ok. the thumbnailer can only read filesystem files. [22:21] (got an answer from michi) [22:21] that was quick [22:21] so if we want to *use* the thumbnailer then we'll need to write the icons to the filesystem [22:22] not sure if we want to use it or whether we're faster to read our own database. I *suspect* the thumbnailer is faster [22:22] but that'll need testing. [22:23] I'll start futzing with a C++ downloader [22:23] cool [22:23] the app already does some work to get an icon, but it needs to do more (in particular, it doesn't look for shortcut icons, or yet read any manifest) [22:24] That's a place where we can just keep adding search locations as we think of them. [22:25] The API from the qML side won't change. [22:25] yup [22:25] But now, time for me to make dinner. [22:28] I'll try to hang around here more often, so we can chat again as things come up. [22:28] cheers, pal [22:29] if you're on Telegram, you could join the Ubuntu Apps group? Lots of useful discussion there [22:29] I can invite you if you want. [22:29] You kids and your crazy new technologies. [22:30] I'll try to check it out. [22:30] I know! I'm just so l33t [22:30] thanks [22:30] let me know if you wanna join and I'll do an invite. I think there's a link you can click somewhere to join it but I don't know what it is :) [22:30] might as well see what the fuss is about. Thanks. [22:51] aquarius: gary wang made a patch / recommendation for changing the calendar icon iirc [22:51] if thats any use [22:52] https://bugs.launchpad.net/ubuntu/+source/unity8/+bug/1453795 [22:52] Ubuntu bug 1453795 in unity8 (Ubuntu) "Apps can't change their own app icon" [Undecided,Confirmed] [22:52] bah [22:52] pretty sure I saw a patch somewhere [22:54] that absolutely would be of use, if it works :) [22:54] we'll try the absolute path trick :) [22:58] it would be nice if there was a framework for "dynamic" icons. They seem quite useful [23:02] What's the best way to react to my app being switched to? (That is, made the foreground focused app?) [23:02] MainView.onActiveChanged? [23:05] ah [23:06] Qt.application.state == Qt.ApplicationActive [23:06] http://doc.qt.io/qt-5/qml-qtqml-qt.html#application-prop [23:06] that took a long time to find.