Social Stream, a social network framework 1 Antonio Tapiador,Diego Carrera,Joaqu´ın Salvach´ua

advertisement
Social Stream, a social
network framework
Antonio 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.
Download