💡 For reasons of rights and confidentiality, I am not able to communicate the name of the project on which I worked.

But I will give you some details on the requirements and details we had to deal with to achieve that goal.

The project developments were started 6 weeks before its strong deadline . Which means there was no way to get more time.

. Which means there was no way to get more time. It involved 5 separate teams from 5 companies in data exchanges, customer, web development and mobile development. My team worked on the mobile application with a small backend for push notifications using serverless Firebase Functions (Google Cloud Functions).

in data exchanges, customer, web development and mobile development. My team worked on the mobile application with a small backend for push notifications using serverless Firebase Functions (Google Cloud Functions). Specs and design have been changing throughout the project with a lot of Back & Forth, that’s Lean Startup.

The mobile app was polling at regular interval s on some screens to get near real-time updates. The backend provider and we weren’t able to implement web-sockets within the deadline due to legacy code.

s on some screens to get near real-time updates. The backend provider and we weren’t able to implement web-sockets within the deadline due to legacy code. We used React Native 0.61.X, GraphQL and Firebase as main technologies.

Protagonists are happy with what has been achieved in the given time frame. We have all learned a lot from mistakes and user feedback, this article aims to help people improving their schedule and programming sessions to succeed in such stressful conditions.

We did some great choices but also some mistakes. In the end, we learned a lot and we took those elements as lessons for the future. You should always grow from your experiences.

I synthesized all our learnings in 5 pieces of advice, here they are:

✈️ Leverage remote config and Over The Air Updates to adapt your application once live

One thing you need to know with mobile application: rollout inertia is very, very, veryyyyyy long.

Application stores validation process

🍎Apple is known to have a strong and reliable app review process for the app store.

It’s a good thing because it filters upstream some garbage apps from the list. The reviews are linear and generally take within 12–48 hours for most apps.

🔍 Google was known for no review processes

Until now the Google play store was the far west. You can find anything including virus shipped apps as the review was nearly non-existent.

Early in summer 2019, Google updated review policies that are now claimed to be stronger and that’s a good thing… At least that’s what I thought at first glance…

The app’s first review on Google play took 4 days to get validated… Well… It’s fast compared to the « one week » they announced…

But I’m not sure why this took so much time because the very first release was a bugged one with the app displaying a blank screen thanks to a bug with React Native Android Loader (SoLoader).

And even with that: We got validated on the Google Play… Thankfully, after the first submission, the next releases were fast on Google play, it was only a matter of a couple of minutes.

💡Advice: Anticipate deployments on app stores and always check your Android App Bundle using Internal App Sharing first as it might differ from standard tests.

You cannot rely on user updates.

You cannot guarantee that your users will update their app during the event, but you can be sure they will leave a bad review on the store 😿.

In case you are not able to patch quickly, think of ways to invite them to update. Push notifications are nice tools to help with that, but as they are on 4G or maybe less, don’t count too much on it.

Remote config and OTA to the rescue