
Show HN: Facebook Page Unliker - viiralvx
http://pageunliker.com
======
sprremix
Remember to remove this application[1] from accessing your information after
you're done.

[1]
[https://www.facebook.com/settings?tab=applications](https://www.facebook.com/settings?tab=applications)

~~~
viiralvx
You can do that, but I don't store the data anywhere using the app. You can
comb through the source code, its an app made purely with JavaScript and
EmberJS.

~~~
click170
Even if _you_ don't, it's a good idea to train users to remove apps that
they're done with so that other less scrupulous developers don't have
unnecessary access to their info.

~~~
viiralvx
Valid point, you're right.

------
cavemanklaus
Very nice. I recognise you can't auto unlike everything. On click can you
shift the page a set number of vertical pixels to the next like button. Then I
can just click to unlike in rapid succession.

Tweepi do this for mass unfollow, see the Flush tool interface here:
[http://tweepi.com/tools/flush#0](http://tweepi.com/tools/flush#0)

~~~
Macuyiko
Good point! At first on my end it seemed like this was already kind of
implemented since after every button click I scrolled my mouse wheel one tick
down and the buttons aligned more or less (for a bit). This might be a good
workaround!

------
deanclatworthy
What's the reason you are asking for the email address permission?

~~~
viiralvx
As mentioned earlier, it's a default permission that Facebook gives access to.

~~~
deanclatworthy
This isn't the case any more: [https://developers.facebook.com/docs/facebook-
login/permissi...](https://developers.facebook.com/docs/facebook-
login/permissions/v2.0?locale=en_GB#reference-email)

You are explicitly requesting it. Take a look at the params you are passing to
scope. I can see when clicking the sign in with facebook button in the URI you
are requesting these permissions: scope=user_likes%2Cemail

I'm sure you are doing nothing malicious, but there's no way for us to be 100%
sure you aren't doing something different on production.

Studies have also shown that you should only request those permissions that
are needed, otherwise you lower conversions. So you might want to fix this
right away.

------
baby
I'm trying to make a script to uncheck them all, something like this :

    
    
        javascript:var x=document.getElementsByTagName("button");for(var i=0;i<x.length;i++) {if (x[i].type == 'submit') {x[i].click();}}; alert('Done');
    

Not working though...

~~~
viiralvx
Yeah, I tried the same thing. Facebook uses iFrames for rendering their Like
buttons, so its impossible to automate the clicking of them. :/

~~~
baby
Oh, that explains why!

~~~
viiralvx
Its unfortunate. :/ But, using this I found it wasn't too bad to scroll down
and quickly unlike everything.

------
adlpz
Nice! I did something pretty much exactly like this 3 years ago. If you are
curious, the code is at Github:

[http://unliker.prealfa.com/](http://unliker.prealfa.com/)
[https://github.com/adlpz/The-Unliker](https://github.com/adlpz/The-Unliker)

Of course, please mind that it was years ago and maybe I wasn't, uhm, so
_proficient_ back then ;).

~~~
viiralvx
Very nice! Don't worry, outside of EmberJS, I rarely write JavaScript so mine
may not be as proficient either.

------
aw3c2
I do the opposite, I like random, suggested things. I like to poison their
data with non-sense. Harmless to me, catastrophic for the creeps.

~~~
viiralvx
See, highschool me used to like random things but when you get it polluting
your News Feed when all you care about is new music from indie artists, then
that's when you want to start unliking things, haha.

~~~
aw3c2
Just mark them not to be visible in your feed.

~~~
jaredsohn
If you only hide the stuff you don't care about, then you are poisoning their
data with nonsense to a lesser extent.

------
sqyttles
I am working on an app that does a similar function but for 'friends'.
Removing friends is very slow on desktop because of the thumbnails generated
for all the profile pictures. The page refreshes often which further slows
down the tedious task of deleting friendships.

~~~
viiralvx
Yeah, I was planning on creating something for friends as well, unfortunately
the Graph API doesn't allow for programmatic deletion of friends, although it
would be nice.

~~~
sqyttles
That's unfortunate (but good, I suppose) to know!

------
blaabjerg
It seems it automatically goes to the next page (and scrolls about 1/3 down
the page) once I scroll to the bottom? And there's no way to go back to the
previous page?

Some usability issues, but overall a nice idea. I like the chronological
sorting.

~~~
viiralvx
Yeah . . . I'm wondering how best to fix that. The problem with rendering
iFrames is that once you hit 100, it gets CPU intensive and laggy, so I
decided to delete older items under the assumption that the user was done with
them. Thus, by limiting it to 50 items onscreen at once, it increases
performance. Maybe pagination would have been better, I just didn't want to
force users to click more than they had to.

~~~
RogerL
I have 45 items. When I get to the bottom, it blanks all the items, and
displays "finished loading items" twice. If I log out then log back in it
displays my list of likes again .. until I scroll to the bottom.

------
iwonagr
Sounds like a very useful app. At least for those "liking hyperactive" FB
users who have grown up and now are using FB to build their brand through the
platform. Nice job guys!

~~~
viiralvx
Thanks! Heck, I remember back in the day when it was called 'Become a Fan' and
not 'Like'. I was one of those hyperactive users out of boredom in high
school, so I figured others would in a similar scenario.

~~~
zo1
It was also back when the "thing" you were a fan of wasn't a page that could
post stuff to your feed. Now every single one of those "things" you were a fan
of are pages that have admins/owners and can post stuff.

E.g. At some point you could populate your profile with favorite books,
movies, artists, etc. You know, topersonalize. Well, now they're all pages and
you _like_ all of them.

------
nlx
Needs an unlike all option, you could just load all the unlike links and hit
them all with jquery.trigger('click')?

~~~
viiralvx
Since the Like Button is an iFrame, that isn't possible, unfortunately.

------
nikanj
If I scroll all the way the page links disappear and all I see is

"You have liked 56 pages.

Finished loading items!! Finished loading items!!"

~~~
teekert
I have same, initially it looks good and then this message without the ability
to unlike things.

Great page though (when it works)!

~~~
viiralvx
I'm working on fixing that bug. This is my third EmberJS app, my first one
with only EmberJS and no custom back-end, so I'm doing some hack-y things to
get it to render more likes. Sorry about that~

------
Intermernet
Good idea.

One quick note to the authors (if you're reading), there's a typo on the info
page:

s/need to you to/need you to/

~~~
viiralvx
Hey there, author of Page Unliker here. :) Thanks for catching that, I'll be
sure to fix it!

------
KhalilK
Brilliant!

What about an "Unlike all" button?

~~~
lucasmullens
I assume this uses the like widgets, so that's not possible. There's no
Facebook permission for "ability to unlike pages".

~~~
KhalilK
Selenium it is, then.

------
james246
Worked fine for me initially, but after refreshing the page, I get nothing

~~~
viiralvx
Try logging out and then logging back in. Its an annoying bug I'm trying to
fix to no avail.

------
FabianBeiner
You also might want to check out
[https://apps.facebook.com/allllmylikes/](https://apps.facebook.com/allllmylikes/).

~~~
BorisMelnik
actually like this better, and works better and less buggy for me for some
reason

~~~
FabianBeiner
Yes, same here. Yet, people downvote this suggestion…

