July 11, 2019
Why did we create a mobile app for PopStar?
“Your mobile device has quickly become the easiest portal into your digital self.” - Phil Nickinson of Android Central
Since we launched the PopStar Web Application, we have been anonymously monitoring our users thru Google Analytics, this is to view their behaviour on how they use our product and what gives them the most problem. Using the data we collected, we saw that 80.89% of our users are actually accessing PopStar on their Mobile Devices, where 70% are Android Users, 25% of which are iOS Users and the other 5% uses BlackBerry and other custom mobile Operating System.
This is still fine for us since we followed PWA (Progressive Web App) guidelines and make the website mobile-friendly so our users will be able to browse PopStar more easily, but we are still not happy with the result.
We want to reach more users.
We want to send out notification to users.
We want our product to become really close to users.
We want to know more about our users.
We want our app to work even offline.
“LETS CREATE A MOBILE APP” everyone is thinking the same thing but we have a major problem and that is WE ARE ALL WEB DEVELOPERS. That is the biggest wall that we encountered, To be able to create a mobile app, we have to learn the tools, and ecosystem of developing a mobile application. We are astounded when we heard
Objective-C but we are hungry, and to fulfill this hunger, we have to tackle this wall in front of us head on!
Our journey on mobile development...
The first step that we did is to conduct research, should we go into
NATIVE, HYBRID or ?
Mobile application development have evolved and there is a term called Native and Hybrid. Here are some of the meaning that we found from Google.
A Native Application is an application that is compiled into an executable file consisting of machine language instructions that the operating system can simple load on top of its
The 2 major operating system in mobile applications are
Android these two have their own SDK to access the features, hardware etc.
A Hybrid Application is an Application that runs thru a Mobile Apps Native Browser, it is like a responsive website but will act like a Native App.
This is more of like a responsive website that that is saved into Home as a
Shortcut in a mobile device.
and there is a new set of tools that are getting popular for developing a mobile app, specially for web developers like us who want to start making an app using the technology that we actually already know. This set of tools are called "Cross Compiled Apps" these are apps that are written using a single Programming Language and cross compiled into native apps for multiple platforms. one of these tools is called React Native.
Our journey continues...
Of course there are still problems that we've faced during the development including the following:
Learn basic Java/Kotlin.
Learn basic Android Project Architecture.
Learn basic Swift.
Learn basic iOS Project Architecture.
Learn Google Play Services.
Learn AppStore Services.
Learn GCM / FCM / Apple Push Notification.
Looking for native packages that we can use to avoid repetition.
The end is near...
After a month of making our hands dirty with React Native, we are able to grasp and work on it more efficiently, then after another month, we were able to release version 0.5 of PopStar Mobile application, this includes most of the key features that is present on the web application.
Here are some of the screenshots of our app inside an iOS mobile phone:
and here is the app in action:
We were overjoyed and proud with what the MVP (Minimum Viable Product) release did turn into. We did experience a lot of challenges specially on the tooling and ecosystem but we managed to break those limitations and be able to produce something that is worth the effort. This will not happen just because the Engineering Team @ YOYO Holdings wants it but also the Management Team for giving us the opportunity to grow and learn more things. There is a risk that we will fail to deliver this mobile app but we have no time to think about that, we only think of the final product that we want to deliver and now here it is: a mini PopStar application where every influencer can bring it with them.
Hi! I am Alleo a Senior Lead Software Engineer here @ YOYO.
I am in-charge of all the software development and engineering that happens inside YOYO.
I want to create an impact to society with the use of technology.
I travel for food.