The first iOS app I wrote actually helped in creating itself, and in this post I'll explain how.



More...

Back in high school, I remember someone stating that if you have something you want real bad, put a big picture of it above your desk so you are regularly reminded of your goal. Seeing the picture keeps you motivated to always be doing something towards reaching that important goal, versus letting days or weeks slip by before thinking of it again.



Armed with a background in Java development, I got my start in iOS development by immersing myself in an earlier edition of the Big Nerd Ranch iOS Programming book. This was an excellent way to get started, and I worked through all the code exercises in the book. Once completed, I decided it was finally time to write my own app.



There was one potential problem though. While working through the book in my spare time, I had taken a few extended breaks from learning. I did not want that to happen during development of my first real app, which was a concern given that it would be built during early mornings, evenings, and weekends.



Remembering back to the idea of a picture above the desk, I decided that I should utilize the constant motivation concept, so that I would work on the app every single day, even though I didn't yet know what app I was going to create. Then it hit me. Why not create the app that keeps the big goal visible and provides daily motivation to keep moving one step closer, like putting pieces of a puzzle together each day while visualizing what the ultimate achievement will be.

My big goal would be app completion and release in the App Store. This was a bit of a catch 22 though, because the goal reaching app wasn't started yet, so I didn't have it for motivation in the very early days. To solve that issue, I set out to create the famous MVP (minimum viable product) version that would do only the bare minimum. That would enable me to continue creating the app while using it every day for its intended purpose.



That was exactly how it unfolded. I did just enough to get it going, without worrying about the look and feel, and in a few days I had enough built so that I could enter my big goal, and enter smaller goals each day. You would not want to see what it looked like as an MVP!



Originally I had the big goal as a background that was half opaque, but quickly decided that I really didn't like the look. It would be much better to have the big goal continuously scrolling at the bottom of the screen (like a banner) to approximate the picture in front of the desk, but with the added bonus of some animation.



Eventually I added other features, such as a display of success versus fail days on a calender widget, display of continuous days of success on the main screen, and reminders for creation/completion of daily goals.



As the days of consecutive success increased during development, there was no way I was going to miss a day and reset the count to 0.



I don't know how many who have downloaded the free app are using it regularly. However, I do know that having my 1Goal app motivating me to complete the app itself was excellent, and I've continued to use it every day, for app writing and also for other goals in my life that are important. Sadly, the count did eventually reset to 0, but a big milestone is approaching as today the count is at 98.



So there you have it. That is the story of my app that helped to create itself. It is actually a simple app and a very simple concept. It replicates having the picture on the wall and writing smaller goals each day on paper, but with bonus tracking features.



Having that all wrapped into an app is nice. Besides, we typically like to "appify" anything possible these days, so it had to be done for the picture on the wall!

