File receiving capabilities (#71)
Closed
Artur Hefczyc opened 1 decade ago

To allow picture share function the client has to be able to accept and receive files from a friend.

Artur Hefczyc commented 1 decade ago

Tried sending file from Audium to Messenger, it did not work, although there was an improvement from the last time. Last time Adium complained the remote client does not have capabilities to send a file to it. This time it past this point but the whole thing hangs during handshaking process.

It did work, however, to send a file between 2 accounts on the messenger client.

The screen asking about accepting the file needs some improvements. It is a bit confusing now. I suggest to put there something like this:

*User %user% wants to send you a [picture,document,file] %file% with size %size%."

And below 2 buttons: Accept, Cancel

Also, after the transfer is complete and the file is a picture the client should ask whether to display the picture. If user press OK (Accept or whatever) the picture should show on the screen.

Andrzej Wójcik (Tigase) commented 1 decade ago

File transfer is hang during handshaking probably due to failure to connect to streamhosts sent by Adium. I will check if there is problem with detecting or notifying about failure to connect to streamhost. Is Adium using proxy?

Screen was based on UI used by Psi. I can change it to present message as suggested, but there is a problem with detecting type of a file. XEP-0096 allow sending mimetype but most of clients sends only filename and filesize, so how to detect file type (picture/document/movie/file)? For now I store accepted file in download directory but knowing file type I could save that file in better location.

According to http://developer.android.com/design/patterns/actionbar.html most important actions should be presented in ActionBar so following this guideline I created Accept/Reject buttons as actions in ActionBar.

Artur Hefczyc commented 1 decade ago

Andrzej Wójcik wrote:

File transfer is hang during handshaking probably due to failure to connect to streamhosts sent by Adium. I will check if there is problem with detecting or notifying about failure to connect to streamhost. Is Adium using proxy?

Actually I am not certain wether Adium uses proxy. It has proxy set to proxy.eu.jabber.org but I changed it to proxy.tigase.org. Then tried to send a picture from account on tigase.org to account on sure.im. The mobile client still shows: negotiating....

Screen was based on UI used by Psi. I can change it to present message as suggested, but there is a problem with detecting type of a file. XEP-0096 allow sending mimetype but most of clients sends only filename and filesize, so how to detect file type (picture/document/movie/file)? For now I store accepted file in download directory but knowing file type I could save that file in better location.

Of course understand the problem with detecting a file. However, we implement this feature mostly to be used by our mobile client so we can include file metadata. If the metadata is not available I think we could implement detecting most basic files by the file extension:

  1. Pictures by extensions: jpg, png, jpeg, not sure if anything else is really in wide use

  2. Documents: pdf, ...

  3. Movie: mpg, ...

  4. Music: mp3, mp4, ....

  5. All others: just file

According to http://developer.android.com/design/patterns/actionbar.html most important actions should be presented in ActionBar so following this guideline I created Accept/Reject buttons as actions in ActionBar.

Hm, we are all kind of wrong people to decide. Let's talk to normal people about this. Let's ask our wife, girlfriend, other people, what would they expect, and what would be more natural to them? Maybe I am not too used to Android mobiles but for me putting accept, reject button in a bar is not natural and it took me a while to find out how to accept the file.

Andrzej Wójcik (Tigase) commented 1 decade ago
  1. I wasn't able to create hang during handshaking.

  2. Added basic file mimetype discovery if mimetype not specified

  3. Click on notification of finished incoming file transfer will try to open correct application for file if mimetype was received or detected.

  4. Changed UI to be more user friendly (first attempt)

Artur Hefczyc commented 1 decade ago

Andrzej Wójcik wrote:

I wasn't able to create hang during handshaking.

Please provide more details. In particular what client have you used on the other side.

Added basic file mimetype discovery if mimetype not specified

Click on notification of finished incoming file transfer will try to open correct application for file if mimetype was received or detected.

Changed UI to be more user friendly (first attempt)

Perfect, can't wait to have it on my mobile.

Andrzej Wójcik (Tigase) commented 1 decade ago
  1. As sending client I used Psi, Psi+, Gajim. I will try tommorow with Pidgin which is using libpurple.
Andrzej Wójcik (Tigase) commented 1 decade ago

I tried to send file to Messenger from following clients:

  1. Gajim - works without any configuration needed

  2. Psi - works with external IP or proxy component set in configuration

  3. Psi+ - works with external IP or proxy component set in configuration

  4. Pidgin - works with external IP or proxy component set in configuration

Each time file was sent successfully

issue 1 of 1
Type
New Feature
Priority
Normal
Assignee
RedmineID
438
Version
One
Issue Votes (0)
Watchers (0)
Reference
tigase/_clients/stork#71
Please wait...
Page is in error, reload to recover