DEVELOPEMENT OF TRENDYINSIGHT APPLICATION SOFTWARE FOR LOCATION BASED SOCIAL MEDIA TRENDING

With as many as one third of population have become social media users exchanging information, thanks to low cost smart phones availability and social messaging platforms like Facebook, Twitter, WhatsApp, Instagram etc., TrendyInsight will play a major role on listening the public concern on local or regional issues bothering them for the government authorities to learn and prepare the remedial action. Similarly, businesses of consumer industries will be benefited from TrendyInsight for better customer services. TrendyInsight – an application software designed and developed to work in iOS platform to capture trending topics from various social networks websites based on user location and present it in graphically on map. The application utilizes the uniqueness of each social network data through Application Program Interface (API) requests based on the trend. The application eliminates the need of user login to access the public data of these social networks. The application provides other experience enhancement features like showing user’s current location, updating the trending data every interval of time, searching for custom location, getting data for any custom hashtag, and settings tab to customize the type of data to be received from the social network APIs. The application was built on Swift 4 and deployment target operating system is iOS 11.


1.
INTRODUCTION Increase in usage of smartphones in these days increases the usage of social network application on the go.Social media is helpful in not just connecting with the people but also helps in knowing the trends among friends and other users.Most social networks have a separate trends section for the users to check out the trends.Social network trends are important and widely endorsed by people as they are small unexpected events started by people themselves.These social network trends help users know the interests of people in their locality, trends can help government authorities to discover the concerns of the people and suggest remedies.In fact, there is a group of people called Normies, who use social network and believe in popular opinions.
The problem with most social network applications in mobile is they require a login for accessing any kind of data.This includes the public data like trending which doesn't require specific data for accessing the data.Although there are concepts of multiple social network applications before, Concept of mashup of social networks in one application was existing in the form of managing multiple accounts of user, no application before has worked on public data in social network.This is crucial because each social network website is great at its own type of data like YouTube is popular for videos, Instagram for pictures and Twitter for people's opinions.
TrendyInsight is an iOS mobile application prototype whose roots are deeply embedded to bring access of trending data based on requested and present the data geographically without the need of any login.TrendyInsight, takes advantage of the uniqueness of mashup of social networks to support the trending data by providing related articles from other social network, giving user a complete insight of the trend.TrendyInsight communicates and retrieves data from the social network websites by using Application Programming Interface (API), which provides options and restrictions to access the data from the social network.TrendyInsight app also connects to a custom-built server and requests related data from the server.The server analyses the news articles based on the trending data and provides the names of persons, organizations and places to the mobile app.TrendyInsight retrieves information from Wikipedia and provides description of the names provided by the custom server.
Current state of TrendyInsight prototype uses Twitter social network API for retrieving trending hashtags based on the location of the user.For supporting data from other social network websites, TrendyInsight connects to NewsAPI for RSS feed for news articles, YouTube for Videos and Twitter for Tweets.TrendyInsight provides a search option to get the trending hashtags in any location.TrendyInsight provides option for the user to enter custom hashtag and app provides supporting articles for the hashtag.Lastly TrendyInsight provides settings to calibrate the type of articles user wants from the supporting social network APIs.
TrendyInsight was written in Swift 4 programming language and can be deployed in mobile Operating System iOS 11.

MAIN BODY
TrendyInsight collects trending topics from social network websites and presents the data to the user geographically in a map, based on user location or requested location.Any selected trending topic is sent to other social networks and their data is presented to the user.Tapping on any article, the app redirects to the official application or opens link in the web browser (if official application is not installed).The data from several social networks are retrieved through the social network APIs made available by the social network company for developers to utilize the data of the social network.The core function of TrendyInsight is to communicate and make requests to social network APIs.The rest of mechanics the application is to present the data in the application and refine the user experience in the application.

Features
TrendyInsight prototype supports the following features: • Showing trending topics based on user location • Searching for locations and getting trending topics based on the searched location.
• Getting supporting data from several social network websites.
• Getting results for a custom hashtag entered by user.
• Settings to customize the type of data to be received from social networks.
• Timer to update trending data for location in intervals of time • Showing the current location of the user.
• Writing feedback to developer.

Showing trending topics based on user location
Launching the TrendyInsight app displays a map on the home screen with user's location in the center and trending topics surrounding the user location.When the application is launched for the first time after the installation, the app asks user for permissions to access the location of the device.Since Twitter social network is the initial source for trending topics, app retrieves the data by two requests.In the first request, the app sends the coordinates of the mobile device to the Twitter API.The Twitter API sends the nearest WOEID (Where On Earth Identifier) based on the location of the device.WOEID is a unique code given to an area.In the second request, the app sends the WOEID, which was received from the first request, to the Twitter API.Twitter API sends the trending topics that are most popular in that region.The trending topics, along with the number of tweets, are displayed in specific regions in the map.The top five trending topics are placed on the bottom half of the screen to increase the ease of access of the top trending topics.The trending topics have varying size of font based on the number of tweets.

Searching for locations and getting trending topics based on the searched location
TrendyInsight app provides an interface to the user to search for locations in the search button in the home screen.Tapping on the button takes the user to another screen with a search bar on the top.User can search the locations in the search bar.The search bar provides the closest match of locations of the entered location.Selecting any location goes back to the home screen map and centers the map to the location and retrieves the trending topics based on that location.TrendyInsight app uses Apple's MapKit framework for searching for locations.Getting trending topics for any location helps users get trending topics for interested location.

Getting supporting data from several social network websites
Getting supporting data is the mashup part of the application where the application presents data from several APIs related to the trending topic selected by the user.This helps the user get to articles and information faster and can have the idea about the trend.Each supporting API articles are displayed on it's dedicated tab.
There are four sources where the articles are received based on the trending topic: • NewsApi (news articles) • Twitter (user tweets) • Youtube (videos) • Wikipedia (associated information) When user selects any trending hashtag/topic, screen heads from home screen to the supported section of the app, where the selected trending topic is passed to all the sources as a parameter.TrendyInsight app makes request to the respective APIs as they are selected by the user.The results from the API are displayed in its specialized article interface.For convenience of reading and data retrieval, hashtag is removed from the trending word.Some APIs also take additional parameters like user location for making requests to the API.Wikipedia section in the supported section is under the related tab.The related tab makes request to the TrendyInsight server which provides analysis of the trending topic.Based on the analysis of the data, which includes the names of organizations, places and persons related to the trending topic.The names are sent to Wikipedia API as a request and description of the names are received by the API.Related table is not completely implemented.The data is yet to be displayed on the tab.In the prototype application, the results of Wikipedia is displayed in the debugger.

TrendyInsight server:
TrendyInsight server is the custom server designed for analysis of trend.All the analysis and storing of results take place in the server.TrendyInsight server utilizes the features of Linguistic Tagger, analyses the trending word requested by the mobile app and sends the names of the persons, places and organizations related to the trend.TrendyInsight server uses stores the previous analysis done by the server in the local database.Storing helps in instant retrieval of names from the database and results in improved performance of the server.
Role of Linguistic Tagger: The Linguistic Tagger retrieves the names of persons, places and organizations mentioned in a given text.Linguistic Tagger in TrendyInsight server also provides the frequency of each word occurred in the text.TrendyInsight server also provides processing like removing surnames from the results and adding its frequency to the full name.
TrendyInsight app sends a request to the server, providing the trending word that user is interested.TrendyInsight server checks the availability of the analysis in its local database.If available, data is retrieved from the database and the analysis is sent to the app.If the data is not available, TrendyInsight server makes requests to NewsAPI for the trending topic.The description of the news articles received are passed as a text to the Linguistic Tagger and the results are extracted.The results are stored in the database and sent to the app.

Getting results for a custom hashtag entered by user
TrendyInsight app has an interface through which user can enter a custom hashtag or trending topic and get supporting data based on the entered keyword.The feature can be accessed by through a button in the home screen.The user can enter a custom topic and the app transitions to the supporting section of the app where the data from the other social network APIs are presented.This helps user to take advantage of the mashup of the social network APIs.

Settings to customize the type of data to be received from social networks
Preferences interface is provided to TrendyInsight for the user to choose type of data that will be received from social network APIs.Settings contains a separate section for every social network.The options in each section are the parameters that are to be sent to the social network APIs.If the settings are changed, changes are reflected when the settings screen is displayed.Note that the settings are not permanently stored.Hence the application resets all the settings every time the application is launched.

Timer to update trending data for location in intervals of time
TrendyInsight application providing trending results in real time, updates the trending topics when last WOEID retrieved from the location.Every time trending topics are retrieved from the location, TrendyInsight sets a timer for a time period.Once the time period is complete, then timer updates the trending topics fro, Twitter based in the last WOEID.

Showing the current location of the user
Current location button centers the map to the user's location.Apart from centering the map to the user's location, TrendyInsight also requests for trending topics on based on the user's location.Current location requests for trends till the location update of user occurs without bugs.If the location is declined by the user during the first launch of the application, then TrendyInsight alerts user to activate location access in settings.

Writing feedback to developer
Feedback is helpful for developers to know the bugs, suggestions and also requirements of the users.TrendyInsight uses mail server for feedback collection instead of a dedicated server for feedback as an efficiency point of view.Feedback redirects mail app through URL where developer's email is recipient email and subject is filled.