Learning iOS Development with Eleven Fifty

While speaking at a conference this fall I won a scholarship for training with Eleven Fifty! They are an in-person development training company based in Indianapolis, not more than ten minutes from my house. Their training is seven 12-hour days of work, work, work.

In just seven days, we teach you new real-world skills that you can build upon immediately.

Day 0 Â— Install (Friday night)

This “day” was an evening meet and greet, with refreshments, where the instructors worked with each of us to make sure that we had all of the right software and accounts.

Given that I already do a lot of development work, I already had all of the software installed. (I’m looking at you, Xcode, which I downloaded and stared at blankly.)

What I didn’t have was an Apple Developer account. This is something that I would’ve gotten long ago, except that it costs a hundred bucks. Not that I have an allergy to the cost, I was just waiting for the right moment to get one.

This was my moment. No turning back now. I’m an iOS Developer.

Day 1 Â— Syntax

When learning a new programming language one of the hardest parts is the syntax. Learning it is tedious and feels like walking a half marathon*. The only thing that makes this process easier is admitting that it will be tough.

The teacher for the class, Terrence, is our guide. His presentation style is honest and straightforward. He tells us when to expect tough topics and laughs with us as he reboots Xcode because the playground crashed again. It crashed for everyone today, sometimes frequently.

At the close of the day we covered nearly the whole of the Language Guide section of the Swift Programming Language book.

*I walked a half marathon a few years ago. For those who scoff at walking one, like I didÂ—and being honest I scoffed it hardÂ—I suggest that you do it. When you finish, after THREE HOURS or more of walking you will be covered in sweat, exhausted, and sleep for dozens of hours.

Day 2Â—â€”RandyNote, My First App

With syntax under out belt, I walked into training nearly bouncing with delight because this was the day that we were building an app!

The app that Terrence was taking us through is called ElevenNote, which is basically a poor man’s Evernote. The reason for this is this is a great example of the most common pattern in iOS, the Table View. If it is a list of things that scrollsÂ—like Facebook, Twitter, Evernote, etc.Â—it is using Table View.

Before we could get to building the app we got a tour of Xcode and were told about all of the great features baked into the IDE, like autocompletion of nearly everything we need, including our own custom classes and variables.

Compared to the day before, where we covered syntax, the code here had a greater reward. At each step in the process I would hit command + R to rebuild and run the app. It was awesome to see the app come to life slowly over the day. I’m quite proud.

No, you won’t find RandyNote in the app store, yet, and yes, I did name the app RandyNote.

Eleven Fifty does a great job of pacing the breaks during the day. It is a long day of work and they plan activities that help get you away from your screen and refresh your brain and body.

Today’s big afternoon break was a field trip down the road to Sky Zone. A team of us, being a blend of developers, entrepreneurs, and a lone tennis coach, took on a collection of overeager teens. And as scrappy underdogs are wont to do, we lost. (Listen, underdogs typically lose, that is why they are the underdogs. Sorry.)

Day 3â€”Submitted to the App Store!

The first half of the day started with an introduction to Auto Layout. This is a feature of Xcode that allows a developer to build an app that adapts to different screen dimensions.

This is one of the things that I’ve been waiting to learn about, because as a designer bad spacing agitates me.

After we learned autolayout we spent the rest of the morning putting finishing touches on our apps. The instructor and the teaching assistants came around and helped folks work out kinks in their code.

The scheduled afternoon break was some basketball instruction and I had a great excuse not to attendâ€”we’re a one car family and my wife needed to run some errands. I feel that I had already proved my athletic ineptitude to everyone at Sky Zone. 🙂

Next up, Terrence gave us the talk about the App Store. He shared with us the realities of dealing with a walled garden and told us about how things could go wrong. A healthy respect for the submission process was impressed into my mind.

And with that we began the long and tedious journey (application process) into Mordor, uh, the App Store.

And now, I wait.

Day 4â€”Snowstorm and SnapChat

Overnight a massive snowstorm, named Gorgon hit the midwest covering it with 4-7 inches of snow. Despite this, the class showed up and we got starting only a half hour later than usual.

Today we were creating our own clone of SnapChat. The camera is at the center of this experience, so we learned how to hook up the audio/video in the code, access the camera, flip the camera around to the other side, and more. After all this effort, Terrence, the instructor, tells us that there is a two line solution.

But is good to learn the hard way, in case we need to dive deep. I appreciate the detail.

For your enjoyment, here is the first picture that I took with my app.

Day 5â€”Trouble in Paradise

Today was a tough dayâ€”I felt insufficient when I struck out on my own and a copy/paste kerfuffle derailed the class.

The iOS class has pushed the boundaries of my comfort zone to the edge, and maybe a little bit further. I’m an accomplished Web designer and developer and the class project is well mapped so I was feeling good about my progress. However during some of the class downtime I started to experiment on my own and every search for what I wanted to do either came up blank, with help docs in Objective-C instead of Swift [I’m not touching Objective-C with a ten foot pole], or I had instructions where I had no idea what to do with them.

Now I could’ve brought my questions to the instructor or the teaching assistantsâ€”they are very open about helping out with all the questions we haveâ€”but at this stage I feel that need to start developing my troubleshooting talents while I still have access to folks who can help direct me to answers. By the late afternoon I started to make headway on my own and now I feel more confident in my abilities.

At about the same time that I was happy with my how my skills are growing, the class gets derailed by some errors in some sample code. With the class moving along a bit more briskly the instructor has taken to providing us with snippets of code via pastebin.com. While writing our app we’re provided some code for several pages that throws errors, then the class starts flagging it as throwing errors, then the instructor fixes the files with new pastebin URLs, but not before the class is various states of disarray. This all this happens so rapid fire fast that I can’t help but think of the scene as a 21st century Benny Hill comedy moment!

All of this ten minutes before the dinner break. We all agree to cut dinner a bit shortâ€”it was pizza and that is easy to eat on the goâ€”and everyone with issues gathers together and problems start to get solved.

Everyone, students and teachers, pitched in to get things going again and we were back on track quickly. To me, being part of that camaraderie made today the best day of the class so far.

Day 6â€”Building a Tinder Clone

On the last full day of class we built a clone of the app Tinder. But first, we needed to get introduced to what Tinder was.

All of the twenty-somethings in the class explained that Tinder is a “matchmaking app”. You see a person and you swipe right if you like ’em or swipe left to dismiss them. If two people like each other then you can start sending messages.

Since we were focusing on the new things in the app, Terrence provided us with a starter kit for the app. We then proceeded to build and review the code until by the end of the day we had a fully functional app!

It is pretty amazing how fast everything came togther. As I learn more it gets easier, and faster, to build apps.

Dinner at Joe’s Crab Shack

With today being the last full day of class our dinner break was instead a big dinner outing to Joe’s Crab Shack. The whole thing turned into a party! Everyone was laughing and joking and having a racuously good time.

One of the younger students in the class was experimenting with the real Tinder app and using the really bad pickup lines that me and another buddy were feeding him. I’m a troublemaker.

Day 7â€”The Last Day

The last day of class was bittersweet. We spent the morning giving Terrence a barrage of questions that we wanted to have answered before the class ended at lunchtime.

Considering that I’m a designer, my questions were geared towards how to style things. I wanted to know how to add dropshadows, round corners, etc. You know, useful programming stuff.

At about the same time that our class was wrapping up, Eleven Fifty was hosting a tour. My wife wants to learn coding so she was on the tour . Meanwhile I had Astrid with me in the classroom while we wrapped things up.