diff --git a/xep-xxxx-file-thumbnails.md b/xep-xxxx-file-thumbnails.md index 59e9abc..c842caa 100644 --- a/xep-xxxx-file-thumbnails.md +++ b/xep-xxxx-file-thumbnails.md @@ -1,4 +1,4 @@ -# File Thumbnails +# Extensible File Thumbnails ## Introduction When sending media, it is often helpful for users when a thumbnail can be shown before the @@ -9,73 +9,46 @@ However, this protocol requires that the thumbnail is a base64-encoded image pub [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. +This document specifies are more general and extensible element for specifiying thumbnails in various formats. ## Usage ```xml - - LEHV6nWB2yk8pyoJadR*.7kCMdnj - + + 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. - -Other extensions may define similar types. Note that the content of the `` element -is dependent on the type specified in the `` element. +In this example, the thumbnail contains only a blurhash thumbnail, indicated by the `` element, but an implementation +may add more versions of the same thumbnail, i.e. another `` element as a fallback if a client does not support +blurhash. To prevent confusion in the display of a thumbnail, all children of `` must describe a thumbnail +for the same file. ### Thumbnail Types #### Blurhash -If a sender specifies the type to be of `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. +If a sender includes a `` inside the `` element, then it must be interpreted as +[Blurhash](https://github.com/woltapp/blurhash) data. As a sender, care must be taken to not make the Blurhash +thumbnail too big as to not loose the advantages of blurhash. ```xml - - LEHV6nWB2yk8pyoJadR*.7kCMdnj - + + LEHV6nWB2yk8pyoJadR*.7kCMdnj + ``` #### Jingle Content Thumbnail Compatability -In order to enable a pseudo-interoperability with [Jingle Content Thumbnails](https://xmpp.org/extensions/xep-0264.html), a type -`base64-bob` is defined. - -If a sender specified the type to be of `base64-bob`, then the `` -element must contain exactly one `` element. The attributes of the element are the same -as the `` element specified in [Jingle Content Thumbnails](https://xmpp.org/extensions/xep-0264.html). +In order to enable a pseudo-interoperability with [Jingle Content Thumbnails](https://xmpp.org/extensions/xep-0264.html), inclusion of a +`` element is allowed. This is to allow easy reuse of an already existent [Jingle Content Thumbnails](https://xmpp.org/extensions/xep-0264.html) +implementation. ```xml - - - + + + ``` -This allows clients that already support [Jingle Content Thumbnails](https://xmpp.org/extensions/xep-0264.html) to reuse -the same logic they use for retrieving thumbnail data. - -#### Base64 Data - -If a sender specified the type to be of `base64`, then the `` element must -contain exactly one `` element. The element must posess an `media-type` attribute, whose value -contains the mime type of the thumbnail data, while the inner text of the element contains the base64-encoded -binary thumbnail data. - -```xml - - - [base64 data] - - -``` - -Note that this thumbnail type is essentially the same as the `base64-bob` type, but allowing the thumbnail to be used even if -the sender is not available on a server that does not cache [Bits of Binary](https://xmpp.org/extensions/xep-0231.html) data or has it otherwise not available. - -If using this thumbnail type, care has to be taken in order to not hit any existing stanza size limits. - ## 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. @@ -95,9 +68,14 @@ NOTE: This example is taken from [Stateless Inline Media Sharing](https://xmpp.o - - LEHV6nWB2yk8pyoJadR*.7kCMdnj - + + LEHV6nWB2yk8pyoJadR*.7kCMdnj + + @@ -112,9 +90,24 @@ NOTE: This example is taken from [Stateless Inline Media Sharing](https://xmpp.o The same considerations apply as specified by [Jingle Content Thumbnails](https://xmpp.org/extensions/xep-0264.html). +## Todo + +- Change XML namespace from `proto:urn:xmpp:eft:0` to `urn:xmpp:eft:0` once accepted as an experimental XEP + +## Changelog +### 0.1.0 + +- Remove the base64 thumbnail type +- Namespace all thumbnail types +- Remove the type attribute of +- Rename to +- Rename the namespace from file-thumbnails to eft +- Rename from File Thumbnails to Extensible File Thumbnails + ## Info | Key | Value | | --- | --- | | Author | PapaTutuWawa | -| Version | 0.0.3 | +| Version | 0.1.0 | +| Short name | eft |