CocoaConf Atlanta (and a city near you)
I recently attended CocoaConf in Atlanta for their final event of the year and it was an amazing time. CocoaConf is a relatively small iOS and Mac developer conference. They host training sessions that teach and share knowledge with Apple developers pertaining to current and upcoming technologies and do workshops on how developers can leverage these technologies in their apps. (Note: CocoaConf is held in multiple cities throughout the year, so for those that don’t want to spend a lot of money on travel, this can be a low cost solution if one of the cities is close to you.
The great thing about this conference is that it’s smaller (unlike the WWDC herd of 5,000+ attendees). This allows more one on one time with the authors and speakers, as well as time to talk with with other attendees. The post-session meal time discussions are some of the most fun, enlightening, and worthwhile part of conferences.
Day one highlights: SpriteKit and SceneKit
CocoaConf is usually set up as a two day conference with an optional third day (pre-conference) all-day workshop that focuses on one topic instead of smaller sessions. I decided to go to the SpriteKit all-day tutorial because it was something I hadn’t really introduced myself to yet.
I have a graphics background, and I wanted to see what all SpriteKit had to offer. SpriteKit is a new framework for iOS 7+ for the purpose of making 2-D games. You can do anything from basic color rendering and polygons to special video-like effects, filters, texture manipulation, and physics. Additionally, there’s an API for third party game controllers. It even has a built-in tool for creating and managing your own particle systems! In iOS 8, SpriteKit now integrates with SceneKit, a 3-D graphics framework for creating animated scenes into your apps, advanced physical collisions and even support for custom OpenGL shaders. The latter was the most asked about and desired features since it was introduced.
SpriteKit does have some memory bugs outstanding and it still doesn’t play nice with Swift for a number of things (it was recommended to stay with Objective-C for now, if you plan to send anything to the Apple store). However, it has a lot of good aspects to it overall. One final thing to note is that the framework allows you to write the same code for both iOS and Mac OS X with zero to very few modifications.
Second day highlight: WatchKit
For me, the highlight of the second day was the WatchKit session. WatchKit, of course, is the new API that allows a watch app to be an extension of an existing iOS app. That is, it doesn’t replace the iOS app but rather complements it. The basic architecture consists of an extension that runs on the iPhone (code) that responds to user events and resources that are installed on the watch itself, i.e., images. (No code is installed on the watch). The main parts of the framework revolve around Glances and Notifications.
Glances are simply that—a glance. It’s a quick, low-interactive way to look at some data that is invoked when the user swipes from the bottom. Common examples might be an update to today’s weather or how long you have before Christmas vacation.
Notifications obviously let you see notifications on your watch and are tied to iPhone notifications. There are two types of notifications, namely in short and long form. A short notification is a static interface that might show an icon with some text, perhaps something like a Twitter response. If the user lowers their wrist, the ‘short look’ disappears. It is not customizable and no scrolling is supported. If the users wrist remains raised or taps the short interface, the ‘long’ notification appears and can give you additional options such as more detail about itself along with possible buttons with actions tied to them, i.e. reply to the Twitter message. Notifications are also, like glances, non-interactive. The only interaction your notification will ever have is via the action buttons supplied to it by the extension (via a JSON payload). There is a lot of information about how to set up a project for WatchKit and technical info surrounding notifications that I don’t have room for here so perhaps a Lunch & Learn is in order?!
WatchKit is just in its infancy and there are a lot of exciting things coming down the pipeline such as the ability for developers to create fully native apps for Apple Watch in 2015. There are some limitations currently, such as no custom gestures and no access to the watch or iPhone sensor data (for those wanting to detect a shaking motion).
The final day I learned about the Core Image framework for manipulating images via built-in image filters, working with both Swift and Objective-C in the same project and some Core Data to finish off the day. There was little bit more time between breaks and lunch to mingle and get to know some of the other attendees, as well as some time after the last session.
A great conference well worth it
I had a great time. The conference organizers did a great job of setting up all the sessions and working with the speakers to make sure everything went smoothly. The presenters were very knowledgeable and open to answering questions. The venue was conveniently located, and the hotel itself was fantastic. The food was great, and we got some awesome swag.
I hope to attend again next year. There’s lots to learn and CocoaConf is a great way to learn from speakers active and influential in the Apple developer community. You also get to make connections with them, as well as other attendees, which I believe is something that cannot be understated as being a very important part of the conference. They already have their spring schedule posted online with Chicago being the first stop!
If you have any questions or thoughts you want to share, you can leave a comment below or you can find me on Twitter at @geeksweep.