# File Thumbnails ## Introduction When sending media, it is often helpful for users when a thumbnail can be shown before the actual file is finished downloading. XMPP already has a protocol for specifying thumbails, [Jingle Content Thumbnails](https://xmpp.org/extensions/xep-0264.html). However, this protocol requires that the thumbnail is a base64-encoded image published using [Bits of Binary](https://xmpp.org/extensions/xep-0231.html). This prevents clients from implementing newer technologies, such as [Blurhash](https://github.com/woltapp/blurhash). This document specifies are more general and extensible element for specifiying thumbnails. ## Usage ```xml LEHV6nWB2yk8pyoJadR*.7kCMdnj ``` In this example, the thumbnail is specified of type `proto:urn:xmpp:file-thumbnails:0:blurhash`, which means that a supporting client should decode the `` element using the [Blurhash](https://github.com/woltapp/blurhash) algorithm. In order to enable a sort-of interoperability with [Jingle Content Thumbnails](https://xmpp.org/extensions/xep-0264.html), a type `proto:urn:xmpp:file-thumbnails:0:jct` is defined. ```xml ``` In the case of [Jingle Content Thumbnails](https://xmpp.org/extensions/xep-0264.html) compatibility, the `` element must contain exactly one `` element. Other extensions may define similar types. Note that the content of the `` element is dependent on the type specified in the `` element. ### Thumbnail Types #### Blurhash If a sender specifies the type to be of `proto:urn:xmpp:file-thumbnails:0:blurhash`, then the `` element must contain the image data as specified by the [Blurhash](https://github.com/woltapp/blurhash) algorithm. Care should be taken to prevent the blurhash data from growing to large in order to prevent hitting the stanza size limit. #### Jingle Content Thumbnail Compatability If a sender specified the type to be of `proto:urn:xmpp:file-thumbnails:0:jct`, then the `` element must contain exactly one `` element. ## Usage Example with Stateless Inline Media Sharing NOTE: This example is taken from [Stateless Inline Media Sharing](https://xmpp.org/extensions/xep-0385.html) and modified for this protocol. ```xml Look at the nice view from the summit. image/jpeg summit.jpg 3032449 2XarmwTlNxDAMkvymloX3S5+VbylNrJt/l5QyPa+YoU= 2AfMGH8O7UNPTvUVAM9aK13mpCY= Photo from the summit. LEHV6nWB2yk8pyoJadR*.7kCMdnj ``` ## Security Considerations The same considerations apply as specified by [Jingle Content Thumbnails](https://xmpp.org/extensions/xep-0264.html). ## Info | Key | Value | | --- | --- | | Author | PapaTutuWawa | | Version | 0.0.2 |