Upload
amberly-hill
View
246
Download
0
Embed Size (px)
Citation preview
Social Stream, a social network frameworkAntonio Tapiador, Diego Carrera, Joaqu´ın Salvach´ua
Speaker:饒展榕
1
2 Outline
INTRODUCTION
REQUIREMENTS
ARCHITECTURE
VALIDATION
DISCUSSION
CONCLUSION
3 INTRODUCTION
Social network sites (SNS) keep gaining momentum, being among the most popular applications in the web .
Social networking features are present not only in contact-oriented social platforms, the websites focused on establishing and maintaning contacts, but also in content-oriented social networks, the ones that are organized around some type of content, e.g. trips, code repositories or conference attendance.
4
In this paper we introduce Social Stream1, a social network framework for Ruby on Rails.
5 REQUIREMENTS
Tapiador et al. introduce a comprehensive list of common social network features present in popular social network platforms .
Social actors
Social relations
Content
Activities timeline
Home page
Profile pages
Notifications and private messages
6 ARCHITECTURE
7 A. Actors
Actors subtypes have three main characteristics; a profile, with an avatar and other attributes, social relations with other actors and the ability to perform actions on objects.
In addition, Social Stream includes user authentication through the external library Devise, and authentication with external services through Omniauth.
8 B. Profile
An avatar or picture represents the social entity.
Common profile attributes present in all social entities include name, contact email, location, address, description, website, etc.
9 C. The social network
The social network model built in Social Stream is powerful enough to support unidirectional (e.g. follow), bidirectional (e.g. friend), system-defined (e.g. block) and custom, user-defined relations. It is composed by three entities:
1) Contact
2) Relation
System defined relations
Custom relations
3) Tie
10 D. Objects
Social Stream provides the following popular subtypes of object: text posts, files, images, audios, videos, events and links to external websites.
11 E. Actions
Action is the entity that gathers all the interactions between actors and objects.
An action instance is made up of the actor, the object and a set of columns for each feature:
1. Authorship
2. Ownership
3. Rating
4. Mention
12 F. Audiences
Social Stream content visibility model is based on relations.
When actors upload a new object, they choose the relations to share with.
13 G. Activities timeline
Activities are made up of a subject, who is the author of the activity, a verb, (e.g. post, make friend, like) and an object. It may also include indirect objects or context.
A new tie is established, an example activity would be ”Alice added Bob as contact”
A new object is posted, such as ”Alice uploaded a picture”
A new rating is performed, such as ”Charlie likes Alice’s picture”
14 H. Home and Profile pages
Social Stream provides home and profile pages all to every actor subtype instance.
15 I. Private messages and notifications
Social Stream includes a messaging and notification component provided by Mailboxer6 library.
16 VALIDATION
Social Stream is a Ruby on Rails Engine, a library contain- ing a full application that can be mounted and accessed from the main web application. Thus, the SNF is accessible and fully functional out-of-the-box.
17
18
19 DISCUSSION
Currently, Social Stream architecture model only supports sharing at the relationship level.
This model does not support sharing at other levels present in current SNS, such as with contacts of contacts or specific users.
The framework should be extended to support them.
Regarding the activites timeline, we have found two approaches when building it:
1. Lazy approach
2. Eager approach
20
Lazy approach
In this approach, the relation of activities is just registered and recorded in the database.
They are selected in the precise moment the activities timeline’s view is rendered.
21
Eager approach
Activities are preprocesed and timelines are build just after the activity is generated.
In this approach, reading is cheaper, because the records are already calculated and ready for delivery.
22 CONCLUSION
Social Stream’s architecture is flexible enough to support the customization of the embeded social network to an content-oriented (excursions) one, the ViSH.
Most of the features of the actor subtype have been reused without any additional work: user account registration and sign-in, external authentication services, avatar and profile management.