Launching an app
So we’ve been working on an app called Conversations for a while now, and it’s been through its fair share of ups and downs considering everyone in the team is busy trying to get through college. And as if that wasn’t hectic enough, the backend we used to get the app up and running decided to shut down on us (this is me throwing shade at Facebook for shutting down Parse). Luckily, there are plenty of fish out there in the sea, and even though we had to integrate a bunch of components from a lot of different providers, we were able to match (and most of the time, even one up) the functionality we were able to achieve with Parse.
It would be a sin from my side to not mention Firebase at this point. Firebase is a dynamic database with almost magical cross-platform syncning abilities that is owned by Google. It has really helped us build a sturdy, blazing-fast realtime app in a surprisingly short amount of time. We also had to rely on Amazon’s S3 file storage system because we had previously made a wrong decision to store every bit of data sent by users as strings in the app which had very negative consequences when it came to speed.
We also had to back track on some design choices we made along the way that confused our testers due to their very gesture-reliant nature. We also tried to bring the design of the app closer to that of the OS running on the user’s device. We realised that as users use a certain operating system for a while, they get comfortable with gestures and buttons that the OS provides them. And in doing so, we were able to come up with some design rules that would make sure our app looks unique among all the other apps out there, and yet look similar on every platform we ship on.
And even after jumping through all those hurdles, we still had to deal with a lot of bugs that arose from cross platform development like the way time is represented on different devices, that audio format used to record voice messages and the way the camera rotates the images based on orientation of the device. Yet, in fixing all these bugs, we did learn a lot about the platforms we were building for and also a good bit of programming as well.
But in the end, all that matters is that “Real artists ship” as Steve Jobs once said. And even though we don’t consider ourselves to be artists, I think it works just as well rewritten as “Real programmers deploy”.