Tuesday, 19 July 2011

GSoC: Errors Handling During File Transfer

This summer I'm taking part in Google Summer of Code 2011 again. And again I'm happy to work with the KDE community. Recently I've finished the first part of my project: Improvements in KIO File Transfer. Now it's time to report about my results, show some screencasts and also ask for some advices related to UX. :)

I was working on intelligent errors handling during the file transfer process. The essence is that sometimes users need to transfer large amounts of data, but sure they don't wont to monitor the transfer all the time.

Previously in case of any error transfer was blocked and requested user interaction. This is not a right approach to the matter, because it wastes user's time and makes him/her nervous. I divided these errors into two parts: one of them really need user actions while others just informs about some files that can not be transferred.

Now if interaction is required (for example file already exists and we need to choose among skip, rename, overwrite), information about it goes to the special widget (don't be afraid, it's ugly now, but I hope some of usability guys will help me to make it shiny :) placed in JobView. And copying don't stops! When the user have free time, he can complete the interaction. Though just take a look at this video:



The conflicts discussed later were resolvable, but there are some cases when we just can't get access to a file. So there is no sense in distracting user. Just informing about problems during the transfer process would be sufficient. After transfer finished, a notification is created. It contains information about happened errors. In current implementation it is "Errors" button, which opens in text editor file with a list of problematic files. This would be useful if you want to apply any console command such as chmod to them quickly. Anyway, the better to see once:



And now about things that should be improved. And I hope someone help me.
  1. Icons. view-conversation-balloon edit-clear-list I used view-conversation-balloon for displaying files requiring interaction and edit-clear-list for displaying errors. Sure they need to be replaced by somethings more consistent.
  2. Lists of errors and interaction requests should look different. Now they seems inconsistent. :)

P.S. I am very grateful to all users of KDE, who sent me a letters with the wishes of good luck. I'll try not to disappoint you:)