App Development with Swift

Apple recently launched a curriculum for app development aimed at high school and community college students. I’ve been checking it out and it’s pretty great.

I think I may get to teach this course this year at the school where I work, which really excites me.

Hopefully I can motivate some of our students to get excited about it too.



I’m wanting to make iOS development more of a profession than a hobby. I get a lot of enjoyment out of making apps, so I’ve been thinking of ways I can do it more. I’m always keeping my mind open for new app ideas, and when one comes up I jump at the opportunity to make it. But, I think a better way to consistently be involved in app development will be to start doing some freelance work.

So, if you or someone you know needs an app for your business, or if you have a good idea and need someone to make it for you, send me an email.



I wrote yesterday about starting to learn Android development.

I usually use the Big Nerd Ranch books and/or bootcamps when I’m trying to dive into a new programming skill. I’ve gone to both their Cocoa bootcamp and their iOS bootcamp, in addition to working through their Objective-C and Swift books. Simply put, I think they’re some of the best in the business when it comes to explaining programming concepts.

But when I sat down last night to start learning Android, I couldn’t bring my brain to focus on their wonderful Android programming book. Amidst my procrastinating online, I stumbled upon an incredible resource that also happens to be free!

Udacity and Google have partnered to create multiple interactive web series that teach you Android, from the basics through everything you need to know to create Android apps and get a job doing it! I started watching, and these videos/webpages (while a little cheesy) are amazing.

If you’re interested in learning Android development, definitely check it out.



One of my projects last summer was to create an iOS app that contains a directory for the school where I work. Rather than have to access a PDF on the school website to look up a phone number or street address for another school family (or worse, look it up in a paper directory), we wanted to let families have an app directly on their phones for when they want to call someone or look up directions.

I originally created the app using a Parse server to store the database of school families. This worked pretty well, although it was slow to load at times. However, as I mentioned previously, I’m not comfortable relying on Parse as a backend for my apps anymore. So I set out a week ago to change the backend over to a Linode server that uses MySQL and PHP (in the process, I also took the time to convert my entire app over to Swift). I’ve just completed this and I couldn’t be happier.

Now that the backend is how I want it, and now that the app is written in Swift, I’m left facing my next challenge: write an Android version of the app.

The families at the school that have iPhones have been thrilled with the app, but families that have Android phones have been left out.

So here goes nothing. I’m going to attempt to learn enough to write an Android version of the app. Wish me luck.


Learning web technologies.

I’ve gotten comfortable writing iOS software using Objective-C, and I’m getting more and more comfortable using Swift. However, I’ve come to the realization (thanks in part to this post by Marco Arment) that just writing a standalone iOS app isn’t good enough. I need to be able to create apps powered by web services.

This has always intimidated me. I’m doing what I can to master two programming languages right now; learning what’s needed to be able to create apps powered by a web backend seems daunting. But if I want to be successful in software development, it seems like I have no choice.

That brings me here. I’ve jumped head first into learning PHP, MySQL, Linode, and who knows what else. After a day, it doesn’t seem so bad.

It’s actually pretty exciting.