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