Well, before continuing I would like to make one thing clear: my app is still not finished. It is not finished because I have not been trying or because I have been lazy. It isn't finished because Objective C is much harder than I thought. So, for this final post, I have decided to dedicate it to my failures in programming this app.
Failure #1: Underestimating the language. Objective C is a language that bears very little resemblance to my prior programming experience. I have programmed in mostly C, C++, and Java though not being at the highest level in the languages. As it turns out, Objective C requires a very high level of C understanding. Though I lacked the high level of C understanding, it didn't stop me from still trying Objective C. I actually was able to kind of program and get some of the features working while others were still pretty hard to achieve. Nevertheless, I gave Objective C, my full effort and even though my app is still under development, it actually has some working functions.
What my app was supposed to look like What it currently looks like (still trying to get it to work)
Failure #1: Underestimating the language. Objective C is a language that bears very little resemblance to my prior programming experience. I have programmed in mostly C, C++, and Java though not being at the highest level in the languages. As it turns out, Objective C requires a very high level of C understanding. Though I lacked the high level of C understanding, it didn't stop me from still trying Objective C. I actually was able to kind of program and get some of the features working while others were still pretty hard to achieve. Nevertheless, I gave Objective C, my full effort and even though my app is still under development, it actually has some working functions.
The number of files I worked with in Objective C The number of files I work with normally with C++
Failure #2: Allocating programming time. In my first post, I described designing the app to be the most difficult part of the app creation process and said that programming would be the easiest part. Boy was I wrong. The design of the app, though it was the more creative part, took significantly less time than the programming of the app. The design I created look really simple and polished, but programming it was a huge hassle. Starting with the homework aspect in my programming endeavor, I realized that even the simplest part of the programming was extremely difficult due to all the different parts and that it would take a while. Honestly speaking, I spent all the programming time that I had allocated (like the 4 weeks) trying to get the homework aspect to work, unfortunately, failing each time. If I had maybe given myself more time in programming, and less in design, could I have actually finished at least the homework element.
What my app was supposed to look like What it currently looks like (still trying to get it to work)
Failure #3: Idea complexity. When starting to think of an idea to make into reality for this project, I thought up a project that was extremely complex and that many programmers that actually do this for a living find mediocre. Knowing that this was my first app I would be making, I should not have thought of such a complex idea and I should have started easy and built up to having different features. I think I chose this mainly as a challenge, but I should have realized that it would be better to stay in my range.
Overall, even though I had a few failures, I am not going to say that I totally messed up. It is not that my app functions did not take place, but it was that I was not able to display my different functions to the user in the GUI. Many of the aspects that I had tried to display worked, but the only issue was making them sensitive to the users touch on the iPhone. Even though I am at a small setback, I will still continue to build this app successfully!