loading...

I made a browser extension to hide reactions and notifications on Dev.to πŸ’†

emma profile image Emma Goto πŸ™ ・2 min read

This year in 2020, I want to work towards posting blogs more consistently. I can see the value it can bring in improving my writing skills, and helping me to better understand programming concepts, and so I’ve committed for the first half of the year to try and post a blog a week.

But it’s very easy to start chasing likes and followers when posting on a platform like DEV. I will admit getting more followers and reactions is cool, and it’s a good feeling when you get that validation. But on the flip side, when you post and no one looks at it, that feeling kind of sucks.

I don’t want those feelings - good or bad - to get in the way of me posting blogs, and so I made a browser extension to fix that.

Now when I look at posts on my feed I will see something like this:

Picture of post on feed without reaction count

And my dashboard no longer shows analytics data:

Picture of dashboard without the analytics at the top

And I've done the same to my notifications page and other pages across DEV.

I’ll admit this is probably a bit extreme of me, and I’m still probably going to get the urge to check my stats once in a while, but I think this is a good compromise for now.

If you’re interested in installing it yourself, I’ve put up the repository here. There’s definitely still some bugs - it doesn’t seem to always work when navigating between pages so I would love to know if it can be improved upon.

Posted on by:

emma profile

Emma Goto πŸ™

@emma

Front-end developer. In my spare time I like to make Trello Power-Ups ✨

Discussion

markdown guide
 

That's cool. I'd like to see it an option on the site itself, but an extension is good too.

One of the best things about DEV is that it doesn't shove those stats in your face, but getting rid of them completely... I like that. I'm going to install it.

 

Thanks for giving it a try! I've realised it breaks the ability to reply to comments so I'll have to fix that up. Fixed!

 

Good job! I use Twitter Demetricator who is based on this very principle and I have found the user experience greatly improved.

Sometimes removing features is the best thing you can do.

bengrosser.com/projects/twitter-de...

Does it work in Firefox/Android?
I don't mind notifications on the desktop, on mobile it's worse for me

 

Cool, I might make use of that for Twitter too.

It's just for Chrome / Firefox on a desktop right now. I didn't know it was possible to create stuff for Android too, I might take a look at how the Demetricator does it.

 

It should also work on Firefox for Android. The only thing that you might need to change is to handle mobile version of Dev.to layout, and change manifest file a bit to be compatible with Firefox for Android (if it is not already).

Can you then publish your extension to Firefox and Chrome extension stores?

 

Its not extreme. I have the same feelings as a beginner author.

Also, Twitter/Instagram are experimenting with the same idea to encourage people to like what they like, not what is widely liked so its probably worth liking. ;)

 

Great idea, I have been trying to cut out notifications. I want to use websites and services on my own terms and not get distracted by the need to clear the indicator, accidentally see the notifications, then forget why I went there in the first place. Since you work for Atlassian, you may appreciate how much I despise the notification bell on Confluence, I can't escape the "Someone edited your page" or "Someone liked your page" notifications. I have CSS selector blocking for that, but it is inconsistent due to dynamic class names.

I have loaded the extension on my browser and it is working well so far. For those that want to load it in Chrome, on Github select Clone or Download > Download .ZIP > then unzip it to a folder. In Chrome navigate to More tools... > Extensions > toggle Developer Mode > Load Unpacked > select the folder.

 

I'm more of an email notifications person when it comes to Confluence but I agree, I have a filter set up so that those "Someone liked your page" email notifications go straight to a separate folder where I don't have to see them πŸ˜‚ DEV made it easy for me with this browser extension in that their class names are static.

 

Yes, it's another reason that sites which use deep-nested generated IDs and classes like "sdfhsf65324eyugas" for everything are a real pain.

 

I completely understand why you want to hide the stats! That's exactly why I created my own content management system, to consciously not track anything. Blogging should be about blogging and not chasing the engagement. I'm glad to know I'm not the only one!

It's very cool to see you built something to block this on here too.

 

I've been playing around with a couple of other ideas. I already use extensive adblock rules with ublock origin to cosmetically alter sites (like I get rid of menu items I never use, or related-content panels, that sort of thing). I was hoping to be able to come up with a subscribable filter list that covered all the major social media sites.

This approach falls down with sites like DEV because it's limited to just hiding whole elements, and DEV has text without surrounding tags. We could probably put in a PR to address that, but we couldn't do that for other sites, and if we had a PR to sort out the HTML we might as well make one to allow stats as a configurable preference.

How would you feel about expanding your extension to cover other sites, maybe through a list of rulesets?

 

I'm totally open to adding more websites! My only worry is for sites without static class names, is there a workaround for that?

 

There's always drilling down through tags searching innerText for a pattern. I did that on Quora to get rid of some of their junk panels before. It's expensive on an infinite-loading page, so what I was doing was adding a class (or attribute, I forget) to everything after processing so it wouldn't have to search again when the DOM got updated. I don't have that code anymore but it's relatively straightforward, just kludgey.

 

This is really neat! What a great idea.