Evan is a software developer and is one of the founders of Fish Hook.
- What do you currently do?
I’m the owner of Fish Hook, a company that helps businesses of all sizes build really great mobile apps.
- How did you get started in Mac and/or iOS programming?
I worked for Apple retail when the original iPhone and the iPhone SDK were announced and released, and at that time, it had been a couple of years since I graduated college where I earned a minor in computer science. I thought the iPhone SDK would be a great opportunity to jump back into programming.
I was fortunate to be I was exposed to computer programming in high school through the AP Computer Science course. I went to college sure that I wanted to be a Computer Science major (that didn’t happen – math is hard!), and while there had the opportunity to learn C programming from some wonderful teachers like Brian Kernighan and Robert Sedgewick. But, even with a deep understanding of programming I hadn’t ever built software – sure I’d created “programs,” but those did mundane tasks like sort all the words in a text file.
Unsure how I was going to tie together my knowledge into an application, I started to read. I first picked up Stephen Kochan’s Programming in Objective-C to learn the language. Then I moved on to Joe Conway’s iOS Programming: The Big Nerd Ranch Guide where I learned about the CocoaTouch frameworks. And, by the end of those books I was confidant that I could build an app. So I jumped at the opportunity to work with a local company to build a mobile commerce app for them.
- What was the first app you created and what did it do?
I believe the “correct” response here should be: “Hello World!”
Joking aside, the first app I shipped to the App Store was the mobile commerce app I mentioned above. It allows users to purchase half-pound bags of hand roasted coffee and have it shipped to their front door.
- Where did you get the idea for the app?
The coffee roasting company wanted an app, and that’s about all they knew. They thought they wanted something that would be a great marketing tool to showcase their products and process. But, when I started thinking about what the app should do from the perspective of a user, I wanted to build an app that solved a problem. I decided I would make it easier for users to purchase coffee, and the side effect would benefit the client.
- What went well? What could have gone better?
Getting the app built and onto the App Store gave me the confidence that I could make my company Fish Hook a full-time business. It was shortly after getting the app approved that I left my day job and started consulting full time.
Almost everything could have gone better! The entire project was held together with duct tape and baling wire. I shipped the app in 2010 and five months later I did a complete re-write because it was so rough around the edges. However, I learned a lot about project management, client relationships, and software architecture. The re-write helped me apply those lessons to version 2.0 which was very successful.
- What is your favorite among the apps you’ve developed?
All that client apps we’ve developed have a special place in my heart. Some were fun because the client was great to work with. Others had fun technologies that challenged us. And, yet others made huge impacts on users lives.
We built an audio workout app for practitioners of martial arts that lets the user “shadow box.” It calls out a set of attacks and counter-attack targets and the user must string together a block and attack combo as if they were sparing. We used AVFoundation to string together audio clips and that really opened up our eyes to the challenges of audio programming.
We built an app to help educators document early childhood behaviors, and I got to attend the big unveiling of the product. The simplicity of the new tool was so overwhelming to one of the preschool teachers in the audience that she began to cry. That was an incredibly rewarding moment to know that our app was so useful it could bring users joy.
- What advice do you have for young people who want to make apps?
Find a mentor and some like minded peers, and just get started. There are a ton of reasons you can use as excuses to why you shouldn’t get started, and you can overcome all of them. Having a mentor is helpful because they have experience and perspective; having peers is great because you can learn and do more vicariously through them.
But, learning something new is tough. The hardest part is having the discipline to stay on task when the new concepts become challenging. You’ve gotta crawl before you can walk and run, and often times that’s frustrating. Don’t worry if you don’t “get it” right away.
Help more girls learn software development. Contribute to the App Camp For Girls Indiegogo fundraiser, get a cool perk, and enjoy the feeling of having helped the next generation of software developers.