Re: [Standards] Images in chat
W dniu 11.03.2016, pią o godzinie 15∶33 +0100, użytkownik Peter Waher napisał: > What is the preferred way of sending an image in chat today? XEP-0137 Describes publishing SI-FT advertisement using [1]. In such case I display a button in the chat window, allowing user to download the file, unless the mime-type of SI-PUB is image - in that case I fetch the image without asking and display it directly instead of button. [1] http://xmpp.org/extensions/xep-0137.html#usecase.publish -- /o__ (_<^' I don't do it for the money. ___ Standards mailing list Info: http://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org ___
Re: [Standards] Images in chat
Hello Peter, Just pointing out that Conversations does encrypt the file before uploading it to the HTTP server in a way that matches the encryption being used in the current chat. This keeps the trust in the HTTP server the exact same as the trust in the XMPP server. For example in a XEP-0027 OpenPGP chat, if you upload private.jpg, private.jpg.pgp is uploaded to the server and the receiving client downloads/decrypts/displays it. Thanks, Travis ___ Standards mailing list Info: http://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org ___
Re: [Standards] Images in chat
Hello Nick. Thanks for your response. My answers to your comments below: > > Hello Nick > > Thanks for your response. Uploading the image to the XMPP server also > > counts as uploading it to a third party. The image should be > > considered private, not accessble to anyone apart from the sender and > > receiver. Best regards,Peter Waher > > XEP 0363 addresses this explicitly: > > > Do not provide any kind of access control or security beyond Transport > > Layer Security in form of HTTPS and long random pathes that are > > impossible to guess. That means everyone who knows the URL SHOULD be > > able to access it. > > It's true one doesn't need to go through HTTP auth (which might as well > be considered broken at this point) or have an auth cookie on hand, > and in that sense the images are accessible to third parties, but the > long random strings in the path are essentially a password, stronger > than what most people pick for a normal password. This is what Facebook > and Github do with their private RSS feeds, and what Google Docs and > Dropbox do with private sharing links. Facebook, Github & Google Docs are examples of things to avoid in this case: I.e. not sharing your content with a third party. Making the URL difficult to guess still leaves the file on the server. > > Where HTTP Upload falls over is in conjuntion with end to end > encryption like OTR. You can encrypt the URL to the image so outside > observers can't ask for it, and XEP 363 specs that you should can > encrypt the actual data transfer with HTTPS, but the server itself > still sees the image. Is that what you're concerned about? > > Otherwise, it's as much third party as passing your IMs over the two > XMPP servers is in the first place, and with the bonus that for > self-hosted servers it's not third party at all. If you trust your > server, you can trust HTTP Upload. If you don't trust your server then > you need to invest in one of the other options floated. I like HTTP > upload because it works right now, today, across any receipient server > and even across gateways. It's not "as much thirdparty" as asynchronous messaging between two users, as the latter can be encrypted using end-to-end encryption without affecting underlying communication patterns. Third parties, including browsers will not be able to eavesdrop on communication this way. And the problem is not solved by self-hosting your servers. There's a difference between the trust of the developer, or service provider, and the trust the client user has. These are different actors. And you also have the problem of federation, in communication. You would have to isolate your solution, which is undesireable. You cannot solve the security or integrity issues by hosting your own servers, since its not you, but your users who do not want to share their content with others, including you. The HTTP upload solves transport, but not security and integrity. The benefit of not storing something on a broker/server, is that end-to-end-encryption can be used on-top. If end-to-end-encryption can be worked into HTTP upload, it might solve the security/integrity case also, or most of the parts of it. The problem by doing so, is that you would have to update the handling of the normal http and https URI schemes to do so. Best regards,Peter Waher ___ Standards mailing list Info: http://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org ___
Re: [Standards] Images in chat
Hello Goffi. Thanks for your reply. Jingle file transfer can be negotiated using the HTTP over XMPP (XEP-0332) phase. The URI provided therein (http://xmpp.org/extensions/xep-0332.html#httpxscheme) allows parties to negotiate if file transder, in-band-bytestreams or jingle should be used for large content. Small content or dynamic content can be transferred using text, xml, base64 or chunked base64 methods. Regarding XEP-0231: It looks like an interesting method, if HTTP over XMPP is not supported. BoB does not support partitioning the content file into smaller blocks it seems, but it includes a method for integrating the content into the chat sessions using XHTML-IM, which is what I'm looking for. Thanks. Best regards,Peter Waher > > Hello, > > Jingle file transfer could be used for that with and "xmpp:" URI, but we > still > don't have Jingle URI (this would be easy to solve though). > There is also XEP-0231 but it's more suitable for small images. > > ++ > Goffi > > Le dimanche 13 mars 2016, 15:52:01 Peter Waher a ?crit : > > Hello Fabian > > Thanks for your response. > > > > > > So, there are two things that are needed: > > > > > > > > 1) Transfer of the image content. This can be done in various ways. > > > > 2) The receiver needs to understand the context, i.e. that the image > > > > should be displayed in the chat window (not saved to file, shown in a > > > > popup window, etc.) > > > > > > > > What solutions are available? I know I can solve this using XHTML-IM > > > > (XEP-0071) and HTTP over XMPP (XEP-0332), if both are supported on both > > > > clients. XHTML-IM allows me to include an tag with a link to the > > > > image using the httpx URI scheme (HTTP over XMPP). This scheme defines > > > > where the image can be gotten, and negotiates how the image is to be > > > > transferred. What I wanted to know is, are there any other alternatives? > > > > > > maybe the easiest way would be to use XEP-0363 (HTTP File upload) and > > > then use XEP-0066 (Out of Band Data). > > > > > > As you mentioned, you could then also use XEP-0071 (XHTML-IM) instead of > > > XEP-0066, but personally I would always prefer XEP-0066 and leave it up > > > to the client implementation to decide how to display the file. > > > > That would require uploading the image to a third party, in this case an > > HTTP server. That is undesireable. The image should be considered private > > and shared only between the two communicating parties. I conclude that > > there are no other ways than by using XHTML-IM and HTTP over XMPP. Best > > regards,Peter Waher > ___ Standards mailing list Info: http://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org ___
Re: [Standards] Images in chat
Hello Nick Thanks for your response. Uploading the image to the XMPP server also counts as uploading it to a third party. The image should be considered private, not accessble to anyone apart from the sender and receiver. Best regards,Peter Waher > >That would require uploading the image to a third party, in this case > >an HTTP server. That is undesireable. The image should be considered > >private and shared only between the two communicating parties. > >I conclude that there are no other ways than by using XHTML-IM and HTTP > >over XMPP. > >Best regards,Peter Waher > > The thing XEP 363 doesn't mention, but which I think you should take as a > given, is that the HTTP server is the XMPP server. This is how Prosody's > mod_http_upload works and there is no other way to configure it. So there's > no trusting a third party any more than any XMPP chat. ___ Standards mailing list Info: http://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org ___
Re: [Standards] Images in chat
Hello, Jingle file transfer could be used for that with and "xmpp:" URI, but we still don't have Jingle URI (this would be easy to solve though). There is also XEP-0231 but it's more suitable for small images. ++ Goffi Le dimanche 13 mars 2016, 15:52:01 Peter Waher a écrit : > Hello Fabian > Thanks for your response. > > > > So, there are two things that are needed: > > > > > > 1) Transfer of the image content. This can be done in various ways. > > > 2) The receiver needs to understand the context, i.e. that the image > > > should be displayed in the chat window (not saved to file, shown in a > > > popup window, etc.) > > > > > > What solutions are available? I know I can solve this using XHTML-IM > > > (XEP-0071) and HTTP over XMPP (XEP-0332), if both are supported on both > > > clients. XHTML-IM allows me to include an tag with a link to the > > > image using the httpx URI scheme (HTTP over XMPP). This scheme defines > > > where the image can be gotten, and negotiates how the image is to be > > > transferred. What I wanted to know is, are there any other alternatives? > > > > maybe the easiest way would be to use XEP-0363 (HTTP File upload) and > > then use XEP-0066 (Out of Band Data). > > > > As you mentioned, you could then also use XEP-0071 (XHTML-IM) instead of > > XEP-0066, but personally I would always prefer XEP-0066 and leave it up > > to the client implementation to decide how to display the file. > > That would require uploading the image to a third party, in this case an > HTTP server. That is undesireable. The image should be considered private > and shared only between the two communicating parties. I conclude that > there are no other ways than by using XHTML-IM and HTTP over XMPP. Best > regards,Peter Waher ___ Standards mailing list Info: http://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org ___
Re: [Standards] Images in chat
Hello Fabian Thanks for your response. > > So, there are two things that are needed: > > > > 1) Transfer of the image content. This can be done in various ways. > > 2) The receiver needs to understand the context, i.e. that the image > > should be displayed in the chat window (not saved to file, shown in a > > popup window, etc.) > > > > What solutions are available? I know I can solve this using XHTML-IM > > (XEP-0071) and HTTP over XMPP (XEP-0332), if both are supported on both > > clients. XHTML-IM allows me to include an tag with a link to the > > image using the httpx URI scheme (HTTP over XMPP). This scheme defines > > where the image can be gotten, and negotiates how the image is to be > > transferred. What I wanted to know is, are there any other alternatives? > > maybe the easiest way would be to use XEP-0363 (HTTP File upload) and > then use XEP-0066 (Out of Band Data). > > As you mentioned, you could then also use XEP-0071 (XHTML-IM) instead of > XEP-0066, but personally I would always prefer XEP-0066 and leave it up > to the client implementation to decide how to display the file. > That would require uploading the image to a third party, in this case an HTTP server. That is undesireable. The image should be considered private and shared only between the two communicating parties. I conclude that there are no other ways than by using XHTML-IM and HTTP over XMPP. Best regards,Peter Waher ___ Standards mailing list Info: http://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org ___
Re: [Standards] Images in chat
Hey, On 12.03.2016 16:57, Peter Waher wrote: > So, there are two things that are needed: > > 1) Transfer of the image content. This can be done in various ways. > 2) The receiver needs to understand the context, i.e. that the image > should be displayed in the chat window (not saved to file, shown in a > popup window, etc.) > > What solutions are available? I know I can solve this using XHTML-IM > (XEP-0071) and HTTP over XMPP (XEP-0332), if both are supported on both > clients. XHTML-IM allows me to include an tag with a link to the > image using the httpx URI scheme (HTTP over XMPP). This scheme defines > where the image can be gotten, and negotiates how the image is to be > transferred. What I wanted to know is, are there any other alternatives? maybe the easiest way would be to use XEP-0363 (HTTP File upload) and then use XEP-0066 (Out of Band Data). As you mentioned, you could then also use XEP-0071 (XHTML-IM) instead of XEP-0066, but personally I would always prefer XEP-0066 and leave it up to the client implementation to decide how to display the file. Best regards, Fabian ___ Standards mailing list Info: http://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org ___
Re: [Standards] Images in chat
Hello Sam Thanks for your response. > > What is the preferred way of sending an image in chat today? XHTML-IM can be > > used to send smaller images using the data URI scheme. > > Just to be clear, you want to indicate that an out-of-band image > should be included in the UI if possible, but not actually transmit > the image in any way? > > If so, I generally advocate for XEP-0066: Out of Band Data [1]. > No, it's not an out-of-band image, such as one available through normal HTTP. Use case might be one user chatting with Another and wants to paste an image into the chat session (image might be captured from the screen and available in the clipboard), and the other user sees it directly in his or her chat window (as can be done on Skype for instance). So, there are two things that are needed: 1) Transfer of the image content. This can be done in various ways. 2) The receiver needs to understand the context, i.e. that the image should be displayed in the chat window (not saved to file, shown in a popup window, etc.) What solutions are available? I know I can solve this using XHTML-IM (XEP-0071) and HTTP over XMPP (XEP-0332), if both are supported on both clients. XHTML-IM allows me to include an tag with a link to the image using the httpx URI scheme (HTTP over XMPP). This scheme defines where the image can be gotten, and negotiates how the image is to be transferred. What I wanted to know is, are there any other alternatives? Best regards, Peter Waher ___ Standards mailing list Info: http://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org ___
Re: [Standards] Images in chat
Fri, 11 Mar 2016 09:24:17 -0600 Sam Whited wrote: > On Fri, Mar 11, 2016 at 8:33 AM, Peter Waher > wrote: > > What is the preferred way of sending an image in chat today? > > XHTML-IM can be used to send smaller images using the data URI > > scheme. > > Just to be clear, you want to indicate that an out-of-band image > should be included in the UI if possible, but not actually transmit > the image in any way? > > If so, I generally advocate for XEP-0066: Out of Band Data [1]. > +1 on that. ___ Standards mailing list Info: http://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org ___
Re: [Standards] Images in chat
On Fri, Mar 11, 2016 at 8:33 AM, Peter Waher wrote: > What is the preferred way of sending an image in chat today? XHTML-IM can be > used to send smaller images using the data URI scheme. Just to be clear, you want to indicate that an out-of-band image should be included in the UI if possible, but not actually transmit the image in any way? If so, I generally advocate for XEP-0066: Out of Band Data [1]. —Sam [1]: https://xmpp.org/extensions/xep-0066.html -- Sam Whited pub 4096R/54083AE104EA7AD3 https://blog.samwhited.com ___ Standards mailing list Info: http://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org ___
[Standards] Images in chat
Hello What is the preferred way of sending an image in chat today? XHTML-IM can be used to send smaller images using the data URI scheme. Larger images can be used with XHTML-IM if support for HTTP over XMPP exists. But for larger images on clients not supporting XEP-0332? There are multiple extensions for sending larger objects, if the context is understood by both parties, but will these be automatically understood to be included in the current chat session? Images can be sent using forms media elements, but sending such a form would probably create popup windows instead of inserting them in the current chat. Best regards, Peter Waher ___ Standards mailing list Info: http://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org ___