#mozfest17apub
...are social networks?
...are they broken?
...do we fix them?
Ugh. Really? You know, social networks. Why do I have to explain this?
Twitter and Facebook and so on. Google+, I guess.
Instagram? Yeah, Instagram too.
Snapchat? ...Maaaaaaaaybe. I dunno. Wait! I think, yes.
WhatsApp? No, that's different. That's a... messaging platform. It works differently.
Ugh. I have to say why it's different? Fine.
1. You can create a profile that describes you. Your name or pseudonym, age, gender, your interests, your avatar photo and other photos.
Evan Prodromou
Montreal QC
49
Male
@evanp
2. You can connect with other people or groups or organizations to form a social graph.
Each node in the graph is a person (or group or organization). Each edge in the graph defines their relationship.
Edges can be unidirectional (follow) or bidirectional (friend).
@evanp
@maj
@stavy
@aj
3. Users can create content, like text, images, video, or audio.
@evanp
A_dumb_bee_11897.jpg
Check out this dumb bee.
3. Other users can react or reply to posted content.
@evanp
A_dumb_bee_11897.jpg
Check out this dumb bee.
@stavy: It looks OK.
@maj: Nothing wrong with it.
@aj liked this.
4. Each user has an activity stream. It is a record of everything they've done with the software.
It is usually sorted in reverse chronological order; the newest activities are shown at first.
It includes content they've created, reactions and replies to other people's content, game or app events, changes to the social graph, and other activities.
4. Each user has an incoming stream. It includes the activities of the people they follow or are friends with in the social graph.
I am going to camp today.
@aj
@maj
I just saw this.
@stavy built a Nether portal.
@stavy
@evanp
@maj
@stavy
@aj
N nodes
N - 1 potential edges per node
N x (N - 1) potential edges in the graph
Edges ∝ N²
100 members = 9,900 edges
1000 members = 999,000 edges
Edges = potential engagement
@evanp
@maj
@stavy
@aj
@evanp
@maj
@stavy
@aj
"@evanp posted a photo."
"@evanp replied to @stavy's note."
"@evanp reached level 7 of Zangband."
"@evanp liked @aj's video."
"@evanp followed @maj."
Using Activity Streams, a profile is just a Person or Organization object, available at an URL.
The URL of the object is the profile's ID.
Every profile in the network has a property that lists all their social connections, which are also Person or Organization objects.
The social graph is distributed.
Using Activity Streams, to create Note, Image, Audio or Video objects.
Every object and activity has a property that lists its reactions and replies.
Every action has a property that says what it is a reply to.
Every profile has a stream of activities that the person or organization has done.
Every profile has a stream of activities by people that they follow or are friends with.