Hawaii iOS Developer Meetup – Session 41

This meetup was a breeze. I’ve been creating SpriteKit games for a long time now and this was easy to talk about. I noticed that the mic had been disabled and only turned it on about 5 minutes into the stream. Please fast forward and you’ll hear the talking.

The most interesting thing that came up in this meetup was the discussion of collision bit masks for physics in the game. Leo asked a question about why the code was using an UInt32 variable for the physics category. I didn’t have the answer off the top of my head and asked Chae to explain. As he explained the solution, the issue grew wider and more complex.

Instead of talking abstractly, I brought out a whiteboard and asked Chae to write out what he was discussing. It was great to be able to see what he was only referring to in speaking.

Once we had a chance to discuss with the whiteboard, getting Leo in on the whiteboarding as well, we were able to reach a deeper understanding of why we would use an UInt32 to set the physics category for the SpriteNode’s Physics body.

No meetup next week. We will be meeting again on the 19th where we will be doing something new. I’m calling it Code Review. I envision developers bringing in their code for critique or help for a 20 minute block of time. Then we can collectively review and suggest solutions and improvements. This could get dicey and intimidating – and so what if it is. We’re gonna lean into it.

Please RSVP if you’re interested in attending the next meetup.

Advertisements

Hawaii iOS Developer Meetup – Session 40

This was a fantastic meetup! It really helps to do the tutorial 5 times so you don’t even have to think about it. There were no gaps in the talk and I felt very proud for giving it my best.

During this meetup I covered 2 tutorials.

The first tutorial covered setting up Unity, importing the ARKit plugin, and exporting the project from Unity to iOS, opening the project in Xcode, and building to the device.

The second tutorial covered setting up a cool animation to use 3d models and animations to create a hole in the ground that opens up in augmented reality that allows you to look inside of the hole with your iPhone.

Truth be told, I couldn’t get the project to compile before the meetup. There was a bug in the C# script that was being applied to the animation. Luckily, Chae got the meetup early and we paired on the problem. In 5 minutes we traced the bug, looked up the documentation, updated the function call with a generic type and the code compiled.

I am continually in awe of the power of pair programming. Four eyes are better than two 🙂

Next week I’ll be covering SpriteKit in Swift 4 to create 2d games. Please RVSP if you’re interested in attending the next meet up.

Hawaii iOS Developer Meetup – Session 39

This was a welcome change of pace. We had a significant number of new members attend this meetup. I took the temperature in the room by asking the attending developers who had had experience using ViewControllers before. Only 3 of the 10 hands went up. I shuffled the delivery of the talk on the spot and I think everyone learned something new.

During the talk I explained the connections between view controller code and view controller storyboards. I am noticing that developers from the web are increasingly getting interested in making the leap into iOS development. Good times 🙂

Once I finished discussing the basics of view controllers some of the developers had to leave (I had advertised the meetup as a 1 hour session). Since we extended the meetup format from 1 hour to 2 hours, a few of the regular developers and I had a chance to dive deep into programmatically unwinding a segue in a Navigation controller AND focus on sending a variable along with the unwind segue.

2 hour meetups is the way to go. I am excited to learn more and more with this new format.

Next week I’ll be covering Unity’s ARKit plugin to create augmented reality apps in Unity before porting them to iOS to use the ARKit features. Not really sure how to do this yet, but excited to research and present on Thursday. Please RSVP if you’re interested in attending!

Hawaii iOS Developer Meetup – Session 38

No stream for this meetup. They updated the computer in the iLab and the OBS settings were gone. All good though. We managed to have an intimate talk with the five of us developers following along while O’Neil showed us an overview of In-App Purchases, then showed us the cocoapod SwiftyStoreKit.

At the beginning of the talk we discussed Storyboard shortcuts and Chae offered to show us how to do this after the talk. O’Neil sped up the delivery of his talk and we huddled around Chae’s computer at the end so he could show us how to link storyboards within his project.

I think all the developers learned something last night. Next week we’re covering ViewControllers and Segues. There are so many ways to do this and I’m planning to cover as much as possible at the next meetup. Please RSVP if you are interested in attending.

Hawaii iOS Developer Meetup – Session 37

So it happened. My brand new Mac Book Pro 2017 crashed 2 nights ago when I was preparing the code for this meetup on Image Caching Best Practices. Not skipping a beat, I brought out my 2011 Mac Book Air to complete the coding for the meetup.

Unfortunately I was not able to complete the code in the morning before the meetup. So I shared the code that I had for the meetup and prepared an exercise for the meetup members with Exercism.io.

In researching for this meetup I determined that the best way to set up image caching is to use NSCache, Save to Documents, and Alamofire.

The idea is go through this process every time you need to display an image in your apps:

  1. Check if the image is in NSCache
  2. Check if the image is in the Documents folder
  3. Download the image with Alamofire

If you’re interested in going further into the nitty gritty of how this works, you can watch our discussion in the video above.

Once I had finished discussing the code I had prepared for the talk, I switched over to the Raindrops exercise on Exercism.io. I think the developers really enjoyed working on the code problem together. I’m thinking about making this the warm up at future meetups.

Next week O’Neil is going to deliver a talk on SwiftStoreKit to do in-app purchases in your apps. I’m looking forward to hearing his battle-won feedback and best practices next week. Please RSVP if you’re interested in attending.

Hawaii iOS Developer Meetup – Session 36

O’Neil’s back from Texas and he led last night’s meetup. There’s no stream for this session as we did not stream and kept the content in-house.

During this meetup O’Neil shared insights into using Instruments, the Xcode profiling software that allows developers to monitor the battery, memory, and networking performance of an app.

During the session we focused on memory management. We reviewed TableViewController delegate code that created a reference cycle due to a partially applied closure that retained cells and imageViews.

Gotta say there’s a lot more to cover in terms of Instruments but after this meetup, I feel like I have a better handle on using the tool to dive deeper into the code I write to make sure there are less memory issues as I build out apps.

I hope O’Neil will prepare another talk on Instruments soon. I want him to cover “Zombie Variables” which are memory objects that have been released too many times.

Next week I’m leading the discussion on Image Caching Best Practices. Please RSVP if you’re interested in attending!

Hawaii iOS Developer Meetup – Session 35

We took another run at ARKit during this meetup. I wanted to focus on this great tutorial series called ARKit by Example. The code was originally written in Objective C so I ported it to Swift.

Preparing for this talk was an excellent opportunity. I was able to learn how to integrate SceneKit with physics. It was also great to have Adam there in attendance to fill in some of the gaps in my knowledge regarding ARKit.

For example, when you create a SCNNode in SceneKit you leave the shape argument as nil. This is standard practice that allows SceneKit to figure out the shape of the node it is creating based on the simple geometry we initialized the node with.

I’m learning so much from the other developers. I hope there are other ways I can give back for everything that I have learned by doing this meetup every Thursday.

Worked on ARKit dominoes this weekend with the knew knowledge I gained from this ARKit meetup. This week O’Neil is back in the mix. He’ll be giving a talk on Instruments in Xcode to do memory and battery profiling. Please RSVP if you’re interested in attending!