r/blog • u/youngluck • May 08 '19
Sequence - Recapping The Fools of April

------
TL;DR: We learned a lot.
A month ago we released this year’s contribution to what has become an annual tradition unlike anything else on the internet: a social experiment delivered on the day of celebration for the Fools of April. It is a day we here at Reddit anticipate all year, the day circled in our ‘Cat Facts’ calendar with a big red marker. The rest of the internet has grown accustomed to using this day to deploy light-hearted tomfoolery and, admittedly, there is a brief moment where we consider the risk-free ease of producing a quick gag gift or two... but only to know what it feels like. Those thoughts quickly return to the warmth of what we know this day to truly be on Reddit; a chance to do much more. On, it is a chance to convert part of our shared space into a playground, much like the one where we first met our beloved community. On this day, there are no teachers and very few rules, just dedicated time to run free and explore and build stuff and play games and learn about each other all over again.
The games are different every time. And whether they end in triumphant glory or with little Bobby busting his lip on the monkey bars, again… we still show up to play. We play until the sun goes down, the street lights come up, and it’s time to go home and wait for the chance to do it all again. In truth, we cherish this time not just for the experiments we play, but as a time when the limitless creativity of the Reddit community teaches us things that help us better serve them during the other 364 days of the year.
On April 1, 2019... we launched Sequence.
THE EXPERIMENT
Sequence was intended to see what happens when redditors are given a tool to create a collective narrative within a traditional movie format. The idea was simple in theory, to present a series of empty slots (i.e., scenes) that users could fill with gifs or text cards and then vote on which ones they thought should end up in that scene. A timer would lock the scenes in sequential order and when all of them were locked, they’d be stitched together into a single video.
THE BUILD
BACKEND CHALLENGES
One of our main goals was to keep the site from going down, a challenge given the limited time we had. Our solution was to try and separate as much as we could from the main service. Sequence had its own voting and image upload queues, which copied a lot of what the main queues did but kept from being clogged with massive Sequence data, so image submission processing didn’t slow down across the rest of the site.
Sequence requests were also redirected to a specific set of servers that we pre-assigned just for Sequence. The challenge was figuring out how to get the top post of each scene to show up in its intended position since all posts in a scene were stored in a separate listing and fetching 50 listings to locate one post, for one scene, was unreasonable. We ended up caching the top valid posts per scene and updating them dynamically after vote batches were processed. There was also a Cron that would update it periodically in case a previous winner was deleted or removed, along with scene lock timers flexible enough to adjust on the fly.
FRONTEND CHALLENGES
One of the biggest challenges we encountered in building the frontend for Sequence was performance – each act contained up to 50 clips, as well as up to 25 more when viewing a scene for voting on or nominating new clips. That many videos playing at the same time is enough to bog down any browser, especially mobile browsers. Trying to load and play all of the video clips at once was easily enough to overwhelm a mobile browser, often leading to many clips failing to load completely. In addition to this, some clients would not autoplay video clips without an explicit user interaction, which also broke the experience entirely.
To address these issues, we built a system to prioritize loading videos within the viewport (the part of the page that is visible) first, to pause videos when they scroll outside of the viewport, and to fall back to loading .gif versions when videos failed to autoplay. The video management system also limited the number of simultaneous video downloads to help prevent the browser from getting overwhelmed and also made sure that video playback across all clips on the stage stayed synchronized to the same 5-second loop, significantly improving performance.
DESIGN CHALLENGES
The biggest design challenge was delivered by the nature of the medium itself. All motion-based media formats, including Video, operate on the exact same fundamental process, whereby multiple still images are displayed in sequential order through a frame one at a time in rapid succession to produce the illusion of motion. That illusion is dependent on the rate of those images exceeding the human eye’s ability to distinguish them individually (10-14 frames per second), and the size of the frame they are displayed in remaining constant throughout the entirety of the sequence. This constant size must restrict viewing to a single image at a time, or the illusion is broken.
With Sequence, we were tasked with building a tool intended to support collaboration, yet it would produce and rely on content that functioned by serving individual frames. One frame of one clip from one contributor would own the entire communal stage at any one time. The speed at which frames change helped a bit, but we’d still need to consider the reality of a single contributor owning the entire narrative for the period of time their clip was the sole occupant on a stage, a stage that only afforded real estate for one. The challenge was to design an interface that could display as many other clips from other contributors vying for a scene as possible while simultaneously clearly defining which clip was leading the race to occupy it so that slots surrounding it could potentially be used to build off of its contents. To define the sequential order, each scene would be placed in its desired position on a linear stage, a model used by every video-editing software product ever. However, In a collaborative environment with multiple ideas and viewpoints yelling from all directions, this linear format presented a host of additional challenges, most notably the inability to view more than one scene’s options at a time.
In the end, it was the community’s ability to organize that would negate most of the perplexing challenges we were unable to solve with design. As the great philosopher Ian Malcolm once stoically proclaimed while wearing sunglasses in an underground laboratory, “Life……….. uh…………………….. finds a way.”
THE SEQUENCING
The first commit went out on Feb 3rd. There were 409 commits, 13,402 lines of code, and it was 45% Python, 35% JS, 10% CSS.
True to the spirit that drives these experiments, there wasn’t a unified hypothesis of what Sequence would produce. These projects are often seeded by questions we don’t really know the answer to. We ask one, try to build something that might help answer it, ship it, and watch what users do with it. So, that’s what we did here.
When the dust settled 72 hours later, 3.1 million of you came, 2.6 million of you stayed and watched, and 590,427 of you decided which of the 67,471 nominated clips would make it into the Final Cut—a hideously beautiful, 15-minute visual hodgepodge of chaos and cohesion that one critic (u/Gnarley_Strarwin) hailed is “like an escalating argument between two standup comedians getting into a drunken argument eventually yelling nonsense over one another. 10/10…”
Ladies and Gentlemen, without further ado... Let us pop some corn, grab a beverage, and pull a chair up really, really close. A little bit closer. For here, presented in a glorious half-full glass of HD...
The final edit of Sequence, set to the soundtrack of Citizen Kane:
THE EPILOGUE
In its wake, more creative expression emerged. Alternate acoustic variations, including one with meticulously sourced original audio, alongside higher quality Minecraft replicas and hand-made analog sequences. Somewhere along the way, the sub was repurposed to be, well, none of us really understood what the purpose of the sub ultimately evolved into, but the randomness of the submissions and the velocity of activity from users, also generally confused as to why they were there but participating anyways, was really fascinating.
However, it was the process of creation itself that would produce an equally compelling story. A tragic tale of love and hate, complete with knights, snakes, killer robots, plot holes filled with plot twists, dramatic narration, a Stan Lee cameo, and an ending that hinted at promises of redemption.
When all was said and done, those that came to play had a lot of fun. Once again, the community surprised us with creative abilities that put our wildest imaginations to shame. We sat with dropped jaws watching you use creativity not only to produce content but also to navigate and solve challenges that left some of us (just me) crying alone in a corner. So, to all of those that participated, all of those that tried, and all of those that took the opportunity to remind us that r/place was better… thank you for joining us on the playground this year.
Until we play again,
Les Admins
01111010 01110101 01101100 01110010 01101001 01101000 01110000 01100001
75
u/tko1982 May 09 '19
Maybe it was just me, but in the initial rollout I did not at all understand what the purpose of sequence was. Not until I read this post did I understand that the goal was to croudsource a movie. Did I miss something? Or was the intention for users to figure out the purpose? I usually love taking part in these things, but this time I just didn't understand what was going on.
24
u/youngluck May 09 '19
Was definitely not just you. Another redditor wrote a much better description of what it was and what could be done with it towards the middle of The Prologue. I stickied it and it was actually the only thing left stickied through the entirety of the experiment, but even then, you’d have to have stuck around for the stitch to understand that it spit out a spliced thing. The tl;dr is actually a pretty honest statement.
→ More replies (1)
98
u/HarleySilverWolf May 08 '19
They can’t all be winners.
54
u/youngluck May 08 '19
Yup. The spirit of these will always be born from experimentation. Some experiments cure world illness. Some explode and leave labs in smoldering piles of ash. As long as ours is still standing, we'll continue to run them.
265
u/heythisisbrandon May 08 '19
I would rather do r/place every year. This was lame.
50
u/cy0nknight May 08 '19
Place was the perfect snapshot of Reddit (and 4chan). Imagine doing that every year to see what's on Reddit's brain.
129
u/youngluck May 08 '19
I imagine it often. There are actually numerous Place clones available. The beauty of place was that nobody was expecting it. Running it a second time, everybody will be expecting the feeling they had when they first saw it. It's like watching the plot twist of a movie a second time... or learning how a magic trick is done. It lessons the original memory of having seen it for the first time.
→ More replies (4)216
u/youngluck May 08 '19
Place was amazing. It holds a special place in all of our hearts as a moment equivalent to witnessing the birth of magic. In fact, I'm hard-pressed to think of any internet experiences that aren't somewhat 'lame' in comparison. But we still build stuff every year for people to play with... some people play and have fun. Some don't. I respect your opinion either way.
10
→ More replies (8)61
u/Corporal_Quesadilla May 08 '19
Most April Fool's here have knocked it out of the park. The longer the site is up the more you'll have to compare yourself with, and are bound to look worse in comparison at some point. You can't keep improving forever.
With that being said, Reddit Mold and the Team Fortress 2 takeovers are some of my favorite parts of the site. The Button was a great way to test user interaction in an isolated area for the event, and Place improved greatly upon that.
→ More replies (6)→ More replies (6)10
u/MaxChaplin May 08 '19
In its latter stages, Place was beginning to get invaded by scripted bots. Right after Place had ended several clones appeared, and they were generally full of 4chan edgy loli shit.
Place was good because it caught Reddit's community in its innocent stage, before the trolls got the hang of how to ruin it. If Place 2 ever appears, they will come ready.
This is why Reddit needs a different April Fools project every year.
→ More replies (1)
103
67
u/Chris_Jeeb May 08 '19
Imagine there was some sort of treasure map in the middle of this novel of a post? No one would know
→ More replies (1)
11
u/Medium_Hearing May 08 '19
Is that actually the Citizen Kane soundtrack? How did you manage to get the rights to use that?
→ More replies (3)
9
u/joybuzz May 09 '19
I was kinda confused at what I was supposed to be doing and it didn't load almost at all on my phone so I was put off from participating. Granted I didn't have much interest to begin with but if it was a smaller task with a lighter program I probably would have tried a little harder.
Just my 2 cents.
→ More replies (1)
28
7
6
u/M0dusPwnens May 09 '19 edited May 09 '19
It wasn't just a problem of a lack of directions. Even after knowing what was going on, it was so hard to use. There was just no reasonable way to see how each act was going so far. Since you had to navigate the locked stuff one by one, a lot of people didn't bother with continuity, or only looked at the most recent gif, and the lack of directions made that even worse.
Three words would have given a completely different outcome. Every time a clip locks, stitch all the locked gifs into a longer gif. That's what you see when you open the sequencer, then it prints "What happens next?" on the screen with the list of submitted gifs. Everyone would have immediately understood - without the need for a big explanatory post. It seems like, in the quest for UIs with as little text as possible, the entire internet has forgotten that you can just give users simple directions. Sequence didn't have an explanation, and that sucked, but it sucked a lot more that it needed one at all.
It should have been immediately obvious, and it easily could have been. Honestly kind of surprising that no one looked at it before release and brought this up.
0
May 08 '19
17
u/Nivomi May 09 '19
It's nearly impossible to stop automatic interactions.
6
u/CriticalTake May 09 '19
you had to wait like 10 mins before putting a pixel on Place, just get a reCaptcha to solve before submitting the input and voila.
2
7
u/mollekake_reddit May 09 '19
The problem was that people stopped participating long before the automation began. People didn't care this year.
-5
u/opinionated-bot May 08 '19
Well, in MY opinion, a can of cold spaghettiOs is better than The Matrix.
4
u/niceguy191 May 08 '19
The movie, the concept, or the actual matrix that we're living in right now?
4
595
u/MrNameless May 08 '19
The true take away from this should be when you do a project, the instructions need to be clear and concise. Having a locking vote on a strict timer and little instructions meant garbage got locked in at the beginning. The entire thing was ruined from the initial get-go.