The difficulty of learning mobile, fragmented tutorials, and what's working out so far

An overview on what I've learned so far diving into Xcode as a designer and front end developer

Mobile apps can be built in so many different ways. There are storyboards, nibs, and pure code approaches. As someone new to making mobile apps it can be overwhelming. Luckily I'm going through this so if you are in the same boat hopefully I can guide you through this early maze.

I first started because of Meng's recent posts on learning Xcode as a designer. His approach used pure storyboarding allowing me to focus just on prototyping, no code. I think this is a good way to start because it's really important to have small wins when starting something new. It can be discouraging if your first step is too overwhelming. Learning the Xcode interface was rough at first, but as I did more of the tutorials it started to become familiar.

After completing the prototype I wanted to learn more. I knew that code would be needed to make a complete app so I felt ready to face that hurdle. I read this Quora post, started to watch some WWDC videos, and searched for code based tutorials. I finally started using Treehouse, I figured they had video tutorials that would be the most up to date with Xcode and iOS7. There's first time signup codes floating all over the web.

Treehouse teaches primarily with a storyboard first approach, although some of the advanced tutorials can be pure code. Learning through storyboarding first can be great since it doesn't expose you to too much of the code to start. The pure code approach is also nice especially when working on collaborative projects. Large teams and apps that you use are mostly pure code based. It's just easier for teams to stay in sync and know what controls what in the code. But don't worry you will get there soon enough, small wins remember?

So I started my coding adventure by first learning Objective-C. Treehouse has a great introductory course on it. When first getting started on Xcode, Obj-C can look so cryptic. But over time I started to get used to the requirement of declaring object types and the syntax.

Once I felt more comfortable with the syntax, I tried to build one of the sample apps from scratch. It forced my brain to make the connections of what is needed where. Trial and error kept me focused on asking questions about why something wasn't working, or how to get that tiny piece to work. I did this with the Blog reader app. It was the first time I saw how I could pull real data from the web and display it in a usable iPhone app! That was pretty exciting, because I knew I was one step closer to making the real thing.

I think repetition makes me more familiar with how things work, so as long as I keep doing something with mobile development it will help me understand it. It's important to be deliberate with your practice, and relentless with what you don't understand. Not following a tutorial step by step helps you do that.

Moving forward I am working on 2 apps and will be launching them in less than 2 months. To learn, I decided to go with a hybrid of the two, storyboard and pure code, which is using nibs. I chose this because I am getting help from others in this way. I am also using Introduction to learning iOS for designers by the great team @thecodepath. As well as Meng To's new book Design+Code. So although learning mobile can be difficult due to fragmentation, like searching for old stackoverflow answers and seeing outdated tutorials in one of the 3 ways you might be learning, there are current up to date tutorials being made and improved.

If you have any questions feel free to reach out @Anderson760, I know how tough it is just getting started. If you are in SF and learning mobile, we can go through it in person over coffee/drinks.