Sie sind auf Seite 1von 5

March 31, 2019

Self-Designed Experience Reflection


Zach Hase

Researching, Developing an iOS App


Spring 2019
Background:

This self-designed honors experience started with my desire to learn how to make an iOS app, but
until my senior year, I haven’t had enough time to learn on top of my normal coursework. I set out
with the end goal of making a noise-cancelling app similar to those used in noise-cancelling
headphones, but using the phone’s microphone and whatever speakers are connected to the phone.
The only experience I had prior to this experience was in MATLAB for mostly calculation-based
programming, so this was definitely a great learning opportunity.

Using XCode to program the “Music Learning” app


I met with Dr. Hazem Said, a professor in the College of Education, Criminal Justice, and Human
Services, who has previously taught courses on iOS development to non-IT majors. He shared with
me the lectures and different projects that they completed as part of the class. These were extremely
helpful in getting up to speed on how the thought process of app development was different from the
calculation-focused MATLAB coding I’ve done earlier. These lecture videos ended up replacing the
courses that I had planned to do in Lynda since his class was setup exactly the way I wanted to start.

The first set of lectures walked through setting


up an Xcode project and made a simple app that
displayed random quotes (shown to the right).
My first impression from this project was that app
development was much simpler than I originally
thought. It almost seemed as easy as drag and
drop things to build the user interface and then
connect it to the main code to function. I’ll go into
more detail later, but I was sadly mistaken to
think app development was quick or simple.

2
The next project combined a few new topics including multiple pages and storing/user-inputted data
to make a painting app with an endless color selection. One thing that makes Xcode very efficient
for iOS developers is its large library of functions which can be accessed and used without much
additional coding. Unfortunately, this adds to the learning curve since one line of code could be doing
a large amount of tasks without appearing so to the beginner like me.

3
The most involved project in the course
was a guitar note guessing game. There
were three different page views: a help
screen that played each note when
selected, a game stats screen, and the
main game screen. To make this app work,
it required a lot of new functions and
structure which helped shape my
understanding of how much more complex
app works. I think to be successful in
moving from engineering-focused
MATLAB programming to app
development, it forces a change in the way
you think about organizing and tackling the
problem. In some ways, that is one of the
hardest things to wrap my head around and
one of the biggest takeaways from this
experience.

4
Now that I had three apps under my belt, I began to start my “noise-cancelling” idea. The first few
iterations of the app (shown below) were just getting the app to record and play back audio recorded
from the phone microphone. The next step would be to inverse the audio wave which turned out to
be significantly more difficult than I thought.

In the midst of my research on the audio libraries


available to developers from Apple, I found a few
articles of people trying to make a “noise-cancelling”
app similar to what I wanted to do. Other app
developers were saying that it wasn’t possible to
achieve quick enough performance on an iPhone to
cancel out sound waves real-time like used in some
headphones. This wasn’t too encouraging to read,
but not the end.

In addition to learning iOS app development, I also


read two books on creativity and innovation: “Imagine
It Forward: Courage, Creativity, and the Power of
Change” by Beth Comstock and “Dyson: Against the
Odds” by James Dyson. Looking back, I see clearly
how each connected to this experience. At one point
in Beth Comstock’s book, she says that “when you
are innovating, tension is the price of admission.”
Since I haven’t found any noise-cancelling apps
available in the App Store, I’d like to think that I’m
innovating and I definitely experienced some tension
in what people have said about trying to solve this
problem in certain ways. James Dyson experienced
that same tension in getting caught up in many
lawsuits dealing with his new product and patents.

The other thing that Dyson did to be successful which


also applies to app development is when developing
“a prototype you have to change only one thing at a time. If you are really going to improve things,
and that is what inventing is all about, then you are going to have to be patient. Very patient.” This
is a great point to end on because honors experiences are relatively short in time, meant to explore
new things, and gain different perspectives for a life of always learning. Even though I wasn’t able
to achieve what I set out to do (yet), I learned a new perspective on app development, creativity and
how innovative things are hard because it takes time, patience and persistence. I will continue to be
thinking about my end goal and new ways to achieve such an app in addition to the next time I find
myself stuck on solving a tough problem.

Das könnte Ihnen auch gefallen