Stories - Highlighted ephemeral posts #5

Open
opened 2019-10-01 13:55:39 +00:00 by lambadalambda · 7 comments

"Stories" are a way to post highlighted ephemeral posts, usually with a picture or more, or a video. These are often used to post about something interesting that happened that day, that you want to highlight to your followers.

The most important implementation is in Instagram, but many other social media platforms implement the same feature and usually also call it "Story". The feature originated in Snapchat.

General behavior:

  • Ephemeral, deletes after 24 hours.
  • Attachments are the most important part of the post.
  • Stories are displayed similarly to pinned posts, in a preferred way, so that followers are more likely to see them.
  • Generally, when displaying them, the photos that are part of a story are displayed like an automatic slideshow, so that you can 'watch' a story.

Backend considerations:

  • Should use a new Story:litepub type. While it can be somewhat emulated with pinned posts, unlisted + expiration, it really is a different usecase than normal posts and should be treated as such.
  • Pleroma-Api should be extended to support creating Stories and to get the Stories of your friends, possibly together with Mastodon to coordinate changes.
  • Stories should keep track if a user has viewed them or not.

Frontend considerations:

  • Maybe out of scope for PleromaFE altogether?
  • Stories work best in a mobile context.
  • Otherwise see 'general behavior' above.

cc @dansup @shpuld @hj

"Stories" are a way to post highlighted ephemeral posts, usually with a picture or more, or a video. These are often used to post about something interesting that happened that day, that you want to highlight to your followers. The most important implementation is in Instagram, but many other social media platforms implement the same feature and usually also call it "Story". The feature originated in Snapchat. General behavior: - Ephemeral, deletes after 24 hours. - Attachments are the most important part of the post. - Stories are displayed similarly to pinned posts, in a preferred way, so that followers are more likely to see them. - Generally, when displaying them, the photos that are part of a story are displayed like an automatic slideshow, so that you can 'watch' a story. Backend considerations: - Should use a new Story:litepub type. While it can be somewhat emulated with pinned posts, unlisted + expiration, it really is a different usecase than normal posts and should be treated as such. - Pleroma-Api should be extended to support creating Stories and to get the Stories of your friends, possibly together with Mastodon to coordinate changes. - Stories should keep track if a user has viewed them or not. Frontend considerations: - Maybe out of scope for PleromaFE altogether? - Stories work best in a mobile context. - Otherwise see 'general behavior' above. cc @dansup @shpuld @hj
Owner

quite honestly have no idea what stories are and only seen Twitter implementation of it which seemed pretty much pointless and acted up as an attachment to a tweet or something.

potentially could be implemented with some sort of Slideshow-like component that displays attachments whit post overlay somewhere.

again, i don't see much of a point in context of twitter/tweetdeck-like SNS and never used that or seen a point in it so i can't really give an advice on that one.

quite honestly have no idea what stories are and only seen Twitter implementation of it which seemed pretty much pointless and acted up as an attachment to a tweet or something. potentially could be implemented with some sort of Slideshow-like component that displays attachments whit post overlay somewhere. again, i don't see much of a point in context of twitter/tweetdeck-like SNS and never used that or seen a point in it so i can't really give an advice on that one.
Owner

all that being said, i think it might be in scope for PleromaFE but probably not a priority.

all that being said, i think it might be in scope for PleromaFE but probably not a priority.
Member

@lambadalambda I saw the addition of activity_expirations. I assumed this is what it would be for.
On BE I thought they might be the same thing as regular statuses, but with a flag is_story.
I can see it also being a completely different object as you suggested.

Ephemeral posts are hugely popular over SNS, not a psychologist so not 100% sure why :)

Basic FE experimental with scroll story bar at top:

Image_2019-10-18_at_9.16.15_AM

@lambadalambda I saw the addition of `activity_expirations`. I assumed this is what it would be for. On BE I thought they might be the same thing as regular statuses, but with a flag `is_story`. I can see it also being a completely different object as you suggested. Ephemeral posts are hugely popular over SNS, not a psychologist so not 100% sure why :) Basic FE experimental with scroll story bar at top: ![Image_2019-10-18_at_9.16.15_AM](/attachments/0387dfd7-8a0b-4f5a-9b7a-2e0decc6d3c7)
Member

@dansup is currently working on stories for reference https://gist.github.com/dansup/25a904c523d0e7d62d0ba4b214d9511d

@dansup is currently working on stories for reference https://gist.github.com/dansup/25a904c523d0e7d62d0ba4b214d9511d
Member

Cool! Is there a branch too? for reference.

Cool! Is there a branch too? for reference.
Owner

You can find it at this MR

pleroma/pleroma#5254

You can find it at this MR https://git.pleroma.social/pleroma/pleroma/pulls/5254
Member

Should use a new Story:litepub type. While it can be somewhat emulated with pinned posts, unlisted + expiration, it really is a different usecase than normal posts and should be treated as such.

From the Activitystreams Core spec:

When an implementation uses an extension type that overlaps with a core vocabulary type, the implementation MUST also specify the core vocabulary type.

So it should probably be something like ["Note", "litepub:Story"]. That way we know it's a story, but other BE's can still understand it as a Note.

> Should use a new Story:litepub type. While it can be somewhat emulated with pinned posts, unlisted + expiration, it really is a different usecase than normal posts and should be treated as such. From the [Activitystreams Core spec](https://www.w3.org/TR/activitystreams-core/): > When an implementation uses an extension type that overlaps with a core vocabulary type, the implementation MUST also specify the core vocabulary type. So it should probably be something like `["Note", "litepub:Story"]`. That way we know it's a story, but other BE's can still understand it as a Note.
Sign in to join this conversation.
No labels
BE
No milestone
No project
No assignees
6 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pleroma/pleroma-meta#5
No description provided.