21:01 <popey> #startmeeting File Manager app meeting 21:01 <meetingology> Meeting started Tue Jan 7 21:01:15 2014 UTC. The chair is popey. Information about MeetBot at http://wiki.ubuntu.com/meetingology. 21:01 <meetingology> 21:01 <meetingology> Available commands: #accept #accepted #action #agree #agreed #chair #commands #endmeeting #endvote #halp #help #idea #info #link #lurk #meetingname #meetingtopic #nick #progress #rejected #replay #restrictlogs #save #startmeeting #subtopic #topic #unchair #undo #unlurk #vote #voters #votesrequired 21:01 <popey> Boilerplate... 21:01 <popey> File Manager App links:- 21:01 <popey> Bugs: https://bugs.launchpad.net/ubuntu-filemanager-app/+bugs 21:01 <popey> Reviews: https://code.launchpad.net/ubuntu-filemanager-app/+activereviews 21:01 <popey> Blueprint: https://blueprints.launchpad.net/ubuntu-phone-commons/+spec/coreapps-1404-filemanager-dev 21:01 <popey> General Links:- 21:01 <popey> Milestones: https://launchpad.net/ubuntu-phone-coreapps/+milestones 21:01 <popey> Burndown: http://status.ubuntu.com/coreapps-14.04/ 21:01 <popey> Blockers: https://wiki.ubuntu.com/Touch/CoreApps/Blockers 21:01 <popey> So this is our first meeting for a while.. 21:02 <popey> I wanted to kick off with a few high level goals that we had in mind for filemanager, and see what you think, and if you have some additional suggestions 21:03 <popey> For this cycle we'd like to focus on desktop convergence. 21:03 <popey> What that essentially means is making the file manager work as fantastcially on the desktop as it does on the phone. 21:03 <iBelieve> I've made quite a bit of progress on desktop convergence features, but unfortunately I've been busy with work & school and haven't add time to finish them. 21:03 <popey> Less of a priority would be tablet in this cycle. 21:03 <popey> That's great news iBelieve 21:03 * mhall119 is about 21:03 <popey> Work and school are also important ㋛ 21:03 <ajalkane> What exactly does desktop convergence mean here? 21:04 <popey> In a nutshell, making the same app work as a desktop file manager, as well as a phone one. 21:04 <mhall119> yeah, file manager has more convergence already than any other core app 21:04 <mhall119> great jobs guys 21:04 <popey> So someone could start filemanager and use it in the same way they might use say nautilus 21:04 <popey> (but with a smaller set of features) 21:05 <popey> I agree, we're quite some way towards that goal already. 21:05 <iBelieve> popey, mhall119: is the plan to eventually replace the GNOME core apps, including Nautilus? 21:05 * mhall119 has another feature request to bring up this meeting 21:05 <popey> iBelieve: that's a tricky one to call really. 21:05 <mhall119> iBelieve: the goal is to be able to ship only SDK apps by default, at some point in the future, so yes 21:05 <ajalkane> Okay... is there bugs or blueprints on items that are needed to be implemented for desktop conergence? 21:06 <popey> I mean, for 14.04 we're still shipping Unity7, for 14.10 or 15.04 we will switch to Unity 8 21:06 <mhall119> but the timeframe for that isn't set in stone 21:06 <iBelieve> mhall119: cool! looking forward to that time :) 21:06 <popey> ajalkane: I'm glad you asked! 21:06 <popey> we have a blueprint (link above), but it needs filling. 21:06 <iBelieve> Here's what I've been working on so far: https://code.launchpad.net/~mdspencer/ubuntu-filemanager-app/better-desktop-support/+merge/198165 21:07 <popey> which I plan to do this week, but am happy for others to also do that ☻ 21:07 <popey> So initially we need to establish what features we want for 14.04. 21:08 <iBelieve> popey: do you want me to add work items for the features I've been working on in that merge request? 21:08 <popey> lets an etherpad so we can brainstorm together 21:08 <popey> then paste into the blueprint after.. 21:08 <popey> one moment.. 21:08 <popey> http://pad.ubuntu.com/FileManagerWorkItems 21:08 <popey> there we go 21:08 <ajalkane> popey: the blueprints you linked is empty. Work in progress or is there supposed to be something? 21:09 <popey> it is indeed empty. lets fill it. 21:09 <popey> via that etherpad above. 21:10 <ajalkane> does drag-and-drop work yet? 21:11 <ajalkane> (+ modifiers ie. copy/move/(link) 21:11 * popey pulls latest 21:11 <iBelieve> ajalkane: no. 21:11 <iBelieve> ajalkane: that would be really nice to have, but I don't know how difficult it will be 21:12 <ajalkane> I'd think that's pretty mandatory at some point if the goal is to replace nautilus. Though I'd wager it'll be counted in years instead of months when that's feasible. 21:12 <popey> indeed, some of these will be longer term goals. 21:13 <iBelieve> Do we want to have Open in Terminal added this cycle? CarlosMazieri, I think you were looking into this from what I saw on the mailing list? 21:13 <mhall119> I don't think we need open in terminal 21:13 <balloons> ^^ +1 21:13 <CarlosMazieri> iBelieve: that needs implementation on terminal and Url dispatcher 21:14 <iBelieve> CarlosMazieri: okay, thanks. 21:14 <ajalkane> On the other hand for desktop copying the current directory is pretty elementary 21:14 <ajalkane> I mean copying the path (ctrl+l in nautilus to edit the path) 21:14 <ajalkane> Though not necessarily for this cycle 21:14 <iBelieve> mhall119: I think it would be very useful to have at some point. Are you saying we shouldn't have it at all, or just not this cycle? 21:15 <mhall119> I just wouldn't make it a priority 21:15 <mhall119> it's not necessary for a file manager to manage files 21:15 <popey> the terminal couldn't do much even if you did implement that 21:15 <popey> (on phone at least as it's confined) 21:15 <mhall119> no it's not 21:15 <popey> oh, i thought it was from my usage of it 21:15 <mhall119> I'm 99% sure terminal is unconfined 21:15 <iBelieve> popey: I'm thinking more about using it on the desktop 21:16 <popey> right 21:16 <popey> mhall119: ok, nvm then 21:16 <mhall119> iBelieve: confinement is going to come to the desktop too 21:16 <mhall119> eventually 21:16 <popey> i agree though, it's an advanced feature IMO, not priority for now 21:16 <CarlosMazieri> I am thinking about implementing Trash capability some time soon 21:16 <ajalkane> I agree opening a terminal on the current path would be excellent for me, but probably not a priority for most users 21:16 <mhall119> trash would be a good feature to have 21:16 <iBelieve> mhall119: right, but the terminal will always have full access, correct? 21:16 <iBelieve> CarlosMazieri: +100 21:16 <mhall119> iBelieve: I would imagine so, yes, it wouldn't be very useful otherwise 21:17 <CarlosMazieri> But I think we need to be able to transfer/receive files through network 21:17 <mhall119> for reference: http://developer.ubuntu.com/api/qml/sdk-1.0/QtQuick.Drag/ should be what you need to enable drag-and-drop, but I don't know if it works across windows/apps or just inside one 21:18 <mhall119> CarlosMazieri: can we use GIO/GVFS or whatever Nautilus uses for network filesystem support? 21:18 <popey> s/network/mounted/ too 21:18 <popey> e.g. USB sticks 21:18 <ajalkane> That's very important in long term yes 21:18 <CarlosMazieri> mhall119: I have no idea, send link of documentation if you have 21:19 <CarlosMazieri> I'd rather use ssome Qt api 21:19 <ajalkane> CarlosMazieri: maybe KDE has some frameworks that are prospects for merging to Qt or usable as modules 21:20 <mhall119> +1 21:21 <mhall119> KDE might even use some existing Qt API for this that we're not aware of 21:21 <CarlosMazieri> Yes, maybe. 21:22 <popey> Ok, mhall119 you had some other feature you wanted to mention? 21:22 <mhall119> yes, a very important one 21:22 <mhall119> I'd like the file manager to become a ContentHub provider for files 21:23 <mhall119> http://developer.ubuntu.com/api/qml/sdk-1.0/Ubuntu.Content.index/ 21:23 <mhall119> see the exporter example on that page 21:23 <iBelieve> mhall119: so it would basically work like a open file dialog? (but copy the files into individual apps) 21:23 <mhall119> this would allow another app, the webbrowser-app for example, to request a file from the ContentHub, then the ContentHub would open the filemanager-app to pick a file 21:24 <mhall119> iBelieve: yes, I don't know if you would need to copy the files, or if ContentHub just gives dynamic permissions to access it 21:24 <mhall119> kenvandine can give you any implementation details 21:25 <mhall119> but we desperately need a way for confined apps to access files outside of their confinement, and the filemanager is the logical place to do that 21:25 <kenvandine> content-hub would copy the files 21:25 <kenvandine> or... the app requesting the content could provide a ContentStore 21:25 <mhall119> kenvandine: so the ContentItem they would use would have a name and file:// url? 21:25 <kenvandine> that the app has access too 21:25 <kenvandine> a file url 21:26 <kenvandine> and if you don't specify a ContentStore, the hub copies it to a generic HubIncoming location 21:26 <mhall119> kenvandine: none of that would matter to the filemanager-app though, right? 21:26 <kenvandine> right 21:27 <mhall119> also, the exporter example is on this page: http://developer.ubuntu.com/api/qml/sdk-1.0/Ubuntu.Content.ContentHub/ 21:27 <kenvandine> the filemanager-app charges the transfer with file uris 21:27 <mhall119> not the previous one I posted 21:27 <ajalkane> So how will ContentHub call FileManager which is a QML based app so that FileManager knows it's been called as a selector? 21:27 <kenvandine> and the hub handles copy the files and changing the file paths 21:27 <kenvandine> it starts it with upstart-app-launch 21:27 <mhall119> ajalkane: we'll need to add stuff to your click manifest, kenvandine is going to get us documentation on what 21:28 <mhall119> kenvandine: so to make sure I understand, it will start the app normally, but then call the onExportRequested handler? 21:28 <kenvandine> what you need to do is see the export request signal and go into picking mode 21:29 <kenvandine> right 21:29 <mhall119> and does the filemanager-app process get terminated after? or should it exit on it's own? 21:29 <kenvandine> depends... 21:29 <kenvandine> if it wasn't running before we fire it, it exits 21:29 <kenvandine> if it was running, then it doesn't exit 21:30 <ajalkane> Okay nice... so in case of FileManager it's basically going into file-picking mode with filtering set by default to what ContentType is passed? 21:30 <kenvandine> but you should handle switching out of your pick mode 21:30 <mhall119> ah, ok, so not much needed to be done there either 21:30 <kenvandine> yeah 21:30 <kenvandine> note though... in the future it will spawn a new instance 21:30 <ajalkane> I'd say that if user had filemanager running, the content picking should launch another instance so that user's context is not lost 21:30 <kenvandine> using the trust session stuff 21:30 <kenvandine> so it'll appear as if it was one app 21:31 <mhall119> so, to recap: 21:31 <mhall119> 1) need a file picker component/display mode, something 21:31 <mhall119> 2) need to implement the ContentHub code to respond to the export request 21:32 <mhall119> 3) need to update the click and apparmor manifest files to let the platform know it provides it 21:32 * popey pops up a paperclip - "It seems like you're typing work items" 21:32 <mhall119> did I miss anything? 21:32 <ajalkane> 4) need desperately some app/code to test an application that requests content picking 21:32 <kenvandine> the json file for the source types 21:32 <kenvandine> which isn't documented on the site :) 21:32 <kenvandine> but you have the example app to look at 21:33 <kenvandine> ajalkane, look at my importer example for that 21:33 <kenvandine> lp:~ken-vandine/+junk/hub-importer 21:33 <mhall119> ajalkane: we can write a test app that does that 21:33 <kenvandine> you could modify that to be a test client app 21:33 <kenvandine> and 21:33 <mhall119> and when it's starting to be functional, we can talk to osomon about adding it to the webbrowser 21:33 <kenvandine> lp:~ken-vandine/+junk/hub-exporter 21:33 <kenvandine> is an example implementation for exporting 21:34 <mhall119> docviewer-app will want to use it as soon as possible too 21:34 <mhall119> so that it cna finally be used :) 21:34 <kenvandine> ajalkane, just note... you need to build click packages to test this 21:34 <kenvandine> it's hard to test the interaction without the app being installed as a click package 21:34 <popey> note we have the emulator for testing now ☻ 21:34 <kenvandine> :) 21:34 <ajalkane> kenvandine: that should do it... though mapping ContentType.Pictures to actual filetypes can be hard, but perhaps we have already some infrastructure for that? 21:34 <mhall119> can you install click apps in the emulator? 21:35 <popey> i would hope so 21:35 <kenvandine> ajalkane, not now... but that's coming for this cycle 21:35 <popey> its the same image 21:35 <mhall119> can we just go with ContentType.Unknown for now? 21:35 <kenvandine> we are adding a content type based on mimetypes 21:35 <kenvandine> which will give you something you could easily filter on 21:35 <kenvandine> i think i finalized the plan for that, time to start implementing it 21:36 <kenvandine> ajalkane, for now i would say don't worry about filtering the content yet... or do some arbitrary filter until the richer content types implementation lands 21:36 <ajalkane> FileManager does not try determining files mimetypes at the moment, so that's already something that's a bit of work 21:36 <kenvandine> i'll be starting on that next week 21:36 <mhall119> is it possible to start with an implementation that doesn't care about content types? 21:37 <kenvandine> the idea is the app requesting the content can provide a list of mimetypes it wants 21:37 <ajalkane> We can just ignore ContentType at first of course 21:37 <kenvandine> then the exporting app can use that as a filter 21:37 <ajalkane> But at some point something needs to be bolted into the C++ backend 21:37 <mhall119> that would at least let it work for any file 21:37 <CarlosMazieri> mhall119: I think so, we just need to expose mime types 21:37 <kenvandine> right 21:38 <mhall119> CarlosMazieri: why? 21:38 <CarlosMazieri> you are talking about content types right? 21:38 <kenvandine> in content-hub v2, the ContentTransfer object will have a property defining a list of mimetypes 21:38 <mhall119> I'm talking about ignoring them for the first version of this 21:38 <mhall119> don't ask, don't tell 21:39 <kenvandine> :-) 21:39 <kenvandine> later it shouldn't be hard to add filtering based on mimetypes 21:39 <kenvandine> it looks pretty easy to use mimetypes in Qt 21:39 <mhall119> so client says "Hey content-hub, give me some file", content hub says "Hey file manager, give me some file", file manager says "Hey user, pick some file", never caring about what kind of file 21:40 <ajalkane> I'm not familiar yet with the emulator or click packages when doing development on desktop, but some meaningful way to test this is mandatory 21:40 <kenvandine> from my initial hacking 21:40 <mhall119> ajalkane: my Nexus4 is as your service 21:40 <popey> ajalkane: https://lists.launchpad.net/ubuntu-phone/msg05784.html 21:40 <kenvandine> ajalkane, what i do is build a click package and push it to my phone 21:40 <popey> yeah, same here 21:40 <kenvandine> but the emulator makes that even easier 21:40 <ajalkane> heh, port this thing to N9 and I can test :P 21:41 <ajalkane> Emulator will do fine if it works there 21:41 <kenvandine> that would be cool... lots of our developers have n9s 21:41 <popey> yeah, n9 was the original touch platform. 21:42 <mhall119> ok, got another meeting I need to run to, but is everything happy that they know what needs to be done, and that it can be done? 21:42 <mhall119> s/everything/everybody/ 21:42 <popey> yeah, we've over-run. I'll condense some of this into work items in http://pad.ubuntu.com/FileManagerWorkItems 21:43 <popey> then add to the blueprint. 21:43 <ajalkane> It's cool... 21:43 <mhall119> thanks popey 21:43 <iBelieve> great, looking forward to awesome work on the File Manager! 21:43 <popey> Are there any other questions / issues or shall we wrap up for now? 21:43 <ajalkane> iBelieve: do autopilot tests for FileManager run for you? 21:44 <iBelieve> ajalkane: haven't run them in a while. 21:44 <ajalkane> iBelieve: if you can check it and mail me at some point... for me they fail eventually 21:45 <iBelieve> ajalkane: I have to use a Mac for work and my Ubuntu VM is having issues running QML apps. I'll try to take a look at them 21:45 <popey> iBelieve: there's a fix for the Ubuntu VM issue 21:45 <popey> https://bugreports.qt-project.org/browse/QTBUG-32225 is the bug 21:45 <popey> QSG_RENDER_LOOP=basic qmlscene app.qml 21:45 <popey> is the workaround 21:45 <ajalkane> Specifically AttributeError: Class 'MainView' has no attribute 'wait_select_single'. 21:45 <ajalkane> I'm just wondering if it's a case I need to update to later Ubuntu release 21:46 <ajalkane> I'm with 13.10 21:46 <popey> that should be fine. 21:46 <iBelieve> popey: thanks, I'll try that 21:47 <iBelieve> ajalkane: the last time I ran them was in 14.04 and they worked fine 21:47 <ajalkane> iBelieve: aye okay... when you have time to run them let me know the results. I wouldn't want to upgrade to unstable unless I have to 21:48 <popey> yeah, you shouldn't need to. 21:48 <iBelieve> ajalkane: will do 21:48 <popey> Anything else? 21:49 <iBelieve> popey: nothing else from me. 21:49 <ajalkane> Not from me. Thanks all for the meeting 21:49 <CarlosMazieri> no 21:49 <popey> Great, sorry for the lengthy meeting. Glad we could get it all covered. Thanks also kenvandine 21:50 <popey> #endmeeting