tesi di laurea investigating mobile solutions for news ... · investigating mobile solutions for...
TRANSCRIPT
Investigating Mobile Solutions for News Spreading!Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
tesi di laurea!
relatore!Ch.mo prof. Marcello Cinque!candidato!Pasquale Perozzino!Matr. 885/261!
Investigating Mobile Solutions for News Spreading!Anno Accademico 2011/2012!
Investigating Mobile Solutions for News Spreading!Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
Background!
Is the worldwide crisis affecting the mobile market? Today:!!• The smartphone sales are increased by 42%
compared to 2011!• The Financial Times forecasts that 657 million
smartphones will leave stores in 2012!• Android is the most spread mobile OS!
Moreover: !• The explosion of mobile social media!• The growth of native mobile app!lead to one inevitable conclusion:!
by 2014, mobile internet is predicted to take over desktop internet usage !
Investigating Mobile Solutions for News Spreading!Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
Fanpage!
One of the main projects of the Neapolitan media company Ciaopeople!!News media accessible through the!• Website!• Facebook page and Facebook application!• Twitter and Google+ accounts!
Since 2011, Ciaopeople decides to develop the Fanpage mobile app:!• to distinguish their services!• to follow the competitors examples!!..but, mainly, to disconnect the application from the Facebook platform and to offer a more satisfying user-experience!
Investigating Mobile Solutions for News Spreading!Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
Objectives!
ü Analysis of mobile push architectural solutions!• evaluating pros and cons of the investigated solutions for the
spreading of news on mobile devices!
ü Design of the Fanpage mobile app!• starting from the provided requirements!
ü Implementation of a prototype!• over the Android platform!
Investigating Mobile Solutions for News Spreading!Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
Requirements!
FUNCTIONAL! CONSTRAINT!The signed in user must receive news through push notifications!
The app must work on Android devices with Froyo or newer releases!
The app must provide a list of news in the main page!
The app must be able to receive push messages in JSON format!
The user must sign in providing credentials!
The app must implement the Facebook SSO!
The app must take the user to the error page in case of absence of network connectivity!
The battery consumption must be minimized!
Investigating Mobile Solutions for News Spreading!Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
Architectural solutions investigated!
Solution! Pros! Cons!
Poll!• easy to
implement!• no cost
solution!
• the more itʼs close to a real-time push, the more it drains the battery!
Sms!• easy to
implement!• fully real-time
updates!
• it has some costs!
Persistent TCP/IP!
• fully real-time updates!
• difficulty to implement a reliable solution !
• it reduces battery life!
Persistent TCP/IP solutions!
MQTT!
Deacon Project!
XMPP!
Websocket!
Urban Airship!
Xtify!
C2DM!
Investigating Mobile Solutions for News Spreading!Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
Google Cloud Messaging for Android!
• Push notification service!
• Free!
• Persistent optimized TCP connection between device and Google servers!
• Evolution of C2DM!• multiple requests!• increased payload
capacity!• less “limitations”!
!!!
Investigating Mobile Solutions for News Spreading!Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
Working scenarios
FANPAGE SERVERS
GCM SERVERS
CLIENT
RECEIVING THE PUSH MESSAGE
RECEIVE INTENT (PUSH)
APPLICATION SERVER
(TRIGGER)
FANPAGE SERVERS
APPLICATION SERVER CLIENT
HTTP HTTP
HTTP JSON
SIGN IN THROUGH THE FACEBOOK PLATFORM
GCM SERVERS CLIENT
REGISTRATION INTENT
REGISTRATION RESPONSE
CLIENT
SIGN IN REQUEST
SIGN IN RESPONSE
FACEBOOK SERVERS
FETCHING NEW CONTENT FROM THE FANPAGE SERVERS
REGISTRATION TO GOOGLE CLOUD MESSAGING
Investigating Mobile Solutions for News Spreading!Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
The Fanpage app components!
Functionalities!Registration to !Google Cloud Messaging!
Login through the !Facebook platform!
Show news list!
Show news page!
Receiving push messages!
Other purposes!
Client Components!GCM_registrationReceiver!GCM_Registration!
Login!
NewsList!
ItemNews!
GCM_MessageReceivedActivity!GCM_MessageReceiver!
Error !BaseActivity!JSON_handler!
Fanpage! client!
Application!server!
The application server:!• prolongs the Facebook auth_token!• retrieves the article!• notifies the Fanpage server of the
occurred installation of the app into the device!
• notifies Fanpage of the occurred reading by the user!
• retrieves the list of news!
For testing purposes it:!• pushes the messages!• establishes a connection with a MySQL
database!
Investigating Mobile Solutions for News Spreading!Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
Snapshots!
Investigating Mobile Solutions for News Spreading!Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
Conclusions!
The Fanpage app has been implemented so that:!• makes use of the Android OS!• uses the GCM push service!• uses the Fanpage API!• implements the Facebook SSO!!Pros:!• delegation of the push issue to a cloud service!• increased battery life compared to other solution!
Cons:!• The app is completely reliant on the GCM service!• The app works only when the network connectivity is up!!
!
Investigating Mobile Solutions for News Spreading!Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
Future Works!
With respect to the drawbacks, the app should improve:!!• Through the implementation of a polling-based solution as a second
best!!
• Providing accessible content even in a disconnected state!!