Resteemed Tab has been Developed! - With steemd Backend Change!

in #steemit8 years ago (edited)


I have developed and submitted the much desired Resteemed tab for user blogs.


Resteemed tab

A few weeks ago, I posted about my development change to have a Resteemed tab in a user's blog. Please first see the post Resteemed Tab has been Developed! for more information.

However, an issue was found concerning pagination due to the way the change was implemented. Basically, when a user's blogroll is loaded, there is a request to the backend to return a set number of posts (currently 20 of them). Depending on which tab the user is on, the posts that belong in the other tab are hidden. The problem is that with this method, the number of blogs and the number of resteems might not be consistent. When the user scrolls to the bottom of the tab, another request is done to the backend to return the next set of 20, which again, could be a mixture of blog and resteemed posts.

The solution is to make a change to the backend to have an option of filtering blogs and resteems when requesting a user's blogroll. This way, a request for only blogs or only resteems will return a consistent number like 20 of them from the blogroll.

Lately, I've spent some time learning the steem codebase and setting up a local dev environment to be able to make changes and test them. See the Technical section below to find out the changes I've made to complete this task. You are also welcome to follow my weekly witness update posts to know what I've been up to!

Features

Blog tab

Resteemed tab

Dropdown

Technical

The two relevant API functions that needed to be changed were get_discussions_by_blog and get_state @user. These changes are summarized in this GitHub issue get_discussions_by_blog to filter resteems #581.

get_discussions_by_blog

Here is a regular request, which gives 20 posts, blogs and resteems mixed, as it is currently:

A new optional parameter, hide, set to resteemed:

With hide set to authored:

get_state @user

Here is the request with @user:

With @user/blog:

With @user/resteemed:

Submission

The code submission can be found on these GitHub pull requests:

get_discussions_by_blog to filter resteems #678

Split Blog tab into Blog and Resteemed tabs #819


 

Like my work?

Please vote for me as witness, every vote is important to me!

And Follow me! @bitcoiner

Sort:  

Fantastic! Definitely been waiting for this :)

Oh me too haha!

this could be very useful. there are people i would like to follow, but don't because their blog is full of resteems that i don't want. this way they could be separated.

Hi @lifeworship - just to clarify one thing though, if you follow someone, their resteems will show up in your feed. This is an update to what shows up when you view someone's "Blog" tab.

Yes, this has been something many users have asked for.

Well, that'a sort of the point of following someone - you follow the things they choose to resteem, too.

OMG Thank you! If there is anything I can do to help you support creating this new feature just let me know.

P.S. Some users are saying that the resteemed tab would then be neglected. I personally am ok with this but hypnothetically how much more work would it take to have an "All" tab first, then @ users blogs, Then resteems?

This is great! I hope it can be implemented soon so that we see posts from people we follow and separately their resteems. Thank you!

I don't get all the coding stuff but I cannot wait for a separate resteem tab!
Hopefully there are no bugs, the back end is playing nicely with the front end and we'll have it soon. Gimme. Gimme. Gimme! LOL

Haha indeed! There are lots of features that would be awesome to have, like in @timcliff's wish list!

Holy Toledo! You are a blockchain developer now!!!

Great job @bitcoiner :) I know this took a lot of work, and it will be a huge benefit to the community!

Thanks @timcliff! Yes, I spent quite the time on it. Hopefully this gets in this time with no further issues!

When do you suspect you'll get this up ?

I am a community developer and not part of Steemit, Inc. I've submitted my code changes to them and it will need to go through review before they incorporate it into their next release.

Thanks for the update :)

My "private fix" was to have my own Table of Contents, but this "Resteemed Tab" is great - it's been on my "wanted" list for a long time. THANK YOU!

Nice work. Let's hope that this can be sorted out soon and implemented. We're been waiting a long time for this separation of content.

I hope so too! Dan had announced the reblog feature in mid-September and this has been one of the things a lot of users had wanted.

This is exactly what I hoped to see with resteems on an account's page. I have refrained from resteeming entirely, so far, because doing so would clutter the only place where I and others can view just my posts.

Awesome work, I was hoping this was on the horizon. Thanks for devoting the time to build this! :)

Thanks! It was my pleasure!

I think your idea is great one. However, I believe there could be a better way to execute it.

If there is a 'resteemed' tab on everyone's profiles, I believe that it would be heavily neglected. I know that if I'm visiting someones blog, I have little interest in seeing what they have resteemed, and a lot more in seeing what they have posted themselves personally.

Have you considered the option of--rather than a resteemed tab--a 'personal posts' tab? You may have to come up with a shorter and more catchy name for it, but I do feel that it would be better if upon initially viewing a profile, you can see that authors work and their reblogs together. Then providing the option to filter out any work that is not their own by clicking on the 'personal' tab.

This way, attention is not stolen from resteemed posts straight away, but rather the option to dismiss them becomes available.

I'm not entirely sure I have explained myself as well as I could but, hopefully you understand what I am proposing.

Users are still going to see the resteemed posts in their feed if they follow the person. Most users have expressed that they want to have the blog tab just contain their blog posts.

It would appear--based on your response--that I failed to articulate my words in a comprehensible manner. I shall have another go.

I am aware that you are able to see reblogged posts on your home feed, though if you follow a lot of people it can be very easy to miss a lot of content.

I would say there is a fair bit of attention, as well as upvotes earned from users visiting other user's profiles and discovering resteemed posts. Especially when you consider us minnows or people with very few followers. As much attention as possible is required for these people and I believe what you are proposing would be detrimental to the aforementioned type's visibility.

Should a profile, on initially visiting it, have both the resteemed posts and the author's work visible, then some attention--and therefore some upvotes--could potentially be earned for some users who would otherwise not have received them. This is even more relevant when considering that many people visit profiles of people that they are not following, often to decide if they should follow them.

By making the secondary option available to filter out any posts that were not created by the user who the profile is designated to, users could receive the same benefit that you are intending to provide, without others suffering a loss of visibility.

What you are saying makes sense. I think you are in the minority as far as users who want it to work that way though :)

No argument here, friend. Merely conversation. It would appear that I missed out on the discussion and was unable to put forth my thoughts at the right time.
I'm no coder, but it would seem to me that if the fundamentals are in place, then an iteration as small as this should only require minor adjustment. As I said though, I am no coder so I could be wrong about that.

I just wanted to share my thoughts, and I like that this is the sort of community where that is welcomed. Have a great night.

Same to you :)

Well, I don't speak for everyone, and neither should you.
If both ideas produce the same benefit but, one has a downside that the other doesn't, then I see no reason why people should prefer the way that would cause some people to lose downvotes.
It may seem to be a very small difference, but to users who are trying to get started and end up quitting because they didn't get the votes they could have and lost motivation, it's not a small thing to them.

It's often spoken of how we should be redistributing STEEM to the community to minimize the oligarchical status of STeemit, and I feel it is paying attention to the minutiae such as this that can serve as a catalyst to doing so.

Where do those votes, and that payout go if not to those undiscovered posts from low level users? They will once again wind up at the top of the pyramid, with the users who consistently hit the trending page.

As I said before, I think it's a wonderful idea to separate the two, but if there is a chance that there could be a more efficient way to do it then I don't see why it's a problem to have a discussion about it before it implemented.

I wasn't trying to get into an argument. I see value in what you are proposing. There has been a lot of discussion about how to handle it though and I was basing my comment on what I have read in all the discussion threads.

The other popular idea that seems close to what you are suggesting was to give users a filter setting to either show both "user created" and "resteemed" - or just "user created" (based on their setting). This would have been harder to implement though, and most users would likely have it set to show "user created" only - which has the same problem as far as user's content not being seen.

Having three tabs (one with both, plus one of each - separated) would also not fly either.

I don't see why it's a problem to have a discussion about it before it implemented.

I am in favor of discussing things like this, and maybe more changes could be made later. It has been implemented though - @bitcoiner has already done all the development and submitted the pull request. Pointing out how it should be done differently at this point is basically asking for the work to be redone.

This post has been ranked within the top 25 most undervalued posts in the second half of Dec 08. We estimate that this post is undervalued by $21.51 as compared to a scenario in which every voter had an equal say.

See the full rankings and details in The Daily Tribune: Dec 08 - Part II. You can also read about some of our methodology, data analysis and technical details in our initial post.

If you are the author and would prefer not to receive these comments, simply reply "Stop" to this comment.

A feature I would like to see available! I can't jus wait for it to be merged to the official site. :)

Thanks for this development.

So, will we actually see this feature incorporated, or what?

This would be a great function! Thanks :D

Great work. I'm only new to the Steemit community...well...new-ish...but this looks really impressive!

STEEM STEEMIT RESTEEMED nice post @bitcoiner ... I upvote @tsxbox

I think its a great idea, cant wait to see it!!!
Thanks for the article. :)

yay
I think tabs can be used more effectively than they are presently.
This is a good start.

Newb here, finally figured out how to resteem so this is a first for me, resteemed. I would retweet but I'm not on tweeter.