Saturday, September 22, 2012

Notes From the Audio Meter Project

I was working on a checkpoint for my second year students that was heavy in quartz graphics when I noticed there were some really important teaching moments in this simple app.

1. Always Test on a Physical Device
 The video shows the difference between an app in the simulator and the same app running on an iPhone 4.  You can see quite a bit of difference between the responsiveness of the two.


This also points out an important part of designing apps.  Make sure you understand your customer base and test on the products that they use as well.  There is a lot of buzz about the new iPhone 5 but if you only test on that version, you leave out all the iPhone 4s, 4, and previous phone model owners.  More customers equals more money.

2.  Use the correct tools to troubleshoot the problem
Instruments in Xcode are your friend.  I would recommend using instruments even if your app is running great in the simulator or the physical device.  There is always the possibility of an unforeseen bug that can be picked up using these tools.

On this project I saw the tell-tale signs of a memory leak.  The first image is of the application with the memory leak.  Notice the red markers put there by the instruments and the overall slope of my memory usage over time.  The second image is after I have fixed the leaks.



3. Enjoy the process
App development is not a multiple choice problem where one answer is correct.  It is a constant science experiment where you get to hypothesize, implement, reflect and try again.  My app is running better now but I am still thinking of ways to make it more efficient and better. 

If you are going to be a successful app developer, you better love the process and not just the end result.  It is sort of like putting together a puzzle.  The reward is in the work and not the final product.

Happy Coding
Jeremy Skrdlant

No comments:

Post a Comment