MSocial is a social media application designed to facilitate users connecting and getting to know each other. The first published version of the application worked fine initially but as the App became more successful the user experience deteriorated, which hindered the growth of the application. Next Data developed an updated version of the application which addressed the immediate issues users were having with the application and which has the infrastructure that allows for exponential growth in users and functionality.
Core requirements for the new application naturally included all the existing features of the application, such as user profiles, swipe-to-like functionality, messaging, user profiles, notifications, premium features and billing services (specifically integration with the Telco’s billing services). Additionally, the upgrade also allows for the delivery of additional functionality to enable the application in line with its competition.
The application was successfully delivered with all the required functionality and with the user experience significantly improved. Additionally, the new application architecture relies heavily on the Next Data Social Platform developed by Next Data that its client can use for its many products. This platform allows the application to be highly scalable and provides the ability for changes to be made without redeploying the application. For example, if a new login method is added to the application it would be delivered through the existing web views (i.e. a web page inside the App) and thus wouldn’t require users to download the application again. Additionally, any new applications can be efficiently developed used this platform and would thus have access existing data from the MSocial application.
Industry – Application Distribution
Locations – Cambodia, Nepal, Shri Lanka, Myanmar, Vietnam and Papua New Guinea
Users – 300,000 +
Project Budget – <$0.5 Million
Updating and improving an existing social media application.
The MSocial application creates an environment which makes it easy for users to make an initial contact and continue to interact with each other. Additionally, a premium features billing framework incorporated ensures the application is economically viable without needing to rely on advertising.
Next Data wrote the entire MSocial application from scratch leveraging Next Data Engine’s Mobile frameworks and accelerated development tools.
In addition to simply improving the user experience of the application, Next Data has developed the application to facilitate expansion. To achieve this, Next Data created the Next Data Social Platform. This Platform is a back-end system that supports future updates to the MSocial application and support any new applications released by the client.
The challenge faced in the development of this application was to achieve the upgraded user experience and create the Next Data Social Platform while ensuring that existing users were able to easily transfer to the new application, along with any existing premium subscription with the existing Telco’s billing system which allows users to subscribe using phone credit.
High-Quality Mobile Application
The MSocial mobile application was created using Microsoft’s Xamarin toolkit, allowing a beautiful native application to be created efficiently. The new mobile application incorporates all features present in the first version and uses a consistent user interface design to ease the transition for users.
The home page of the application immediately opens the user browsing section. Here a user is delivered a stream of other user’s profiles, displayed as profile cards, which they can dismiss with a left-to-right swipe or like the profile with a right-to-left swipe. Users can also open a profile card by tapping on it, which will give them more information about the user before deciding what to do.
When a user likes another user’s profile, the other user is sent a match request notification. This message is received by the user in one of two ways. A push notification can be sent to the user’s phone, which can be accessed in the notification section of the App. This occurs if the user currently doesn’t have the application open. If the user is currently using MSocial, the “Let’s Talk” popup window will instead be created.
Users have a few options they can respond with. They may choose to “Send Message”, which will accept the match request and open the chat window. Choosing to “Keep Matching” will accept the match request and allow the other user to send the first message. “Decline Match” will delete the match request without allowing the users to message each other.
Users can view and send messages to each other within the messages screen. Message chains between users are displayed on the page when first opened. These are represented by the profile image of the other user in the chain, and along with an excerpt of the most recent message. Users can tap on these message chains to read the message history and start sending new messages.
Through the profile section of the application, users can view their own profile information and make changes. Users can upload new photos to their profile album and select one as their profile image. They can also change their name, age, employment information, educational history, interests, and a short profile message to display to other users.
Users may also change their filter settings from this section. These filter settings determine the types of profiles they are shown in the browse section. Users may select a target gender, age range and distance. Additionally, the searches can either be shown in order of recent activity of physical proximity. The matching algorithm has been designed to incorporate additional filter parameters, such as “show me males interested in females” or “show me people interested in software development”. This functionality could be added to future iterations of the application, if required, or incorporated into any new application built on the Next Data Social Platform.
The identity for the user accounts in the previous version of the application was Facebook OAuth. This has been incorporated into the updated version of the application. Next Data Social Platform accepts all major authorization systems such as Twitter, Google and Open Id.
The first time a user attempts to access the application they are directed to log in using their Facebook account. This login then lasts until Facebook says the login is no longer valid, at which point the user will be directed to log in again.
The Facebook login page and the login options page are both delivered through web views within the application. This means that a new login option could be added, or an existing one changed, on the Next Data Social Platform without needing to redeploy the MSocial application. Instead, users would simply see the changes the next time they viewed the login webpage from within the application.
Integration of Existing Customers and Billing System
One of the key requirements for this upgrade project was that the existing customers and the existing billing system had to be carried over into the new application.
The existing customers were incorporated into the new application by designing a profile data model to be compatible with the previous profile data model. The new data model incorporates all the information stored in the original version, as well as additional information used to deliver new features and facilitate feature growth.
The existing customer information was then migrated to the new system using a job system. This system migrated all available data over the course of two weeks and automatically migrates any profiles not included in this initial migration if the associated user attempts to access their profile.
The Telco’s Billing system was incorporated into the new application’s premium subscription system. This was done through the Store web application. Users access can access their premium subscription settings through a web view in the application by opening the settings menu and tapping on “premium account“.
The Store web application performs the synchronization of billing information between the Next Data Social Platform and the Telco’s Billing system. This separation of access to the Telco’s Billing system from the end user application allows the Store application to be updated with new billing system and changes to existing billing systems without requiring an update to the MSocial mobile application. The only changes an end user would notice is a change in the web view they access through the app.
Increasing the visibility of the premium subscription features (thus encouraging users to purchase a premium subscription) was required to ensure the economic viability of the application. This was achieved by showing information popups alerting users when they attempt to perform actions which require a premium subscription.
Platform and Solution Architecture
The Next Data Social Platform is designed with the focus on supporting the MSocial mobile application. However, the core vision is of eventually using the platform to support a multitude of applications working together to provide a variety of services to users. The platform is made up of four (4) main systems, Connections, Telemetry, Store and Identity all powered by the Next Data Engine.
The Connections system provides the generic social media platform used to power the MSocial application. It handles the incoming requests from users for profile searches, match requests and messages. Telemetry provides usage information to the support team from application utilizing the Next Data Social Platform. Store provides a platform for in-app purchases and billing services and communicates with Telco’s Billing services. Finally, Identity provides the login and authentication services for applications built using the Next Data Social Platform.
The Next Data Social Platform utilities Azure services to provide the hosting both for the platform and for associated services. This allows for both reliable hosting and access to Azure services.
Azures SQL Server service is used to store the data required to power the MSocial application. The data stored in these databases are also stored in the Azure Cosmos Document Database, which provides extremely fast access to the data and Geo-spatial queries. New applications built on top of the Next Data Social Platform could very easily be configured to access and contribute to this data.
To increase the scalability of the MSocial application, and other applications running on the Next Data Social Platform, the platform has built-in distribution services. This has been achieved through two main methods. Firstly, Azure’s Application Gateway system automatically directs incoming requests to the instance of the platform which is most available to handle the request. Secondly, when a request is generated by a user on the MSocial application a message is sent to a PubNub (a third party messaging system) server which stores the request. As Next Data Social Platform servers become available they check PubNub for these requests, process the request and send the results back to the user via another PubNub message. This system ensures that the platform is scalable, since expanding server capacity only requires creating a new instance of the platform on a virtual machine and configuring it with the Application Gateway.
A business intelligence dashboard has also been provided for the MSocial application. This was achieved using the Microsoft Power BI system, which easily integrates the data already stored using Microsoft’s Azure services.
The updated MSocial application and Next Data Social Platform successfully addresses the performance and user experience issues faced with the original version of the application. Additionally, the platform provides a reliable framework for the application and a smoother user experience for processes such as logging into the application.
Next Data continues to support the application and platform. This ongoing support includes not only maintenance of the service, but the opportunity for additional features to be added to the MSocial application. Additionally, the Next Data Social Platform which was developed alongside MSocial has created the perfect environment for Next Data to continue development projects.
Check it out on Google Play Store.