Priority Management with Python

With so many different things to do these days, determining how much time to spend on each one can be hard. Especially when all the choices are things I want to pursue, balancing competing interests so I still grow in all of them is a hard problem. How do we solve hard problems? Throw them at computers!

First, I had to make a model which described my different interests and how I prioritize them. I decided to make the equivalent of a “mind map”, a graph with one central node that decays into its conceptual components. This graph has one root node, and its weight is equal to the amount of time I’m distributing. This might be a day, week, month, or any other duration. This might seem a little unintuitive, but I think an example will make it more clear:

I want to take care of my body. I decided to spend one sixth of my time making sure I did! Now, what goes into that? Staying fed and hydrated, getting exercise, and (in my case) following a night time ritual to make sure I get some sleep. Now, how much time should go to each of those? Setting aside time to stay fed is pretty huge, so I gave it 3/7 of my “Body” time. Exercise doesn’t happen every day, so it gets a little less: 2/7. Within exercise, I want to improve my cardiovascular fitness as well as build up some muscle. Let’s set 1/2 of my exercise time for the former and 1/2 for the latter. That leaves 1/7 of my time to divide evenly between personal hygiene and night time ritual.

With all of those values set, I could plug any duration of time into the script and find out precisely how much of that time I should spend on each of those activities. Now that the model has been motivated, let’s talk about the actual code. I drew out my priorities as a DAG where each node represented one activity or aspect of myself that needed time and attention. Each node, or Activity, decomposes into its component aspects or categories. Additionally, all of the edges going out of a node have weights which sum to 1. The class initially looks like this:


class Activity(object):
    def __init__(self, name, weight_num, weight_denom):
        self.name = name
        self.weight = Fraction(weight_num, weight_denom)
        self.subactivities = {}
        self.parent = None

    def add_sub(self, new_activity):
        # Run a check to make sure all the weights supplied haven't
        # yet summed to a value greater than 1.  If it passes, add 
        # the new Activity to the current Activity's subactivity 
        # dictionary and set the new Activity's parent equal to the
        # current Activity.
        weight_sum = sum([activity.weight for activity in self.subactivities.values()])
        weight_sum += new_activity.weight
        if weight_sum > 1:
            raise Exception("The weight of the subdivisions of %s\
                are too great to add in %s with a weight of %s!"\
                %(self.name,new_activity.name, new_activity.weight))
        else:
            self.subactivities[new_activity.name] = new_activity
            new_activity.parent = self

The script then uses the node edge weights to recursively divide the amount of time out among each activity. Each Activity prints out the amount of time which should go towards it and then calls each of the child activities with their appropriate amounts of time.


    def print_time_allotment(self, time, depth=0):
        # Add in some tabbing to visual structure in the output
        print "----"*depth,

        # Print time spent
        print "Spending %s on %s." % (str(time), self.name)
        
        # If the activity has subactivities, check that their weights
        # sum to 1.  Then calculate how much time each will get based
        # on this Activity's weight and each subactivity's priority 
        # fraction.
        if self.subactivities != {}:
            weight_sum = sum([activity.weight for activity in self.subactivities.values()])
            if weight_sum != 1:
                raise Exception("The weights of the subactivities don't sum to 1.")
            for activity in self.subactivities.values():
                newtime = time * activity.weight.numerator
                newtime = newtime / activity.weight.denominator
                activity.print_time_allotment(newtime, depth+1)
            print ""

To test the script, I made my own priority set and ran it with a 16-hour day (apparently some people get 8 hours of sleep). When you run it all together, you end up with an output that looks something like this:

 Spending 16:00:00 on Self.
---- Spending 2:40:00 on Body.
-------- Spending 0:22:51.428571 on Good Hygiene.
-------- Spending 1:08:34.285714 on Eat 3 Meals/Day.
-------- Spending 0:45:42.857142 on Consistent Exercise.
------------ Spending 0:22:51.428571 on Muscle Building.
------------ Spending 0:22:51.428571 on Aerobic Conditioning.

-------- Spending 0:11:25.714285 on Nighttime Ritual.
-------- Spending 0:11:25.714285 on Keep Hydrated.

---- Spending 10:40:00 on Mind.
-------- Spending 1:20:00 on Entrepreneurial.
------------ Spending 0:20:00 on Groupify Development.
------------ Spending 0:20:00 on Visualization Project.
------------ Spending 0:20:00 on Leadership Practice.

-------- Spending 8:00:00 on Code & Craft.
------------ Spending 6:00:00 on Work at Cogo.
------------ Spending 1:00:00 on Practice with Ruby on Rails.
------------ Spending 1:00:00 on Study Linear Algebra.

-------- Spending 1:20:00 on Artistic.
------------ Spending 0:20:00 on Work on game.
------------ Spending 0:20:00 on Write blog posts.
------------ Spending 0:20:00 on Play the drums.
------------ Spending 0:20:00 on Practice drafting.


---- Spending 2:40:00 on Spirit.
-------- Spending 0:26:40 on Keep space clean.
-------- Spending 0:40:00 on Meditation & Introvert Time.
-------- Spending 0:40:00 on Catch up with family.
-------- Spending 0:53:20 on Spend time with friends.

I later added in a helper function to read in data from .csv file. It assumes a .csv with a header row whose entries are the: Activity Name, Activity Parent, Activity Weight Numerator, and Activity Weight Denominator. It doesn’t need those precise heading names, but it does assume those are the values. You can give that a read right here:


def parse_csv_to_activities(filename):
    # Need to open a csv where the column structure is:
    # name, parent, numerator, denominator
    # Note that we use Fractions instead of Float arithmetic.
    activity_list = []
    total_time = Activity("Self", 1, 1)
    activity_list.append(total_time)

    with open(filename, 'rb') as csvfile:
        # Make the reader, skip a line to get past the header row.
        activity_reader = csv.reader(csvfile)
        activity_reader.next()

        # For each activity in the table:
        #   If the specified parent exists, then create the new
        #   activity and add it as a sub-activity to the parent.
        for row in activity_reader:
            activity_names = [activity.name for activity in activity_list]
            (name, parent, numerator, denominator) = row
            if parent in activity_names:
                new_activity = Activity(name, int(numerator), int(denominator))
                parent_index = activity_names.index(parent)
                parent = activity_list[parent_index]
                parent.add_sub(new_activity)
                activity_list.append(new_activity)
    return total_time

I’ve included a link to the .csv file I made so that you have an example to go off of if you want to try it out. I could imagine expansions to the project which visualize the priorities in a directed graph, or a web interface to let users make their own. For now, though, this is as far as it’s being developed. With that said, I hope some people find this useful or interesting. Thanks for reading!

python code
.csv data

The Joys of Being a Woman in Norway

The Joys of Being a Woman in Norway.

via The Joys of Being a Woman in Norway.

This woman had to leave France and move to Norway to find a workplace where she was treated with equality. Where pregnancy and parenthood were seen as positive, a huge step in a coworker’s life that is deserving of time off to travel — whether that coworker is male or female. Where her boss asked for her opinion instead of making sexual comments towards her. Where she isn’t molested on the subway, or scared of being raped on the way home from a night out. You would think the nation of love might have some more compassion.

When I hear of sexism around the world, all I wonder is how long it will take for minds to change. How long will it be until a sexist joke gets you dirty looks rather than jovial laughs? Until then, I suppose all there is to do is call people out on their actions each and every day.

A racist, a homophobe, and a sexist all walk into a bar and each the bartender for a glass of beer. The bartender says, “Get outta here, I don’t serve scumbags.”

24 Things to Do Instead of Getting Married Before You’re 24, a response

Curious John:

I hadn’t read the original article that this is a response to, but I wholeheartedly applaud the sentiments that Taylor describes here. The aim of life isn’t to irresponsibly have fun, it is to find meaning, purpose, and joy in each of those things. I respect this list deeply, because it’s composed of things that would broaden anyone’s horizons and force them to act in ways that push their human potential to new places. Props, Taylor :)

Originally posted on justaylored:

Get lost in a city where you don't speak the language.

Get lost in a city where you don’t speak the language.

I recently read this article titled, “23 Things To Do Instead of Getting Engaged Before You’re 23″. Normally, I don’t read these as they are usually written in an in-your-face-I-can-do-what-I-want tone. For whatever reason, I read this article, perhaps because I am 24 and not married and I was curious as to why 23 was the magic number. Unfortunately, the article is pretty much the same, lame advice for twenty-somethings, written by twenty-somethings whose sum total of advice is “17. Eat a Jar of Nutella is one sitting.” I didn’t think much about it until I saw at least 3 people repost it on Facebook.

I don’t know about you, but if the highlight of my life (outside of marriage???) before I’m 23 is to eat a jar of Nutella or “22. Be selfish” then I think marriage to…

View original 891 more words

Building & Breaking: An Analysis of Bastion’s Storytelling

Continuing in my trend of just posting papers from my classes with some minor edits, this is a paper I wrote for CMS.100 – Introduction to Comparative Media Studies as taught by Professor Fox Harrell. In it, I try to establish a theoretical framework to determine what we precisely mean when we talk about a game’s story and then use it to look at Bastion. At the end, I try to point out some general principles about how other games can follow Bastion’s example and tell a great story. This paper assumes no prior knowledge of the game’s story, so my apologies to any readers who know how it went and don’t need the rehash. All parenthesized citations are listed at the end of the paper, so feel free to check if you’re curious. I hope you enjoy the read, and please eave me some comments — I need all the criticism I can get!

Introduction

In the final moment of Bastion, I sat for minutes unable to make a decision – even though it would not affect my gameplay in any way. The decision comes at the end of the game, and concerns how the characters’ stories resolve following the Calamity that started the game. While the outcome of this decision only changes the last four lines of dialogue, I was incredibly conflicted because I had come to identify with the story, the characters, and their destinies. Bastion is a strong example of game narrative because it brought me to treat its narrative like my own.

To determine exactly how Bastion achieves this, I draw insight from game studies and morphic semiotics to establish a theoretical framework. Game studies provide helpful language to analytically discuss Bastion, including Katie Salen and Eric Zimmerman’s Rules of Play: Game Design Fundamentals and Henry Jenkins’ Game Design as a Narrative Architecture.

In Rules of Play Salen and Zimmerman discuss games as a narrative, describing how the different elements of a game form a narrative system which informs gameplay while communicating conflict and uncertainty all at once.

In Game Design as a Narrative Architecture, Jenkins delineates four different lenses with which a player can interpret a game’s system: evoked, enacted, embedded and emergent narrative (explained further in the framework). Different games lend themselves to different lenses, and in Bastion evoked, enacted, and embedded are the most prevalent forms of narrative.

Lastly, Fox Harrell’s theory of semiotic spaces and morphisms, as explained in Phantasmal Media: An Approach to Imagination, Computation, and Expression, describes epistemological spaces through the use of four building blocks known as sorts, constructors, functions, and axioms (also explained further in the framework). This framework is especially suited to describing digital media because of the close relationships between the building blocks and the components of actual software, and makes it a prime candidate to break down the mechanics of a video game.

I argue that Bastion is able to draw in players so well because of its visually compelling exploration mechanic and responsive narrator. These elements give the player an engaging system along with making them feel like they are the protagonist rather than an observer of somebody else’s story. As video games continue to grow as a medium, developers are striving to create games with emotionally compelling narratives to complement their gameplay. By studying Bastion, I posit that we can get an idea of how to do that.

Theoretical Framework

The key theories used in this argument are Jenkins’ four methods of classifying game narratives, Salen and Zimmerman’s discussion of games as narrative play, and Harrell’s theory of morphic semiotics.

Jenkins provides language that is useful for describing the difference between narrative elements gained from explicit exposition and action versus those gleaned from environmental details (enacted and embedded narrative, respectively). This allows, for example, independently describing the moment The Kid first meets another survivor from the tidbits the player sees as he explores, like statues of the deceased frozen in stone or tattered marketplace stalls. Both inform the game’s narrative, but are distinctly different methods of exposition.

Salen and Zimmerman’s analyses of games as narrative play describes games as narrative systems, where all elements of the game are narrative descriptors which interact and inform the player as a whole. A narrative system communicates more than just a story arc, encompassing a background for the player and world along with a context for the gameplay. This sort of thinking is very helpful when analyzing aspects of Bastion that are instrumental in the moment to moment gameplay, but are also tied into the lore of the game such as the tiles flying up beneath your feet. This mechanic is integral to how the game plays, but is explained in the lore as The Kid restoring bits and pieces of the world after the Calamity.

Lastly, Harrell’s work on morphic semiotics yields a framework within which one can easily draw contrasts between different approaches to game mechanics and determine the priorities of the designers behind them. A semiotic morphism is a mapping from one semiotic space to another, and two very helpful spaces to consider in game analysis are the game design space and the implementation space. For instance, an axiom in the design space could be, “The player should not fall off the map.” If the implementation of this axiom were that the player literally could not move past the edge of the map, that would suggest the designer wants the player somewhat protected from their own potential errors. On the other hand, if falling off the map forced the player to restart the level, it would communicate the exact opposite. By contrasting these, and many other, semiotic morphisms, Harrell’s theory allows us to explicitly discuss the articulated intentions of the designer.

Game Design as a Narrative Architecture

In his paper, Jenkins describes four different approaches to how games can communicate stories to their players: evocative spaces, enacting stories, embedded narratives, and emergent narratives. They often co-exist in the same work, playing off of each other to tell a complete story. As he explains, game designers cannot simply tell stories, they “design worlds and sculpt spaces” (Jenkins 3) to speak to their players. This constraint requires the use of multiple avenues to communicate different perspectives on the narrative.

Evocative spaces in video games are used to tell stories in much the same way a ride is designed in an amusement park. By carefully crafting every aspect of the space, “every texture you use, every sound you play, every turn in the road” (Jenkins 5), the designer is able to create a specifically desired “feel” for the player. The “road” can have much more than turns in the case of digital spaces, such as Bastion’s flying tiles giving the impression of an unfolding world. The use of evocative spaces can also accentuate other forms of narrative and make them more effective. In Bastion, the artistic style goes a long way to communicating the feel of what the world once was before the Calamity left it in ruins.

The enacted story is what a player would traditionally consider a game’s narrative, where the player is directly causing or observing story events. This lens of viewing a game narrative splits into two separate levels, the goal level and the localized incident level. When viewing from the goal level, the player is prodded forward using a broad goal like saving the princess or collecting all the stars. While each moment might not be directly connected to making this broad goal happen, it provides a context for the gameplay between the critical moments where the broad storyline advances. Contrasting the goal level, the localized incident level is concerned with moments of “profound emotional impact” (Jenkins 8) that are not involved with the broad narrative but still communicate the core of the game. If one were to try and demonstrate a game of FIFA 2013 to the average person, an overview of the game’s season system and team management could be communicative, but not nearly as much as a video of two friends playing in the ten seconds immediately before a deftly made a goal. Game narratives are like any other, in that the perfect slice can often explain the entire work.

As a slice can often summarize and communicate the whole, game designers can also craft embedded narratives which use small suggestions to expose entire events for players. In an embedded narrative, the designers constructs “a palace of memories” (Jenkins 9) where each element in the environment suggests a prior element of the narrative. For instance, in the Valve game Portal the player comes across a hidden room filled with insane scribbling on the wall expressing fear of the AI personality GLaDOS who is conducting the tests the player is running through. This embedded element cements the decidedly sinister tone of GLaDOS in the player’s mind. This is vastly more effective than having GLaDOS simply drop hints that she will try to kill you, increasing the player’s sense of suspense in each interaction with the AI.

Similarly, a designer can communicate the seriousness of an event by having it change the game world. If the player has seen a certain environment many times throughout the course of the game and it is destroyed, seeing the wreckage can be even more impacting than viewing the event itself. This is the principle of embedded narrative – a static element in the right place and time can make for a much more effective story than a simple statement by a character. The principle is used to great effect in Bastion, as all storytelling beyond the narrator is completed by letting the player explore the ruins of Caelondia. By showing how the beautiful world has been ruined, each piece of rubble and clearly transformed element tells the game’s story.

Lastly, Jenkins describes emergent narratives as a class of game storytelling wherein the designer, instead of trying to tell one specific story, gives the player a set of clearly communicable tools and situations and leaves them to see what happens. Given almost total freedom and a large toolbox, players are able to craft diverse narratives of their own choosing. However, emergent narrative is not a major element of Bastion and is not worth exploring further in the scope of this paper.

Rules of Play

Salen and Zimmerman discuss many aspects of game design in their text, but our argument will focus on their writings about games as narrative play. In this lens, each aspect of the game is now viewed as it serves to construct a narrative. The authors echo sentiments heard earlier from Jenkins when they say that “game narratives can be embedded or emergent” (Salen & Zimmerman, 26-7), differentiating between narratives that are crafted by game developers and explored by the players versus those that are enabled by game developers and then emerge from the players. They also describe aspects of games that are shared with all narrative, like conflict and uncertainty.

When discussing conflict, the authors note that one of the key elements for designers to consider in the perception of a game’s narrative is “how the conflict in your game is narrativized.” (Salen & Zimmerman, 26-12) By making the internal conflict present in each moment of the game deeply entwined with the narrative, each action taken by the player is perceived as an advance in the narrative. The authors go on to note interactive fiction theorists tend to visualize a network of bubbles containing static content connected by arrows to simulate ordering, but this structure ignores what is happening during the arrow – the core mechanic of the game (Salen & Zimmerman, 26-13). For a player to be invested in the story, the core mechanics have to be strong enough to maintain interest between each round of plot development.

The discussion of game narratives goes on to discuss how the spaces game designers create influence the stories they tell. Given the freedom with which a designer can create a virtual space, using varying degrees of dimensions, visual fidelity, or even crafting impossible spaces, the designer can make a space which serves a story perfectly. This power requires that the designer carefully consider how their game will be presented, as it influences their narrative toolset. Elements like the color palette, camera perspective, and level scale can completely change the player’s experience and must be carefully considered by the designer.

Following from the concept of tools, the authors go on to explain the concept of narrative descriptors as any game object or element that can communicate narrative. When a player is trying to determine their next in-game action based on the narrative, they rely upon “a representation that helps players understand the activity of the game within a larger narrative context.” (Salen & Zimmerman, 26-25) This is a very broad category, including anything from the game’s opening cinematic to the UI design. These elements combine to form a narrative system, which follows from games being systems themselves. One of the key differences between games and other media is narrative comes from interaction with a system rather than a controlled arc, and this interaction has to simultaneously provide context for the moment-to-moment gameplay as well as background for the player and the world they exist in.

As a final point, the authors also mention how games can be discussed, replayed, and relived in conversations among friends to add further narrative depth to the system. Games are unique in that two players can have an entirely different set of interactions, whereas two viewers of the same movie might have differing opinions but still have seen the same things. With the potential for different solutions to problems, distinct story paths, or alternate outcomes, games are in a unique position to have each player’s experience reflect the mindset with which they approached it. This becomes incredibly important in Bastion’s final moments, as the game gives the player the reins on the final choice which informs the entire experience. Notably, the game does not allow for many choices that alter the actual game’s storyline while it is played, but the final choice completely determines the context in which it is understood – a very elegant narrative device.

Morphic Semiotics

Harrell’s theory of morphic semiotics studies how representations convey their meanings to their intended viewers. By studying the relationship between the signifier (or representamen), signified (object or concept), and intrepretant (context), morphic semiotics allows for the creation of a relational method of describing meaning. The theory splits into two broad topics, semiotic spaces and semiotic morphisms.

Semiotic spaces describe signs, although in a more general sense they are epistemic spaces – capable of describing anything from a stop sign to the concept of time (Harrell 131). A semiotic space, more importantly, can also hold composite signs built from other signs, such as the elements of a computer interface which are built of a variety of text, image, and other components. This nesting makes semiotic spaces a modular tool for analysis of computing systems and illustrates their usefulness.

Within a semiotic space, there are four types of components: sorts, constructors, functions, and axioms. Their names hearken to similar terms used in computer science, reflecting the ease with which this tool can be applied to digital systems. To demonstrate this, I created a diagram of one potential semiotic space to describe Bastion or potentially other games. Each component has multiple potential sub-categories or examples, but these could easily be chosen differently to reflect different aspects of the game or to examine it from a different level.
Example Bastion Semiotic Space

Sorts describe the types of possible elements, without referencing their content in any way. In Fig.1, Bastion’s sorts are divided based on how they are combined to produce elements in the game. Sorts are basic building blocks, and can be combined like other components to produce new sorts. The key is that sorts are describing basic classes of entities, not the entities themselves.

Constructors are the ways that specific signs can be combined to form new ones, enabling modularity of signs. Looking at Fig. 1, we see that constructors take in basic sorts but can also use combined elements, such as combining a player with the cannon to create a new element with different movement and damage properties from the original player.

Functions take in a sign of a specific sort and then return relevant information about it, such as the health of a character or the number of enemies remaining in a level. These functions can take information from any aspect of the space, and in the context of games often exist to inform the player of something important.

Lastly, axioms dictate a set of constraints upon the forms a sign can take in the semiotic space. In a sense, axioms are bounds defining the edges of space dictating what can and cannot happen. These axioms have to be clearly defined such that signs are unambiguously constrained.

The other half of morphic semiotics is semiotic morphisms. Semiotic morphisms are mappings from a source semiotic space to a target semiotic space. The goal for a semiotic morphism is generally to preserve as much information as possible, but often some is necessarily lost. Semiotic morphisms are the key to the use of morphic semiotics, as they allow for the comparison of two different semiotic spaces, determining what was kept and why. Specifically, semiotic morphisms can be judged on how they preserve levels of transferred signs, priorities of each sign, constructors, functions, or axioms. Each is a separate lens through which a semiotic morphism can be viewed and judged, letting us determine which aspects of the game design the developer took the most care to transfer into implementation.

Analysis

To analyze the quality of Bastion’s storytelling, we need to analyze both the plot itself and the narrative system through which it is communicated. While the narrative system incorporates every aspect of the game, this discussion will restrict itself to the two key elements described earlier: the flying tile mechanic and the response narration.

The Narrative

The Kid wakes up in a shattered, floating world, as the narration opens: “Proper story’s supposed to start at the beginning. Ain’t so simple with this one.” Rising from his cot on a now floating island (Fig. 2), he follows instructions given by a gravelly voice known as The Stranger and finds the Bastion, seemingly a pile of debris and overgrown shrubs. The Stranger explains that the Bastion was Caelondia’s last resort to be used in case of total catastrophe, like the one The Kid just walked through to get there. He explains that the “Calamity” had shattered the world, damaged the Bastion, and that he and The Kid were the only people to have survived and made it to the shelter– however, with the power of Cores the Bastion could be fixed.

Figure 2

Cores are stones found in the Burstone Quarry which used to keep the lights on in an entire City district and were also recording everything, all the time. (Bastion) The oldest of these Cores were a living record of the world, and their power could be used to rebuild the Bastion. As The Kid begins to retrieve Cores from the ruins of Caelondia, The Stranger tells him of the feud between Caelondia and the Ura, their longtime enemy, which led to the Calamity.

On these missions, he meets two more survivors: Zulf, an ambassador of the Ura left stranded in Caelondia after the Calamity, and Zia, the daughter of an Uran scientist who had fled to Caelondia. Upon meeting Zulf, The Stranger finally introduces himself as Rucks. As The Kid is collecting the final Core, Zulf goes missing and the Bastion is damaged. Rucks explains that Zia had kept her father’s journal which was written in Uran – Zia could not read it, but Zulf could. It explained that the Calamity was caused by a Caelondian weapon, designed by Zia’s father against his will, to be used against the Ura in case they ever violated the uneasy peace the two nations had agreed upon. However, Zia’s father was so horrified by the prospect that he sabotaged the weapon such that if it was triggered, it would misfire upon those who used it.

With this knowledge, Zulf ran from the Bastion to the Ura homelands to tell them what had happened. This marks the first major advancement in the goal level, where the player has achieved the first goal presented to him (gather all the Cores) and is given a new goal based on events in the first phase (find Shards – small, one-time use, pieces of Cores – to fix the Bastion). It is also in this act where Rucks begins to insinuate that when the Bastion is fully operational, it could be used to fix the Calamity.

In the second goal phase, the Kid travels through the wild finding Shards and also has to save Zia after she is taken by Ura invaders. After the Kid saves her, he ventures into the Ura homelands to retrieve the final Shard. He finds Zulf being beaten to death by his own people, blaming him for leading The Kid to them. The player then chooses whether to save Zulf and bring him back to the Bastion, or to leave him to his own. Upon returning with the final Shard, Rucks presents The Kid with the decision which defines the story of the game.

Rucks explains that the Bastion has enough energy to turn back time, fixing the Calamity and reverting the world to what was. However, the Bastion can also use that energy for a very different purpose – to blast off and take the survivors to someplace new. The player is given the choice to try and reclaim the beauty the Caelondia once was, or to erase its existence for good and go somewhere unknown. You’re given counsel by both Rucks and Zia – the former wistfully telling you just how beautiful Caelondia really was, the latter that the only times she had ever been happy were after the Calamity. The player’s choice results in different final monologues from Rucks, and the ability to begin a New Game+ with all of the skills and weapons unlocked from the first play-through. If the player chooses to restore the Old World, Rucks hints that the Calamity will happen once more – the game ends with Rucks saying, “I’ll see you in the next one…” and should the player to begin a New Game+, the new story opens with the same line.

Looking upon the story as a whole, the two central conflicts are between the player and the Calamity, and between the Caelondians and Urans. The conflict between the player and the Calamity is clearly more integral to the game, as it is the motivating element which began and drove the story. The Bastion was only ever needed because of the Calamity, and the Calamity also made it harder to rebuild the Bastion after it was damaged – partly because the world was falling apart, and partly because the Calamity is what made all the remaining creatures of Caelondia hostile. The conflict between the Caelondians and Urans, on the other hand, is rarely ever dealt with explicitly by the player – Ura enemies are only fought in the last two levels of the game, and the only story contact with the Ura is with characters who are relatively friendly to the protagonist.

Bastion narrativizes the conflict with the Calamity much more than that with the Ura, as the vast majority of in-game action is focused on undoing the effects of the Calamity. While the Calamity was a response to the conflict between the two nations, the game’s structure makes the player see the Calamity as the true problem and the conflict between nations as a tragic disagreement where neither party was ever truly right. This cements the idea that the Calamity is the true evil of the story, and the only true solution is to make sure it cannot happen again – neatly playing into Bastion’s final moments.

The final decision is a piece of storytelling that only a game could offer. By presenting evacuation to a new land and reversion to the old as equal options, Bastion is able to legitimately leave the pivotal question of the game to the player, making the story reflect each person who plays it. Using Salen and Zimmerman’s language, this is a powerful moment because it makes the interactive role of the player a narrative descriptor.

Other mediums often try to pose a question to the viewer, such as when movies end with an ambiguous shot (Inception from 2013 being a great example), but no others are able to have the viewer actually answer it. By asking the player to answer the question themselves, Bastion becomes an example of truly interactive storytelling. Additionally, by making the choice so meaningful, the game divides its players by their perspective on the choice and gives them the opportunity to discuss how they related to the story and why they chose as they did.

Bastion also distinguishes itself among games through its use of subtle messaging, instead of simply giving the player a mirror to see their own opinion or directly stating that of the developers. The question is left deliberately uncertain, and the developers take care not to make their view the clearly correct answer. However, through hints telling you that the Calamity was doomed to happen again, the developers say the desire to recover beauty already lost is fruitless and that the only way to break the cycle is to seek something new.

Visually Rich & Dynamic

With Bastion’s story examined, the discussion of its narrative system can begin. The first visual characteristic of Bastion that gives players high response is the “flying tile” mechanic. The majority of the level is off-screen when the player begins, leaving a view to the sky beneath. As the player walks towards where a tile should be, it flies up from the sky and joins with the tiles that are already present. An example of the player walking down a path the tiles rise to his feet as he runs from an enemy is shown in Fig. 3. This mechanic achieves the aim of player identification and immersion in multiple ways, along with being very helpful for gameplay.

Figure 3

Salen’s discussion of game spaces is highly relevant here, as Bastion makes very good use of its space to tell the story and immerse the player. By combining the isometric view and painterly graphic style with the flying tile mechanic, Bastion has a view of the sky that is normally not possible in an isometric game and increases immersion by crafting a more complete visual field. The tiles also create a sense of an unfolding world, where the player decides how it unfolds. Specifically, the mechanic increases player identification by making each level a semiotic function of the player’s progression through it. The player sees as much of the level as they have explored, giving exploration a sense of enacted storytelling.

Examining the game’s semiotic space, the relationship between the player and the level geometry is a compelling example of Bastion making an aspect of the game typically unresponsive to the player a function of their input. In most games, the greatest degree of level responsiveness is allowing the player to destroy it, only adding to the effect that the player is intruding on somebody else’s world and not exploring their own. Making the player feel like they are creating the level through their very desire to explore it increases identification with the world itself.

Additionally, it provides a very subtle way of telling the player where they have already been and which direction they should go in without necessitating a map. Viewed through the lens of Harrell’s semiotic theories, having the world communicate itself to the player reduces the number of sorts required to understand the game. Since the player is already looking at the world, this visual effect kills two birds with one stone and sidesteps the need for a level map. This makes acquiring the knowledge more intuitive, and lets the player digest the narrative with fewer cognitive barriers.

The flying tile mechanic is also well-made because of its integration into the internal lore of the game. One of the developers, Amir Rao, explains that the mechanic was created first for gameplay reasons – trying to see something sky-like and forego a map – and then became deeply ingrained in the narrative system. (Jeriaska) As Salen described in her book, the game space dictates the narrative toolbox available to the developers and Bastion distinguishes itself by how closely it integrates its toolbox with its narrative. The central conceit is that the Cores and Shards scattered about are the only things keeping the world together, and nearly everything else has fallen away. The Cores contain the “memories” of all Caelondia, but it is The Kid walking through that forces them to “remember” the necessary parts of the world which the Calamity destroyed.

The game also uses this tie-in with the lore to “reverse the polarity” of the semiotic function and strengthen the player’s association between themselves and the level. When a player finds the Core at the center of a level, picking it up will often start a reaction making the level fall apart. The level is once again a function of the player’s actions, but now it is being destroyed and the player is forced to run for their life.

The player does not need to be keenly aware of the flying tile’s relationship with the internal lore as they proceed through the game, and can easily treat it purely mechanically and not examine it further. However, if we consider the two semiotic spaces that are Bastion’s universe and Bastion the game, this semiotic morphism between a required mechanic and the precepts of the universe demonstrates a high priority placed on communicating a sensible world. This completeness creates a seamless experience for players considering the game to any depth, again adding complexity and richness to the narrative system.

Responsive Narration

The other element helping the player to identify so strongly with the story is the responsive narration system. The narrator is the most direct source of exposition, and its implementation as a narrative descriptor can completely change how a game is perceived. Unlike most games where the narrator exclusively exists to deliver scripted content, Rucks comments both on story events and on the activity of the player. If the player starts hitting walls to test the destructible scenery, the narrator will comment on The Kid smashing things for no reason. During battle Rucks will make sideline comments about the player’s performance, positive or negative. The narrator communicates what is about to happen via the story script, what is currently happening by responding to the player, and what has happened by adding small quips about events and places as they are encountered.

This system is incredibly effective at helping the player identify with the story for multiple reasons. Using the semiotic lens, this narration accomplishes a similar function as the flying tile mechanic by making the narrator a function of the player. This is incredibly important because it makes a much broader portion of the gameplay an instance of enacted storytelling. The narrator effectively defines the story, so having the narrator respond to the player makes each player choice and action seem like a part of the game’s story. This counters other games where the player feels like they are performing dummy work until they can get to the next moment where their gameplay affects the narrative. In Bastion the player is still aware that the story has a series of “goal moments” advancing the narrative, but the act of moving between them seems like a part of the story because the narrator is describing it – and more importantly, describing the player.

In other games, having the narrator comment on player action can oftentimes be more annoying than immersive (Crackdown’s oft maligned narrator comes to mind), however, so it is important to note how Bastion specifically implements its system well. The writers of Bastion explicitly strove to keep lines short, never repeat phrases, and only narrate the “sub-text” of the game. Subtext here refers to things that are non-obvious to the player. A monster dying or a hammer being found is part of the text – saying the hammer is The Kid’s lifelong friend is subtext. (Kasavin) The narrator exists to add information and depth to the play experience, with zero redundancy. Through this constraint, Bastion uses the narrator for embedded narrative.

As the player travels the levels, Rucks adds in little snippets of memories, wistful comments about different sights or people he once knew. His voice adds another layer of narrative for the player, through non-essential information that colors the environment you see and contextualizes details placed by the developers. To maintain an immersive and congruent world in-game, the narrator is also not a disembodied voice. While The Kid and the player don’t see him very often, they always know he is back at the Bastion with the other survivors, telling their story. This maintains internal consistency, one of the most important priorities for the developers (Kasavin) and a key part of helping the player identify with the story.

New Principles

Following analysis of Bastion, the element that seemed to contribute most to its immersive and identifying qualities was the expanded responsiveness to the player, specifically in the narrator and level. Bastion pushes the normal bounds of responsiveness by having the player directly control The Kid but also indirectly control the narrator and the level. These two elements are normally “off-limits”, aspects of the game for the player to explore and view, but not interact with. The “flying tile” mechanic alters this formula such that the player controls the character who then affects the world around him, increasing the amount of visual feedback the player is receiving for their actions. The narrator also gives the player a greater range of response to their actions, and is implemented well-enough that the response is always constructive to the experience. Game narrators are typically static with either scripted story lines or obviously canned responses to player action. By including convincing responsiveness in the narration, Bastion makes the player feel like the story is adapting to, and therefore about, them.

Based on this, one potential goal that the game designers behind Bastion might have started with was to create a game with a story that fosters player identification by adding mechanics to make the game respond in more ways and more often. This is notably different from games that offer a large number of binary choices, but are too static and make the player feel like they are traveling someone else’s path. Bastion offers no plot-based choices in its core storyline, but is able to make the player feel like it is their own story through its strong responsiveness.

By making more narrative descriptors semiotic functions of each player’s unique experience, games can increase the effectiveness of enacted storytelling by making the player’s unique actions a large part of the story they hear. Specifically, adding elements which are tangential to the game’s core story, like commentary from the narrator on a grave the player happened to stand next to, can help players identify with the story as whole without limiting the designer’s ability to expose the narrative. The goal of the designer should be to expose the narrative such that the player has no less freedom than they do in normal gameplay, and that the method of exposition varies in non-essential ways to incorporate the player’s moment to moment actions and choices.

Reflections

Looking back upon the theoretical framework and analysis used, there are many avenues to further explore. For one, the theoretical framework mostly drew upon two sets of game theories, those of Jenkins and Salen. There are naturally other perspectives on game narrative that are worth analysis, and pursuing them could possibly lead to other useful insights.

Additionally, the scope of this paper only includes Bastion, which constrains the scope of insights found. Each aspect of the game, not just the ones discussed here, is executed well and has some contribution to the player’s experience. Elements of the game not within the scope of this paper, like the painterly art style or fleshed-out internal universe, could also play a large role in why players identified with the game. A future expansion on this could examine other games that are known for having either very strong or very weak stories, perhaps from different genres to lend a different perspective.

Conclusions

Bastion is an engrossing tale that takes the player through the question of whether it is better to recover beauty that is lost or to try and discover something strange, new, and wonderful. The flying tile mechanic helps engross the player in the story by making the instantiation of the level a function of the player along with integrating tightly into the game’s backstory. Additionally, the responsive narrator heightens the sense of identification by adding details to the player’s experience of the story based on their moment to moment actions. It also carefully keeps from bothering the player by only adding in valuable, non-obvious information to the narration.

Through the use of game studies and morphic semiotics, the added benefits of these two elements can be described analytically and generalized to other games. The use of narrative descriptors that are tightly responsive to player action, as opposed to letting players affect the plotline occasionally, makes the experience of the story as a whole much more engrossing and helps the player to identify with the protagonist. While quality of implementation is important to achieve this, involving players more intimately in the game’s narrative system improves the quality of the perceived story and ultimately produces a better game. By successfully implementing each of these points, Bastion manages to create an experience that the player identifies with, is emotionally affected by, and will remember for quite some time.

References

  • Adams, Ernest. “The Designer’s Notebook: Three Problems for Interactive Storytellers.” Gamasutra. UBM Tech, 29 Dec. 1999. Web. 17 Oct. 2013.
  • Bastion. PC, Version 1.0.0.0. August 16, 2011. Supergiant Games. Warner Brothers Interactive.
  • Harrell, D. Fox. Phantasmal Media: An Approach to Imagination, Computation, and Expression. MIT Press, 2013.
  • Jenkins, Henry. “Game design as narrative architecture.” Computer 44 (2004): s3.
  • Jeriaska. “Interview: Storytelling Through Narration In Bastion.” Gamasutra. UBM Tech, 8 Aug. 2011. Web. 22 Oct. 2013.
  • Kasavin, Greg. “In-Depth: Writing Bastion.” In-Depth: Writing Bastion Comments. Supergiant Games, 26 Oct. 2010. Web. 17 Oct. 2013.
  • Salen, Katie. Rules of play: Game design fundamentals. The MIT Press, 2004.

An Examination of reddit as an Online Community Platform

I recently wrote a paper for CMS.614, a course at MIT called Network Cultures taught by Professor T.L. Taylor. It was a fantastic course, and for our term paper we were given the freedom to do research on whatever we wanted. I leapt at the opportunity to study the platform that eats all my leisure time with some of my academic time: who could imagine anything better? I finished the paper just recently, so here it is!

Update: After submitting this link to Theory of reddit and getting both constructive criticism and quick impressions of the paper, I chose to completely re-write the abstract, add an introduction, and include a couple of extra points in the paper.  I plan to continue re-writing this to improve the style and flow, but until then these changes are a much needed update.  Thanks for the advice, /u/Muspellsheimr, /u/dredmorbius, and /u/Snoutmol!

Abstract

In this paper, I aim to examine the system design of reddit.com to gain insight on how it leads users to identify with the site and develop a sense of community.  To do so, I chose a subset of its features that I felt were most important and tried to describe how they interact to create the user experience had by a typical “redditor”.  I examined these features both as how they would work if the site were empty and devoid of users and how they have come to be used in different user communities around the site.  This approach was chosen because the features themselves are the building blocks for emergent behavior in reddit, but the communities demonstrate which behaviors and patterns arise most easily from these blocks.  The examination revealed, perhaps unsurprisingly, that by strongly supporting and building out subreddit feature, among others, reddit.com was able to make the core experience of browsing and voting upon links a community-focused interaction rather than an individual one.

Introduction

Five years ago, Alexis Ohanian and Steven Huffman founded reddit.com, a social forum and link aggregator site, with the goal of creating the front page of the internet.  Since then, reddit (spelled all lowercase) has grown to serve a wide variety of functions spanning past the core concept of user-curated news and as such is now one of the largest communities online, hosting over 90 million unique users in the past month.  reddit’s core structure is a large number of subforums (“subreddits”) where users can submit posts which are then voted on.  A ranking algorithm sorts the links, with the most popular articles moving to the reddit.com front page.  While there are other popular social news sites, reddit has overtaken them all and is now often referred to in mass media as truly being the front page of the internet.  This suggests a differentiating element between reddit and its competitors, and I argue that it is the fluency with which it has become a platform for user-defined communities rather than just a news site.  Further, it achieves this by simultaneously encouraging its user to identify with the site and facilitating the development of a sense of community.

Theoretical Framework

Community and identity are hotly debated topics in academia, so I need to first establish the theoretical framework I will be using as a context for discussion. Identity here means “social identity”, the aspect of identity derived from perceived membership in a social group. This does not imply the social identity is a static aspect of group members, but recognizes the performative elements of identity: as members come to identify with the group, their behavior changes to act along these new lines. In other words, people naturally choose to interact in a way which abides by the norms of the groups they are a part of. Narrowing further, I am specifically using the Social Identity Model of Disindividuation Effects (Reicher, Spears, & Postmes) because it was explicitly developed for discussion of computer-mediated communication. Identity, or the lack thereof, is a defining aspect of life online and has to be explicitly considered. The model describes how anonymity makes the concept of social identity far more salient to members, causing a perception of self and others in terms of stereotypic aspects of the group. While reddit uses a different model, where users can observe anonymously but must create a pseudonym to interact, the theory is still effective for describing reddit in its full scale (as opposed to users in just one subreddit). Notably, it states that there needs to be a sense of “groupness” from the outset for this sharing of social identity to take place in an online community.

In this paper, community refers to the sense of community as established by McMillan and Chavis: “a feeling that members have of belonging, a feeling that members matter to one another and to the group, and a shared faith that member’s needs will be met through their commitment to be together.” Their theory goes on to describe the four elements leading to this sense of community as membership, influence, integration, and a shared emotional connection. Membership implies a sense of emotional safety, of being within the boundaries of your group. It involves a sense of personal investment and unity, for which the group will often have a common symbol system. Influence describes the interplay between groups and their members: individuals feel like they can affect the whole, but the group is also influencing each member to create social cohesion. Integration describes the individuals’ sense of participation in the community and being rewarded for it. Lastly and most importantly, a shared emotional connection bonds people together through a concept of shared history and participation. As one might expect, shared experiences are the most crucial element of getting a group of people to identify with each other.

Identity on reddit

With terminology out of the way, I can begin analyzing reddit’s systems themselves. reddit’s user account system is built with a very low cost of entry, letting large numbers of users participate immediately. This wide net narrows however, as the system constructs a ladder of participation – a concept explored later in the paper – which lets users become increasingly invested in their accounts. When a potential user browses reddit.com, the site greets them with a page of links. They can anonymously browse the site, scrolling down and clicking on links they are interested in, engaging in the most basic act of “redditing”. reddit is built for its users to leave the site, look at what they clicked, and quickly return for more links. This loop is what defines the act of redditing, and marks reddit as an activity rather than a tool or destination. While one may use Google for a moment’s inquiry and then be done, users on reddit are there to stay for a while. This time spent marks the user’s first investment into reddit, beginning the process of identification with the group. reddit’s site design puts content forward, almost brutally so with its wall of links, and tries to minimize disruption of the user experience with superfluous information. As such, the first moment a user will realize they could make an account is most likely upon clicking the buttons to vote or comment on a link – at which point the login and registration page immediately appear.

reddit uses a pseudonymous identity system, where participating users (participating here meaning interaction beyond browsing) must create a named account, but this account has no ties with their “real” identity. Note that by not enforcing any other identity information, a pseudonym on reddit.com is not intrinsically linked to any one person and could be used by any number of people that have access to the login credentials. Account creation is very simple and only requires a username and password – even an email address is optional. By not asking for outside information, account creation has a very low cost to users and can be done trivially. In fact, the page goes so far as to say beneath the Create Account button, “is it really that easy? only one way to find out…” By allowing anonymity and making creation of a pseudonym very easy, reddit enables forms of identity performance that would be more difficult on other websites like throwaways and novelty accounts. When a user wants to discuss a sensitive topic that they don’t want associated with their normal pseudonym, with topics ranging from workplace horror stories to contemplation of suicide, they will create an account explicitly for that purpose. Since these accounts are so easy to make, they are discarded afterwards and often have the word throwaway in their name. On the other hand, users sometimes also create alternate accounts for redditing in a novel way. These can range from /u/POLITE_ALLCAPS_GUY, who exclusively responds with uppercased politeness, to /u/Shitty_Watercolour who illustrates comments with watercolors he makes himself. These are examples of performative pseudonymity, a phenomena that could only take place when the cost of creating and maintaining a pseudonym is so low.

Upon creating an account for the first time, reddit’s systems open up for the user. The user can now comment and vote on submissions, or even submit their own. This immediate involvement magnifies the user’s perceived influence, as it suddenly clicks that the site is curated by users just like them. So begins the user’s search for karma: if somebody else upvotes a link the user submitted, the user gains one karma point. Conversely, if they are downvoted they lose one. Karma is displayed to the left of posts on the front page, and to the right of each user’s name in the comments. This system ties together content moderation with user reputation, making somebody’s karma a reflection of reddit’s evaluation of their taste. Even so, karma is fundamentally worthless – posts or comments are not privileged in any way based on the karma of their submitter (a method used by similar site Hacker News), making it as relevant to the user’s experience as they want it to be. For users that want to make the numbers go up, karma acts as a motivator to keep your account and not break the site’s code of conduct and risk being banned. For those who don’t care, the feature is implemented subtly enough that it moderates their experience without impeding it in any way.

As time goes on and the user becomes more invested in the site, the system allows further steps to customize their experience and add weight to their specific pseudonym. One of the most innocuous ways which act as a small subconscious motivator are “cakedays”. Just like in the real world, reddit celebrates its user’s birthdays – each and every one. However, instead of celebrating their date of birth, it celebrates the day the user first joined reddit. While the only change in the site is that the user’s name appears with a slice of cake next to it (next to where karma goes), the mental impact this has on its user base is surprisingly large. On their cakeday, users will often submit links and reference that it’s their birthday as an opportunity to have everyone upvote them and get karma. This is not enforced by the site’s code in any way, it just arises from the user base. This is a prime example of a tradition which becomes common practice in the site and ties its user base together. By mimicking birthdays, users know the idea and can identify with it – even if they don’t submit anything on their own cakeday. This reinforces a shared site history and users’ identification with it, calling to mind the shared emotional connection that was integral to our model’s perception of community.

The last core feature of a user’s account which I’m examining is reddit gold – one of the only ways reddit collects money from its users. reddit gold is a subscription service that provides a “premium” reddit experience, adding in new features and small conveniences. These features make using the site more convenient by doing things like letting you add notes to friend’s account names, save and view user comments by subreddit, and giving you notifications when you’re mentioned on the site. Additionally, gold users get to beta test reddit’s newest features and are given exclusive access to “The Lounge”, a subreddit just for them. Many of these features are exclusively useful to the dedicated user who maintains a presence across multiple communities, as a casual browser of the site might not know the difference. This marks reddit gold as one of the highest rungs of participation, which lines up with prior work in the field: in a study on last.fm, researchers found that the most telling correlation between a user’s activity on the site and whether or not they would pay for a subscription was their involvement in the community rather than their consumption of content (in their case, music – in ours, links). (Kaltenbrunner, A, et al.) This led them to establish the concept of a ladder of participation, the highest rung of which is composed of the users willing to pay for the service. However, reddit gold innovates on the traditional premium subscription model through one key change in the dynamic: users gift gold to one another. In fact, the website to buy reddit gold has four purchase options and two of them are for giving to another user. From the users’ point of view, this is an easy way to throw somebody a few bucks and improve somebody else’s experience if they say something particularly helpful or insightful. From reddit’s point of view, they’re getting the same income no matter who pays for the subscription. This drastically increases the number of potentially paying users – if somebody is gifted reddit gold and finds it useful, they’re much more likely to continue their subscription. The system of gifting a subscription creates an easy way for the highest rung of the userbase to convert those beneath them into paying users, a win for reddit. Additionally, even if the user doesn’t choose to continue subscribing themselves, both users get to share in the very positive experience of giving and receiving a gift. Due to the disindividuation effects of the giving and receiving users’ pseudonymity, this improves their perceptions of reddit as a whole. Either way, reddit creates good feelings among its user base and stands to make more money out of the process. Of course, this is not to say the company is rolling in cash – the company was still unprofitable in August of 2013 (reddit admins). The site has recently added a “daily reddit gold goal” progress bar which displays on the universal sidebar, aiming to drive further revenue via the system, but the topic of gaining revenue from online communities is broad enough for its own paper. (Hulser)

reddit and Community

Moving past the discussion of reddit’s identity systems, there is insight to be gained about its potential for community by analyzing reddit as a company as well as reddit.com’s crown jewel of a feature: subreddits. The former paints a picture of an honest, friendly organization trying to make the world a little better through software. The latter aspect, subreddits, gives users the ability to create and nurture communities that each reflect their own unique needs.

Throughout reddit’s website, there are numerous large and small touches to make it clear there are people behind the company, and they want to make their users happy. The privacy policy is a strong example: it consists of thirty short, plain English descriptions of what data the company collects and how they use it, along with copies of prior revisions and a link to give feedback on it. All told, the policy is less than 2,000 words and could be easily read by any of its users interested in the security of their data – running counter to the privacy policies of many companies composed of endless impenetrable legalese. Advertisements also have a human touch, as the site often swaps out advertisements for an image of an adorable animal with a caption thanking its users for not using AdBlock. The company also invites users to pay to advertise their subreddit around the site, both increasing the number of potential revenue sources as well as making more of a community via cross-pollination. Some of the company’s policies also reflect a sense of whimsy, that their goals are not purely profit-based. For instance, if a user does not want to pay $3.99 for reddit gold, the company says to mail them a postcard from wherever you are – they’ll give you a month of gold for free. This mutually beneficial relationship gives the company an opportunity to interact humanly with its users, while users get access to a service they might not have been able to pay for otherwise due to location restrictions. reddit now has a very large online gallery of postcards they’ve received from around the world, adding a further element of shared history for users. The code powering reddit has also been open source since 2008, creating goodwill among the technical subset of its user base that most likely makes up many of its power users. Open source software’s principles are geared toward development for its own sake, not for financial incentives, and by aligning themselves with it reddit signs onto a statement of good intentions.

While making users happy is positive in and of itself, prior studies about web design point to as an important aspect of fostering community. In a study of website design through relationship theories, a six-dimensional scale for determining a site’s “communality” was developed. Communality was there used to describe a relationship between two friends or family where there is emotional investment and concern for the other party, versus an “exchange” relationship which is seen purely as a tit for tat, means to an end relationship like that between a clerk and customer. In a perhaps unsurprising find, the six dimensions of communality are all aspects of a good friendship: good cheers, spanning across multiple life roles, approachability, demonstration of caring, self-disclosure and openness, and authenticity. (Tomiuk & Pinsonneault) The study found that by promoting these qualities, customers come to see the companies behind the site as a friend. The most valuable takeaway from the study is the degree to which these elements appear in reddit.com: the copy used in the site is all written enthusiastically and happily, the topics of reddit cover an incredibly diverse range of life roles, and elements like the privacy policy and company blog posts all demonstrate openness from reddit to its users, with evidence of caring for their experience and giving an authentic view of the goings on behind the curtain at reddit. All of these elements magnify the feelings of membership, integration, and emotional connection that all users of the site feel upon interacting with it.

All of this evidence demonstrates that reddit the company presents itself as a welcoming community, but the key to their success lies in how reddit the website is good at developing the feeling of community. Two months into the founding of reddit, the two co-founders, Alexis Ohanian and Steve Huffman, had an argument over how to let people categorize their submissions to reddit.com. Their two candidates were searchable tags, which were very popular at the time, and subreddits, a system where users could make their own forums on the platform to submit their links to. The concept which Huffman said to Ohanian to explain the purpose of subreddits was:

Let’s say somebody submits a story about how the Nets aren’t doing well and we’re using the tag system. “Nets not performing up to pre-season expectations this year. #Nets #Brooklyn #NYC #NBA” The problem is that each of those groups could have a completely different discussion about that story. We need to let that happen. (Ohanian)

The founders knew the limiting factor on their competitors was that they were stuck with one community and couldn’t find a way to branch without splintering, and the subreddit system is what they chose to address that issue.

The standard front page became a mix of the top links from a set of default subreddits, and users were given the ability to add or remove subreddits from the group contributing to their front page. While creating a subreddit is fundamentally free and has no karma or other requirements, it differs from the user creation system in the sheer number of customization options afforded upon creation – giving administrators the power to customize the look and feel of their subreddit to their community’s liking. Initially, administrators are free to specify what type of links can be submitted (exclusively links to other sites versus a purely text post), which users can submit links, what text is displayed around the page, and other options. Later, administrators gain the ability to modify the image at the top of the page, the CSS which is used to display the page, whether or not to display karma on posts, and other functionality. For instance, some subreddits meant for offering emotional support to other users will turn off downvotes and ask users to leave a comment instead.

The most important aspect of this system is its customizability, which lets each individual group of users modify the implementation of the system to their needs while the core functionality remains the same. In doing so, the site is able to fulfill a much broader array of needs than one with a universal design and no subdivisions. Additionally, subdividing reddit into smaller communities means that more close-knit communities akin to those existing in the beginning of the site could form once more. There is a known problem of online communities referred to as Eternal September, which is that the continual influx of new users who do not understand the social norms of a community will eventually cause those norms to disappear and make the community decay. This term was coined after AOL gave much larger groups of users access to Usenet, destroying the “old timer’s” ability to teach them how to behave online – theoretically leading to perpetual decline since (“September That Never Ended”). The subreddit system manages to solve this problem by allowing a user to create a new community without having to change platforms. When a subreddit grows too large and it becomes too difficult to have meaningful conversation due to noise, the original core of users can form a new subreddit and migrate – effectively leaving the old community for those new users who found it to either develop or run into the ground. Using our definition of community, this aspect of the system is useful because it manages to make everyone on the site have a strong feeling of membership and integration with the community. Even users who don’t enjoy the main subreddits don’t choose to leave, because they can just find a smaller subreddit to spend their time – or make one.

Of all the features a subreddit can customize, the two which affect the users most heavily are the sidebar and user flair. The sidebar is a standard part of every subreddit, and is one of the options that can initially be modified. It follows a general pattern that lists rules and guidelines, followed by subreddit-specific content, links to related subreddits, and then a series of elements built into the website by the platform: the button to make your own subreddit, who the moderators of the subreddit are, and your recently viewed links. The rules and guidelines generally reference reddiquette, the evolving rules of how to be a helpful user of reddit.com, and explain the specific social norms of that community. This makes it easy for new users to get acquainted with the community, as this sidebar appears both on the main page and while viewing any posts within the subreddit. Additionally, the freedom to include anything in the sidebar combined with the practice of linking to other subreddits leads to interesting cases of emergent behavior.

One example of emergent behavior in subreddits were a few communities created to share high resolution photos of beautiful things, known as SafeForWorkPorn. The community began with landscapes, but as people kept submitting more photos of increasingly divergent topics, new offshoot communities were formed which would link with the original one. Eventually, the SFW Porn Network was formed, now composed of at least thirty subreddits all dedicated to a different image topic which link to each other and are coordinated by one subreddit called r/PornOverlords. For another example, a now common practice between subreddits devoted to sports teams is to have “sidebar bets.” Before a major game, two teams will agree to let the winning team decide what image the losing team has to have on its sidebar for some time. In one instance, a bet before a game between the New England Patriots and the Denver Broncos led to a photo of Tom Brady (quarterback for the Patriots) riding astride a large horse living on the sidebar of r/denverbroncos for a week. Emergent interactions like these have tremendous value for community building as they are arise, by definition, completely through the user base. By self-actualizing on the website in this manner, these subreddits are each able to create a personal history for themselves – once again strengthening the shared emotional connection felt by reddit users.

The final feature of subreddits I will address is user flair, an option admins can choose to enable and implement for their subreddit. User flair is essentially a small image tag that appears to the right of a user’s karma when they are posting in a given subreddit. With this fundamentally simple tool, however, subreddits are able to accomplish a wide number of things that enhance both the experience of identity and community on the website. reddit user profiles are very sparse, and are generally not examined during normal browsing unless actively looking for information about a user. However, there are certain contexts where an aspect of a user’s real world identity is highly relevant, such as when specialized knowledge or specific experiences are required to be knowledgeable. In situations where identity is important, user flair gives subreddits the ability to augment a user’s identity with a piece of situationally relevant information. For instance, r/askHistory and r/askScience both allow users to ask one another questions about aspects of those topics they would like to learn about. Often times, there are users who are pursuing these fields in various stages of higher education who can give informative, and often well sourced, answers. To prove they are qualified to answer questions, users can apply for the subreddit moderators to grant them user flair displaying their degree and field of expertise. This process is coordinated by the moderators, meaning users have a reasonable degree of trust for the information displayed in a flair. In a different subreddit, r/StopSmoking, users can submit the date they quit smoking to get user flair which lists how many days they have been nicotine-free. Once again, this demonstrates the use of the flair system to add contextual identity to users as they need it. This practice is sociologically interesting because from the perspective of the user receiving the flair they are exerting their real identity through their pseudonym, strengthening their ties to their account and bringing them closer to the community through the personal investment of going through the process to get that qualification. From the perspective of the users, seeing flair next to a user’s name gives them some degree of trust in the user’s post and lends credence to the subreddit as a whole. By helping users trust the site, user flair manages to hit upon the most important dimension of a website’s communality: whether or not it is trustworthy.

Future Work & Conclusions

While all of these elements contribute to form an extremely refined community building tool, it is important to remember how much of this has been accomplished through development over the past eight years since reddit was founded. reddit has grown into the site it is today by realizing the strengths of its underpinnings and improving upon them – most significantly on subreddits. The website has changed plenty and will continue to change more, leaving open important questions about the future of the site and further analysis that could take place. Additionally, there are many aspects of the website which this paper has not touched upon. As an initial focus, the interactions between distinct user communities with no intrinsic relationship on the same platform are not well explored and could be the subject of further study. It is also worth studying some of reddit’s newer features, such as multireddits. Multireddits allow users to define a set of subreddits which will get pooled into an isolated front page. This functionality was previously possible through proper syntax in the URL, but implementing the feature made it much easier for users to use. The effects this has on the user base will be interesting to study, to see if it potentially dilutes user contact due to distributing users over more communities, or if it increases it because users now have a middle ground between browsing every subreddit they’re subscribed to and just one. The user design of the website is another interesting topic to study as it has been historically divisive. New users almost unanimously hate it because it is purely link based and can sometimes induce cognitive overload where users just don’t know what to do with a giant pile of links. Older users, on the other hand, profess love for its utilitarian simplicity and the efficiency with which it lets them browse threads and content. The varying clients on phones, tablets, and desktop computer that users can use instead of the main web interface to browse the website also present an interesting question for analysis. In general, the effects of the visual design of the front page on user interactions and growth could be potentially very useful as a case study in user interface design. Lastly, a large number of peripheral communities related to reddit — like reddit gifts, a secret Santa program for redditors — have sprung up since its inception and growth and present more potential room for research.

Examining reddit as a whole, it holds value as a website suitable for research because of its emergent interactions and unique community building properties. The low-cost methods of engaging with the website and interacting with other users let it catch on quickly, and the flexibility of its community creation tools let each user find and develop a use pattern that satisfies their unique online community needs. Very few competitors are able to create such strong identification with their product, best demonstrated by the number of people referring to themselves as “redditors.” (“We Power Awesome Communities”) The bulk of reddit’s userbase feels strongly and positively about the website, and has helped it grow quite quickly into the front page of the internet that it was designed to be eight years ago. Time can only tell what it will grow into next.

Works Cited

Hulser, Dylan. “Thanks for the Gold!” Blog.reddit. Reddit, 19 Oct. 2013. Web. 13 Dec. 2013.

Kaltenbrunner, A, et al. “Comparative Analysis Of Articulated And Behavioural Social Networks In A Social News Sharing Website.”New Review Of Hypermedia And Multimedia 17.3 (n.d.): 243-266.Science Citation Index. Web. 13 Dec. 2013.

McMillan, David W., and David M. Chavis. “Sense of Community: A Definition and Theory.”Journal of Community Psychology 14.1 (1986): 6-23. Print.

Ohanian, Alexis. Personal Interview. 7 Dec. 2013.

reddit Admins. “reddit Myth Busters.” Blog.reddit — What’s New on reddit. N.p., 6 Aug. 2013. Web. 12 Dec. 2013.

Reicher, S. D., R. Spears, and T. Postmes. “A Social Identity Model of Deindividuation Phenomena.” European Review of Social Psychology 6.1 (1995): 161-98. Print.

“September That Never Ended.” September That Never Ended. N.p., n.d. Web. 13 Dec. 2013. <http://www.catb.org/jargon/html/S/September-that-never-ended.html&gt;.

Tomiuk, D. and Pinsonneault, A. (2009), Applying relationship theories to web site design: development and validation of a site-communality scale. Information Systems Journal, 19: 413–435. doi: 10.1111/j.1365-2575.2008.00293.x

Van Mieghem, P. “Human Psychology Of Common Appraisal: The Reddit Score.” IEEE Transactions On Multimedia 13.6 (2011): 1404-1406. Inspec. Web. 13 Dec. 2013.

“We Power Awesome Communities.” About Reddit. Reddit, n.d. Web. 13 Dec. 2013.