diaspora/diaspora

Aggregate reshares in stream

Opened this issue ยท 10 comments

I don't see a more recent issue than 1645 for this.

How easy/possible would it be to 'aggregate' reshares of the same post, so it appears only once in the stream?

I'd suggest placing next to the post a count of the number of reshares which would have appeared in the stream (either by people the user follows or due to tags in the post) - for example 'Reshared 5 times', and then a hover behaviour to bring up profile pics for those who have reshared it.

This would be fantastic for cleaning up the stream. Is it doable with current resources?

you'd have to touch the query that generates the stream, which is comparatively intransparent, performance-critical and badly needs some sort of refactoring.
So, sure, it's possible ... but not completely trivial

Just a thought...

...and please understand that I understand very little about the Diaspora code, hence not realising what you say about the query that generates the stream being non-transparent...

Could this be done as the stream is parsed? I'm guessing this means being done client-side, but this may be incorrect, so I'll try to explain in plain English and someone who understands the technical side can decide whether this makes any sense technically.

Each reshare is basically a link to the original post, or at least contains the original post (with the permalink of the original post). So as the stream is being collated/parsed, could something check to see if there are any copies of the same original, recognise these as reshares based on the permalink being the same, and then render them in the stream once, with a list of the resharers underneath (perhaps showing their profile photo thumbnails)?

Even if this is possible, there's the issue of how to display comments on different reshares. It could be that the comments on the original post (or, perhaps, the earlies of the reshares to appear in your stream, if the original post doesn't appear in your stream) are shown by default, but if you click on one of the resharers' thumbnails, you then see their reshare with comments on that reshare.

Erk. Probably a bit of a tangled mess there, but hopefully one of you coding geniuses can untangle it and see whether there's a workable solution in there somewhere.

I'm wondering if to merge all the comments from every reshare of a posts could be a good idea. The reshare visualization tools proved that it's possible to find every reshares of a post. So why don't we collapse all the comments only on the original message (which will be the one displayed in the stream)? Do you think this is a good idea? As reshares are public, I think this is nice.

If it is, it could simplify the technical implementation of reshares. Currently, there is the original message, and when someone reshares it, it creates a new message, where the resharer is the author, and that you can comment, like, but also reshare, etc. That means, for each reshare, there is a new post in the DB, etc.

We can imagine that reshare could be the exact same thing that likes (a list of users), with moreover a new column "date of last reshare" which will be the date used in the stream (so each time someone reshares the post, it pop up at the top of the stream).

Hello, is there any update about this request ? It's true that it is annoying to see the same post reshared x times, so this feature would be welcome.

ezpi commented

I don't got an update for you, but I like Flaburgan's idea of putting all the comments underneath the original post, but am not sure I get the last column. Do I understand correctly, that when s.o. clicks "reshare", they won't become authors of a new post depicting the original post, but just forward the post of the original author as if they had posted it a second time, just with the public reach of the resharing user? Sounds interesting. Could this be done? And could it help clean up the stream? If this were the only change, the post would still be popping up over and over on streams of people following its hashtags.

Can we have something like the original post is shown only once, and below that a block for each reshare with some text like "XYZ shared MNO's post" which can contain the comments to that reshare?
Similar to what Facebook does. That seems better than showing the original post n times (even in collapsed mode).

Incidentally, this is the release of Diaspora 0.6.0.0 and the countless reshares of the release post by HQ in my stream that prompted my search for this feature request.

I found another issue to the way reshares are treated as an actual post by the resharer: the fragmentation of reactions. Since a reshare is technically a post itself, even if its content is only referencing another post, one can actually like and comment on both posts, the original one and the reshare one.

I'd rather we had a reshare system like Twitter's, where the original post appears as such on the stream with a small mention that one (or more) of your contacts reshared it. This display would be the same wether you actually follow the author of the original post or not.

BTW, I just added $50 to the Bountysource for this feature. It is the most annoying feature of Diaspora* for me and I would love to see it fixed sooner than later. I know it's not enough to cover the actual development cost of such a feature, but I hope it helps prioritize it over non-bounty issues.

Edit: Here's how I would like all the reshared post to be displayed. This one is actually one of my own posts that has been reshared, but I'd like it to be the display for all reshared posts in the Stream. Notice the discrete reshare mention:

screen shot 2016-09-14 at 1 25 46 pm

I support this issue with the idea, that reshares should not be considered as own posts, they should more be added to the original post (as likes and comments).
So a reshare just presents the original post in my feed and therefore I see likes and comments of the original post and if I like and comment, I can only do this for the original post.

At the moment there is not really a way for a post to go viral, because resharing creates multiple copies of non-viral (few likes and comments) posts instead of increasing the reach of the original hyped post.

Since I want this very much, I posted a $50 bounty on this issue.
The bounty is now $195 for whoever solves this! ๐Ÿ’ฐ

I just realized that the discourse discussion about the split of reshares between "spread" (so, reshares which use the original post for likes / comments) and "quotes / references" (so the ability to create a new post (possibly private, with its own comments and likes), which embed another post) hasn't been linked here. So here we go, you can find the discussion here. It probably needs more precise specifications before being implemented, but a lot of thinking already happened.