
The button: social experiment driving Reddit crazy - prawn
http://www.vox.com/2015/4/10/8383165/reddit-button-explained
======
georgehotelling
One faction known as the Knights of the Button created a Chrome extension
called Squire to coordinate button presses in order to keep the timer running
for as long as possible.

The craziest thing I've seen so far is that another group known as the
Assassins created a fork of that extension that would claim they would press
the button, but in fact wouldn't so that the timer would run out.

There are groups sabotaging other groups' code based on their goals for the
button.

[https://www.reddit.com/r/Knightsofthebutton/comments/31x3c0/...](https://www.reddit.com/r/Knightsofthebutton/comments/31x3c0/the_squire_we_were_attacked_today/)

~~~
abra0
Squire dev here. We were DDoSed, infiltrated about 4 times and had an author
of another similar extension turn on us. But we will persevere.

All hail the great and glorious Button! Long may we serve, long may it live.

~~~
knobs
I've had a look at your code... GTFO!

username = r.config.logged; // stealing reddit username and sending them to
your own server

socket.on('alert_autoclick', thebutton.click() ); // click the button
automatically when your server tells it to

socket.on('reload', location.reload() ); // reload page when your server asks
to inject new code from it

and the server code isn't even publicly available...

is this a joke? do you know what malware is?

~~~
abra0
No, never heard of it. What's this 'malware'?

Also, you use the squire on your own volition.

~~~
knobs
you might want to look up 'malware' in the dictionary, you should easily
recognize it, it has a picture of squire next to it.

------
jamesrom
The bar chart is from [http://jamesrom.github.io/](http://jamesrom.github.io/)

Whoever made it must be a pretty cool dude.

~~~
monk_e_boy
I spend a few minutes watching the /r/thebutton (non presser) every now and
then. My SO said WTF are you doing. I replied that watching the timer was just
a valid form of entertainment as watching TV or playing the sims. She
gaffawed. Boredom plays a big part in lots of interesting online 'games'? Art
thingies? Social experiments? April fools?

The one I go back to over and over is Cookie Clicker
(orteil.dashnet.org/cookieclicker/) any time I feel like getting a watch that
counts my steps or a Tesco Club Card or any other gamification device -- I
play the master of gamification. Or I watch the button, 13 days in and 55, 54,
53, click! Idiot, 59, 58, 57, 56, 55, click! Idiot, 59, 58, 57....

~~~
prawn
Agree that Cookie Clicker is absolutely fascinating. Two of us in the office,
busy and capable people, became competitive bandits for Cookie Clicker. It
makes for an almost perfect study in drip-feeding content/upgrades no matter
how pointless and mundane.

Hints to me that the Great Filter could well be addictive and selfish
behaviour transfixing the instinctive and basic aspects of our minds.

~~~
EGreg
Also Cookie Clicker raises an interesting mathematical problem. I wonder if
there is a closed form solution to it, or even a polynomial-time algorithm, or
if it's NP-hard.

I posed this question once when I was copying and pasting a pixel to fill a
line. Given a time cost of selecting & copying vs pasting, what is the optimal
number of pastes before I should select and copy? What if the cost of
selecting & copying is a function of the current size of the line? That is
what Cookie Clicker raises, but with more kinds of "boosts" and whose costs
also increase based on how many you've purchased.

Or perhaps you can also pose it in higher dimensions later (copying and
pasting to make 2d squares, or even more complicated shapes).

I wonder if algorithms can be written to compete in Cookie Clicker-type games.

~~~
namdnay
It's a relatively easy polynomial problem - there was a google code jam
question based on a simplified version last year

[http://puzzlersworld.com/interview-questions/google-code-
jam...](http://puzzlersworld.com/interview-questions/google-code-jam/cookie-
clicker-alpha-solution-google-code-jam-2014/)

------
PaulJulius
Some code you can write in the console to click the button at a certain time:

    
    
        sec10s   = document.getElementById("thebutton-s-10s");
        sec1s    = document.getElementById("thebutton-s-1s");
        sec10ms  = document.getElementById("thebutton-s-10ms");
        sec100ms = document.getElementById("thebutton-s-100ms");
        button   = document.getElementById("thebutton");
        time = function() {
            return sec10s.innerHTML +
                   sec1s.innerHTML; // +
                   //sec10ms.innerHTML +
                   //sec100ms.innerHTML;
        };
        
        pressAt = function(timeStr) {
            return function() {
                if (time() == timeStr) {
                    button.click();
                }
            };
        };
    
        setInterval(pressAt("00"), 100);
    

But even with setInterval set to 1, this won't get called every millisecond,
so you can't get accuracy to the second decimal point, not that there's really
any need to. (It turns out setInterval has a minimum delay. setTimeout's
minimum delay is 4ms and likely setInterval's minimum delay is the same.) Just
set this up and leave your computer running for the next few months and you
ought to get it eventually.

~~~
raldi
Okay, now if you really want to impress me, pretend you work for reddit and
write some code that would catch this kind of script and give it "cheater"
flair.

~~~
natrius
Monkeypatch setInterval/setTimeout to mark people as cheaters. The more
dedicated cheaters will hit the button API outside of the browser, which is
pretty hard to stop.

~~~
Kurtz79
For someone with only limited HTTP/Javascript knowledge:

"The more dedicated cheaters will hit the button API outside of the browser,
which is pretty hard to stop"

How this would be accomplished, I guess from the command line ?

EDIT: found what Monkeypatch means.

~~~
tokenizerrr
The button presses are communicated over a websocket. You could make your own
websocket client and communicate however you want to, such as listening to
time updates and sending a click when it reaches a certain treshold.

------
WA
In Ludum Dare 27 (I think), someone made exactly this game. A game with a
collective effort to keep "the patient" alive. One player had to press space
every 10 seconds or the patient dies. Although every player was allowed to
press multiple times.

I think the patient survived for 24 hours or so, which is quite remarkable for
the smaller audience. If I remember correctly, this little game even made it
into some German online newspaper (probably Spiegel Online).

Unfortunately, I couldn't find the game for reference.

~~~
calibwam
If I remember correctly, the patient "died" after the game got too much press,
and the server crashed. Instead of rerunning the game, they called it a
success. Couldn't find it either, but I did not look too long.

~~~
zedadex
> If I remember correctly, the patient "died" after the game got too much
> press

This is both "ironic if you're taking it at face value" and a pretty good pun.

------
tsomctl
How long until we find out what happens when it reaches 0? Let's be
pessimistic and assume that everyone wants to click it. There were 3.4 active
accounts on Reddit last month. 700000 have clicked it so far, so there are 2.7
remaining. Assuming an upper bound of clicking it at 1 second remaining, we
get ((2700000 users) * (59 seconds/user))/((60 s/min) _(60 min /h) _ (24
h/day)) = 1843 days, or a little more than 5 years. Of course, it will be less
than this. I'm not sure what the distribution of click times is, and it will
definitely change as more people have clicked.

~~~
Sayter
3,410,682 (from reddit.com/about) is the number of logged in accounts
yesterday, not last month.

~~~
avinassh
This number also includes accounts registered after April 1st, but they are
not eligibe to press The Button.

~~~
cheepin
and doesn't include accounts that were registered before April 1st, but did
not log on yesterday. This potentially could be a lot since it is relatively
common to have more than one account on reddit.

------
ddebernardy
Great growth hack. eBay auctions for button-virgin Reddit accounts have begun
to show up:

[http://www.ebay.com/sch/i.html?_odkw=reddit+button&_nkw=redd...](http://www.ebay.com/sch/i.html?_odkw=reddit+button&_nkw=reddit+button)

~~~
rplnt
So it's selling for about a dollar it seems.

It might be a good purchase if the account was active before this. You know,
for "marketing".

------
dack
Yeah, I had a little JS bookmarklet watching it for me for a few days,
tracking the lowest number, ready to click when it got to 1 second. Of course,
the websocket encountered an error at somepoint mistakenly registering an
incorrect timer value and causing my script to click at 50-something seconds
:(

------
dlsym
This whole social hierarchy based on colors reminds me of Jasper Fforde's
Shades of Gray.

[https://en.wikipedia.org/wiki/Shades_of_Grey_1:_The_Road_to_...](https://en.wikipedia.org/wiki/Shades_of_Grey_1:_The_Road_to_High_Saffron)

~~~
thret
It reminds me of The Wave, or the Blue Eye-Brown Eye experiment.

~~~
joshdick
Or the Great Orangered/Periwinkle Clash of April Fools Day 2013.

[https://www.reddit.com/r/OutOfTheLoop/comments/2jne44/what_w...](https://www.reddit.com/r/OutOfTheLoop/comments/2jne44/what_was_the_great_orangeredperiwinkle_clash_of/)

------
babramovitch
For anyone that's interested, I've made an open source Android app to watch
the button.

[https://play.google.com/store/apps/details?id=com.nebulights...](https://play.google.com/store/apps/details?id=com.nebulights.thebutton&hl=en)

[https://github.com/babramovitch/TheButton](https://github.com/babramovitch/TheButton)

------
deweerdt
This post:
[http://np.reddit.com/r/thebutton/comments/31ltqd/read_this_b...](http://np.reddit.com/r/thebutton/comments/31ltqd/read_this_before_you_press_the_official/)
is a good primer.

------
switz
It's a joke, right? I'm guessing that the timer resets itself with a "fake
press" if it reaches a certain threshold.

~~~
Buge
It only resets when someone pushes it. It's been getting closer and closer to
0 as the days go by since it started. There are also bots waiting for it to
get low so they can snag a low number.

~~~
dbbolton
>It only resets when someone pushes it.

Is there any code available to prove that?

~~~
jeff18
Let's give reputable companies the benefit of the doubt.

~~~
hueving
There is no reputation on the line here. Nobody would suddenly refuse to use
reddit if they automatically clicked.

~~~
spectrum1234
^not getting it. some engineers love to think ux/design don't matter. on the
aggregate it matters more than anything else.

------
moron4hire
I must be old. I don't get it. I mean, I understand what is going on. I don't
get why people care. I don't get why people care so much that they are
screaming at each other on the internet about it.

~~~
jerf
I already posted this on /r/button a while ago, but:

"In [the The Robbers Cave Experiment], the experimental subjects—excuse me,
'campers'—were 22 boys between 5th and 6th grade, selected from 22 different
schools in Oklahoma City, of stable middle-class Protestant families, doing
well in school, median IQ 112. They were as well-adjusted and as similar to
each other as the researchers could manage.

"The experiment, conducted in the bewildered aftermath of World War II, was
meant to investigate the causes—and possible remedies—of intergroup conflict.
How would they spark an intergroup conflict to investigate? Well, the 22 boys
were divided into two groups of 11 campers, and—

"—and that turned out to be quite sufficient.

"The researchers' original plans called for the experiment to be conducted in
three stages. In Stage 1, each group of campers would settle in, unaware of
the other group's existence. Toward the end of Stage 1, the groups would
gradually be made aware of each other. In Stage 2, a set of contests and prize
competitions would set the two groups at odds.

"They needn't have bothered with Stage 2. There was hostility almost from the
moment each group became aware of the other group's existence: They were using
our campground, our baseball diamond. On their first meeting, the two groups
began hurling insults...."

Eliezer Yudkowsky, The Robber's Cave Experiment:
[http://lesswrong.com/lw/lt/the_robbers_cave_experiment/](http://lesswrong.com/lw/lt/the_robbers_cave_experiment/)

Distressing how well it fits, isn't it?

~~~
moron4hire
Quite distressing. Especially considering we've now had several decades of
these sorts of stories in the popsci press. You would think people would be
more aware of these sorts of issues.

Like, don't people _know_ freemium smartphone games are a scam? I see people
who had the same education as me, people I know have read the same psychology
textbooks, paying hundreds of dollars to play these games that have no
compelling "fun" factor. These games have such shallow verniers over their
slot-machine nature that I don't understand why supposedly intelligent,
knowledgeable people can't see them for what they are.

I get needing entertainment and I get not spending 100% of your time single-
mindedly focused on "business" or whatever. I watch movies, play games, read
books, drink in bars, go to sportsball recitals. I'm here, posting on HN. At
least with HN I, get practice writing, have my opinions challenged, learn
about new and interesting things, and get a chance to share my own work for
feedback and traffic. I don't get money out of HN, but I do get _real_ things
out of it.

~~~
sosborn
> games that have no compelling "fun" factor.

"Fun" is subjective. To the people that play these games, they are fun and
they are deriving enjoyment from them. I don't understand why the enjoy it
either, but then again, they probably see some of my hobbies and wonder why
the fuck I would spend time/money on them.

Live and let live man.

------
buttonaccount
How did the admin add interactive HTML to a subreddit? Is this possible for
any subreddit, or was this something special organized by the company? The
intro post doesn't seem to delve into those details.

~~~
gravity13
It's actually pretty cool. Makes me wonder if they're working on abstracting
it out so other subreddits can utilize tools like these as well.

~~~
buttonaccount
yes, exactly. could be some cool applications if they extended the platform.

------
patejam
And now this will drive traffic to the subreddit and continue to slow down the
progress to 0. :(

------
Buge
There's even malware going around, causing people to push the button at early
numbers.

------
pgodzin
Reddit would do well on the island of Lost

~~~
masterzora
Or poorly in the Cold War.

------
zkhalique
Something about the simplicity of this experiment and its additional meaning
adoption makes it sublime

------
cs702
This is the purest system invented for earning imaginary online social status
so far.

Instead of having to make insightful comments to earn imaginary karma points
in HN or provide helpful answers on Stack Overflow to earn imaginary badges,
with this new system you only have to stare at your screen for a really long
time and click a button at just the right time to earn higher status!

------
rplnt
How does this work when reddit is down? I probably don't know a more
unreliable site than reddit is, so this must have happened plenty of times
since April 1st.

~~~
slowmotiony
That's because it's bullshit. Reddit goes down all the time.

~~~
eterm
A particular server goes down (well, gives you a busy message), the whole of
reddit doesn't "go down".

Also this uses websockets to different servers outside of the normal content
servers.

------
Shivetya
To be honest, while I read reddit daily I have never once seen mention of the
button nor do I have any inclination to even go to the sub.

so how was this introduced to reddit, it was not on the front page for long if
ever. if not for reading here I doubt I would have ever encountered it

~~~
detaro
> What is the button?

> The button is a feature that the popular social media site Reddit introduced
> on April 1, 2015. It has its own subreddit at /r/thebutton.

After April 1st it hasn't been that visible though

~~~
Vivtek
Button-related posts keep making it to /r/all, though (my main Reddit window).

------
franciscop
Say what to a community of hackers? :D

    
    
        setInterval(function(){
          var seconds = parseInt($("#thebutton-s-10s").html()) * 10
                      + parseInt($("#thebutton-s-1s").html());
          if (seconds > 15 && seconds < 20) {
            $("#thebutton").click();
            }
        }, 100);

~~~
strathmeyer
They detect 'cheaters' and flair people as such.

~~~
jacalata
really? How would you detect a clientside script like this?

~~~
ryan-c

        function validateClickEvent(e) {
            var r = e.target.getBoundingClientRect();
            if (e.x >= r.left && e.x <= r.right && e.y >= r.top && e.y <= r.bottom) {
                console.log('looks legit');
            } else {
                console.log('faked click');
            }
        }
    

Set this as the click handler. The click method is browser specific, but on
Chrome the x/y coordinates on the event will be incorrect. A smarter script
could fool this, though.

~~~
tom-lord
I don't know much javascript, but that looks extremely error prone to me. How
would it behave in different monitor sizes? With zoomed in/out screens? On
mobiles, tablets, etc?

And it would still be pretty easy for a cheating script to work cheat your
validation!

~~~
ryan-c
It's just an example, but zoom should scale both the element coordinates and
the mouse coordinates. This sort of validation can be made a lot more
elaborate.

------
humanarity
The last couple hours I hacked together a chrome ext that notifies you
whenever anyone presses the button (oh god) and also can run a robot to press
it for you. It works, tho I don't claim there's no bugs.

The github:

[https://github.com/humanarity/reddit-thebutton-push-
it](https://github.com/humanarity/reddit-thebutton-push-it)

And the Webstore:

[https://chrome.google.com/webstore/detail/rthebutton-
robot/m...](https://chrome.google.com/webstore/detail/rthebutton-
robot/mbjhhcjnpagkeeeiimfnmhbfmadhcaoe)

Check it out! :)

------
diminoten
Diabolical idea: "First 10,000 people to give reddit gold to people in
/r/thebutton are allowed to press the button a second time."

Dunno if folks would tolerate that, but I get the sense it'd work.

~~~
tdaltonc
Wow, a pay-to-win version of Reddit. I guess there are probably people already
guiding their own comments for visibility.

------
cmpaul
1\. Open JS Console. 2\. Copy and paste the following, but don't submit: var n
= {seconds: $("#thebutton-timer").val(),prev_seconds:
r.thebutton._msgSecondsLeft,tick_time: r.thebutton._tickTime,tick_mac:
r.thebutton._tickMac}; 3\. Wait for the timer to hit a time you like and hit
ENTER to record the timer seconds and tic MAC. 4\. Repeat until you're happy
with the score. 5\. Paste the following into your console and hit ENTER:
$.request("press_button", n, function(e) { console.log(e) });

------
krzrak
Ideal recipe for "how to keep dumb person busy" ;)

~~~
ikeboy
Just call 401-285-0696

------
pkrumins
How do they make sure just 1 click registers? I'd imagine 10k people are
clicking the button at the same time, but the counter keeps increasing by 1.

~~~
danielsamuels
They don't, you can have multiple people get the same flair at the same time.
Most trackers will tell you how many clicks occurred on each reset.

------
buro9
Interesting... is this actually run by Reddit?

I guess you could use the data from this to determine how the network
functions. It's depth, breadth, how quickly messages propagate through the
network, who the influencers are and so forth.

Edit: Watching /r/button is interesting... almost makes me wish I had a Reddit
account, but there would seem to be no point now as I wouldn't be permitted to
push the button.

------
thret
This social experiment is still running.

Some good things have come out of it, most recently:
[https://www.reddit.com/r/thebutton/comments/33jpwe/the_endga...](https://www.reddit.com/r/thebutton/comments/33jpwe/the_endgame/)

------
S_A_P
My Button Press is for sale- I think this is something that VCs could all get
behind here...

[https://www.reddit.com/r/thebutton/comments/32hf6y/for_sale_...](https://www.reddit.com/r/thebutton/comments/32hf6y/for_sale_my_button_press/)

------
lnanek2
There was a famous viral online game (OK web page) where visitors had to do
this to keep a cute astronaut in a hibernation unit alive. You could hear her
heart beat and breathing. She eventually became a skeleton. Felt more
personable and engaging than just a button with no character, though.

~~~
Delryn
Do you have anymore details on this game? I can't find anything on it, but it
sounds interesting.

I agree that the game you describe is more personable, but /r/thebutton does
have an air of mystery going for it. The simple premise has left room for a
lot of interpretation. Is it better to press the button, or stay gray? Which
colors are the most desirable? What will happen after the timer runs out? etc.

~~~
lnanek2
Ah, someone else linked it:
[http://dom.ink/post/59611971605](http://dom.ink/post/59611971605)

------
BWStearns
[http://deepthought.be/thebutton/](http://deepthought.be/thebutton/)

Disclaimer, I didn't make it.

------
rokhayakebe
Lost. All over again. Will the island disappear?

~~~
droidist2
4 8 15 16 23 42

------
mahouse
"This webpage has a redirect loop"

------
shaurz
I just hope I get a nice badge for it. I missed out on the
orangered/periwinkle thing.

------
gojomo
Is it true the last person to press it wins a million dollars?

------
imron
>coveted yellow flair

Until of course orange and red start to appear.

------
audessuscest
"But as more people join the community, more will push the button, delaying
the day of reckoning."

Wrong. Because : "Only accounts created before 2015-04-01 can press the
button"

It's not a growth hack...

~~~
tomerv
I think that by "community", the author meant the subreddit community of
people interested in the button. There are many people with reddit accounts
that are still unaware of the button.

------
MrBra
That's why Reddit doesn't click with me.

------
wesleytodd
3 days of watching and I got the yellow!!!! 30s

------
ing33k
why didn't hn had one ?

------
lepunk
4, 8, 15, 16, 23, 42

------
nickysielicki
Honestly this just highlights some of the negative things about the internet
to me.

~~~
sfjailbird
I agree. How sad that some people have to invent these idiotic memes to fill
up their time.

~~~
Gigablah
Meanwhile you're wasting time on Hacker News.

------
gremlinsinc
Yeah, so I created a reddit post --- to persuade Newbs to NOT press the button
until < 25 to maybe give some of us a shot at a good number...and see what's
out there!
[https://www.reddit.com/r/thebutton/comments/32eue3/hey_idiot...](https://www.reddit.com/r/thebutton/comments/32eue3/hey_idiot_dont_press_that_button_till_it_says_25/)
If you feel inclined vote it up, so it becomes #1 on the thread and first
thing people read.

~~~
thecatspaw
this isnt reddit, nor is it the correct place to promote your reddit thread.

