“Nah, gimme just this one feature, do not upgrade anything.” - Said a man who suddenly lost $5000 for a feature worth $50. This is a sad and, well, a bit of a fake story, because I was the sucker who promised to deliver a really small feature to a rotten app without proper research.
Now, WTF happened here? The story begins a long time ago but I remember it like it was today. Let’s go back in time to 1994.. I mean to 2018. Well, the technology world moves fast. It was early December when I started this project so it was a good old version
0.57 of React Native. Believe me. This. Is. Old. Really old.
So a man has an app which once in a year needs to be updated with some fresh info. You can guess if there was a budget for making it loading dynamically from the server. We were happily updating this very important info for 2 years. Each update required going through a publishing process in both of the stores.
But this time something happened.
This time it was different. So I cloned this old app from the repo. Did I already say it was old? Nevermind. Okay let’s do it.
yarn install, update the info,
git push, send an invoice. This should be enough because I had a nice CI/CD in place.
I couldn’t even do
yarn install because I had too new version of node. But nvm. Or actually
nvm use v9.something.0
This did the trick. I still had some issues running it but resolved it quickly with some help from my good buddy called Stack Overflow.
Damn! It was supposed to be a quick job and I’ve already spent over 2 hours on it.
Quick test on android and iOS,
git push aaaand it’s done.
The AppCenter build was successful. It still had the correct node version. What a nice surprise. But when it tried to deploy to stores.. A small, not looking very bad error occurred. I had to target higher versions of SDKs. These small, not looking very bad errors started being annoying. Let’s deal with it and forget about this nightmare.
2 days later.
I gave up. After fighting with all these still-not-compatible-with-something-elses. This is how it died. I went to the man, said I’m very sorry. We both cried. He said go and bury it in the woods.
Okay, this actually didn’t happen, but as you can guess there was no budget to properly fix it and make it great again.
Remember to always remind your client how upgrading the app constantly is important. It’s not a big deal if you do this regularly. But if you do it once in a few years it may be very difficult and expensive to bring it back to life.