The story of AMG Math App
So I made an app…big deal you say..eh….
Though currently I am a Product management professional and am not required to code, I have been a coder for a major part of my professional life and that itch to create something of my own always remained.
There are various reasons people want to build their own apps: Creating their brand portfolio if they are designers/devs , executing a business idea or as in my case to learn and understand the dynamics a bit more.
But somehow, despite my coding background (I was good at it and am not humble enough to deny it) I would not pick up learning the basics for a long time. Let me list down the reasons for not doing it
- I am as lazy as a sloth
- I procrastinate–basically also means lazy
- I thought re-learning coding again would be too much hassle –in simple words: I was lazy
- and did i mention that I am a very lazy guy?
So here are the things I had tried to break my procrastination/laziness
- Bought a Course on ionic app development thinking that my love for money and my middle-class upbringing that teaches me to extract maximum value + more if you have paid money trumps my laziness…news: it does not. Why Ionic?: Ionic is a hybrid platform that lets you create apps once that can be published to all platforms(android+IOS)…you can see why i picked it. Who will learn 2 platforms
- Chucked that and decided to just go to udacity free courses and followed the tutorials (Thank you google) …Got damn bored after a few lectures. They were too slow for my taste and I picked up one 2 videos every few days, implying i would forget half of the previous lectures
- Tried to read through the dev guides…Nop
It all changed when I got talking to a friend who also wanted to learn coding. We decided to make a pact to release 1 app ,even if it was a hello world app by end of the month.We went for android.
Lo behold , suddenly I was back at the udacity course page and ravaging through the basic course like a mad man on a mission. I was watching videos at 2x speeds to save time…(Tip: Youtube feature to speed up videos is google’s greatest gift to humanity)
Life lesson: Challenge motivates me.
I love sloths
But the boredom again set in…i decided to then do something else. I started even before I was ready and started optimizing on everything…whenever I was stuck,I asked
“What would a sloth do..
So this is how it went down
- I looked around to see what kind of simplistic app I would like to make and decided to go for something close to my heart…Fun +education. How about a simple Arithmetic game. I would give people set of 4 numbers and a target. They would need to use all the numbers in an arithmetic expression so that it solves to the target.
- I decided to forgo perfection . I went for 1 screen app mainly because I had not yet learned how to make multi-screen apps. Even the help section was bundled into the same page
- I learned the very basic of formatting (mainly linear layout) with 0 designing etc put in
- I realized that to make a huge question bank, I would need to do a lot of work. Even making 1000 questions means I would need to type a hell lot. In Microsoft I was a Product Manager for health and fitness app ,and I clearly remember that in “exercise details” feature that I had done , there was a csv file with some small typo errors or special characters that needed to be removed for the code to read them properly . The insane amount of manual effort required to clean up a simple csv file still gives me nightmares (Not literally). There was no way in hell I was going to create a question bank for a fun app. So I automated it and here is the algo
- Every digit is randomly picked from the range specified
- The operators to be used are also randomly picked but they also have a probability of being picked . EG: * is far less probable than + and –
- The 4 digits are stitched to the operators and evaluated using the same function that evaluates the answers user inputs, to calculate the target .
- This entire expression becomes 1 question
- An array of question is generated and then picked at random and presented to the player
- The process repeats every time you start a new game. So the probability of seeing the exact same question is rare
- The system had no scoring, no gamification , no analytics . Just a 1 screen app made by a product manager who wanted to see what the hoopla is all about
- I broke down the entire process to very very small steps. Baby steps do help if you are a sloth
- I got stuck , learned specifically that piece and moved on.
The entire coding , most of the learning , and publishing the app was done over a weekend. Yup, just 1 sleepless, sitting in my home office (yeah I am showing off ) continuously weekend.
Being a Sloth is not bad afterall
And AMG Math App was released.It was initially called “Can you Solve this”
Initially I thought my wife would be upset that I was in front of my mac(Yes I have a mac..gosh I am good at brand placement..appple pay me money) for the entire weekend …surprisingly she was not. She was happy that I was least not being a sloth , that’s progress
Since every article needs to have “learnings” , here are my learnings
- Understand what motivates you
- It is better to learn whatever minimal you can learn to start and just implement it . Don’t wait to be a guru. Learn on the way
- Doing everything on your own gives you great insights into how the process works. I spent un-godly amount of hours to correct simple logos .. There are so many sizes you need to take care of and the android process does not make it easier. Every resolution has to be made
- Having something out there can be a great motivator. Since launching the app I now keep on doing simple upgrades
- Done 3 App upgrades
- Added gamification
- Added analytics
- Finally added more than 1 screen
- Soon planning to have animations etc
- Google android app store analytics are super useless for new apps. Always have google analytics and see real time what’s going on
- Whenever stuck, think “What would a sloth do”
- Automate automate automate…find shortcuts, it is not a bad thing
Let me be very clear , it is not a great app in itself. Too simplistic, something that most devs would make in a day…But I really really do not care about what the app is, I just wanted to go through the entire process from app submission, making it prod ready , seeing basic analytics, understanding discovery etc , also i did not really care about what people would think about the first version of the app 🙂
Coming up soon: How I optimized the AMG math app ..the sloth way
This is how the AMG math game app gameplay screen looks now.
Would love to receive some comments/ reviews on the app. What do you want to see next..remember I am learning whatever I need 😀