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