Day 22 - You're blocking my event loop.
Sometime during the middle of the night (while I was sleeping?) I came up with some improvements for the blackjack app from yesterday. The code isn’t on my computer though (it's only on Brad's) so I didn’t get a chance to implement them.
Before class, I spent the morning mapping out some ideas for iOS apps I’d like to build. I have a couple that I think would be fun pet projects. The first would be a running app with 3 cool features (at least I think they're cool): 1. Allow users to choose the sort of workout they want to do and create a playlist for them that changes tempo appropriately. 2. Allow users to set a maximum time for any song to play. The playlist generator might choose longer songs than the maximum but would then slice them. I want this feature because when I'm running every song change feels like a mini accomplishment. 3. Allow other users (friends, family, everyone) to post snippets of audio encouragement that’ll be inserted into the playlist at opportune times. Other apps have words of encouragement during workouts, but none of them have words of encouragement from people you know. My other app idea isn’t as fleshed out but it’s a sort of multiplayer geo location game.
We started class with the same pairs as yesterday. We worked our way through two basic apps before a midday lecture. Both apps utilized Parse which is a pretty awesome site that takes care of backend data management for you. It's so amazingly easy to use and they give you 1 million free api requests/month. Of course the tradeoff is that you can't perform server side logic and you might run into security/privacy concerns. Before the App Academy ends, we'll be creating our own backends in Rails, but for now, Parse is a great way to bridge the gap. The first app we built was a simple quiz app. The second was a message app where users could send messages to one another.
The midday lecture had Ned going over delegation, protocols, callbacks in general, and restkit. Protocols remind me of modules in Ruby, with the biggest difference being that if your object conforms to a protocol, it HAS to implement the required methods of that protocol. Restkit is an objective c framework equivalent to restclient in ruby on rails. Both are for consuming and modeling restful web resources. Before the lecture ended, Ned also showed us how to set up an object so that it can have delegates.
The rest of the day was spent with new pairs and a new project. Laura and I were partnered up and the project assigned was to create a yelp clone. It's a day and a half project so we'll be continuing with it tomorrow. It's a pretty awesome assignement because it'll allow us to play around with and get some experience with core location, mapkit, restkit, and delegation protocols.
Right before class officially ended, we had two guest speakers, Terry Li and Derrik Or, from Bre.ad. Bread is a social media advertising agency of sorts. What they do is work with clients (a lot of celebrities) and insert "digital billboards" that users see in between clicking on a link posted by the clients and reaching their destination. They are one of the companies that will be interviewing some of us at the end of this adventure.
After class, I headed home and read a few more chapters in the Big Nerd Ranch Guide to Objective C. Specifically, I read about strong and weak reference pointers, as well as sorting with NSSortDescriptor objects and filtering with NSPredicate objects. Pretty awesome stuff. LIke most things, it's a bit clunkier than the equivalent in Ruby or Python, but it gets the job done.














