How we used React Native to build a mobile application with 850,000+ successful downloads.
The entire experience could be summarised in a single mindset:
Offering a premium customer-centric solution.
But it didn’t stop there.
The size of the project was big and the challenges during implementation were many. This, caused by new and unexplored technology, plus the complicated nature of the application.
However, delivering a solution that would give customers a wonderful experience remained a priority throughout it all.
A brief background on what we had to deliver.
The project at hand involved creating and implementing a feature (somewhat mini-application, due to its complexity) within a bigger one. The developing team behind the original app was separate from the one dealing with the project at hand. That brought its own set of complications.
Tegeria’s team decided they wanted to use React Native as a specific technology stack.
Why React Native?
After doing extensive research on it, the team stumbled on a high number of benefits:
- It has cross-platform capabilities, code once, and it runs on both IOS and Android.
- RN works faster and with higher performance. It uses native components of both platforms (iOS & Android), so there is no time spent on HTML or CSS processing.
- Big giants are using it. (Facebook, Instagram, Walmart, Pinterest, Uber etc.)
- You can have a platform-specific UI design.
However, the only prior experience the team had with it was solemnly through research. Additionally, during the development of this project, RN in itself didn’t have many use-cases at hand.
Still, the team managed to deliver an admirable execution, despite the challenges in advance.
As previously mentioned, the main purpose of the project was to deliver an excellent customer experience with the solution.
By successfully implementing the new React Native technology, the team wanted to:
- Build a feature (mini-application) as close to the social media giants Facebook and Instagram as possible.
- Implement smooth and seamless scrolling.
- Reduce response time.
- Use the psychology of app design to develop a great user experience.
The key challenges:
Here are some cold facts about the mobile app and development world.
Keeping in mind all these requirements, the key challenges the team encountered were:
Integrating a feature (mini-app) within a bigger application.
The nature of the project combined two separate developing teams. There was the original app, and the one our team worked on that needed to be implemented within it. That integration in itself was complicated, however, mixed with React Native and the lack of experience in it, it only made the process more complex.
There weren’t any actual case studies on this exact situation or this nature of a project, so the only thing the team could do was to try and fail, in a race against the due date.
How will the solution act in a different range of mobile devices?
When developing an app, you need to take into consideration the infinite range of devices and customers that will be using it.
The adaptability in each of them can be pretty demanding, so the tests and examinations on various devices had to be ongoing.
47 percent of apps need more time for testing. – according to perfecto.io (the mobile and web testing platform).
The challenge of using and implementing React Native for the first time.
Despite the extensive research done on the technology, the developers didn’t have any prior work experience in actual usage of it. The praise for RN was high, however, there were some key problems that they stumbled upon during the course of the project.
Most of the code you write on RN can be shared between Android and iOS, and that makes it easy to simultaneously develop for both platforms. However, a functionality that might raise performance on IOS, could cause “damage” on the other operating system.
And that is exactly what the team encountered during implementation.
It took excessive testing to achieve the perfect balance of a great performance and the lack of bugs.
The ongoing process:
The team worked in weekly sprints, using an agile methodology. They would hold physical meetups to discuss the feature, prioritise the backlog, and overall process of the project. Everyone involved in the product in any way cared immensely about it and felt responsible for its growth and further development.
If you want to make any changes in web applications, it can be quite quick and easy, no extra measurements or steps taken.
That’s definitely not the case with mobile ones.
The process in them is definitely longer, and including the submission on the app store, it can last up to 5 days. That is not even taking into consideration the fact that the users have already downloaded it, and if they’ve experienced any bug, the initial disappointment feeling will remain. So the team decided:
Let us catch any action points where the application might fail, and optimise it as much as possible.
The final results:
- Successful implementation of the React Native technology in building the application.
- Displaying 60 frames per second in the app and offering the users a seamless feeling whilst scrolling, similar to what they’re already used to (Facebook or Instagram).
- 850,000+ users downloaded the app and were satisfied with it (no complaints or bugs).
Some validated lessons:
When deadlines, stress, and the challenge of delivering a next-level product are combined, things may seem a bit chaotic. However, when the team has a customer-centric work ethic in mind and strives to surpass expectations, no barriers seem that frightening.
Tegeria will always push for better, we are risk-takers at heart after all. These case-studies remain factual evidence to that. We hope to continuously support our customers in a journey of growth, as reliable partners!