Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
developers:feature_ideas:stickers [2015/07/30 00:48] – created - moved from /developers/stickers promctagonist | developers:feature_ideas:stickers [2016/02/29 02:18] (current) – [Storage] change filenames and mention order numbers promctagonist | ||
---|---|---|---|
Line 13: | Line 13: | ||
===== User-Facing Behavior ===== | ===== User-Facing Behavior ===== | ||
- | {{ :sticker_popup_mockup.png?400|Proposal for popup menu design from https:// | + | {{ :users: |
+ | {{ : | ||
==== Sending/In the Popup ==== | ==== Sending/In the Popup ==== | ||
Line 27: | Line 28: | ||
When a sticker is clicked or tapped, it is sent immediately and appears inline in the chat form. | When a sticker is clicked or tapped, it is sent immediately and appears inline in the chat form. | ||
+ | |||
==== Receiving/ | ==== Receiving/ | ||
Animated stickers should play as long as they are the most recent sticker in the conversation. After that, they should play when hovered over. On touch devices, tapping takes the place of hovering. | Animated stickers should play as long as they are the most recent sticker in the conversation. After that, they should play when hovered over. On touch devices, tapping takes the place of hovering. | ||
+ | |||
==== Saving/ | ==== Saving/ | ||
Line 41: | Line 44: | ||
===== Technical Implementation ===== | ===== Technical Implementation ===== | ||
- | This includes the format in which sticker packs are stored (I vote for zipped folders with custom extension), the location, how we should detect if a user has a pack already, how animation should be done (svg spritesheets would be beautiful but might have to be NIHed, gifs are terrible but everyone knows them, webm is best but hard to make [maybe release a converter as a part of the Tox StickerMaker Premium Suite], >apng), etc | + | //This includes the format in which sticker packs are stored (I vote for zipped folders with custom extension), the location, how we should detect if a user has a pack already, how animation should be done (svg spritesheets would be beautiful but might have to be NIHed, gifs are terrible but everyone knows them, webm is best but hard to make [maybe release a converter as a part of the Tox StickerMaker Premium Suite], >apng), etc// |
Keep in mind the potential of the Tox sticker pack to become an open sticker format usable by all free software, like the KDE emoticon packs used by qTox. | Keep in mind the potential of the Tox sticker pack to become an open sticker format usable by all free software, like the KDE emoticon packs used by qTox. | ||
- | ==== File Structure | + | ==== Sending |
- | | + | Once a sticker is selected by the user, it should be sent as a file transfer of TOX_FILE_KIND_STICKER with the name being a hash of its < |
+ | |||
+ | ==== Receiving ==== | ||
+ | |||
+ | When a client receives a sticker file transfer request, it first checks if that hash is already in the [[stickers# | ||
+ | |||
+ | ==== Storage ==== | ||
+ | |||
+ | === Packs === | ||
+ | |||
+ | A Sticker Pack is a zipped folder containing stickers, an about.txt, and a pack.png/ | ||
+ | |||
+ | | ||
| | | | ||
- | |--Cute Grey Striped | + | |--Orange |
| | ||
+ | | ||
| | ||
- | | + | |
- | | + | |
- | | + | |
| | | | ||
- | | + | |
| | | | ||
+ | | ||
| | ||
| | ||
| | ||
| | ||
+ | |||
+ | The file about.txt contains information about the pack. //Should we make it an ini and do real metadata or nah?// | ||
+ | |||
+ | The file pack.png/ | ||
+ | |||
+ | === Cache === | ||
+ | |||
+ | The Sticker Cache is a directory that contains all received stickers, stored flatly. | ||
+ | |||
+ | ~/ | ||
+ | | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | //It would be neat to prune/ | ||
+ | |||
+ | === Getting === | ||
+ | |||
+ | When a user opts to download a sticker pack from a friend, a file transfer should be initiated and the sticker pack should be automatically saved to the correct location. | ||
+ | |||
+ | |||