- What do you currently do?
I’m a freelance iOS developer working for myself as the Magical Panda. I started the Magical Panda so that I could produce quality apps for myself and clients. I’m very excited to tell you that I’m currently developing the Panda’s first major app release. I don’t have any details to release just yet, but it is just me doing all the work, so when a few more things are ready to be announced, we’ll be telling everyone about our app.
I also spend my time contributing to the iOS and Mac developer community by producing a podcast called NSBrief (http://nsbrief.com). NSBrief is a collection of interviews with members of the Cocoa, Mac and iOS developer community doing interesting things. We talk about all things indie developers want and need to know, from some nifty new tools or frameworks, to people’s stories about running their business or selling apps in the store in general.
And, if that weren’t enough, I help out here in the Denver area with organizing iOS DevCamps and the local Cocoaheads chapter. If you’re in the area, we’d love to have you out and meet the local developers. They’re a great group of people!
- How did you get started in Mac and/or iOS programming?
This takes me back to the days when I was working as a C# developer at Intel. It was neat to work on web apps that performed calculations to help with factory equipment analysis (those words don’t make it sound fun, but it was). At that time, Macs were still on PowerPC chips. There was no iPhone. I remember watching a live stream from Macworld and seeing that Macs had switched to Intel processors. This allowed me to try out a Mac, and maybe still use Windows. When I bought my first MacBookPro with 10.4 Tiger on it, I knew the Mac was more my style. I set out to learn how to code on this new (to me) platform, installed Xcode and was completely lost. Then the iPhone was announced. I knew I had to move to this strange new world of Mac and iOS development. I needed help, and fast.
Eventually, I sought some help in the form of local user groups. I found two, the Phoenix Cocoaheads chapter, and the Phoenix iOS Developer Group (Pi). I attribute much of my knowledge of the iOS and Mac platforms to the super awesome people I met at these groups. The first few months I attended the Phoenix Cocoaheads group, I didn’t know anyone, and didn’t really speak…I just listened; just being around these people was inspiring enough. I eventually started to get to know people, started asking questions, started answering questions and eventually started a small app of my own.
And thus, my amazing journey began because of the amazing people in the community who didn’t laugh at my questions in those early days. I try to keep my early days in perspective as so many new developers are still coming to the iOS (and even Mac) platform.
- What was the first app you created and what did it do?
The first app I developed was a podcast player, of which there are now plenty good ones on the AppStore. It was really basic, and I was only able to even try to develop the app once Apple had added iPod programmability support into iPhone OS 3.0. All it did was let me have continuous playback of podcasts and shuffle them according to certain attributes. The iPod audio player did not do that back in the day, so it was breaking some early ground.
Even though I never really got too far with it, I learned all about the Objective C syntax, and how it was different to C#. I learned about the built in collections, and studied other code to learn about the conventions of the community and Apple. There was a lot to learn, and while I finished the app in 2 weeks, I had only learned a small bit of the framework, but it was enough to get me familiar with the platform. I should also mention that I did have a full time job while I wrote this app. I was writing it on evenings and weekends in my spare time. Sometimes I have to remind even myself of this to remember what I was able to accomplish with so little familiarity with the platform, but obviously, iOS has grown astronomically since those early days.
- Where did you get the idea for the app?
I rode my bike to work often, and on the way, I would keep up with news and learn things through audio podcasts. I wanted an app that would play things in a continuous manner to help keep me up to date. The podcast playing app was an app born out of necessity.
- What went well? What could have gone better?
The first version was pretty basic, and getting it out into the AppStore was great, but I was unprepared for the support that came with it. This is a process that I should have ironed out a bit more in the beginning, even if it wasn’t perfect, it could have been better than what I started out with.
- What is your favorite among the apps you’ve developed?
Back when I started working with an app agency, I helped create a comic book reader app. I think I look somewhat fondly on this app not only because of the technical challenges of what we were able to do on a first generation iPad, but because of the people I worked with while writing the app. Overcoming adversity on a team is a special feeling, and I tend to remember the great teams I’ve had the privilege of working with. Our struggle on the comic book app was to ship this app in 3 weeks with a team of 4 developers. That sounds like a lot, but when we take into account the time in which we wrote the app, everything was new, we were inventing the future. We designed a custom comic book store, we had to get comic book downloading and purchasing working right, and the reading experience had to blow people away. We invented and shipped the future in 3 weeks. It wasn’t easy with very long days of solving problems that today might seem trivial. But it was fun, and I know our hard work as appreciated, despite the fact that the app is no longer available on the AppStore these days.
- What advice do you have for young people who want to make apps?
Making apps will be hard.
Always be learning. Making apps is unlike any industry I know. You have to keep on your toes and not only learn what has changed in the developer world from day to day, but you also need to learn about solutions that already exist. I see so many developers these days reinvent the wheel because they simply didn’t know that the wheel had existed in the first place. This knowledge comes with constant learning of new and old concepts and every day I incorporate some form of learning either from reading blogs, looking up specifications of APIs or reading up on some computer or programming language history or algorithms.
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.