How a mobile currency app outpaced its competition
When Walutomat observed that the currency exchange platforms of their competitors were releasing mobile applications, they knew it was time to take two steps ahead. So they decided not only to build their mobile solution for iOS and Android but also to bring off 100% of features from the web platform. Such a double challenge required a thorough analysis.
Building a separate application for each platform was out of scope, mainly because we wanted to use all features available on the web, which was close to impossible as native features tend to lag behind their web counterparts. As result, if we insisted on native development, the user experience would suffer. We could not let it happen.
Setting clear goals
In the case of Walutomat, the goals were clear:
- The user had to see exchange rates very fast.
- The mobile app had to reflect the web 1:1
- The users were to start using the full app in 6 months.
That’s why the first thing we did was an analysis of available technology options. We knew that the tech choice is fundamental for project success. The options we had:
- Write natively in Java and/or Objective C.
- Release for one platform only, e.g. focus on Android as it’s much more popular in Poland than iOS.
- Use hybrid technologies such as Cordova or Ionic and “pack” the web app into a mobile container.
- Decide on a relatively new (back then) cross-platform technology and build a native application in JavaScript. That’s how React Native works.
Each of the options came with its pros and cons and our task was to weigh them accordingly. Because time was the factor with the biggest financial impact on Walutomat, we decided on the solution that would bring the app to life faster than other options. It was React Native.
Working with a growing pace
We planned the work on a weekly basis we called sprints. Then, at the end of each sprint, there was a demo meeting where we went through the tasks we completed and then planned the next week. At first, it was difficult to estimate how much time we needed to complete a single task. That’s why we decided to use a Story Point method to estimate the complexity instead and focus on predicting potential obstacles and dependencies.
Working in weekly iterations helped us focus on what we could deliver while keeping in mind the big picture.
Webview made things simpler
Using webview was the number one reason why we were able to build two mobile apps of high complexity in only six months. Our client already had a web app so with some adjustments, we could use the web API to communicate the app with the database. Using an existing API, we had to make sure that the frontend of mobile apps can work well with the old backend. We had regular discussions with the backend lead in Walutomat to understand how particular elements of the API work.
The development of the webview component under React Native contributes to the improvement of the app’s performance as well as its compatibility with HTML, CSS, and JavaScript. As a result, pages opened via webview give a similar user experience to natively generated content.
Development automation
One of the tools that saved us hours of tedious tasks was Fastlane. We used it mostly to automatically deploy our apps to TestFlight and Google Play after each merge. What’s more, Fastlane took care of automatic tests and linters as well as of naming the versions, which was a relief for developers.
On production, Firebase helped us log events and crashes so that we were able to monitor the health of our application all the time.
How did it go?
All in all, we released the first versions of both Android and iOS apps only 6 months from the start of the development. Due to the financial nature of the app, we allocated more time than usual for testing payment gateways, card transactions, and other financial features.
Along with the launch of the application, Walutomat started a marketing campaign to encourage their web users to install the application. The time between the first log in and the first transaction was really short. The application quickly gained an estimated user base which then continued to grow. Walutomat owns the success to their decision of reflecting 100% of web functionalities on mobiles. No other currency platform could offer that to their users.
We were in doubt whether the app would perform smoothly with the growing number of users or whether the users would say “Hey, they only put the website into a mobile app, nothing fancy”. None of our doubts came true. From the first day, Walutomat’s mobile application has been receiving high scores both in the App Store and on Google Play.
Summary
Preparing and developing your first mobile application can be overwhelming at times. If you’re struggling with setting priorities, choosing the right tools to automate your development, or simply want to consult on how to speed up your development and launch faster than your competition, let me know. I’m here to help.
The case study is a part of an ebook 5 Steps To Faster App Development I had a chance to publish with my colleagues from Nextapps.