I dove into the code to find out what it is now.
The Dev.to Feed Algorithm π€
Justin Mancinelli γ» Jan 23 '20 γ» 7 min read
#meta
#rails
#beginners
#webdev
It's been changed a few times in the past.
What do you think of it? Do you have suggestions for what would work better for you?
Top comments (4)
I'm a bit torn on this. I have thought recently that improvements to the feed are needed. At the same time, I'm not sure DEV's stance on it. Should the feed be for the people by the people, where votes and views reign supreme? Or should it be more curated to promote higher quality content? Lately, I have been leaning towards the latter. Here are some of my general ideas.
Promote Quality Content
I would like to see a way for quality original content to get a higher priority in the feed. As the DEV user base and number of posts have grown, the feed does not seem as high quality as it once was. When I joined in 2018, I was amazed at the posts that showed up and how almost all of the ones I read were original content with good discussion on many of the threads. Authors that posted good content consistently were at the top of the feed.
Reduce Low Quality Content
I would like to see a reduction in copied and pasted links with little to no original content, I feel that these should have a lower priority in the feed. The 20 project ideas, 10 tutorials to become a master, 10 design resources, etc. are BuzzFeed-like posts. They often gain a lot of traction and become popular. I realize that if they are popular others must like them, so why should they be lower priority? My personal preference is to not have it become DevFeed. I'm not sure on the exact psychology on why they are popular, but I think a lot of us like and save those types of posts as wishful thinking that we are going to better ourselves from them in the future. They usually end up as "10 projects that I'm never going to actually do to master the front-end/back-end." Moderators can "thumbs down" posts, but those tools are tucked away in a separate interface, so I am not sure how much they are used. A single thumbs down does not seem to hold a lot of weight.
Likes, Likes, Likes
A "like" on a post is a very low-effort way for a post to become popular. It doesn't indicate quality or usefulness all the time. Access to the reactions panel is too easy. Users can like or save the post based on the title without even skimming it. If reactions play a large role in the feed, I would like to see them at the bottom of a post, so you at least have to skim it before you can like it.
Promote Discussion
When I first joined it felt more community-driven. Topics were interesting and there was a lot of good discussion. I think these days it is more about giving and receiving likes on your posts and there is less community. I'm not sure how to specifically improve this, but I think the other ideas I have in this post will contribute to it.
Limit Post Aggregation & Post Volume
I think the tool for RSS feeds was intended so that users could own their content and post it on here easily. The problem is that sometimes several articles are posted in rapid succession. Or a company RSS feed is hooked up to DEV and posts are being cranked out. I think limiting how often a user can post in a certain tag or how many posts per day would be a positive change.
Better Individual Controls
As of right now, you cannot unfollow a user, tag, or an organization. You can add a "negative follow" to a tag, but that is a very manual process because you have to follow it and then update each follow weight. Each time you change a tag weight, it submits a form and reloads the page. I spent some time tweaking these settings but I did not see a huge benefit. I had #react set to -100, but still saw React content. I think it was because I want to see JavaScript and web development content, so those had a higher weight but the #javascript, #webdev tags are usually attached to #react posts as well. I'm not sure how to solve that other than one tag per post.
Wow, great, thoughtful comment
These really bother me, I feel like I was tricked and wasted my time.
Yeah, that's a tough one. I sometimes like them, but most are vapid. I would prefer they be categorized as listicles through some mechanism and users could decide what to do with them. Best in my opinion would be if they were banned, and instead become a series and each article can be assessed on it's own merits. Hopefully, that would lead to more valuable and thoughtful content.
I learned this while diving deeper for the linked article. They can vomit too
That's a very interesting UX point
Maybe visible reactions bring in too much bandwagon behavior? Follower count is intentionally not visible publicly for a similar reason.
I agree with this. There are prolific writers, but I would think, for this community, anyone so prolific is probably a marketer or devrel like @dabit3 (who does not post multiple times a day) and moderators can quickly discover that Nader is welcome here but general marketing with low-value-add articles aren't.
Though backfilling an RSS feed should be acceptable if date of posting keeps original date so it won't show up as "recent" in the feed.
The UI for tag weight could be improved. I think it's good to have multiple tags (limited number) as it is now. A large negative weight should counterbalance sufficiently but it is not accounted for in the 3rd batch of articles and after scrolling a lot. That could be a simpler fix.
Based on your previous post and deep dive into current algo in use (massive thanks for the insight), its currently pretty static and based on who and what user follows, subbed tags and selected values in settings.
What they should try to integrate in the new algo would be learning from user behavior, what articles they actually click on, what they search for, what are their interests outside their subs and tags, etc..
Although easier said than done, that model would ultimately bring together people with similar interests and also left less hidden gems unexplored.
That would be awesome. I wonder what the overhaul has in store