[JDEV] File transfer and Jabber
mark at mjwilcox.com
mark at mjwilcox.com
Mon Apr 23 11:52:57 CDT 2001
I think using Jabber to send files is a waste of bandwith and time.
Look, email attachments were a bad thing.
Attachments waste bandwith, disk space and you force every user
who you send the message to, to consume network resources
*even* if they don't want to.
They were only implemented because we didn't have any other
mechanism, more importantly nothing like a URL for universal
naming scheme had been created and hyperlinks weren't widely
known/popular.
Don't make the same mistakes with IM. Recognize the fact that for
every person who has access to an IM client, they also have
access to a Web browser. Instead of sending actual data around
the jabber network, send URLs to files on a Web server. If I want to
read your file, I'll download it.
The hardest part about using URLs is getting the files to a web
server. But that's fairly easily solved by using the WebDAV
protocol. If people want to attach a file in the jabber client, have it
save teh file to a public directory via DAV (IIS has DAV out of the
box and Apache has mod_dav, with Apache 2 DAV will be out of
the box as well). The jabber client maintains knowledge of the URL
and sends that to the end-user(s). They click on the URL, their
browser starts up and they download the file.
This conserves network resources because the largest component
(the file to be downloaded) is only sent on request, instead of
pushed out whether you want to or not.
BTW This idea was mentioned by Jer himself about a year ago.
Come on people, we're pushing a new envelope here.
Mark
On 22 Apr 01, at 12:52, Rob Kooper wrote:
> Ok, just to start thinking about this and maybe at one point start
> implementing this into the server (will need some help from client
> developpers).
>
> Since we already have the whole connection system in jabber I was
> thinking of when I want to transfer a file, I'll send it to the server
> that I am connected to and send the file as chunks (size and rate
> depending on flowcontrol parameters). The server can then either
> collect the chunks till all data is received, and then send the chunks
> to the receiving user (after first asking for its flow control
> parameters).
>
> The xml-data (not familiar with xml so will have to do a quick read
> for this part) will contain, sender, filename, msgnumber and total
> msgs. This way we can have some simple progressbar, and the receiving
> user can see who is sending (and potential cancel).
>
> The flowcontrol I am talking about will contain the size of the packet
> to send and the time between packets. So for instance if I have a 56K
> modem, I can decide to make my packetsize 10K, and half a second time,
> this will result in jabber sending the file in burst of about
> 2seconds, with half a second inbetween for other messages to come
> through.
>
> My thinking on why to do this, is that if the user has a proxy (even a
> http proxy) the data will still arive, no need to know ip-address of
> receiver. Also if the data is encrypted using SSL or pgp, the file
> will also be encrypted.
>
> Comments please,
>
> Rob
>
>
> _______________________________________________
> jdev mailing list
> jdev at jabber.org
> http://mailman.jabber.org/listinfo/jdev
>
>
Mark Wilcox
mark at mjwilcox.com
Got LDAP?
More information about the JDev
mailing list