[KDE Usability] Review Request 126622: GSoC 2016 Project Idea: File Trays for Dolphin GUI Mockup

arnav dhamija arnav.dhamija at gmail.com
Sun Apr 10 05:05:20 BST 2016



> On Jan. 11, 2016, 7:53 p.m., Ken Vermette wrote:
> > I'm not 100% convinced this would be appropriate for Dolphin, and I don't think calling it a 'tray' is particularly explanitory. Instead I would think this feature would be much more appropriate in Klipper, perhaps calling it "Copy Multiple Files", "Record Multiple File Copies", or something that uses familliar terms.
> > 
> > In the Klipper popup you would have the "Copy Multiple Files" or "Record Multiple File Copies" button. This button would create a multi-file clipboard entry and "open" it. When you have an open file clipboard any file copies you make will be added to that file list - regardless of origin or program. Could be an FTP file, could be music from Juk. When you are done filling (or 'recording') your file copies you would hit the "done" button to stop adding to it. The Klipper tray icon might show a "recording" emblem while in this state. Perhaps, after a period of inactivity, if the user copies a file Klipper might notify the user that it is still recording.
> > 
> > This would also allow adding the "edit" button for file entries in the clipboard, where it would simply re-open the multi-copy interface for a given group of files in teh clipboard. Already copied soem stuff but forgot one file? Just hit edit, add the missing file, and done.
> > 
> > The main benefit to using Klipper in general is allowing you to copy from multiple applications. You could be using and FTP program, Juk, Dolphin, or several applications at once. Additionally, as a desktop-level service, non-KDE applications would benefit as well from this feature.
> 
> Thomas Pfeiffer wrote:
>     there was already the idea to provide a separate Plasmoid for this.
>     I still think an integration in Dolphin makes sense (simply because this is where it will probably be used 95% of the time, so splitting the main workflow over several UIs doesn't sound too great to me), but in addition also offers a Plasmoid.
>     I'm not a big fan of integrating it into Klipper. Yes, it is kind of a clipboard, but it's still different, and Klipper is already quite overloaded as it is, so I wouldn't recommend putting yet another feature into it.
> 
> Alexander Potashev wrote:
>     I agree with Ken: this "virtual file tray" should better be implemented outside of Dolphin to share it between applications. As I understand, this is the current plan.
>     
>     Will your implementation design allow using several different file trays, e.g. filetray:/1/, filetray:/2/, ...?

I have thought about having multiple File Trays but to keep the project simple for users I have decided to go for only one File Tray. This was due to the answers given to question 10 of [https://www.surveymonkey.com/results/SM-V7Y8BBZQ/](this user survey)

The idea of having more than one could be a cool power user feature and I will defintely look into it again.The final proposal I have submitted for the gsoc can be found here: [https://goo.gl/BYOWdG](https://goo.gl/BYOWdG)


- arnav


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/126622/#review90935
-----------------------------------------------------------


On Jan. 25, 2016, 6:43 p.m., arnav dhamija wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/126622/
> -----------------------------------------------------------
> 
> (Updated Jan. 25, 2016, 6:43 p.m.)
> 
> 
> Review request for Dolphin and KDE Usability.
> 
> 
> Description
> -------
> 
> (this has since been shifted to: (https://goo.gl/XeszhC)[https://goo.gl/XeszhC])
> 
> **The idea**
> Selecting multiple files in any file manager for copying and pasting has never been a pleasant experience, especially if the files are in a non-continuous order. Often, when copying files between devices we might find that we need to select only a subset of the required files we have selected and this leads to the unwieldy operation of removing files from our selection. Of course, the common workaround is to create a new folder and to put all the items in  but this is a very inefficient process and can be very slow if large files need to be copied between devices.
> 
> My solution to this problem is to add a panel/view in Dolphin where the links to files and folders can be temporarily saved for a session. The files and folders are "staged" on this panel. Hence, the user can add folders and files from several different directories to this panel and can then collectively perform actions on all the items in the tray such as copy, paste, cut, delete items, send via Bluetooth, create a list of symbolic links, and better sharing options for the File Tray and Dolphin as a whole using the KDE Purpose Framework API. Complex file operations such as moving files across many devices can be made easy by staging the operation before performing it.
> 
> Files can be added to this tray by using a right-click context menu option or by using the mouse scroll click or drag and drop. As an additional option, the session for the File Tray Panel can be saved for later use.
> 
> This File Tray will be accessible through the existing Split view function in Dolphin as well as a directory available under the Panel section. This would make it neatly integrated with Dolphin's existing toolset and it would make dragging and dropping easy. Dolphin maintainer Emmanuel Pescosta suggested using Plasmoids to make the project more cohesive with KDE and to make it usable with multiple applications (eg Gwenview).
> 
> **Implementation**
> The File Trays implementation is not completely resolved yet, but currently I want to implement a type of KIO Slave dedicated to the File Tray. Implementing a KIO Slave will make this project extremely versatile as it will allow several other KDE programs (such as Konqueror) to also benefit from such a feature. Creating a Plasmoid for the same will also be much easier as it will be no more difficult than simply using the existing Folder view Plasmoid by setting the directory to filetray:/ and creating some more context menu specific actions (I will probably need a better name than filetray:/ for it though).
> 
> **Use Cases**
> Jerry has a large music collection on his computer and he has many devices such as a tablet, smartphone, HTPC, and a USB drive for his car audio. He needs only a subset of files from his extensive collection which he wants to keep on all his devices. Hence, to avoid making the same selection over and over again for each device, it's much more efficient for him to just create his list on the File Tray and then copy the same list to each device.
> 
> George is a student at university and he has a lot of unorganised files on his computer from lots of different directories. By selecting these files and staging them on the File Tray in a split view mode, he can easily discern where each file should go. He can then easily move files by simply dragging and dropping them in the directory they belong in. This makes the File Tray a helpful tool for file organisation.
> 
> Cosmo keeps forgetting where he keeps his important files as they are often hidden deep within directories and sub-directories. The File Trays feature can come to the rescue here by letting him stash the files in the File Tray and hence it will save him time from drilling deep into directories for a file. Hence, the File Tray can also be used for making quick shortcuts for files. For this I plan to add a feature and user preference to allow the user to restore the Tray from the previous session and to have the option of making the Tray retain the files stored in it across sessions.
> 
> **Interaction Model**
> The File Tray will behave exactly like any other directory in Dolphin. However, the interaction model is not entirely obvious at first glance.
> 
> For example, using Copy on a selection of files and Pasting in the File Tray will populate a list of the folders in the Tray. Now, copying these files from the File Tray and pasting them to another directory will retain the files on the Tray while creating a copy of these files at the chosen directory.
> 
> Using a Cut on a selection of files **on** the File Tray will remove the files on the File Tray while copying them to the chosen directory.
> 
> However, one interaction which I feel will create a lot of confusion would be moving the files to the File Tray. This will be confusing as moving files to a virtual directory is not possible as the files simply exist as URLs on the Tray. Hence, the context menu will have a minor modification to disable/remove the Move option to the Tray. If items are pasted from the Clipboard, the files will still remain in their source directory, regardless of whether they have been Cut or Copied from the source directory.
> 
> On the other hand, there will be two options for Removing files from the File Tray. One option will simply remove the chosen files from the list in the File Tray and the other option will move the selection to the Trash.
> 
> Furthermore, by default, the File Tray will **not** retain the files added in it across sessions, though I will add a button to restore files from the previous session. I also plan to add a Save button (not sure where it should go) to allow the user to save the selection of files they have made on the Tray.
> 
> Another important note about the interaction model I have thought about is that the File Tray should have its own shortcut such as ctrl+W (of course the keyboard shortcut is subject to change). Invoking this shortcut on a selected number of files in the Active Directory should immediately open the File Tray and add all the Files in the selection there. Moreover, the Split view will be disabled whenever the File Tray is active. If the split view is open when the File Tray keyboard shortcut is activated, the Split view of the inactive directory will close and will be replaced with the File Tray.
> 
> Also, the File Open dialog will undergo some modification so users can select items directly off the Tray for other programs.
> 
> Finally, I also want to create a Plasmoid which will sync the same links as the File Tray and will exist as a widget on the Desktop. This Plasmoid will benefit the KDE desktop as a whole as multiple applications will be able to interact with the Plasmoid for stashing files. However, the completion of this may or may not happen with the GSoC timeline as it is completely dependent on how much QML I can learn by the time the GSoC proposal period starts : )
> 
> **GUI Mockup**
> Attached with this Review Request is a Balsamiq mockup for my project idea, building upon what already exists in Dolphin. The Tray panel is activated by a toggle button on the Dolphin toolbar and behaves very similarly to the Split feature. Dragging and dropping folders and files from the active directory on the left and pasting directly from the clipboard will be supported.
> 
> The File Tray will use the same zoom and icon/details/compact settings as the main window of the file manager. While it may be technically possible to have a distinction, I feel it may be too complicated for many users as there will be many duplicate controls. 
> 
> I will be much obliged to hear feedback from the usability and dolphin teams on these GUI interactions : )
> 
> **Extra Features**
> Also, there are a few more features I want to add to make the File Tray more powerful. However, these features are probably a better fit for Dolphin in general, and then the File Tray can use these functions from Dolphin:
> 1) The ability to create symbolic links of a selection of files. Nautilus has been doing this for a while.
> 2) Automatically create a music playlist file by selecting music files.
> 3) Adding support for the KDE Purpose Framework in Dolphin to make sharing easier.
> 
> **Note**
> I made a new mockup by butchering the mockup a bit :S But, the new one is at least indicative of what I want to achieve with this project. I'm leaving the old one in just for some A/B testing if anyone wants to compare.
> 
> 
> Diffs
> -----
> 
> 
> Diff: https://git.reviewboard.kde.org/r/126622/diff/
> 
> 
> Testing
> -------
> 
> 
> File Attachments
> ----------------
> 
> FileTray Mockup (OLD).png
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/01/04/ec5ec185-0307-4579-afc4-567d2aafa220__FileTray_Mockup.png
> FileTray Mockup.png
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/01/09/feeab4a9-df95-42ed-b1f5-7c6bb756db2f__FileTray_Mockup.png
> 
> 
> Thanks,
> 
> arnav dhamija
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.kde.org/mailman/private/kfm-devel/attachments/20160410/4bd6c205/attachment.htm>
-------------- next part --------------
_______________________________________________
kde-usability mailing list
kde-usability at kde.org
https://mail.kde.org/mailman/listinfo/kde-usability


More information about the kfm-devel mailing list