czwartek, 16 lipca 2015

GSoC 15 - Remote Files Dialog

The midterm passed some time ago, I'm near finishing implementation of the first part of my Google Summer of Code project. This is a good moment to present results of my work.


I'm working on improving user experience while using remote services in LibreOffice. The main part of this task is implementation of simple dialog used to exploring online document storages. I must also simplify process of creating new ones. I based my work on mockups from: https://docs.google.com/document/d/191XV116O7TQr5qzdou8JO1vNh5xXJtRujv8r07_SONE/edit


Connecting to the CMISs in LibreOffice was possible, but not visible to the average user. It was accessible only in custom LO file dialog which is turned off by default. I've created new remote file picker which can be opened from start center and toolbars.

1. Start Center with new entry, new dialog
2. Changes in Writer's toolbar: new "Open Remote" button and dropdown menu for "Save As" button
3. "Open remote file" entry below recent files

Remote Files Dialog layout
4. Remote Files Dialog
5. Split button with possible actions
6. Listbox with preconfigured services (type + name)
7. Breadcrumb with very long path, deeper folder (New Folder) was visited recently

On the top of windows we have section for manage connections. On the left side: listbox with preconfigured services. On the right side is placed split button which lets us add, edit or delete a service.
Below those controls we can see breadcrumb. The breadcumb could work in two modes: showing only current path, or second: showing also links to the deeper folders which we visited recently (for example when we went level up, this mode is set by default). When path is too long, on the beginning '…' is shown.
On the left side, dialog contains folder tree. When user opens new directory, automaticly proper node is selected. The dialog also contains standard file picker controls: file list, filter listbox and file name field.

Adding new service
The first field which user should fill is the type of service. Types are organized and sorted user-centric (apps, connections, protocols).

8. Organization of service types

Dialog’s complexity depends on the connection type:

9. Most simple: Google Drive
10. WebDAV
11. CMIS
Editing service
In the edit window user can change all data except type of service.

12. Edit window
Connecting
When user selects an entry from services dropdown, login dialog appears. User name is filled by default.
Password could be remembered for ever if user will check the checkbox. In one session it is always stored, user don't have to retype it again before closing LO. Before my changes, when user typed wrong password, it was stored too and was impossible to change. I fixed this bug.

13. Login dialog

TODO / topics for discuss
  • change expanded folder icon in the folder tree
  • "New folder" button in the save mode?
  • change of "Open remote" icon in a toolbar ? (now is the same as regular open icon)
  • "Open remote" entry below recent files and in the toolbar are both needed?
  • should a delete button be in the edit window?
  • In which mode should the breadcrumb work?