My First Application and How It Failed
One of the best ways to stay productive is to adopt good habits over time. However, I struggle to keep up with the new habits without a constant reminder.
I had no lucks searching for an app that can periodically prompt me to take actions. The keywords I had tried include the combinations of “Alarm”, “Routine”, “Trigger” and “Habit”. Therefore, I created the Apps called “Habit Trigger” — a recurring alarm that reminds users on the chosen days of a week, at the preferred times of a day or within the specified interval e.g. every 2 hours.
My usual approach to learning to code was by reading a book or two, followed by developing a few demos to get more acquainted with the concepts obtained from the books. The process took a month before I began writing my own software. Even worse, sometimes I never utilized what I had learned at all.
It’s not what you know; it’s what you do with what you know.
This time my approach was different. I followed the Production-based Learning — the learning approach aiming to apply what has been learned. In another word, I learned and developed a product at the same time.
I started by writing the user story that describes how users will interact with my application, then moved on to mocking up the user interface. On day 3, I bought the book “Head First Android” and scanned the first few chapters to learn roughly how Android works. I thereafter dove in and code with the loose knowledge I had.
As the development proceeded, I was often stuck. I googled for solutions and most of them presented me with alien terms. I again googled or turned to the book to learn more about them.
It took me from 5 minutes to 2 days to untangle myself from a problem. However, I didn’t feel that doing so was a waste of time. The time spent in searching around resulted in the code on my application which was the real usage of the knowledge. It was a lot better than my old approach which what I had learned might never get applied.
I finished 30% of the prototype on day 9.
In the middle of day 10, while I was taking a break from wrestling with problems. I googled keyword “Repeat Alarm”. The third result was a Google Play Store link of an app that executed the similar idea. The app was having 10,000–50,000 downloads and 4.2 rating from 128 users. Furthermore, it has an elegant user interface and contains all features resembling my original idea.
At the end of the day, I discontinued my project and became a fan of “Repeat Alarm”. I felt a little sad that I wasn’t the one who executed the idea. However, I was delighted that the idea is impacting people.
Lessons learned was we never need to know everything before dipping our toe into water. It is more efficient to learn and apply what we have learned at the same time. Moreover, we should research thoroughly about the market opportunity of a product before rolling up our sleeves.
Before you go: How was your experience implementing the first application?