Università di Pisa
Facoltà di ingegneria
Tesi di laurea specialistica
Experimenting with mashup features in the
mobile space
Relatori: Prof. Enzo Mingozzi
Candidato: Vincenzo Edoardo Martino
Prof. Vittore Casarosa
Dott. Roberto Brega
To m y f a mily,
Edu ar do, Maria a n d Chiar a
Acknowledgments
I would like to thank the OneOverZero GmbH for supporting this Thesis
project.
Particular thanks go to Roberto Morelli, Andrea Lombardoni, Andrea
Terribilini and Martin Hochstrasser for their technical help and guidance and to
Roberto Brega for being a true mentor.
Many thanks also to Ezio Martelli for administrative support: this thesis would
not have been possible without his help.
Index
1 Introduction...5
2 Introducing Social Network concepts...7
2.1 Social Network Analysis...7
2.1.1 Graph representation of social networks...12
2.1.2 Quantitative indexes...15
2.2 Social Network Websites...21
2.3 Mobile social networks...23
2.4 Factors affecting the adoption of mobile data services...26
2.5 REST Design Pattern...33
3 The state of the art...38
3.1 Social network websites...39
3.1.1 Facebook...40
3.1.2 MySpace...44
3.1.3 Twitter...48
3.1.4 Usage patterns and behaviour in social network websites...50
3.2 Events and calendar applications...57
3.2.1 Google Calendar...57
3.2.2 Doodle...60
3.2.3 Eventful...62
3.3 News services...65
3.3.1 Really Simply Syndication...66
3.3.2 RSS Parsing with ROME...68
3.4 Entertainment...70
3.4.1 YouTube!...71
4 The Biim mobile mashup...73
4.1 Mobile mall concept...73
4.2 An architectural overview of the existing platform...76
4.2.1 Mobile client and server interaction...81
4.3 The target user and the minimal required set of use cases...82
4.4 Domain model...88
4.4.2 Messaging...90
4.4.3 Events...92
4.5 Mobile mashup services and architecture...94
4.5.1 News...94
4.5.2 Messaging...129
4.5.3 Events...141
4.6 Open points and future directions for development...143
List of Figures
Graph representation of previously defined relations...10
Model for studying the MDS usage patterns proposed by Bina, Karaiskos and Giaglis...31
Facebook activity breakdown. Size represents total number of users, shade usage intensity...53
The Google Calendar application...58
A date poll with Doodle...62
The eventful home page...63
Biim main screen...76
Technologies used in Biim development (yellow boxes) and deployment...77
Biim logical overview...78
Biim user minimal set of use cases...85
Administrator use cases...86
Channels domain model...88
Messaging domain model elements...90
Social Event model...93
Channels implementation...94
Document handlers...96
MobileViewComposer interface and implementation...98
Mapping view composer and document handler to a NewsChannel...99
Web client administration menu...101
Feed administration screen. Labels in bold represent required fields...102
Channel groups administration...105
Timers administration...106
List of channels for a Deutsch native speaker user living in Zürich...107
News channel rendering on a mobile client...108
News rendering...109
Weather forecasts ...109
Most important classes and interfaces in the messaging system...130
Addresses supported by messaging...131
Content integration...133
Tagging implementation...134
Conversation and Statement classes...135
Twitter related classes...137
Social menu ...137
User inbox...137
Show message screen...138
Messaging options...138
User Inbox...139
An user conversation...139
The send message screen...140
Twitter account in user profile screen...141
Twitter account screen. ...141